1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.SchemaFactory = void 0;
|
4 | const mongoose = require("mongoose");
|
5 | const type_metadata_storage_1 = require("../storages/type-metadata.storage");
|
6 | const definitions_factory_1 = require("./definitions.factory");
|
7 | class SchemaFactory {
|
8 | static createForClass(target) {
|
9 | const schemaDefinition = definitions_factory_1.DefinitionsFactory.createForClass(target);
|
10 | const schemaMetadata = type_metadata_storage_1.TypeMetadataStorage.getSchemaMetadataByTarget(target);
|
11 | const schemaOpts = schemaMetadata?.options;
|
12 | return new mongoose.Schema(schemaDefinition, schemaOpts);
|
13 | }
|
14 | }
|
15 | exports.SchemaFactory = SchemaFactory;
|