typeorm 0.3.22-dev.fb06662 → 0.3.23-dev.04f3d3f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/decorator/ForeignKey.d.ts +22 -0
- package/browser/decorator/ForeignKey.js +41 -0
- package/browser/decorator/ForeignKey.js.map +1 -0
- package/browser/decorator/options/ForeignKeyOptions.d.ts +24 -0
- package/browser/decorator/options/ForeignKeyOptions.js +3 -0
- package/browser/decorator/options/ForeignKeyOptions.js.map +1 -0
- package/browser/driver/DriverFactory.js +2 -2
- package/browser/driver/DriverFactory.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +3 -5
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoDriver.d.ts +2 -12
- package/browser/driver/expo/ExpoDriver.js +8 -54
- package/browser/driver/expo/ExpoDriver.js.map +1 -1
- package/browser/driver/expo/ExpoDriverFactory.d.ts +9 -0
- package/browser/driver/expo/ExpoDriverFactory.js +18 -0
- package/browser/driver/expo/ExpoDriverFactory.js.map +1 -0
- package/browser/driver/expo/ExpoQueryRunner.d.ts +0 -48
- package/browser/driver/expo/ExpoQueryRunner.js +36 -141
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/expo/legacy/ExpoLegacyDriver.d.ts +21 -0
- package/browser/driver/expo/legacy/ExpoLegacyDriver.js +71 -0
- package/browser/driver/expo/legacy/ExpoLegacyDriver.js.map +1 -0
- package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.d.ts +57 -0
- package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.js +165 -0
- package/browser/driver/expo/legacy/ExpoLegacyQueryRunner.js.map +1 -0
- package/browser/driver/mongodb/MongoConnectionOptions.d.ts +111 -142
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.d.ts +2 -3
- package/browser/driver/mongodb/MongoDriver.js +57 -65
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.js +3 -5
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +11 -2
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapDriver.js +40 -31
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +1 -11
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/entity-schema/EntitySchemaColumnForeignKeyOptions.d.ts +12 -0
- package/browser/entity-schema/EntitySchemaColumnForeignKeyOptions.js +3 -0
- package/browser/entity-schema/EntitySchemaColumnForeignKeyOptions.js.map +1 -0
- package/browser/entity-schema/EntitySchemaColumnOptions.d.ts +5 -0
- package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaForeignKeyOptions.d.ts +16 -0
- package/browser/entity-schema/EntitySchemaForeignKeyOptions.js +3 -0
- package/browser/entity-schema/EntitySchemaForeignKeyOptions.js.map +1 -0
- package/browser/entity-schema/EntitySchemaOptions.d.ts +5 -0
- package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +29 -0
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/index.d.ts +2 -0
- package/browser/index.js +2 -0
- package/browser/index.js.map +1 -1
- package/browser/metadata-args/ForeignKeyMetadataArgs.d.ts +54 -0
- package/browser/metadata-args/ForeignKeyMetadataArgs.js +3 -0
- package/browser/metadata-args/ForeignKeyMetadataArgs.js.map +1 -0
- package/browser/metadata-args/MetadataArgsStorage.d.ts +4 -0
- package/browser/metadata-args/MetadataArgsStorage.js +8 -0
- package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.d.ts +4 -0
- package/browser/metadata-builder/EntityMetadataBuilder.js +70 -0
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/migration/MigrationExecutor.js +2 -2
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +3 -3
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/subscriber/event/QueryEvent.d.ts +1 -1
- package/browser/subscriber/event/QueryEvent.js.map +1 -1
- package/commands/MigrationGenerateCommand.js +2 -2
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/decorator/ForeignKey.d.ts +22 -0
- package/decorator/ForeignKey.js +44 -0
- package/decorator/ForeignKey.js.map +1 -0
- package/decorator/options/ForeignKeyOptions.d.ts +24 -0
- package/decorator/options/ForeignKeyOptions.js +4 -0
- package/decorator/options/ForeignKeyOptions.js.map +1 -0
- package/driver/DriverFactory.js +2 -2
- package/driver/DriverFactory.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.js +3 -5
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/expo/ExpoDriver.d.ts +2 -12
- package/driver/expo/ExpoDriver.js +8 -54
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/expo/ExpoDriverFactory.d.ts +9 -0
- package/driver/expo/ExpoDriverFactory.js +22 -0
- package/driver/expo/ExpoDriverFactory.js.map +1 -0
- package/driver/expo/ExpoQueryRunner.d.ts +0 -48
- package/driver/expo/ExpoQueryRunner.js +36 -141
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/expo/legacy/ExpoLegacyDriver.d.ts +21 -0
- package/driver/expo/legacy/ExpoLegacyDriver.js +75 -0
- package/driver/expo/legacy/ExpoLegacyDriver.js.map +1 -0
- package/driver/expo/legacy/ExpoLegacyQueryRunner.d.ts +57 -0
- package/driver/expo/legacy/ExpoLegacyQueryRunner.js +169 -0
- package/driver/expo/legacy/ExpoLegacyQueryRunner.js.map +1 -0
- package/driver/mongodb/MongoConnectionOptions.d.ts +111 -142
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mongodb/MongoDriver.d.ts +2 -3
- package/driver/mongodb/MongoDriver.js +57 -65
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/postgres/PostgresDriver.js +3 -5
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +11 -2
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/sap/SapDriver.js +40 -31
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +1 -11
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/entity-schema/EntitySchemaColumnForeignKeyOptions.d.ts +12 -0
- package/entity-schema/EntitySchemaColumnForeignKeyOptions.js +4 -0
- package/entity-schema/EntitySchemaColumnForeignKeyOptions.js.map +1 -0
- package/entity-schema/EntitySchemaColumnOptions.d.ts +5 -0
- package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/entity-schema/EntitySchemaForeignKeyOptions.d.ts +16 -0
- package/entity-schema/EntitySchemaForeignKeyOptions.js +4 -0
- package/entity-schema/EntitySchemaForeignKeyOptions.js.map +1 -0
- package/entity-schema/EntitySchemaOptions.d.ts +5 -0
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +29 -0
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/index.mjs +2 -0
- package/metadata-args/ForeignKeyMetadataArgs.d.ts +54 -0
- package/metadata-args/ForeignKeyMetadataArgs.js +4 -0
- package/metadata-args/ForeignKeyMetadataArgs.js.map +1 -0
- package/metadata-args/MetadataArgsStorage.d.ts +4 -0
- package/metadata-args/MetadataArgsStorage.js +8 -0
- package/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.d.ts +4 -0
- package/metadata-builder/EntityMetadataBuilder.js +70 -0
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/migration/MigrationExecutor.js +2 -2
- package/migration/MigrationExecutor.js.map +1 -1
- package/package.json +1 -1
- package/query-builder/InsertQueryBuilder.js +3 -3
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/subscriber/event/QueryEvent.d.ts +1 -1
- package/subscriber/event/QueryEvent.js.map +1 -1
- package/typeorm-model-shim.js +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../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 // 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(\n target: (Function | string) | (Function | string)[],\n ): TableMetadataArgs[] {\n return this.filterByTarget(this.tables, target)\n }\n\n filterColumns(target: Function | string): ColumnMetadataArgs[]\n filterColumns(target: (Function | string)[]): ColumnMetadataArgs[]\n filterColumns(\n target: (Function | string) | (Function | string)[],\n ): ColumnMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.columns,\n target,\n )\n }\n\n findGenerated(\n target: Function | string,\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string) | (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined {\n return this.generations.find((generated) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(generated.target) !== -1\n : generated.target === target) &&\n generated.propertyName === propertyName\n )\n })\n }\n\n findTree(\n target: (Function | string) | (Function | string)[],\n ): TreeMetadataArgs | undefined {\n return this.trees.find((tree) => {\n return Array.isArray(target)\n ? target.indexOf(tree.target) !== -1\n : tree.target === target\n })\n }\n\n filterRelations(target: Function | string): RelationMetadataArgs[]\n filterRelations(target: (Function | string)[]): RelationMetadataArgs[]\n filterRelations(\n target: (Function | string) | (Function | string)[],\n ): RelationMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateRelationProperties(\n this.relations,\n target,\n )\n }\n\n filterRelationIds(target: Function | string): RelationIdMetadataArgs[]\n filterRelationIds(target: (Function | string)[]): RelationIdMetadataArgs[]\n filterRelationIds(\n target: (Function | string) | (Function | string)[],\n ): RelationIdMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.relationIds,\n target,\n )\n }\n\n filterRelationCounts(target: Function | string): RelationCountMetadataArgs[]\n filterRelationCounts(\n target: (Function | string)[],\n ): RelationCountMetadataArgs[]\n filterRelationCounts(\n target: (Function | string) | (Function | string)[],\n ): RelationCountMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.relationCounts,\n target,\n )\n }\n\n filterIndices(target: Function | string): IndexMetadataArgs[]\n filterIndices(target: (Function | string)[]): IndexMetadataArgs[]\n filterIndices(\n target: (Function | string) | (Function | string)[],\n ): IndexMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.indices.filter((index) => {\n return Array.isArray(target)\n ? target.indexOf(index.target) !== -1\n : index.target === target\n })\n }\n\n filterUniques(target: Function | string): UniqueMetadataArgs[]\n filterUniques(target: (Function | string)[]): UniqueMetadataArgs[]\n filterUniques(\n target: (Function | string) | (Function | string)[],\n ): UniqueMetadataArgs[] {\n return this.uniques.filter((unique) => {\n return Array.isArray(target)\n ? target.indexOf(unique.target) !== -1\n : unique.target === target\n })\n }\n\n filterChecks(target: Function | string): CheckMetadataArgs[]\n filterChecks(target: (Function | string)[]): CheckMetadataArgs[]\n filterChecks(\n target: (Function | string) | (Function | string)[],\n ): CheckMetadataArgs[] {\n return this.checks.filter((check) => {\n return Array.isArray(target)\n ? target.indexOf(check.target) !== -1\n : check.target === target\n })\n }\n\n filterExclusions(target: Function | string): ExclusionMetadataArgs[]\n filterExclusions(target: (Function | string)[]): ExclusionMetadataArgs[]\n filterExclusions(\n target: (Function | string) | (Function | string)[],\n ): ExclusionMetadataArgs[] {\n return this.exclusions.filter((exclusion) => {\n return Array.isArray(target)\n ? target.indexOf(exclusion.target) !== -1\n : exclusion.target === target\n })\n }\n\n filterListeners(target: Function | string): EntityListenerMetadataArgs[]\n filterListeners(target: (Function | string)[]): EntityListenerMetadataArgs[]\n filterListeners(\n target: (Function | string) | (Function | string)[],\n ): EntityListenerMetadataArgs[] {\n return this.filterByTarget(this.entityListeners, target)\n }\n\n filterEmbeddeds(target: Function | string): EmbeddedMetadataArgs[]\n filterEmbeddeds(target: (Function | string)[]): EmbeddedMetadataArgs[]\n filterEmbeddeds(\n target: (Function | string) | (Function | string)[],\n ): EmbeddedMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateEmbeddedProperties(\n this.embeddeds,\n target,\n )\n }\n\n findJoinTable(\n target: Function | string,\n propertyName: string,\n ): JoinTableMetadataArgs | undefined {\n return this.joinTables.find((joinTable) => {\n return (\n joinTable.target === target &&\n joinTable.propertyName === propertyName\n )\n })\n }\n\n filterJoinColumns(\n target: Function | string,\n propertyName: string,\n ): JoinColumnMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.joinColumns.filter((joinColumn) => {\n return (\n joinColumn.target === target &&\n joinColumn.propertyName === propertyName\n )\n })\n }\n\n filterSubscribers(target: Function | string): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string)[],\n ): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string) | (Function | string)[],\n ): EntitySubscriberMetadataArgs[] {\n return this.filterByTarget(this.entitySubscribers, target)\n }\n\n filterNamingStrategies(\n target: Function | string,\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string)[],\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string) | (Function | string)[],\n ): NamingStrategyMetadataArgs[] {\n return this.filterByTarget(this.namingStrategies, target)\n }\n\n filterTransactionEntityManagers(\n target: Function | string,\n propertyName: string,\n ): TransactionEntityMetadataArgs[] {\n return this.transactionEntityManagers.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterTransactionRepository(\n target: Function | string,\n propertyName: string,\n ): TransactionRepositoryMetadataArgs[] {\n return this.transactionRepositories.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterSingleTableChildren(target: Function | string): TableMetadataArgs[] {\n return this.tables.filter((table) => {\n return (\n typeof table.target === \"function\" &&\n typeof target === \"function\" &&\n MetadataUtils.isInherited(table.target, target) &&\n table.type === \"entity-child\"\n )\n })\n }\n\n findInheritanceType(\n target: Function | string,\n ): InheritanceMetadataArgs | undefined {\n return this.inheritances.find(\n (inheritance) => inheritance.target === target,\n )\n }\n\n findDiscriminatorValue(\n target: Function | string,\n ): DiscriminatorValueMetadataArgs | undefined {\n return this.discriminatorValues.find(\n (discriminatorValue) => discriminatorValue.target === target,\n )\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 }>(\n array: T[],\n target: (Function | string) | (Function | string)[],\n ): T[] {\n return array.filter((table) => {\n return Array.isArray(target)\n ? target.indexOf(table.target) !== -1\n : 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<\n T extends { target: Function | string; propertyName: string },\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n if (\n !newArray.find(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n )\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 relation property names.\n */\n protected filterByTargetAndWithoutDuplicateRelationProperties<\n T extends RelationMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const existingIndex = newArray.findIndex(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n if (\n Array.isArray(target) &&\n existingIndex !== -1 &&\n target.indexOf(item.target) <\n target.indexOf(newArray[existingIndex].target)\n ) {\n const clone = Object.create(newArray[existingIndex])\n clone.type = item.type\n newArray[existingIndex] = clone\n } else if (existingIndex === -1) {\n newArray.push(item)\n }\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<\n T extends EmbeddedMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const isDuplicateEmbeddedProperty = newArray.find(\n (newItem: EmbeddedMetadataArgs): boolean =>\n newItem.prefix === item.prefix &&\n newItem.propertyName === item.propertyName,\n )\n if (!isDuplicateEmbeddedProperty) newArray.push(item)\n }\n })\n return newArray\n }\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../../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\"\nimport { ForeignKeyMetadataArgs } from \"./ForeignKeyMetadataArgs\"\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 // 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 foreignKeys: ForeignKeyMetadataArgs[] = []\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(\n target: (Function | string) | (Function | string)[],\n ): TableMetadataArgs[] {\n return this.filterByTarget(this.tables, target)\n }\n\n filterColumns(target: Function | string): ColumnMetadataArgs[]\n filterColumns(target: (Function | string)[]): ColumnMetadataArgs[]\n filterColumns(\n target: (Function | string) | (Function | string)[],\n ): ColumnMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.columns,\n target,\n )\n }\n\n findGenerated(\n target: Function | string,\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined\n findGenerated(\n target: (Function | string) | (Function | string)[],\n propertyName: string,\n ): GeneratedMetadataArgs | undefined {\n return this.generations.find((generated) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(generated.target) !== -1\n : generated.target === target) &&\n generated.propertyName === propertyName\n )\n })\n }\n\n findTree(\n target: (Function | string) | (Function | string)[],\n ): TreeMetadataArgs | undefined {\n return this.trees.find((tree) => {\n return Array.isArray(target)\n ? target.indexOf(tree.target) !== -1\n : tree.target === target\n })\n }\n\n filterRelations(target: Function | string): RelationMetadataArgs[]\n filterRelations(target: (Function | string)[]): RelationMetadataArgs[]\n filterRelations(\n target: (Function | string) | (Function | string)[],\n ): RelationMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateRelationProperties(\n this.relations,\n target,\n )\n }\n\n filterRelationIds(target: Function | string): RelationIdMetadataArgs[]\n filterRelationIds(target: (Function | string)[]): RelationIdMetadataArgs[]\n filterRelationIds(\n target: (Function | string) | (Function | string)[],\n ): RelationIdMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.relationIds,\n target,\n )\n }\n\n filterRelationCounts(target: Function | string): RelationCountMetadataArgs[]\n filterRelationCounts(\n target: (Function | string)[],\n ): RelationCountMetadataArgs[]\n filterRelationCounts(\n target: (Function | string) | (Function | string)[],\n ): RelationCountMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateProperties(\n this.relationCounts,\n target,\n )\n }\n\n filterIndices(target: Function | string): IndexMetadataArgs[]\n filterIndices(target: (Function | string)[]): IndexMetadataArgs[]\n filterIndices(\n target: (Function | string) | (Function | string)[],\n ): IndexMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.indices.filter((index) => {\n return Array.isArray(target)\n ? target.indexOf(index.target) !== -1\n : index.target === target\n })\n }\n\n filterForeignKeys(target: Function | string): ForeignKeyMetadataArgs[]\n filterForeignKeys(target: (Function | string)[]): ForeignKeyMetadataArgs[]\n filterForeignKeys(\n target: (Function | string) | (Function | string)[],\n ): ForeignKeyMetadataArgs[] {\n return this.foreignKeys.filter((foreignKey) => {\n return Array.isArray(target)\n ? target.indexOf(foreignKey.target) !== -1\n : foreignKey.target === target\n })\n }\n\n filterUniques(target: Function | string): UniqueMetadataArgs[]\n filterUniques(target: (Function | string)[]): UniqueMetadataArgs[]\n filterUniques(\n target: (Function | string) | (Function | string)[],\n ): UniqueMetadataArgs[] {\n return this.uniques.filter((unique) => {\n return Array.isArray(target)\n ? target.indexOf(unique.target) !== -1\n : unique.target === target\n })\n }\n\n filterChecks(target: Function | string): CheckMetadataArgs[]\n filterChecks(target: (Function | string)[]): CheckMetadataArgs[]\n filterChecks(\n target: (Function | string) | (Function | string)[],\n ): CheckMetadataArgs[] {\n return this.checks.filter((check) => {\n return Array.isArray(target)\n ? target.indexOf(check.target) !== -1\n : check.target === target\n })\n }\n\n filterExclusions(target: Function | string): ExclusionMetadataArgs[]\n filterExclusions(target: (Function | string)[]): ExclusionMetadataArgs[]\n filterExclusions(\n target: (Function | string) | (Function | string)[],\n ): ExclusionMetadataArgs[] {\n return this.exclusions.filter((exclusion) => {\n return Array.isArray(target)\n ? target.indexOf(exclusion.target) !== -1\n : exclusion.target === target\n })\n }\n\n filterListeners(target: Function | string): EntityListenerMetadataArgs[]\n filterListeners(target: (Function | string)[]): EntityListenerMetadataArgs[]\n filterListeners(\n target: (Function | string) | (Function | string)[],\n ): EntityListenerMetadataArgs[] {\n return this.filterByTarget(this.entityListeners, target)\n }\n\n filterEmbeddeds(target: Function | string): EmbeddedMetadataArgs[]\n filterEmbeddeds(target: (Function | string)[]): EmbeddedMetadataArgs[]\n filterEmbeddeds(\n target: (Function | string) | (Function | string)[],\n ): EmbeddedMetadataArgs[] {\n return this.filterByTargetAndWithoutDuplicateEmbeddedProperties(\n this.embeddeds,\n target,\n )\n }\n\n findJoinTable(\n target: Function | string,\n propertyName: string,\n ): JoinTableMetadataArgs | undefined {\n return this.joinTables.find((joinTable) => {\n return (\n joinTable.target === target &&\n joinTable.propertyName === propertyName\n )\n })\n }\n\n filterJoinColumns(\n target: Function | string,\n propertyName: string,\n ): JoinColumnMetadataArgs[] {\n // todo: implement parent-entity overrides?\n return this.joinColumns.filter((joinColumn) => {\n return (\n joinColumn.target === target &&\n joinColumn.propertyName === propertyName\n )\n })\n }\n\n filterSubscribers(target: Function | string): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string)[],\n ): EntitySubscriberMetadataArgs[]\n filterSubscribers(\n target: (Function | string) | (Function | string)[],\n ): EntitySubscriberMetadataArgs[] {\n return this.filterByTarget(this.entitySubscribers, target)\n }\n\n filterNamingStrategies(\n target: Function | string,\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string)[],\n ): NamingStrategyMetadataArgs[]\n filterNamingStrategies(\n target: (Function | string) | (Function | string)[],\n ): NamingStrategyMetadataArgs[] {\n return this.filterByTarget(this.namingStrategies, target)\n }\n\n filterTransactionEntityManagers(\n target: Function | string,\n propertyName: string,\n ): TransactionEntityMetadataArgs[] {\n return this.transactionEntityManagers.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterTransactionRepository(\n target: Function | string,\n propertyName: string,\n ): TransactionRepositoryMetadataArgs[] {\n return this.transactionRepositories.filter((transactionEm) => {\n return (\n (Array.isArray(target)\n ? target.indexOf(transactionEm.target) !== -1\n : transactionEm.target === target) &&\n transactionEm.methodName === propertyName\n )\n })\n }\n\n filterSingleTableChildren(target: Function | string): TableMetadataArgs[] {\n return this.tables.filter((table) => {\n return (\n typeof table.target === \"function\" &&\n typeof target === \"function\" &&\n MetadataUtils.isInherited(table.target, target) &&\n table.type === \"entity-child\"\n )\n })\n }\n\n findInheritanceType(\n target: Function | string,\n ): InheritanceMetadataArgs | undefined {\n return this.inheritances.find(\n (inheritance) => inheritance.target === target,\n )\n }\n\n findDiscriminatorValue(\n target: Function | string,\n ): DiscriminatorValueMetadataArgs | undefined {\n return this.discriminatorValues.find(\n (discriminatorValue) => discriminatorValue.target === target,\n )\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 }>(\n array: T[],\n target: (Function | string) | (Function | string)[],\n ): T[] {\n return array.filter((table) => {\n return Array.isArray(target)\n ? target.indexOf(table.target) !== -1\n : 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<\n T extends { target: Function | string; propertyName: string },\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n if (\n !newArray.find(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n )\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 relation property names.\n */\n protected filterByTargetAndWithoutDuplicateRelationProperties<\n T extends RelationMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const existingIndex = newArray.findIndex(\n (newItem) => newItem.propertyName === item.propertyName,\n )\n if (\n Array.isArray(target) &&\n existingIndex !== -1 &&\n target.indexOf(item.target) <\n target.indexOf(newArray[existingIndex].target)\n ) {\n const clone = Object.create(newArray[existingIndex])\n clone.type = item.type\n newArray[existingIndex] = clone\n } else if (existingIndex === -1) {\n newArray.push(item)\n }\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<\n T extends EmbeddedMetadataArgs,\n >(array: T[], target: (Function | string) | (Function | string)[]): T[] {\n const newArray: T[] = []\n array.forEach((item) => {\n const sameTarget = Array.isArray(target)\n ? target.indexOf(item.target) !== -1\n : item.target === target\n if (sameTarget) {\n const isDuplicateEmbeddedProperty = newArray.find(\n (newItem: EmbeddedMetadataArgs): boolean =>\n newItem.prefix === item.prefix &&\n newItem.propertyName === item.propertyName,\n )\n if (!isDuplicateEmbeddedProperty) newArray.push(item)\n }\n })\n return newArray\n }\n}\n"],"sourceRoot":".."}
|
|
@@ -54,4 +54,8 @@ export declare class EntityMetadataBuilder {
|
|
|
54
54
|
* Creates indices for the table of single table inheritance.
|
|
55
55
|
*/
|
|
56
56
|
protected createKeysForTableInheritance(entityMetadata: EntityMetadata): void;
|
|
57
|
+
/**
|
|
58
|
+
* Creates from the given foreign key metadata args real foreign key metadatas.
|
|
59
|
+
*/
|
|
60
|
+
protected createForeignKeys(entityMetadata: EntityMetadata, entityMetadatas: EntityMetadata[]): void;
|
|
57
61
|
}
|
|
@@ -19,6 +19,8 @@ const CheckMetadata_1 = require("../metadata/CheckMetadata");
|
|
|
19
19
|
const ExclusionMetadata_1 = require("../metadata/ExclusionMetadata");
|
|
20
20
|
const error_1 = require("../error");
|
|
21
21
|
const DriverUtils_1 = require("../driver/DriverUtils");
|
|
22
|
+
const ForeignKeyMetadata_1 = require("../metadata/ForeignKeyMetadata");
|
|
23
|
+
const InstanceChecker_1 = require("../util/InstanceChecker");
|
|
22
24
|
/**
|
|
23
25
|
* Builds EntityMetadata objects and all its sub-metadatas.
|
|
24
26
|
*/
|
|
@@ -225,6 +227,8 @@ class EntityMetadataBuilder {
|
|
|
225
227
|
entityMetadatas.forEach((entityMetadata) => {
|
|
226
228
|
entityMetadata.exclusions.forEach((exclusion) => exclusion.build(this.connection.namingStrategy));
|
|
227
229
|
});
|
|
230
|
+
// generate foreign keys for tables
|
|
231
|
+
entityMetadatas.forEach((entityMetadata) => this.createForeignKeys(entityMetadata, entityMetadatas));
|
|
228
232
|
// add lazy initializer for entity relations
|
|
229
233
|
entityMetadatas
|
|
230
234
|
.filter((metadata) => typeof metadata.target === "function")
|
|
@@ -762,6 +766,72 @@ class EntityMetadataBuilder {
|
|
|
762
766
|
},
|
|
763
767
|
}));
|
|
764
768
|
}
|
|
769
|
+
/**
|
|
770
|
+
* Creates from the given foreign key metadata args real foreign key metadatas.
|
|
771
|
+
*/
|
|
772
|
+
createForeignKeys(entityMetadata, entityMetadatas) {
|
|
773
|
+
this.metadataArgsStorage
|
|
774
|
+
.filterForeignKeys(entityMetadata.inheritanceTree)
|
|
775
|
+
.forEach((foreignKeyArgs) => {
|
|
776
|
+
const foreignKeyType = typeof foreignKeyArgs.type === "function"
|
|
777
|
+
? foreignKeyArgs.type()
|
|
778
|
+
: foreignKeyArgs.type;
|
|
779
|
+
const referencedEntityMetadata = entityMetadatas.find((m) => typeof foreignKeyType === "string"
|
|
780
|
+
? m.targetName === foreignKeyType ||
|
|
781
|
+
m.givenTableName === foreignKeyType
|
|
782
|
+
: InstanceChecker_1.InstanceChecker.isEntitySchema(foreignKeyType)
|
|
783
|
+
? m.target === foreignKeyType.options.name ||
|
|
784
|
+
m.target === foreignKeyType.options.target
|
|
785
|
+
: m.target === foreignKeyType);
|
|
786
|
+
if (!referencedEntityMetadata) {
|
|
787
|
+
throw new error_1.TypeORMError("Entity metadata for " +
|
|
788
|
+
entityMetadata.name +
|
|
789
|
+
(foreignKeyArgs.propertyName
|
|
790
|
+
? "#" + foreignKeyArgs.propertyName
|
|
791
|
+
: "") +
|
|
792
|
+
" was not found. Check if you specified a correct entity object and if it's connected in the connection options.");
|
|
793
|
+
}
|
|
794
|
+
const columnNames = foreignKeyArgs.columnNames ?? [];
|
|
795
|
+
const referencedColumnNames = foreignKeyArgs.referencedColumnNames ?? [];
|
|
796
|
+
const columns = [];
|
|
797
|
+
const referencedColumns = [];
|
|
798
|
+
if (foreignKeyArgs.propertyName) {
|
|
799
|
+
columnNames.push(foreignKeyArgs.propertyName);
|
|
800
|
+
if (foreignKeyArgs.inverseSide) {
|
|
801
|
+
if (typeof foreignKeyArgs.inverseSide === "function") {
|
|
802
|
+
referencedColumnNames.push(foreignKeyArgs.inverseSide(referencedEntityMetadata.propertiesMap));
|
|
803
|
+
}
|
|
804
|
+
else {
|
|
805
|
+
referencedColumnNames.push(foreignKeyArgs.inverseSide);
|
|
806
|
+
}
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
if (!referencedColumnNames.length) {
|
|
810
|
+
referencedColumns.push(...referencedEntityMetadata.primaryColumns);
|
|
811
|
+
}
|
|
812
|
+
const columnNameToColumn = (columnName, entityMetadata) => {
|
|
813
|
+
const column = entityMetadata.columns.find((column) => column.propertyName === columnName ||
|
|
814
|
+
column.databaseName === columnName);
|
|
815
|
+
if (column)
|
|
816
|
+
return column;
|
|
817
|
+
const foreignKeyName = foreignKeyArgs.name
|
|
818
|
+
? '"' + foreignKeyArgs.name + '" '
|
|
819
|
+
: "";
|
|
820
|
+
const entityName = entityMetadata.targetName;
|
|
821
|
+
throw new error_1.TypeORMError(`Foreign key constraint ${foreignKeyName}contains column that is missing in the entity (${entityName}): ${columnName}`);
|
|
822
|
+
};
|
|
823
|
+
columns.push(...columnNames.map((columnName) => columnNameToColumn(columnName, entityMetadata)));
|
|
824
|
+
referencedColumns.push(...referencedColumnNames.map((columnName) => columnNameToColumn(columnName, referencedEntityMetadata)));
|
|
825
|
+
entityMetadata.foreignKeys.push(new ForeignKeyMetadata_1.ForeignKeyMetadata({
|
|
826
|
+
entityMetadata,
|
|
827
|
+
referencedEntityMetadata,
|
|
828
|
+
namingStrategy: this.connection.namingStrategy,
|
|
829
|
+
columns,
|
|
830
|
+
referencedColumns,
|
|
831
|
+
...foreignKeyArgs,
|
|
832
|
+
}));
|
|
833
|
+
});
|
|
834
|
+
}
|
|
765
835
|
}
|
|
766
836
|
exports.EntityMetadataBuilder = EntityMetadataBuilder;
|
|
767
837
|
|