????

Your IP : 18.224.64.24


Current Path : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/typeorm/metadata/
Upload File :
Current File : C:/inetpub/vhost/invest.gdtsolutions.vn/api/node_modules/typeorm/metadata/EmbeddedMetadata.js.map

{"version":3,"sources":["../../src/metadata/EmbeddedMetadata.ts"],"names":[],"mappings":"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","file":"EmbeddedMetadata.js","sourcesContent":["import { ColumnMetadata } from \"./ColumnMetadata\"\nimport { RelationMetadata } from \"./RelationMetadata\"\nimport { EntityMetadata } from \"./EntityMetadata\"\nimport { EmbeddedMetadataArgs } from \"../metadata-args/EmbeddedMetadataArgs\"\nimport { RelationIdMetadata } from \"./RelationIdMetadata\"\nimport { RelationCountMetadata } from \"./RelationCountMetadata\"\nimport { DataSource } from \"../data-source/DataSource\"\nimport { EntityListenerMetadata } from \"./EntityListenerMetadata\"\nimport { IndexMetadata } from \"./IndexMetadata\"\nimport { UniqueMetadata } from \"./UniqueMetadata\"\nimport { TypeORMError } from \"../error\"\n\n/**\n * Contains all information about entity's embedded property.\n */\nexport class EmbeddedMetadata {\n    // ---------------------------------------------------------------------\n    // Public Properties\n    // ---------------------------------------------------------------------\n\n    /**\n     * Entity metadata where this embedded is.\n     */\n    entityMetadata: EntityMetadata\n\n    /**\n     * Parent embedded in the case if this embedded inside other embedded.\n     */\n    parentEmbeddedMetadata?: EmbeddedMetadata\n\n    /**\n     * Embedded target type.\n     */\n    type: Function | string\n\n    /**\n     * Property name on which this embedded is attached.\n     */\n    propertyName: string\n\n    /**\n     * Gets full path to this embedded property (including embedded property name).\n     * Full path is relevant when embedded is used inside other embeds (one or multiple nested).\n     * For example it will return \"counters.subcounters\".\n     */\n    propertyPath: string\n\n    /**\n     * Columns inside this embed.\n     */\n    columns: ColumnMetadata[] = []\n\n    /**\n     * Relations inside this embed.\n     */\n    relations: RelationMetadata[] = []\n\n    /**\n     * Entity listeners inside this embed.\n     */\n    listeners: EntityListenerMetadata[] = []\n\n    /**\n     * Indices applied to the embed columns.\n     */\n    indices: IndexMetadata[] = []\n\n    /**\n     * Uniques applied to the embed columns.\n     */\n    uniques: UniqueMetadata[] = []\n\n    /**\n     * Relation ids inside this embed.\n     */\n    relationIds: RelationIdMetadata[] = []\n\n    /**\n     * Relation counts inside this embed.\n     */\n    relationCounts: RelationCountMetadata[] = []\n\n    /**\n     * Nested embeddable in this embeddable (which has current embedded as parent embedded).\n     */\n    embeddeds: EmbeddedMetadata[] = []\n\n    /**\n     * Indicates if the entity should be instantiated using the constructor\n     * or via allocating a new object via `Object.create()`.\n     */\n    isAlwaysUsingConstructor: boolean = true\n\n    /**\n     * Indicates if this embedded is in array mode.\n     *\n     * This option works only in mongodb.\n     */\n    isArray: boolean = false\n\n    /**\n     * Prefix of the embedded, used instead of propertyName.\n     * If set to empty string or false, then prefix is not set at all.\n     */\n    customPrefix: string | boolean | undefined\n\n    /**\n     * Gets the prefix of the columns.\n     * By default its a property name of the class where this prefix is.\n     * But if custom prefix is set then it takes its value as a prefix.\n     * However if custom prefix is set to empty string or false, then prefix to column is not applied at all.\n     */\n    prefix: string\n\n    /**\n     * Returns array of property names of current embed and all its parent embeds.\n     *\n     * example: post[data][information][counters].id where \"data\", \"information\" and \"counters\" are embeds\n     * we need to get value of \"id\" column from the post real entity object.\n     * this method will return [\"data\", \"information\", \"counters\"]\n     */\n    parentPropertyNames: string[] = []\n\n    /**\n     * Returns array of prefixes of current embed and all its parent embeds.\n     */\n    parentPrefixes: string[] = []\n\n    /**\n     * Returns embed metadatas from all levels of the parent tree.\n     *\n     * example: post[data][information][counters].id where \"data\", \"information\" and \"counters\" are embeds\n     * this method will return [embed metadata of data, embed metadata of information, embed metadata of counters]\n     */\n    embeddedMetadataTree: EmbeddedMetadata[] = []\n\n    /**\n     * Embed metadatas from all levels of the parent tree.\n     *\n     * example: post[data][information][counters].id where \"data\", \"information\" and \"counters\" are embeds\n     * this method will return [embed metadata of data, embed metadata of information, embed metadata of counters]\n     */\n    columnsFromTree: ColumnMetadata[] = []\n\n    /**\n     * Relations of this embed and all relations from its child embeds.\n     */\n    relationsFromTree: RelationMetadata[] = []\n\n    /**\n     * Relations of this embed and all relations from its child embeds.\n     */\n    listenersFromTree: EntityListenerMetadata[] = []\n\n    /**\n     * Indices of this embed and all indices from its child embeds.\n     */\n    indicesFromTree: IndexMetadata[] = []\n\n    /**\n     * Uniques of this embed and all uniques from its child embeds.\n     */\n    uniquesFromTree: UniqueMetadata[] = []\n\n    /**\n     * Relation ids of this embed and all relation ids from its child embeds.\n     */\n    relationIdsFromTree: RelationIdMetadata[] = []\n\n    /**\n     * Relation counts of this embed and all relation counts from its child embeds.\n     */\n    relationCountsFromTree: RelationCountMetadata[] = []\n\n    // ---------------------------------------------------------------------\n    // Constructor\n    // ---------------------------------------------------------------------\n\n    constructor(options: {\n        entityMetadata: EntityMetadata\n        args: EmbeddedMetadataArgs\n    }) {\n        this.entityMetadata = options.entityMetadata\n        this.type = options.args.type()\n        this.propertyName = options.args.propertyName\n        this.customPrefix = options.args.prefix\n        this.isArray = options.args.isArray\n    }\n\n    // ---------------------------------------------------------------------\n    // Public Methods\n    // ---------------------------------------------------------------------\n\n    /**\n     * Creates a new embedded object.\n     */\n    create(options?: { fromDeserializer?: boolean }): any {\n        if (!(typeof this.type === \"function\")) {\n            return {}\n        }\n\n        if (options?.fromDeserializer || !this.isAlwaysUsingConstructor) {\n            return Object.create(this.type.prototype)\n        } else {\n            return new (this.type as any)()\n        }\n    }\n\n    // ---------------------------------------------------------------------\n    // Builder Methods\n    // ---------------------------------------------------------------------\n\n    build(connection: DataSource): this {\n        this.embeddeds.forEach((embedded) => embedded.build(connection))\n        this.prefix = this.buildPrefix(connection)\n        this.parentPropertyNames = this.buildParentPropertyNames()\n        this.parentPrefixes = this.buildParentPrefixes()\n        this.propertyPath = this.parentPropertyNames.join(\".\")\n        this.embeddedMetadataTree = this.buildEmbeddedMetadataTree()\n        this.columnsFromTree = this.buildColumnsFromTree()\n        this.relationsFromTree = this.buildRelationsFromTree()\n        this.listenersFromTree = this.buildListenersFromTree()\n        this.indicesFromTree = this.buildIndicesFromTree()\n        this.uniquesFromTree = this.buildUniquesFromTree()\n        this.relationIdsFromTree = this.buildRelationIdsFromTree()\n        this.relationCountsFromTree = this.buildRelationCountsFromTree()\n\n        if (connection.options.entitySkipConstructor) {\n            this.isAlwaysUsingConstructor =\n                !connection.options.entitySkipConstructor\n        }\n\n        return this\n    }\n\n    // ---------------------------------------------------------------------\n    // Protected Methods\n    // ---------------------------------------------------------------------\n\n    protected buildPartialPrefix(): string[] {\n        // if prefix option was not set or explicitly set to true - default prefix\n        if (this.customPrefix === undefined || this.customPrefix === true) {\n            return [this.propertyName]\n        }\n\n        // if prefix option was set to empty string or explicity set to false - disable prefix\n        if (this.customPrefix === \"\" || this.customPrefix === false) {\n            return []\n        }\n\n        // use custom prefix\n        if (typeof this.customPrefix === \"string\") {\n            return [this.customPrefix]\n        }\n\n        throw new TypeORMError(\n            `Invalid prefix option given for ${this.entityMetadata.targetName}#${this.propertyName}`,\n        )\n    }\n\n    protected buildPrefix(connection: DataSource): string {\n        if (connection.driver.options.type === \"mongodb\")\n            return this.propertyName\n\n        let prefixes: string[] = []\n        if (this.parentEmbeddedMetadata)\n            prefixes.push(this.parentEmbeddedMetadata.buildPrefix(connection))\n\n        prefixes.push(...this.buildPartialPrefix())\n\n        return prefixes.join(\"_\") // todo: use naming strategy instead of \"_\"  !!!\n    }\n\n    protected buildParentPropertyNames(): string[] {\n        return this.parentEmbeddedMetadata\n            ? this.parentEmbeddedMetadata\n                  .buildParentPropertyNames()\n                  .concat(this.propertyName)\n            : [this.propertyName]\n    }\n\n    protected buildParentPrefixes(): string[] {\n        return this.parentEmbeddedMetadata\n            ? this.parentEmbeddedMetadata\n                  .buildParentPrefixes()\n                  .concat(this.buildPartialPrefix())\n            : this.buildPartialPrefix()\n    }\n\n    protected buildEmbeddedMetadataTree(): EmbeddedMetadata[] {\n        return this.parentEmbeddedMetadata\n            ? this.parentEmbeddedMetadata\n                  .buildEmbeddedMetadataTree()\n                  .concat(this)\n            : [this]\n    }\n\n    protected buildColumnsFromTree(): ColumnMetadata[] {\n        return this.embeddeds.reduce(\n            (columns, embedded) =>\n                columns.concat(embedded.buildColumnsFromTree()),\n            this.columns,\n        )\n    }\n\n    protected buildRelationsFromTree(): RelationMetadata[] {\n        return this.embeddeds.reduce(\n            (relations, embedded) =>\n                relations.concat(embedded.buildRelationsFromTree()),\n            this.relations,\n        )\n    }\n\n    protected buildListenersFromTree(): EntityListenerMetadata[] {\n        return this.embeddeds.reduce(\n            (relations, embedded) =>\n                relations.concat(embedded.buildListenersFromTree()),\n            this.listeners,\n        )\n    }\n\n    protected buildIndicesFromTree(): IndexMetadata[] {\n        return this.embeddeds.reduce(\n            (relations, embedded) =>\n                relations.concat(embedded.buildIndicesFromTree()),\n            this.indices,\n        )\n    }\n\n    protected buildUniquesFromTree(): UniqueMetadata[] {\n        return this.embeddeds.reduce(\n            (relations, embedded) =>\n                relations.concat(embedded.buildUniquesFromTree()),\n            this.uniques,\n        )\n    }\n\n    protected buildRelationIdsFromTree(): RelationIdMetadata[] {\n        return this.embeddeds.reduce(\n            (relations, embedded) =>\n                relations.concat(embedded.buildRelationIdsFromTree()),\n            this.relationIds,\n        )\n    }\n\n    protected buildRelationCountsFromTree(): RelationCountMetadata[] {\n        return this.embeddeds.reduce(\n            (relations, embedded) =>\n                relations.concat(embedded.buildRelationCountsFromTree()),\n            this.relationCounts,\n        )\n    }\n}\n"],"sourceRoot":".."}