333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
{"version":3,"sources":["../browser/src/metadata-args/MetadataArgsStorage.ts"],"names":[],"mappings":"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","file":"MetadataArgsStorage.js","sourcesContent":["import {RelationMetadataArgs} from \"./RelationMetadataArgs\";\nimport {ColumnMetadataArgs} from \"./ColumnMetadataArgs\";\nimport {RelationCountMetadataArgs} from \"./RelationCountMetadataArgs\";\nimport {IndexMetadataArgs} from \"./IndexMetadataArgs\";\nimport {EntityListenerMetadataArgs} from \"./EntityListenerMetadataArgs\";\nimport {TableMetadataArgs} from \"./TableMetadataArgs\";\nimport {NamingStrategyMetadataArgs} from \"./NamingStrategyMetadataArgs\";\nimport {JoinTableMetadataArgs} from \"./JoinTableMetadataArgs\";\nimport {JoinColumnMetadataArgs} from \"./JoinColumnMetadataArgs\";\nimport {EmbeddedMetadataArgs} from \"./EmbeddedMetadataArgs\";\nimport {EntitySubscriberMetadataArgs} from \"./EntitySubscriberMetadataArgs\";\nimport {RelationIdMetadataArgs} from \"./RelationIdMetadataArgs\";\nimport {InheritanceMetadataArgs} from \"./InheritanceMetadataArgs\";\nimport {DiscriminatorValueMetadataArgs} from \"./DiscriminatorValueMetadataArgs\";\nimport {EntityRepositoryMetadataArgs} from \"./EntityRepositoryMetadataArgs\";\nimport {TransactionEntityMetadataArgs} from \"./TransactionEntityMetadataArgs\";\nimport {TransactionRepositoryMetadataArgs} from \"./TransactionRepositoryMetadataArgs\";\nimport {MetadataUtils} from \"../metadata-builder/MetadataUtils\";\nimport {GeneratedMetadataArgs} from \"./GeneratedMetadataArgs\";\nimport {TreeMetadataArgs} from \"./TreeMetadataArgs\";\nimport {UniqueMetadataArgs} from \"./UniqueMetadataArgs\";\nimport {CheckMetadataArgs} from \"./CheckMetadataArgs\";\nimport {ExclusionMetadataArgs} from \"./ExclusionMetadataArgs\";\n\n/**\n * Storage all metadatas args of all available types: tables, columns, subscribers, relations, etc.\n * Each metadata args represents some specifications of what it represents.\n * MetadataArgs used to create a real Metadata objects.\n */\nexport class MetadataArgsStorage {\n\n    // -------------------------------------------------------------------------\n    // Properties\n    // -------------------------------------------------------------------------\n\n    readonly tables: TableMetadataArgs[] = [];\n    readonly trees: TreeMetadataArgs[] = [];\n    readonly entityRepositories: EntityRepositoryMetadataArgs[] = [];\n    readonly transactionEntityManagers: TransactionEntityMetadataArgs[] = [];\n    readonly transactionRepositories: TransactionRepositoryMetadataArgs[] = [];\n    readonly namingStrategies: NamingStrategyMetadataArgs[] = [];\n    readonly entitySubscribers: EntitySubscriberMetadataArgs[] = [];\n    readonly indices: IndexMetadataArgs[] = [];\n    readonly uniques: UniqueMetadataArgs[] = [];\n    readonly checks: CheckMetadataArgs[] = [];\n    readonly exclusions: ExclusionMetadataArgs[] = [];\n    readonly columns: ColumnMetadataArgs[] = [];\n    readonly generations: GeneratedMetadataArgs[] = [];\n    readonly relations: RelationMetadataArgs[] = [];\n    readonly joinColumns: JoinColumnMetadataArgs[] = [];\n    readonly joinTables: JoinTableMetadataArgs[] = [];\n    readonly entityListeners: EntityListenerMetadataArgs[] = [];\n    readonly relationCounts: RelationCountMetadataArgs[] = [];\n    readonly relationIds: RelationIdMetadataArgs[] = [];\n    readonly embeddeds: EmbeddedMetadataArgs[] = [];\n    readonly inheritances: InheritanceMetadataArgs[] = [];\n    readonly discriminatorValues: DiscriminatorValueMetadataArgs[] = [];\n\n    // -------------------------------------------------------------------------\n    // Public Methods\n    // -------------------------------------------------------------------------\n\n    filterTables(target: Function|string): TableMetadataArgs[];\n    filterTables(target: (Function|string)[]): TableMetadataArgs[];\n    filterTables(target: (Function|string)|(Function|string)[]): TableMetadataArgs[] {\n        return this.filterByTarget(this.tables, target);\n    }\n\n    filterColumns(target: Function|string): ColumnMetadataArgs[];\n    filterColumns(target: (Function|string)[]): ColumnMetadataArgs[];\n    filterColumns(target: (Function|string)|(Function|string)[]): ColumnMetadataArgs[] {\n        return this.filterByTargetAndWithoutDuplicateProperties(this.columns, target);\n    }\n\n    findGenerated(target: Function|string, propertyName: string): GeneratedMetadataArgs|undefined;\n    findGenerated(target: (Function|string)[], propertyName: string): GeneratedMetadataArgs|undefined;\n    findGenerated(target: (Function|string)|(Function|string)[], propertyName: string): GeneratedMetadataArgs|undefined {\n        return this.generations.find(generated => {\n            return (target instanceof Array ? target.indexOf(generated.target) !== -1 : generated.target === target) && generated.propertyName === propertyName;\n        });\n    }\n\n    findTree(target: (Function|string)|(Function|string)[]): TreeMetadataArgs|undefined {\n        return this.trees.find(tree => {\n            return (target instanceof Array ? target.indexOf(tree.target) !== -1 : tree.target === target);\n        });\n    }\n\n    filterRelations(target: Function|string): RelationMetadataArgs[];\n    filterRelations(target: (Function|string)[]): RelationMetadataArgs[];\n    filterRelations(target: (Function|string)|(Function|string)[]): RelationMetadataArgs[] {\n        return this.filterByTargetAndWithoutDuplicateProperties(this.relations, target);\n    }\n\n    filterRelationIds(target: Function|string): RelationIdMetadataArgs[];\n    filterRelationIds(target: (Function|string)[]): RelationIdMetadataArgs[];\n    filterRelationIds(target: (Function|string)|(Function|string)[]): RelationIdMetadataArgs[] {\n        return this.filterByTargetAndWithoutDuplicateProperties(this.relationIds, target);\n    }\n\n    filterRelationCounts(target: Function|string): RelationCountMetadataArgs[];\n    filterRelationCounts(target: (Function|string)[]): RelationCountMetadataArgs[];\n    filterRelationCounts(target: (Function|string)|(Function|string)[]): RelationCountMetadataArgs[] {\n        return this.filterByTargetAndWithoutDuplicateProperties(this.relationCounts, target);\n    }\n\n    filterIndices(target: Function|string): IndexMetadataArgs[];\n    filterIndices(target: (Function|string)[]): IndexMetadataArgs[];\n    filterIndices(target: (Function|string)|(Function|string)[]): IndexMetadataArgs[] {\n        // todo: implement parent-entity overrides?\n        return this.indices.filter(index => {\n            return target instanceof Array ? target.indexOf(index.target) !== -1 : index.target === target;\n        });\n    }\n\n    filterUniques(target: Function|string): UniqueMetadataArgs[];\n    filterUniques(target: (Function|string)[]): UniqueMetadataArgs[];\n    filterUniques(target: (Function|string)|(Function|string)[]): UniqueMetadataArgs[] {\n        return this.uniques.filter(unique => {\n            return target instanceof Array ? target.indexOf(unique.target) !== -1 : unique.target === target;\n        });\n    }\n\n    filterChecks(target: Function|string): CheckMetadataArgs[];\n    filterChecks(target: (Function|string)[]): CheckMetadataArgs[];\n    filterChecks(target: (Function|string)|(Function|string)[]): CheckMetadataArgs[] {\n        return this.checks.filter(check => {\n            return target instanceof Array ? target.indexOf(check.target) !== -1 : check.target === target;\n        });\n    }\n\n    filterExclusions(target: Function|string): ExclusionMetadataArgs[];\n    filterExclusions(target: (Function|string)[]): ExclusionMetadataArgs[];\n    filterExclusions(target: (Function|string)|(Function|string)[]): ExclusionMetadataArgs[] {\n        return this.exclusions.filter(exclusion => {\n            return target instanceof Array ? target.indexOf(exclusion.target) !== -1 : exclusion.target === target;\n        });\n    }\n\n    filterListeners(target: Function|string): EntityListenerMetadataArgs[];\n    filterListeners(target: (Function|string)[]): EntityListenerMetadataArgs[];\n    filterListeners(target: (Function|string)|(Function|string)[]): EntityListenerMetadataArgs[] {\n        return this.filterByTarget(this.entityListeners, target);\n    }\n\n    filterEmbeddeds(target: Function|string): EmbeddedMetadataArgs[];\n    filterEmbeddeds(target: (Function|string)[]): EmbeddedMetadataArgs[];\n    filterEmbeddeds(target: (Function|string)|(Function|string)[]): EmbeddedMetadataArgs[] {\n        return this.filterByTargetAndWithoutDuplicateEmbeddedProperties(this.embeddeds, target);\n    }\n\n    findJoinTable(target: Function|string, propertyName: string): JoinTableMetadataArgs|undefined {\n        return this.joinTables.find(joinTable => {\n            return joinTable.target === target && joinTable.propertyName === propertyName;\n        });\n    }\n\n    filterJoinColumns(target: Function|string, propertyName: string): JoinColumnMetadataArgs[] {\n        // todo: implement parent-entity overrides?\n        return this.joinColumns.filter(joinColumn => {\n            return joinColumn.target === target && joinColumn.propertyName === propertyName;\n        });\n    }\n\n    filterSubscribers(target: Function|string): EntitySubscriberMetadataArgs[];\n    filterSubscribers(target: (Function|string)[]): EntitySubscriberMetadataArgs[];\n    filterSubscribers(target: (Function|string)|(Function|string)[]): EntitySubscriberMetadataArgs[] {\n        return this.filterByTarget(this.entitySubscribers, target);\n    }\n\n    filterNamingStrategies(target: Function|string): NamingStrategyMetadataArgs[];\n    filterNamingStrategies(target: (Function|string)[]): NamingStrategyMetadataArgs[];\n    filterNamingStrategies(target: (Function|string)|(Function|string)[]): NamingStrategyMetadataArgs[] {\n        return this.filterByTarget(this.namingStrategies, target);\n    }\n\n    filterTransactionEntityManagers(target: Function|string, propertyName: string): TransactionEntityMetadataArgs[] {\n        return this.transactionEntityManagers.filter(transactionEm => {\n            return (target instanceof Array ? target.indexOf(transactionEm.target) !== -1 : transactionEm.target === target) && transactionEm.methodName === propertyName;\n        });\n    }\n\n    filterTransactionRepository(target: Function|string, propertyName: string): TransactionRepositoryMetadataArgs[] {\n        return this.transactionRepositories.filter(transactionEm => {\n            return (target instanceof Array ? target.indexOf(transactionEm.target) !== -1 : transactionEm.target === target) && transactionEm.methodName === propertyName;\n        });\n    }\n\n    filterSingleTableChildren(target: Function|string): TableMetadataArgs[] {\n        return this.tables.filter(table => {\n            return table.target instanceof Function\n                && target instanceof Function\n                && MetadataUtils.isInherited(table.target, target)\n                && table.type === \"entity-child\";\n        });\n    }\n\n    findInheritanceType(target: Function|string): InheritanceMetadataArgs|undefined {\n        return this.inheritances.find(inheritance => inheritance.target === target);\n    }\n\n    findDiscriminatorValue(target: Function|string): DiscriminatorValueMetadataArgs|undefined {\n        return this.discriminatorValues.find(discriminatorValue => discriminatorValue.target === target);\n    }\n\n    // -------------------------------------------------------------------------\n    // Protected Methods\n    // -------------------------------------------------------------------------\n\n    /**\n     * Filters given array by a given target or targets.\n     */\n    protected filterByTarget<T extends { target: Function|string }>(array: T[], target: (Function|string)|(Function|string)[]): T[] {\n        return array.filter(table => {\n            return target instanceof Array ? target.indexOf(table.target) !== -1 : table.target === target;\n        });\n    }\n\n    /**\n     * Filters given array by a given target or targets and prevents duplicate property names.\n     */\n    protected filterByTargetAndWithoutDuplicateProperties<T extends { target: Function|string, propertyName: string }>(array: T[], target: (Function|string)|(Function|string)[]): T[] {\n        const newArray: T[] = [];\n        array.forEach(item => {\n            const sameTarget = target instanceof Array ? target.indexOf(item.target) !== -1 : item.target === target;\n            if (sameTarget) {\n                if (!newArray.find(newItem => newItem.propertyName === item.propertyName))\n                    newArray.push(item);\n            }\n        });\n        return newArray;\n    }\n\n    /**\n     * Filters given array by a given target or targets and prevents duplicate embedded property names.\n     */\n    protected filterByTargetAndWithoutDuplicateEmbeddedProperties<T extends EmbeddedMetadataArgs>(array: T[], target: (Function|string)|(Function|string)[]): T[] {\n        const newArray: T[] = [];\n        array.forEach(item => {\n            const sameTarget = target instanceof Array ? target.indexOf(item.target) !== -1 : item.target === target;\n            if (sameTarget) {\n                const isDuplicateEmbeddedProperty = newArray.find((newItem: EmbeddedMetadataArgs): boolean =>\n                    newItem.prefix === item.prefix && newItem.propertyName === item.propertyName\n                );\n                if (!isDuplicateEmbeddedProperty)\n                    newArray.push(item);\n            }\n        });\n        return newArray;\n    }\n\n}\n"],"sourceRoot":".."}