@contember/schema-definition 2.1.0-beta.2 → 2.2.0-alpha.2
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/dist/development/index.cjs +1 -0
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +2 -1
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
- package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -1
- package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -1
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
- package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -1
- package/dist/development/src/acl/definition/aclExtensions.cjs.map +1 -1
- package/dist/development/src/acl/definition/aclExtensions.js.map +1 -1
- package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -1
- package/dist/development/src/acl/definition/customPrimary.js.map +1 -1
- package/dist/development/src/acl/definition/index.cjs.map +1 -1
- package/dist/development/src/acl/definition/index.js.map +1 -1
- package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -1
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
- package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/createPredicateName.js.map +1 -1
- package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/stores.js.map +1 -1
- package/dist/development/src/acl/definition/permissions.cjs.map +1 -1
- package/dist/development/src/acl/definition/permissions.js.map +1 -1
- package/dist/development/src/acl/definition/variables.cjs.map +1 -1
- package/dist/development/src/acl/definition/variables.js.map +1 -1
- package/dist/development/src/actions/definition/index.cjs.map +1 -1
- package/dist/development/src/actions/definition/index.js.map +1 -1
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
- package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -1
- package/dist/development/src/actions/definition/internal/store.cjs.map +1 -1
- package/dist/development/src/actions/definition/internal/store.js.map +1 -1
- package/dist/development/src/actions/definition/triggers.cjs.map +1 -1
- package/dist/development/src/actions/definition/triggers.js.map +1 -1
- package/dist/development/src/createSchema.cjs +2 -1
- package/dist/development/src/createSchema.cjs.map +1 -1
- package/dist/development/src/createSchema.js +2 -1
- package/dist/development/src/createSchema.js.map +1 -1
- package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -1
- package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/EntityBuilder.js.map +1 -1
- package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/FieldBuilder.js.map +1 -1
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -1
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -1
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -1
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -1
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
- package/dist/development/src/model/definition/EventLogDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/EventLogDefinition.js.map +1 -1
- package/dist/development/src/model/definition/IndexDefinition.cjs +35 -10
- package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/IndexDefinition.js +35 -10
- package/dist/development/src/model/definition/IndexDefinition.js.map +1 -1
- package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -1
- package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -1
- package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/ViewDefinition.js.map +1 -1
- package/dist/development/src/model/definition/extensions.cjs.map +1 -1
- package/dist/development/src/model/definition/extensions.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +20 -2
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +20 -2
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
- package/dist/development/src/model/definition/index.cjs +1 -0
- package/dist/development/src/model/definition/index.cjs.map +1 -1
- package/dist/development/src/model/definition/index.js +2 -1
- package/dist/development/src/model/definition/index.js.map +1 -1
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
- package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -1
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
- package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -1
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
- package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -1
- package/dist/development/src/strict.cjs +20 -5
- package/dist/development/src/strict.cjs.map +1 -1
- package/dist/development/src/strict.js +20 -5
- package/dist/development/src/strict.js.map +1 -1
- package/dist/development/src/utils/filterEntityDefinition.cjs.map +1 -1
- package/dist/development/src/utils/filterEntityDefinition.js.map +1 -1
- package/dist/development/src/validation/index.cjs.map +1 -1
- package/dist/development/src/validation/index.js.map +1 -1
- package/dist/production/index.cjs +1 -0
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +2 -1
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
- package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -1
- package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -1
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
- package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -1
- package/dist/production/src/acl/definition/aclExtensions.cjs.map +1 -1
- package/dist/production/src/acl/definition/aclExtensions.js.map +1 -1
- package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -1
- package/dist/production/src/acl/definition/customPrimary.js.map +1 -1
- package/dist/production/src/acl/definition/index.cjs.map +1 -1
- package/dist/production/src/acl/definition/index.js.map +1 -1
- package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -1
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
- package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/createPredicateName.js.map +1 -1
- package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/stores.js.map +1 -1
- package/dist/production/src/acl/definition/permissions.cjs.map +1 -1
- package/dist/production/src/acl/definition/permissions.js.map +1 -1
- package/dist/production/src/acl/definition/variables.cjs.map +1 -1
- package/dist/production/src/acl/definition/variables.js.map +1 -1
- package/dist/production/src/actions/definition/index.cjs.map +1 -1
- package/dist/production/src/actions/definition/index.js.map +1 -1
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
- package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -1
- package/dist/production/src/actions/definition/internal/store.cjs.map +1 -1
- package/dist/production/src/actions/definition/internal/store.js.map +1 -1
- package/dist/production/src/actions/definition/triggers.cjs.map +1 -1
- package/dist/production/src/actions/definition/triggers.js.map +1 -1
- package/dist/production/src/createSchema.cjs +2 -1
- package/dist/production/src/createSchema.cjs.map +1 -1
- package/dist/production/src/createSchema.js +2 -1
- package/dist/production/src/createSchema.js.map +1 -1
- package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -1
- package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/EntityBuilder.js.map +1 -1
- package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/FieldBuilder.js.map +1 -1
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -1
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -1
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -1
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -1
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
- package/dist/production/src/model/definition/EventLogDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/EventLogDefinition.js.map +1 -1
- package/dist/production/src/model/definition/IndexDefinition.cjs +35 -10
- package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/IndexDefinition.js +35 -10
- package/dist/production/src/model/definition/IndexDefinition.js.map +1 -1
- package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -1
- package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -1
- package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/ViewDefinition.js.map +1 -1
- package/dist/production/src/model/definition/extensions.cjs.map +1 -1
- package/dist/production/src/model/definition/extensions.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +20 -2
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +20 -2
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
- package/dist/production/src/model/definition/index.cjs +1 -0
- package/dist/production/src/model/definition/index.cjs.map +1 -1
- package/dist/production/src/model/definition/index.js +2 -1
- package/dist/production/src/model/definition/index.js.map +1 -1
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
- package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -1
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
- package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -1
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
- package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -1
- package/dist/production/src/strict.cjs +20 -5
- package/dist/production/src/strict.cjs.map +1 -1
- package/dist/production/src/strict.js +20 -5
- package/dist/production/src/strict.js.map +1 -1
- package/dist/production/src/utils/filterEntityDefinition.cjs.map +1 -1
- package/dist/production/src/utils/filterEntityDefinition.js.map +1 -1
- package/dist/production/src/validation/index.cjs.map +1 -1
- package/dist/production/src/validation/index.js.map +1 -1
- package/dist/tests/cases/unit/numericColumn.test.d.ts +2 -0
- package/dist/tests/cases/unit/numericColumn.test.d.ts.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts +5 -5
- package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts.map +1 -1
- package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts +4 -4
- package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts.map +1 -1
- package/dist/types/acl/builder/PermissionsBuilder.d.ts +4 -4
- package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +1 -1
- package/dist/types/acl/definition/aclExtensions.d.ts +2 -2
- package/dist/types/acl/definition/aclExtensions.d.ts.map +1 -1
- package/dist/types/acl/definition/customPrimary.d.ts +2 -2
- package/dist/types/acl/definition/customPrimary.d.ts.map +1 -1
- package/dist/types/acl/definition/index.d.ts +5 -5
- package/dist/types/acl/definition/index.d.ts.map +1 -1
- package/dist/types/acl/definition/internal/AclFactory.d.ts +2 -2
- package/dist/types/acl/definition/internal/AclFactory.d.ts.map +1 -1
- package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts +1 -1
- package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts.map +1 -1
- package/dist/types/acl/definition/internal/createPredicateName.d.ts +1 -1
- package/dist/types/acl/definition/internal/createPredicateName.d.ts.map +1 -1
- package/dist/types/acl/definition/internal/stores.d.ts +3 -3
- package/dist/types/acl/definition/internal/stores.d.ts.map +1 -1
- package/dist/types/acl/definition/permissions.d.ts +4 -4
- package/dist/types/acl/definition/permissions.d.ts.map +1 -1
- package/dist/types/acl/definition/variables.d.ts +1 -1
- package/dist/types/acl/definition/variables.d.ts.map +1 -1
- package/dist/types/actions/definition/index.d.ts +2 -2
- package/dist/types/actions/definition/index.d.ts.map +1 -1
- package/dist/types/actions/definition/internal/store.d.ts +2 -2
- package/dist/types/actions/definition/internal/store.d.ts.map +1 -1
- package/dist/types/actions/definition/triggers.d.ts +2 -2
- package/dist/types/actions/definition/triggers.d.ts.map +1 -1
- package/dist/types/createSchema.d.ts +1 -1
- package/dist/types/createSchema.d.ts.map +1 -1
- package/dist/types/index.d.ts +19 -18
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model/builder/ColumnBuilder.d.ts +1 -1
- package/dist/types/model/builder/ColumnBuilder.d.ts.map +1 -1
- package/dist/types/model/builder/EntityBuilder.d.ts +7 -7
- package/dist/types/model/builder/EntityBuilder.d.ts.map +1 -1
- package/dist/types/model/builder/FieldBuilder.d.ts +5 -5
- package/dist/types/model/builder/FieldBuilder.d.ts.map +1 -1
- package/dist/types/model/builder/ManyHasManyBuilder.d.ts +2 -2
- package/dist/types/model/builder/ManyHasManyBuilder.d.ts.map +1 -1
- package/dist/types/model/builder/ManyHasOneBuilder.d.ts +2 -2
- package/dist/types/model/builder/ManyHasOneBuilder.d.ts.map +1 -1
- package/dist/types/model/builder/OneHasManyBuilder.d.ts +2 -2
- package/dist/types/model/builder/OneHasManyBuilder.d.ts.map +1 -1
- package/dist/types/model/builder/OneHasOneBuilder.d.ts +2 -2
- package/dist/types/model/builder/OneHasOneBuilder.d.ts.map +1 -1
- package/dist/types/model/builder/SchemaBuilder.d.ts +2 -2
- package/dist/types/model/builder/SchemaBuilder.d.ts.map +1 -1
- package/dist/types/model/builder/SchemaBuilderInternal.d.ts +2 -2
- package/dist/types/model/builder/SchemaBuilderInternal.d.ts.map +1 -1
- package/dist/types/model/builder/internal/ColumnProcessor.d.ts +2 -2
- package/dist/types/model/builder/internal/ColumnProcessor.d.ts.map +1 -1
- package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts +2 -2
- package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts.map +1 -1
- package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts +2 -2
- package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts.map +1 -1
- package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts +2 -2
- package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts.map +1 -1
- package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts +2 -2
- package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts.map +1 -1
- package/dist/types/model/builder/types.d.ts +1 -1
- package/dist/types/model/builder/types.d.ts.map +1 -1
- package/dist/types/model/definition/EventLogDefinition.d.ts +1 -1
- package/dist/types/model/definition/EventLogDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/IndexDefinition.d.ts +11 -2
- package/dist/types/model/definition/IndexDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/OrderByDefinition.d.ts +1 -1
- package/dist/types/model/definition/OrderByDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/UniqueDefinition.d.ts +1 -1
- package/dist/types/model/definition/UniqueDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/ViewDefinition.d.ts +2 -2
- package/dist/types/model/definition/ViewDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/context.d.ts +2 -2
- package/dist/types/model/definition/context.d.ts.map +1 -1
- package/dist/types/model/definition/extensions.d.ts +4 -4
- package/dist/types/model/definition/extensions.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +26 -3
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +1 -1
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +2 -2
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +2 -2
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +2 -2
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +2 -2
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +2 -2
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +3 -3
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/index.d.ts +8 -8
- package/dist/types/model/definition/fieldDefinitions/index.d.ts.map +1 -1
- package/dist/types/model/definition/index.d.ts +11 -11
- package/dist/types/model/definition/index.d.ts.map +1 -1
- package/dist/types/model/definition/internal/EntityRegistry.d.ts +1 -1
- package/dist/types/model/definition/internal/EntityRegistry.d.ts.map +1 -1
- package/dist/types/model/definition/internal/EnumRegistry.d.ts +1 -1
- package/dist/types/model/definition/internal/EnumRegistry.d.ts.map +1 -1
- package/dist/types/model/definition/internal/SchemaBuilder.d.ts +3 -3
- package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +1 -1
- package/dist/types/model/definition/internal/index.d.ts +3 -3
- package/dist/types/model/definition/internal/index.d.ts.map +1 -1
- package/dist/types/model/definition/types.d.ts +2 -2
- package/dist/types/model/definition/types.d.ts.map +1 -1
- package/dist/types/model/index.d.ts +8 -8
- package/dist/types/model/index.d.ts.map +1 -1
- package/dist/types/strict.d.ts +2 -0
- package/dist/types/strict.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/utils/filterEntityDefinition.d.ts +1 -1
- package/dist/types/utils/filterEntityDefinition.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +5 -5
- package/dist/types/utils/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/acl/builder/EntityPermissionsBuilder.ts +6 -6
- package/src/acl/builder/FieldPermissionsBuilder.ts +4 -4
- package/src/acl/builder/PermissionOverrider.ts +1 -1
- package/src/acl/builder/PermissionsBuilder.ts +5 -5
- package/src/acl/definition/aclExtensions.ts +2 -2
- package/src/acl/definition/customPrimary.ts +3 -3
- package/src/acl/definition/index.ts +6 -6
- package/src/acl/definition/internal/AclFactory.ts +7 -7
- package/src/acl/definition/internal/EntityPredicateResolver.ts +5 -5
- package/src/acl/definition/internal/createPredicateName.ts +1 -1
- package/src/acl/definition/internal/stores.ts +3 -3
- package/src/acl/definition/permissions.ts +5 -5
- package/src/acl/definition/variables.ts +1 -1
- package/src/actions/definition/index.ts +3 -3
- package/src/actions/definition/internal/ActionsFactory.ts +4 -4
- package/src/actions/definition/internal/store.ts +2 -2
- package/src/actions/definition/triggers.ts +3 -3
- package/src/createSchema.ts +7 -6
- package/src/index.ts +12 -11
- package/src/model/builder/ColumnBuilder.ts +1 -1
- package/src/model/builder/EntityBuilder.ts +7 -7
- package/src/model/builder/FieldBuilder.ts +5 -5
- package/src/model/builder/ManyHasManyBuilder.ts +2 -2
- package/src/model/builder/ManyHasOneBuilder.ts +2 -2
- package/src/model/builder/OneHasManyBuilder.ts +2 -2
- package/src/model/builder/OneHasOneBuilder.ts +2 -2
- package/src/model/builder/SchemaBuilder.ts +4 -4
- package/src/model/builder/SchemaBuilderInternal.ts +9 -9
- package/src/model/builder/internal/ColumnProcessor.ts +2 -2
- package/src/model/builder/internal/ManyHasManyProcessor.ts +2 -2
- package/src/model/builder/internal/ManyHasOneProcessor.ts +2 -2
- package/src/model/builder/internal/OneHasManyProcessor.ts +2 -2
- package/src/model/builder/internal/OneHasOneProcessor.ts +2 -2
- package/src/model/builder/types.ts +1 -1
- package/src/model/definition/EventLogDefinition.ts +1 -1
- package/src/model/definition/IndexDefinition.ts +52 -12
- package/src/model/definition/OrderByDefinition.ts +2 -2
- package/src/model/definition/UniqueDefinition.ts +2 -2
- package/src/model/definition/ViewDefinition.ts +3 -3
- package/src/model/definition/context.ts +2 -2
- package/src/model/definition/extensions.ts +4 -4
- package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +34 -3
- package/src/model/definition/fieldDefinitions/FieldDefinition.ts +1 -1
- package/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts +2 -2
- package/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts +2 -2
- package/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts +2 -2
- package/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts +2 -2
- package/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts +2 -2
- package/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts +3 -3
- package/src/model/definition/fieldDefinitions/index.ts +8 -8
- package/src/model/definition/index.ts +13 -13
- package/src/model/definition/internal/EntityRegistry.ts +1 -1
- package/src/model/definition/internal/EnumRegistry.ts +1 -1
- package/src/model/definition/internal/SchemaBuilder.ts +8 -8
- package/src/model/definition/internal/index.ts +3 -3
- package/src/model/definition/types.ts +2 -2
- package/src/model/index.ts +8 -8
- package/src/strict.ts +29 -4
- package/src/utils/filterEntityDefinition.ts +1 -1
- package/src/utils/index.ts +5 -5
- package/src/validation/index.ts +3 -3
- package/tests/cases/unit/createSchema.test.ts +93 -2
- package/tests/cases/unit/extendEntity.test.ts +3 -3
- package/tests/cases/unit/numericColumn.test.ts +31 -0
- package/tests/cases/unit/orderBy.test.ts +1 -1
- package/tests/cases/unit/readAclDefinitions.test.ts +1 -1
- package/tests/cases/unit/readActions.test.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/ViewDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions'\nimport { EntityConstructor } from './types'\nimport { DecoratorFunction } from '../../utils'\n\nexport type ViewOptions<T> = {\n\tdependencies?: (() => EntityConstructor[]) | EntityConstructor[]\n\tidSource?: readonly ((keyof T) & string)[]\n\tmaterialized?: boolean\n}\n\nexport const View = <T>(sql: string, { dependencies, idSource, materialized }: ViewOptions<T> = {}): DecoratorFunction<T> =>\n\textendEntity(({ entity, entityRegistry }) => {\n\t\tconst dependenciesResolved = typeof dependencies === 'function' ? dependencies() : dependencies\n\t\tif (dependenciesResolved?.some(it => it === undefined)) {\n\t\t\tthrow `\"undefined\" value detected in dependencies of view entity ${entity.name}. This is possibly caused by circular imports.\nPlease wrap the array of dependencies into a function returning this array.\n\nInstead of:\ndependencies: [MyEntity]\nUse:\ndependencies: () => [MyEntity]\n`\n\t\t}\n\t\treturn ({\n\t\t\t...entity,\n\t\t\tview: {\n\t\t\t\tsql,\n\t\t\t\t...(dependenciesResolved ? { dependencies: dependenciesResolved.map(it => entityRegistry.getName(it)) } : {}),\n\t\t\t\t...(idSource ? { idSource } : {}),\n\t\t\t\t...(materialized ? { materialized: true } : {}),\n\t\t\t},\n\t\t})\n\t})\n"],"names":[],"mappings":";AAUO,MAAM,OAAO,CAAI,KAAa,EAAE,cAAc,UAAU,iBAAiC,CAAA,MAC/F,aAAa,CAAC,EAAE,QAAQ,qBAAqB;AAC5C,QAAM,uBAAuB,OAAO,iBAAiB,aAAa,iBAAiB;AACnF,MAAI,sBAAsB,KAAK,CAAA,OAAM,OAAO,MAAS,GAAG;AACvD,UAAM,6DAA6D,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/E;AACA,SAAQ;AAAA,IACP,GAAG;AAAA,IACH,MAAM;AAAA,MACL;AAAA,MACA,GAAI,uBAAuB,EAAE,cAAc,qBAAqB,IAAI,CAAA,OAAM,eAAe,QAAQ,EAAE,CAAC,EAAA,IAAM,CAAA;AAAA,MAC1G,GAAI,WAAW,EAAE,SAAA,IAAa,CAAA;AAAA,MAC9B,GAAI,eAAe,EAAE,cAAc,SAAS,CAAA;AAAA,IAAC;AAAA,EAC9C;AAEF,CAAC;"}
|
|
1
|
+
{"version":3,"file":"ViewDefinition.js","sources":["../../../../../../packages/schema-definition/src/model/definition/ViewDefinition.ts"],"sourcesContent":["import { extendEntity } from './extensions.js'\nimport { EntityConstructor } from './types.js'\nimport { DecoratorFunction } from '../../utils/index.js'\n\nexport type ViewOptions<T> = {\n\tdependencies?: (() => EntityConstructor[]) | EntityConstructor[]\n\tidSource?: readonly ((keyof T) & string)[]\n\tmaterialized?: boolean\n}\n\nexport const View = <T>(sql: string, { dependencies, idSource, materialized }: ViewOptions<T> = {}): DecoratorFunction<T> =>\n\textendEntity(({ entity, entityRegistry }) => {\n\t\tconst dependenciesResolved = typeof dependencies === 'function' ? dependencies() : dependencies\n\t\tif (dependenciesResolved?.some(it => it === undefined)) {\n\t\t\tthrow `\"undefined\" value detected in dependencies of view entity ${entity.name}. This is possibly caused by circular imports.\nPlease wrap the array of dependencies into a function returning this array.\n\nInstead of:\ndependencies: [MyEntity]\nUse:\ndependencies: () => [MyEntity]\n`\n\t\t}\n\t\treturn ({\n\t\t\t...entity,\n\t\t\tview: {\n\t\t\t\tsql,\n\t\t\t\t...(dependenciesResolved ? { dependencies: dependenciesResolved.map(it => entityRegistry.getName(it)) } : {}),\n\t\t\t\t...(idSource ? { idSource } : {}),\n\t\t\t\t...(materialized ? { materialized: true } : {}),\n\t\t\t},\n\t\t})\n\t})\n"],"names":[],"mappings":";AAUO,MAAM,OAAO,CAAI,KAAa,EAAE,cAAc,UAAU,iBAAiC,CAAA,MAC/F,aAAa,CAAC,EAAE,QAAQ,qBAAqB;AAC5C,QAAM,uBAAuB,OAAO,iBAAiB,aAAa,iBAAiB;AACnF,MAAI,sBAAsB,KAAK,CAAA,OAAM,OAAO,MAAS,GAAG;AACvD,UAAM,6DAA6D,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/E;AACA,SAAQ;AAAA,IACP,GAAG;AAAA,IACH,MAAM;AAAA,MACL;AAAA,MACA,GAAI,uBAAuB,EAAE,cAAc,qBAAqB,IAAI,CAAA,OAAM,eAAe,QAAQ,EAAE,CAAC,EAAA,IAAM,CAAA;AAAA,MAC1G,GAAI,WAAW,EAAE,SAAA,IAAa,CAAA;AAAA,MAC9B,GAAI,eAAe,EAAE,cAAc,SAAS,CAAA;AAAA,IAAC;AAAA,EAC9C;AAEF,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types'\nimport { EntityRegistry } from './internal'\nimport { createMetadataStore, DecoratorFunction } from '../../utils'\nimport { CommonContext } from './context'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function(cls: EntityConstructor, context?: ClassDecoratorContext) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension], context)\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":["createMetadataStore"],"mappings":";;;AAeA,MAAM,wBAAwBA,cAAAA,oBAAuC,EAAE;AAGhE,MAAM,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAS,KAAwB,SAAiC;AACxE,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,GAAG,OAAO;AAAA,EAC9E;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;;;"}
|
|
1
|
+
{"version":3,"file":"extensions.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types.js'\nimport { EntityRegistry } from './internal/index.js'\nimport { createMetadataStore, DecoratorFunction } from '../../utils/index.js'\nimport { CommonContext } from './context.js'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function(cls: EntityConstructor, context?: ClassDecoratorContext) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension], context)\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":["createMetadataStore"],"mappings":";;;AAeA,MAAM,wBAAwBA,cAAAA,oBAAuC,EAAE;AAGhE,MAAM,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAS,KAAwB,SAAiC;AACxE,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,GAAG,OAAO;AAAA,EAC9E;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types'\nimport { EntityRegistry } from './internal'\nimport { createMetadataStore, DecoratorFunction } from '../../utils'\nimport { CommonContext } from './context'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function(cls: EntityConstructor, context?: ClassDecoratorContext) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension], context)\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":[],"mappings":";AAeA,MAAM,wBAAwB,oBAAuC,EAAE;AAGhE,MAAM,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAS,KAAwB,SAAiC;AACxE,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,GAAG,OAAO;AAAA,EAC9E;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;"}
|
|
1
|
+
{"version":3,"file":"extensions.js","sources":["../../../../../../packages/schema-definition/src/model/definition/extensions.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, FieldsDefinition } from './types.js'\nimport { EntityRegistry } from './internal/index.js'\nimport { createMetadataStore, DecoratorFunction } from '../../utils/index.js'\nimport { CommonContext } from './context.js'\n\nexport type EntityExtensionArgs =\n\t& {\n\t\tentity: Model.Entity\n\t\tdefinition: FieldsDefinition\n\t\t/** @deprecated use entityRegistry */\n\t\tregistry: EntityRegistry\n\t}\n\t& CommonContext\n\nconst entityExtensionsStore = createMetadataStore<EntityExtension[]>([])\n\nexport type EntityExtension = (args: EntityExtensionArgs) => Model.Entity\nexport const extendEntity = <T>(extension: EntityExtension): DecoratorFunction<T> => {\n\treturn function(cls: EntityConstructor, context?: ClassDecoratorContext) {\n\t\tentityExtensionsStore.update(cls, current => [...current, extension], context)\n\t}\n}\n\nexport const applyEntityExtensions = (\n\tcls: EntityConstructor,\n\targs: EntityExtensionArgs,\n): Model.Entity =>\n\tentityExtensionsStore.get(cls).reduce(\n\t\t(entity, ext) => ext({ ...args, entity }),\n\t\targs.entity,\n\t)\n"],"names":[],"mappings":";AAeA,MAAM,wBAAwB,oBAAuC,EAAE;AAGhE,MAAM,eAAe,CAAI,cAAqD;AACpF,SAAO,SAAS,KAAwB,SAAiC;AACxE,0BAAsB,OAAO,KAAK,CAAA,YAAW,CAAC,GAAG,SAAS,SAAS,GAAG,OAAO;AAAA,EAC9E;AACD;AAEO,MAAM,wBAAwB,CACpC,KACA,SAEA,sBAAsB,IAAI,GAAG,EAAE;AAAA,EAC9B,CAAC,QAAQ,QAAQ,IAAI,EAAE,GAAG,MAAM,QAAQ;AAAA,EACxC,KAAK;AACN;"}
|
|
@@ -50,6 +50,18 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
|
|
|
50
50
|
collation(collation) {
|
|
51
51
|
return this.withOption("collation", collation);
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Attaches a JSON Schema to a JSON column. Input values are validated against it on create/update.
|
|
55
|
+
* The schema is stored as metadata and does not affect the database schema.
|
|
56
|
+
*
|
|
57
|
+
* Only honored for JSON columns ({@link jsonColumn}); it is silently ignored on other column types.
|
|
58
|
+
* Validation runs on mutation input only — stored rows are not re-validated when the schema changes,
|
|
59
|
+
* and the data-transfer/import path bypasses it. Only a subset of JSON Schema keywords is supported;
|
|
60
|
+
* see {@link validateJsonSchema} for the exact list.
|
|
61
|
+
*/
|
|
62
|
+
schema(schema2) {
|
|
63
|
+
return this.withOption("schema", schema2);
|
|
64
|
+
}
|
|
53
65
|
createField({ name, conventions, enumRegistry, entityName, options }) {
|
|
54
66
|
const {
|
|
55
67
|
type,
|
|
@@ -61,7 +73,8 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
|
|
|
61
73
|
typeAlias,
|
|
62
74
|
sequence,
|
|
63
75
|
list,
|
|
64
|
-
collation = options.defaultCollation
|
|
76
|
+
collation = options.defaultCollation,
|
|
77
|
+
schema: schema$1
|
|
65
78
|
} = this.options;
|
|
66
79
|
const common = {
|
|
67
80
|
name,
|
|
@@ -70,7 +83,8 @@ class ColumnDefinition extends FieldDefinition.FieldDefinition {
|
|
|
70
83
|
...list ? { list } : {},
|
|
71
84
|
...defaultValue !== void 0 ? { default: defaultValue } : {},
|
|
72
85
|
...sequence !== void 0 ? { sequence } : {},
|
|
73
|
-
...type === schema.Model.ColumnType.String && collation !== void 0 ? { collation } : {}
|
|
86
|
+
...type === schema.Model.ColumnType.String && collation !== void 0 ? { collation } : {},
|
|
87
|
+
...type === schema.Model.ColumnType.Json && schema$1 !== void 0 ? { schema: schema$1 } : {}
|
|
74
88
|
};
|
|
75
89
|
if (type === schema.Model.ColumnType.Enum) {
|
|
76
90
|
if (typeAlias) {
|
|
@@ -114,6 +128,9 @@ function boolColumn() {
|
|
|
114
128
|
function doubleColumn() {
|
|
115
129
|
return column(schema.Model.ColumnType.Double);
|
|
116
130
|
}
|
|
131
|
+
function numericColumn(precision, scale) {
|
|
132
|
+
return column(schema.Model.ColumnType.Numeric).columnType(`${schemaUtils.resolveDefaultColumnType(schema.Model.ColumnType.Numeric)}(${precision}, ${scale})`);
|
|
133
|
+
}
|
|
117
134
|
function dateColumn() {
|
|
118
135
|
return column(schema.Model.ColumnType.Date);
|
|
119
136
|
}
|
|
@@ -145,6 +162,7 @@ exports.doubleColumn = doubleColumn;
|
|
|
145
162
|
exports.enumColumn = enumColumn;
|
|
146
163
|
exports.intColumn = intColumn;
|
|
147
164
|
exports.jsonColumn = jsonColumn;
|
|
165
|
+
exports.numericColumn = numericColumn;
|
|
148
166
|
exports.stringColumn = stringColumn;
|
|
149
167
|
exports.timeColumn = timeColumn;
|
|
150
168
|
exports.uuidColumn = uuidColumn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic list(): ColumnDefinition {\n\t\treturn this.withOption('list', true)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\t/**\n\t * Collation for string columns\n\t */\n\tpublic collation(collation: Model.Collation): ColumnDefinition {\n\t\treturn this.withOption('collation', collation)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName, options }: CreateFieldContext): Model.AnyField {\n\t\tconst {\n\t\t\ttype,\n\t\t\tnullable,\n\t\t\tcolumnName,\n\t\t\tenumDefinition,\n\t\t\tdefault: defaultValue,\n\t\t\tcolumnType,\n\t\t\ttypeAlias,\n\t\t\tsequence,\n\t\t\tlist,\n\t\t\tcollation = options.defaultCollation,\n\t\t} = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(list ? { list } : {}),\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t\t...(type === Model.ColumnType.String && collation !== undefined ? { collation } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function timeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Time)\n}\n\nexport function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {\n\tconst col = column(Model.ColumnType.DateTime)\n\tif (!args?.precision) {\n\t\treturn col\n\t}\n\treturn col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\tlist?: boolean\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n\tcollation?: Model.Collation\n} & ColumnTypeOptions\n"],"names":["FieldDefinition","Model","resolveDefaultColumnType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColumnDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { JSONValue, Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\nimport { EnumDefinition } from '../EnumDefinition.js'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic list(): ColumnDefinition {\n\t\treturn this.withOption('list', true)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\t/**\n\t * Collation for string columns\n\t */\n\tpublic collation(collation: Model.Collation): ColumnDefinition {\n\t\treturn this.withOption('collation', collation)\n\t}\n\n\t/**\n\t * Attaches a JSON Schema to a JSON column. Input values are validated against it on create/update.\n\t * The schema is stored as metadata and does not affect the database schema.\n\t *\n\t * Only honored for JSON columns ({@link jsonColumn}); it is silently ignored on other column types.\n\t * Validation runs on mutation input only — stored rows are not re-validated when the schema changes,\n\t * and the data-transfer/import path bypasses it. Only a subset of JSON Schema keywords is supported;\n\t * see {@link validateJsonSchema} for the exact list.\n\t */\n\tpublic schema(schema: JSONValue): ColumnDefinition {\n\t\treturn this.withOption('schema', schema)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName, options }: CreateFieldContext): Model.AnyField {\n\t\tconst {\n\t\t\ttype,\n\t\t\tnullable,\n\t\t\tcolumnName,\n\t\t\tenumDefinition,\n\t\t\tdefault: defaultValue,\n\t\t\tcolumnType,\n\t\t\ttypeAlias,\n\t\t\tsequence,\n\t\t\tlist,\n\t\t\tcollation = options.defaultCollation,\n\t\t\tschema,\n\t\t} = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(list ? { list } : {}),\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t\t...(type === Model.ColumnType.String && collation !== undefined ? { collation } : {}),\n\t\t\t...(type === Model.ColumnType.Json && schema !== undefined ? { schema } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\n/**\n * Creates a `numeric(precision, scale)` (a.k.a. `decimal`) column.\n *\n * Values are transported over GraphQL as strings (e.g. `'-123456789123.456'`) to avoid\n * JavaScript floating-point precision loss. The value returned by the API is the exact\n * Postgres `numeric` text representation, which includes trailing zeros up to the column\n * scale (e.g. `123.450000000` for `numeric(20, 9)`).\n *\n * @param precision total number of significant digits\n * @param scale number of digits after the decimal point\n */\nexport function numericColumn(precision: number, scale: number): ColumnDefinition {\n\treturn column(Model.ColumnType.Numeric).columnType(`${resolveDefaultColumnType(Model.ColumnType.Numeric)}(${precision}, ${scale})`)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function timeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Time)\n}\n\nexport function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {\n\tconst col = column(Model.ColumnType.DateTime)\n\tif (!args?.precision) {\n\t\treturn col\n\t}\n\treturn col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\tlist?: boolean\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n\tcollation?: Model.Collation\n\tschema?: JSONValue\n} & ColumnTypeOptions\n"],"names":["FieldDefinition","schema","Model","resolveDefaultColumnType"],"mappings":"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"}
|
|
@@ -48,6 +48,18 @@ class ColumnDefinition extends FieldDefinition {
|
|
|
48
48
|
collation(collation) {
|
|
49
49
|
return this.withOption("collation", collation);
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Attaches a JSON Schema to a JSON column. Input values are validated against it on create/update.
|
|
53
|
+
* The schema is stored as metadata and does not affect the database schema.
|
|
54
|
+
*
|
|
55
|
+
* Only honored for JSON columns ({@link jsonColumn}); it is silently ignored on other column types.
|
|
56
|
+
* Validation runs on mutation input only — stored rows are not re-validated when the schema changes,
|
|
57
|
+
* and the data-transfer/import path bypasses it. Only a subset of JSON Schema keywords is supported;
|
|
58
|
+
* see {@link validateJsonSchema} for the exact list.
|
|
59
|
+
*/
|
|
60
|
+
schema(schema) {
|
|
61
|
+
return this.withOption("schema", schema);
|
|
62
|
+
}
|
|
51
63
|
createField({ name, conventions, enumRegistry, entityName, options }) {
|
|
52
64
|
const {
|
|
53
65
|
type,
|
|
@@ -59,7 +71,8 @@ class ColumnDefinition extends FieldDefinition {
|
|
|
59
71
|
typeAlias,
|
|
60
72
|
sequence,
|
|
61
73
|
list,
|
|
62
|
-
collation = options.defaultCollation
|
|
74
|
+
collation = options.defaultCollation,
|
|
75
|
+
schema
|
|
63
76
|
} = this.options;
|
|
64
77
|
const common = {
|
|
65
78
|
name,
|
|
@@ -68,7 +81,8 @@ class ColumnDefinition extends FieldDefinition {
|
|
|
68
81
|
...list ? { list } : {},
|
|
69
82
|
...defaultValue !== void 0 ? { default: defaultValue } : {},
|
|
70
83
|
...sequence !== void 0 ? { sequence } : {},
|
|
71
|
-
...type === Model.ColumnType.String && collation !== void 0 ? { collation } : {}
|
|
84
|
+
...type === Model.ColumnType.String && collation !== void 0 ? { collation } : {},
|
|
85
|
+
...type === Model.ColumnType.Json && schema !== void 0 ? { schema } : {}
|
|
72
86
|
};
|
|
73
87
|
if (type === Model.ColumnType.Enum) {
|
|
74
88
|
if (typeAlias) {
|
|
@@ -112,6 +126,9 @@ function boolColumn() {
|
|
|
112
126
|
function doubleColumn() {
|
|
113
127
|
return column(Model.ColumnType.Double);
|
|
114
128
|
}
|
|
129
|
+
function numericColumn(precision, scale) {
|
|
130
|
+
return column(Model.ColumnType.Numeric).columnType(`${resolveDefaultColumnType(Model.ColumnType.Numeric)}(${precision}, ${scale})`);
|
|
131
|
+
}
|
|
115
132
|
function dateColumn() {
|
|
116
133
|
return column(Model.ColumnType.Date);
|
|
117
134
|
}
|
|
@@ -144,6 +161,7 @@ export {
|
|
|
144
161
|
enumColumn,
|
|
145
162
|
intColumn,
|
|
146
163
|
jsonColumn,
|
|
164
|
+
numericColumn,
|
|
147
165
|
stringColumn,
|
|
148
166
|
timeColumn,
|
|
149
167
|
uuidColumn
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic list(): ColumnDefinition {\n\t\treturn this.withOption('list', true)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\t/**\n\t * Collation for string columns\n\t */\n\tpublic collation(collation: Model.Collation): ColumnDefinition {\n\t\treturn this.withOption('collation', collation)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName, options }: CreateFieldContext): Model.AnyField {\n\t\tconst {\n\t\t\ttype,\n\t\t\tnullable,\n\t\t\tcolumnName,\n\t\t\tenumDefinition,\n\t\t\tdefault: defaultValue,\n\t\t\tcolumnType,\n\t\t\ttypeAlias,\n\t\t\tsequence,\n\t\t\tlist,\n\t\t\tcollation = options.defaultCollation,\n\t\t} = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(list ? { list } : {}),\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t\t...(type === Model.ColumnType.String && collation !== undefined ? { collation } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function timeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Time)\n}\n\nexport function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {\n\tconst col = column(Model.ColumnType.DateTime)\n\tif (!args?.precision) {\n\t\treturn col\n\t}\n\treturn col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\tlist?: boolean\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n\tcollation?: Model.Collation\n} & ColumnTypeOptions\n"],"names":[],"mappings":";;;;;;AAKO,MAAM,yBAAyB,gBAAyC;AAAA,EAAxE,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,kBAAA;AAAA,EAAA;AAAA,EAEP,OAAc,OACb,MACA,cAAiC,IACd;AACnB,WAAO,IAAI,iBAAiB;AAAA,MAC3B;AAAA,MACA,GAAG;AAAA,IAAA,CACH;AAAA,EACF;AAAA,EAEO,WAAW,YAAsC;AACvD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEO,WAAW,YAAsC;AACvD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEO,OAAyB;AAC/B,WAAO,KAAK,WAAW,QAAQ,IAAI;AAAA,EACpC;AAAA,EAEO,WAA6B;AACnC,WAAO,KAAK,WAAW,YAAY,IAAI;AAAA,EACxC;AAAA,EAEO,UAA4B;AAClC,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEO,SAAS,SAA6E;AAC5F,WAAO,KAAK,WAAW,YAAY,EAAE,YAAY,cAAc,GAAG,SAAS;AAAA,EAC5E;AAAA,EAEO,OAAO,UAA+C,IAAsB;AAClF,WAAO,KAAK,WAAW,UAAU,OAAO;AAAA,EACzC;AAAA,EAEO,QAAQ,OAAiE;AAC/E,WAAO,KAAK,WAAW,WAAW,KAAK;AAAA,EACxC;AAAA,EAEO,UAAU,OAAiC;AACjD,WAAO,KAAK,WAAW,aAAa,KAAK;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKO,UAAU,WAA8C;AAC9D,WAAO,KAAK,WAAW,aAAa,SAAS;AAAA,EAC9C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,cAAc,YAAY,WAA+C;AACzG,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY,QAAQ;AAAA,IAAA,IACjB,KAAK;AACT,UAAM,SAAS;AAAA,MACd;AAAA,MACA,YAAY,cAAc,YAAY,cAAc,IAAI;AAAA,MACxD,UAAU,aAAa,SAAY,OAAO;AAAA,MAC1C,GAAI,OAAO,EAAE,KAAA,IAAS,CAAA;AAAA,MACtB,GAAI,iBAAiB,SAAY,EAAE,SAAS,aAAA,IAAiB,CAAA;AAAA,MAC7D,GAAI,aAAa,SAAY,EAAE,SAAA,IAAa,CAAA;AAAA,MAC5C,GAAI,SAAS,MAAM,WAAW,UAAU,cAAc,SAAY,EAAE,cAAc,CAAA;AAAA,IAAC;AAEpF,QAAI,SAAS,MAAM,WAAW,MAAM;AACnC,UAAI,WAAW;AACd,cAAM,IAAI,MAAM,sDAAsD;AAAA,MACvE;AACA,UAAI;AACJ,UAAI,CAAC,gBAAgB;AACpB,cAAM,IAAI,MAAA;AAAA,MACX;AACA,UAAI,aAAa,IAAI,cAAc,GAAG;AACrC,mBAAW,aAAa,QAAQ,cAAc;AAAA,MAC/C,OAAO;AACN,mBAAW,aAAa,KAAK,UAAU,GAAG,CAAC,EAAE,YAAA,IAAgB,KAAK,UAAU,CAAC;AAC7E,qBAAa,SAAS,UAAU,cAAc;AAAA,MAC/C;AAEA,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,SAAA;AAAA,IAC7C;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAY,cAAc,yBAAyB,IAAI;AAAA,MACvD,GAAI,cAAc,SAAY,EAAE,cAAc,CAAA;AAAA,IAAC;AAAA,EAEjD;AAAA,EAEU,WAAoD,KAAQ,OAAqD;AAC1H,WAAO,IAAI,iBAAiB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC9D;AACD;AAEO,SAAS,OAAO,MAAwB,cAAiC,IAAI;AACnF,SAAO,iBAAiB,OAAO,MAAM,WAAW;AACjD;AAEO,SAAS,eAAiC;AAChD,SAAO,OAAO,MAAM,WAAW,MAAM;AACtC;AAEO,SAAS,YAA8B;AAC7C,SAAO,OAAO,MAAM,WAAW,GAAG;AACnC;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAO,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,eAAiC;AAChD,SAAO,OAAO,MAAM,WAAW,MAAM;AACtC;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAO,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAO,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,eAAe,MAAiD;AAC/E,QAAM,MAAM,OAAO,MAAM,WAAW,QAAQ;AAC5C,MAAI,CAAC,MAAM,WAAW;AACrB,WAAO;AAAA,EACR;AACA,SAAO,IAAI,WAAW,GAAG,yBAAyB,MAAM,WAAW,QAAQ,CAAC,IAAI,KAAK,SAAS,GAAG;AAClG;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAO,MAAM,WAAW,IAAI;AACpC;AAEO,SAAS,WAAW,gBAAkD;AAC5E,SAAO,OAAO,MAAM,WAAW,MAAM,EAAE,gBAAgB;AACxD;AAEO,SAAS,aAA+B;AAC9C,SAAO,OAAO,MAAM,WAAW,IAAI;AACpC;"}
|
|
1
|
+
{"version":3,"file":"ColumnDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ColumnDefinition.ts"],"sourcesContent":["import { JSONValue, Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\nimport { EnumDefinition } from '../EnumDefinition.js'\nimport { resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport class ColumnDefinition extends FieldDefinition<ColumnDefinitionOptions> {\n\ttype = 'ColumnDefinition' as const\n\n\tpublic static create(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnTypeOptions = {},\n\t): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t})\n\t}\n\n\tpublic columnName(columnName: string): ColumnDefinition {\n\t\treturn this.withOption('columnName', columnName)\n\t}\n\n\tpublic columnType(columnType: string): ColumnDefinition {\n\t\treturn this.withOption('columnType', columnType)\n\t}\n\n\tpublic list(): ColumnDefinition {\n\t\treturn this.withOption('list', true)\n\t}\n\n\tpublic nullable(): ColumnDefinition {\n\t\treturn this.withOption('nullable', true)\n\t}\n\n\tpublic notNull(): ColumnDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tpublic sequence(options?: Partial<Model.ColumnTypeDefinition['sequence']>): ColumnDefinition {\n\t\treturn this.withOption('sequence', { precedence: 'BY DEFAULT', ...options })\n\t}\n\n\tpublic unique(options: { timing?: Model.ConstraintTiming } = {}): ColumnDefinition {\n\t\treturn this.withOption('unique', options)\n\t}\n\n\tpublic default(value: ColumnDefinition['options']['default']): ColumnDefinition {\n\t\treturn this.withOption('default', value)\n\t}\n\n\tpublic typeAlias(alias: string): ColumnDefinition {\n\t\treturn this.withOption('typeAlias', alias)\n\t}\n\n\t/**\n\t * Collation for string columns\n\t */\n\tpublic collation(collation: Model.Collation): ColumnDefinition {\n\t\treturn this.withOption('collation', collation)\n\t}\n\n\t/**\n\t * Attaches a JSON Schema to a JSON column. Input values are validated against it on create/update.\n\t * The schema is stored as metadata and does not affect the database schema.\n\t *\n\t * Only honored for JSON columns ({@link jsonColumn}); it is silently ignored on other column types.\n\t * Validation runs on mutation input only — stored rows are not re-validated when the schema changes,\n\t * and the data-transfer/import path bypasses it. Only a subset of JSON Schema keywords is supported;\n\t * see {@link validateJsonSchema} for the exact list.\n\t */\n\tpublic schema(schema: JSONValue): ColumnDefinition {\n\t\treturn this.withOption('schema', schema)\n\t}\n\n\tcreateField({ name, conventions, enumRegistry, entityName, options }: CreateFieldContext): Model.AnyField {\n\t\tconst {\n\t\t\ttype,\n\t\t\tnullable,\n\t\t\tcolumnName,\n\t\t\tenumDefinition,\n\t\t\tdefault: defaultValue,\n\t\t\tcolumnType,\n\t\t\ttypeAlias,\n\t\t\tsequence,\n\t\t\tlist,\n\t\t\tcollation = options.defaultCollation,\n\t\t\tschema,\n\t\t} = this.options\n\t\tconst common = {\n\t\t\tname: name,\n\t\t\tcolumnName: columnName || conventions.getColumnName(name),\n\t\t\tnullable: nullable === undefined ? true : nullable,\n\t\t\t...(list ? { list } : {}),\n\t\t\t...(defaultValue !== undefined ? { default: defaultValue } : {}),\n\t\t\t...(sequence !== undefined ? { sequence } : {}),\n\t\t\t...(type === Model.ColumnType.String && collation !== undefined ? { collation } : {}),\n\t\t\t...(type === Model.ColumnType.Json && schema !== undefined ? { schema } : {}),\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\tif (typeAlias) {\n\t\t\t\tthrow new Error('GraphQL type alias cannot be specified for enum type')\n\t\t\t}\n\t\t\tlet enumName: string\n\t\t\tif (!enumDefinition) {\n\t\t\t\tthrow new Error()\n\t\t\t}\n\t\t\tif (enumRegistry.has(enumDefinition)) {\n\t\t\t\tenumName = enumRegistry.getName(enumDefinition)\n\t\t\t} else {\n\t\t\t\tenumName = entityName + name.substring(0, 1).toUpperCase() + name.substring(1)\n\t\t\t\tenumRegistry.register(enumName, enumDefinition)\n\t\t\t}\n\n\t\t\treturn { ...common, type: type, columnType: enumName }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype: type,\n\t\t\tcolumnType: columnType || resolveDefaultColumnType(type),\n\t\t\t...(typeAlias !== undefined ? { typeAlias } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ColumnDefinitionOptions>(key: K, value: ColumnDefinitionOptions[K]): ColumnDefinition {\n\t\treturn new ColumnDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function column(type: Model.ColumnType, typeOptions: ColumnTypeOptions = {}) {\n\treturn ColumnDefinition.create(type, typeOptions)\n}\n\nexport function stringColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.String)\n}\n\nexport function intColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Int)\n}\n\nexport function boolColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Bool)\n}\n\nexport function doubleColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Double)\n}\n\n/**\n * Creates a `numeric(precision, scale)` (a.k.a. `decimal`) column.\n *\n * Values are transported over GraphQL as strings (e.g. `'-123456789123.456'`) to avoid\n * JavaScript floating-point precision loss. The value returned by the API is the exact\n * Postgres `numeric` text representation, which includes trailing zeros up to the column\n * scale (e.g. `123.450000000` for `numeric(20, 9)`).\n *\n * @param precision total number of significant digits\n * @param scale number of digits after the decimal point\n */\nexport function numericColumn(precision: number, scale: number): ColumnDefinition {\n\treturn column(Model.ColumnType.Numeric).columnType(`${resolveDefaultColumnType(Model.ColumnType.Numeric)}(${precision}, ${scale})`)\n}\n\nexport function dateColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Date)\n}\n\nexport function timeColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Time)\n}\n\nexport function dateTimeColumn(args?: { precision?: number }): ColumnDefinition {\n\tconst col = column(Model.ColumnType.DateTime)\n\tif (!args?.precision) {\n\t\treturn col\n\t}\n\treturn col.columnType(`${resolveDefaultColumnType(Model.ColumnType.DateTime)}(${args.precision})`)\n}\n\nexport function jsonColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Json)\n}\n\nexport function enumColumn(enumDefinition: EnumDefinition): ColumnDefinition {\n\treturn column(Model.ColumnType.Enum, { enumDefinition })\n}\n\nexport function uuidColumn(): ColumnDefinition {\n\treturn column(Model.ColumnType.Uuid)\n}\n\nexport type ColumnTypeOptions = {\n\tenumDefinition?: EnumDefinition\n}\nexport type ColumnDefinitionOptions = {\n\ttype: Model.ColumnType\n\tcolumnType?: string\n\tlist?: boolean\n\ttypeAlias?: string\n\tcolumnName?: string\n\tunique?: { timing?: Model.ConstraintTiming }\n\tnullable?: boolean\n\tdefault?: Model.ColumnTypeDefinition['default']\n\tsequence?: Model.ColumnTypeDefinition['sequence']\n\tcollation?: Model.Collation\n\tschema?: JSONValue\n} & ColumnTypeOptions\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {\n\t}\n\tabstract createField(context: CreateFieldContext): Model.AnyField\n}\n\nexport type CreateFieldContext =\n\t& {\n\t\tname: string\n\t\tentityName: string\n\t}\n\t& CommonContext\n\nexport type Map = { [name: string]: FieldDefinition<any> }\n"],"names":[],"mappings":";;AAGO,MAAe,gBAAmB;AAAA,EACxC,YAA4B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAC5B;AAED;;"}
|
|
1
|
+
{"version":3,"file":"FieldDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context.js'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {\n\t}\n\tabstract createField(context: CreateFieldContext): Model.AnyField\n}\n\nexport type CreateFieldContext =\n\t& {\n\t\tname: string\n\t\tentityName: string\n\t}\n\t& CommonContext\n\nexport type Map = { [name: string]: FieldDefinition<any> }\n"],"names":[],"mappings":";;AAGO,MAAe,gBAAmB;AAAA,EACxC,YAA4B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAC5B;AAED;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {\n\t}\n\tabstract createField(context: CreateFieldContext): Model.AnyField\n}\n\nexport type CreateFieldContext =\n\t& {\n\t\tname: string\n\t\tentityName: string\n\t}\n\t& CommonContext\n\nexport type Map = { [name: string]: FieldDefinition<any> }\n"],"names":[],"mappings":"AAGO,MAAe,gBAAmB;AAAA,EACxC,YAA4B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAC5B;AAED;"}
|
|
1
|
+
{"version":3,"file":"FieldDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/FieldDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CommonContext } from '../context.js'\n\nexport abstract class FieldDefinition<O> {\n\tconstructor(public readonly options: O) {\n\t}\n\tabstract createField(context: CreateFieldContext): Model.AnyField\n}\n\nexport type CreateFieldContext =\n\t& {\n\t\tname: string\n\t\tentityName: string\n\t}\n\t& CommonContext\n\nexport type Map = { [name: string]: FieldDefinition<any> }\n"],"names":[],"mappings":"AAGO,MAAe,gBAAmB;AAAA,EACxC,YAA4B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAC5B;AAED;"}
|
package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasManyDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasManyDefinition extends FieldDefinition<ManyHasManyDefinitionOptions> {\n\ttype = 'ManyHasManyDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasManyDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningTable(joiningTable: Partial<Model.JoiningTable>): ManyHasManyDefinition {\n\t\treturn this.withOption('joiningTable', joiningTable)\n\t}\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst columnNames = conventions.getJoiningTableColumnNames(\n\t\t\tentityName,\n\t\t\tname,\n\t\t\tentityRegistry.getName(options.target),\n\t\t\toptions.inversedBy,\n\t\t)\n\t\tconst joiningTable = {\n\t\t\ttableName: conventions.getJoiningTableName(entityName, name),\n\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\teventLog: { enabled: true },\n\t\t\t...options.joiningTable,\n\t\t}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasManyDefinitionOptions>(key: K, value: ManyHasManyDefinitionOptions[K]): ManyHasManyDefinition {\n\t\treturn new ManyHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasMany(target: EntityConstructor, inversedBy?: string): ManyHasManyDefinition {\n\treturn new ManyHasManyDefinition({ target, inversedBy })\n}\n\nexport type ManyHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningTable?: Partial<Model.JoiningTable>\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,8BAA8BA,gBAAAA,gBAA8C;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,uBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA2C;AACrD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,aAAa,cAAkE;AAC9E,WAAO,KAAK,WAAW,gBAAgB,YAAY;AAAA,EACpD;AAAA,EAEA,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KAC3D;AACxB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,cAAc,YAAY;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,eAAe,QAAQ,QAAQ,MAAM;AAAA,MACrC,QAAQ;AAAA,IAAA;AAET,UAAM,eAAe;AAAA,MACpB,WAAW,YAAY,oBAAoB,YAAY,IAAI;AAAA,MAC3D,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAA;AAAA,MACtE,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAA;AAAA,MAC7E,UAAU,EAAE,SAAS,KAAA;AAAA,MACrB,GAAG,QAAQ;AAAA,IAAA;AAGZ,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AAEvE,WAAO;AAAA,MACN,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WAAyD,KAAQ,OAA+D;AACzI,WAAO,IAAI,sBAAsB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EACnE;AACD;AAEO,SAAS,YAAY,QAA2B,YAA4C;AAClG,SAAO,IAAI,sBAAsB,EAAE,QAAQ,YAAY;AACxD;;;"}
|
|
1
|
+
{"version":3,"file":"ManyHasManyDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types.js'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\n\nexport class ManyHasManyDefinition extends FieldDefinition<ManyHasManyDefinitionOptions> {\n\ttype = 'ManyHasManyDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasManyDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningTable(joiningTable: Partial<Model.JoiningTable>): ManyHasManyDefinition {\n\t\treturn this.withOption('joiningTable', joiningTable)\n\t}\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst columnNames = conventions.getJoiningTableColumnNames(\n\t\t\tentityName,\n\t\t\tname,\n\t\t\tentityRegistry.getName(options.target),\n\t\t\toptions.inversedBy,\n\t\t)\n\t\tconst joiningTable = {\n\t\t\ttableName: conventions.getJoiningTableName(entityName, name),\n\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\teventLog: { enabled: true },\n\t\t\t...options.joiningTable,\n\t\t}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasManyDefinitionOptions>(key: K, value: ManyHasManyDefinitionOptions[K]): ManyHasManyDefinition {\n\t\treturn new ManyHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasMany(target: EntityConstructor, inversedBy?: string): ManyHasManyDefinition {\n\treturn new ManyHasManyDefinition({ target, inversedBy })\n}\n\nexport type ManyHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningTable?: Partial<Model.JoiningTable>\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,8BAA8BA,gBAAAA,gBAA8C;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,uBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA2C;AACrD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,aAAa,cAAkE;AAC9E,WAAO,KAAK,WAAW,gBAAgB,YAAY;AAAA,EACpD;AAAA,EAEA,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KAC3D;AACxB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,cAAc,YAAY;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,eAAe,QAAQ,QAAQ,MAAM;AAAA,MACrC,QAAQ;AAAA,IAAA;AAET,UAAM,eAAe;AAAA,MACpB,WAAW,YAAY,oBAAoB,YAAY,IAAI;AAAA,MAC3D,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAA;AAAA,MACtE,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAUA,OAAAA,MAAM,SAAS,QAAA;AAAA,MAC7E,UAAU,EAAE,SAAS,KAAA;AAAA,MACrB,GAAG,QAAQ;AAAA,IAAA;AAGZ,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AAEvE,WAAO;AAAA,MACN,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WAAyD,KAAQ,OAA+D;AACzI,WAAO,IAAI,sBAAsB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EACnE;AACD;AAEO,SAAS,YAAY,QAA2B,YAA4C;AAClG,SAAO,IAAI,sBAAsB,EAAE,QAAQ,YAAY;AACxD;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasManyDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasManyDefinition extends FieldDefinition<ManyHasManyDefinitionOptions> {\n\ttype = 'ManyHasManyDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasManyDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningTable(joiningTable: Partial<Model.JoiningTable>): ManyHasManyDefinition {\n\t\treturn this.withOption('joiningTable', joiningTable)\n\t}\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst columnNames = conventions.getJoiningTableColumnNames(\n\t\t\tentityName,\n\t\t\tname,\n\t\t\tentityRegistry.getName(options.target),\n\t\t\toptions.inversedBy,\n\t\t)\n\t\tconst joiningTable = {\n\t\t\ttableName: conventions.getJoiningTableName(entityName, name),\n\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\teventLog: { enabled: true },\n\t\t\t...options.joiningTable,\n\t\t}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasManyDefinitionOptions>(key: K, value: ManyHasManyDefinitionOptions[K]): ManyHasManyDefinition {\n\t\treturn new ManyHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasMany(target: EntityConstructor, inversedBy?: string): ManyHasManyDefinition {\n\treturn new ManyHasManyDefinition({ target, inversedBy })\n}\n\nexport type ManyHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningTable?: Partial<Model.JoiningTable>\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,8BAA8B,gBAA8C;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,uBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA2C;AACrD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,aAAa,cAAkE;AAC9E,WAAO,KAAK,WAAW,gBAAgB,YAAY;AAAA,EACpD;AAAA,EAEA,QACC,OACA,YAA8D,MAAM,eAAe,KAC3D;AACxB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,cAAc,YAAY;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,eAAe,QAAQ,QAAQ,MAAM;AAAA,MACrC,QAAQ;AAAA,IAAA;AAET,UAAM,eAAe;AAAA,MACpB,WAAW,YAAY,oBAAoB,YAAY,IAAI;AAAA,MAC3D,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAA;AAAA,MACtE,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAA;AAAA,MAC7E,UAAU,EAAE,SAAS,KAAA;AAAA,MACrB,GAAG,QAAQ;AAAA,IAAA;AAGZ,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AAEvE,WAAO;AAAA,MACN,MAAM,MAAM,aAAa;AAAA,MACzB;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WAAyD,KAAQ,OAA+D;AACzI,WAAO,IAAI,sBAAsB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EACnE;AACD;AAEO,SAAS,YAAY,QAA2B,YAA4C;AAClG,SAAO,IAAI,sBAAsB,EAAE,QAAQ,YAAY;AACxD;"}
|
|
1
|
+
{"version":3,"file":"ManyHasManyDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types.js'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\n\nexport class ManyHasManyDefinition extends FieldDefinition<ManyHasManyDefinitionOptions> {\n\ttype = 'ManyHasManyDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasManyDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningTable(joiningTable: Partial<Model.JoiningTable>): ManyHasManyDefinition {\n\t\treturn this.withOption('joiningTable', joiningTable)\n\t}\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst columnNames = conventions.getJoiningTableColumnNames(\n\t\t\tentityName,\n\t\t\tname,\n\t\t\tentityRegistry.getName(options.target),\n\t\t\toptions.inversedBy,\n\t\t)\n\t\tconst joiningTable = {\n\t\t\ttableName: conventions.getJoiningTableName(entityName, name),\n\t\t\tjoiningColumn: { columnName: columnNames[0], onDelete: Model.OnDelete.cascade },\n\t\t\tinverseJoiningColumn: { columnName: columnNames[1], onDelete: Model.OnDelete.cascade },\n\t\t\teventLog: { enabled: true },\n\t\t\t...options.joiningTable,\n\t\t}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\n\t\treturn {\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\tname,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningTable: joiningTable,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasManyDefinitionOptions>(key: K, value: ManyHasManyDefinitionOptions[K]): ManyHasManyDefinition {\n\t\treturn new ManyHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasMany(target: EntityConstructor, inversedBy?: string): ManyHasManyDefinition {\n\treturn new ManyHasManyDefinition({ target, inversedBy })\n}\n\nexport type ManyHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningTable?: Partial<Model.JoiningTable>\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,8BAA8B,gBAA8C;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,uBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA2C;AACrD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,aAAa,cAAkE;AAC9E,WAAO,KAAK,WAAW,gBAAgB,YAAY;AAAA,EACpD;AAAA,EAEA,QACC,OACA,YAA8D,MAAM,eAAe,KAC3D;AACxB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,cAAc,YAAY;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,eAAe,QAAQ,QAAQ,MAAM;AAAA,MACrC,QAAQ;AAAA,IAAA;AAET,UAAM,eAAe;AAAA,MACpB,WAAW,YAAY,oBAAoB,YAAY,IAAI;AAAA,MAC3D,eAAe,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAA;AAAA,MACtE,sBAAsB,EAAE,YAAY,YAAY,CAAC,GAAG,UAAU,MAAM,SAAS,QAAA;AAAA,MAC7E,UAAU,EAAE,SAAS,KAAA;AAAA,MACrB,GAAG,QAAQ;AAAA,IAAA;AAGZ,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AAEvE,WAAO;AAAA,MACN,MAAM,MAAM,aAAa;AAAA,MACzB;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C;AAAA,MACA,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WAAyD,KAAQ,OAA+D;AACzI,WAAO,IAAI,sBAAsB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EACnE;AACD;AAEO,SAAS,YAAY,QAA2B,YAA4C;AAClG,SAAO,IAAI,sBAAsB,EAAE,QAAQ,YAAY;AACxD;"}
|
package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasManyInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class ManyHasManyInverseDefinition extends FieldDefinition<ManyHasManyInverseDefinitionOptions> {\n\ttype = 'ManyHasManyInverseDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyInverseDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasManyInverseDefinitionOptions>(\n\t\tkey: K,\n\t\tvalue: ManyHasManyInverseDefinitionOptions[K],\n\t): ManyHasManyInverseDefinition {\n\t\treturn new ManyHasManyInverseDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasManyInverse(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {\n\treturn new ManyHasManyInverseDefinition({ target, ownedBy })\n}\n\nexport type ManyHasManyInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,qCAAqCA,gBAAAA,gBAAqD;AAAA,EAAhG,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,8BAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KACpD;AAC/B,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,kBAAsD;AAClG,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WACT,KACA,OAC+B;AAC/B,WAAO,IAAI,6BAA6B,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC1E;AACD;AAEO,SAAS,mBAAmB,QAA2B,SAA+C;AAC5G,SAAO,IAAI,6BAA6B,EAAE,QAAQ,SAAS;AAC5D;;;"}
|
|
1
|
+
{"version":3,"file":"ManyHasManyInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\nimport { EntityConstructor, RelationTarget } from '../types.js'\n\nexport class ManyHasManyInverseDefinition extends FieldDefinition<ManyHasManyInverseDefinitionOptions> {\n\ttype = 'ManyHasManyInverseDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyInverseDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasManyInverseDefinitionOptions>(\n\t\tkey: K,\n\t\tvalue: ManyHasManyInverseDefinitionOptions[K],\n\t): ManyHasManyInverseDefinition {\n\t\treturn new ManyHasManyInverseDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasManyInverse(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {\n\treturn new ManyHasManyInverseDefinition({ target, ownedBy })\n}\n\nexport type ManyHasManyInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,qCAAqCA,gBAAAA,gBAAqD;AAAA,EAAhG,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,8BAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KACpD;AAC/B,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,kBAAsD;AAClG,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WACT,KACA,OAC+B;AAC/B,WAAO,IAAI,6BAA6B,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC1E;AACD;AAEO,SAAS,mBAAmB,QAA2B,SAA+C;AAC5G,SAAO,IAAI,6BAA6B,EAAE,QAAQ,SAAS;AAC5D;;;"}
|
package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasManyInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class ManyHasManyInverseDefinition extends FieldDefinition<ManyHasManyInverseDefinitionOptions> {\n\ttype = 'ManyHasManyInverseDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyInverseDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasManyInverseDefinitionOptions>(\n\t\tkey: K,\n\t\tvalue: ManyHasManyInverseDefinitionOptions[K],\n\t): ManyHasManyInverseDefinition {\n\t\treturn new ManyHasManyInverseDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasManyInverse(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {\n\treturn new ManyHasManyInverseDefinition({ target, ownedBy })\n}\n\nexport type ManyHasManyInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,qCAAqC,gBAAqD;AAAA,EAAhG,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,8BAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8D,MAAM,eAAe,KACpD;AAC/B,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,kBAAsD;AAClG,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WACT,KACA,OAC+B;AAC/B,WAAO,IAAI,6BAA6B,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC1E;AACD;AAEO,SAAS,mBAAmB,QAA2B,SAA+C;AAC5G,SAAO,IAAI,6BAA6B,EAAE,QAAQ,SAAS;AAC5D;"}
|
|
1
|
+
{"version":3,"file":"ManyHasManyInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\nimport { EntityConstructor, RelationTarget } from '../types.js'\n\nexport class ManyHasManyInverseDefinition extends FieldDefinition<ManyHasManyInverseDefinitionOptions> {\n\ttype = 'ManyHasManyInverseDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): ManyHasManyInverseDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.ManyHasMany,\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasManyInverseDefinitionOptions>(\n\t\tkey: K,\n\t\tvalue: ManyHasManyInverseDefinitionOptions[K],\n\t): ManyHasManyInverseDefinition {\n\t\treturn new ManyHasManyInverseDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasManyInverse(target: EntityConstructor, ownedBy: string): ManyHasManyInverseDefinition {\n\treturn new ManyHasManyInverseDefinition({ target, ownedBy })\n}\n\nexport type ManyHasManyInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,qCAAqC,gBAAqD;AAAA,EAAhG,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,8BAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8D,MAAM,eAAe,KACpD;AAC/B,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,kBAAsD;AAClG,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WACT,KACA,OAC+B;AAC/B,WAAO,IAAI,6BAA6B,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC1E;AACD;AAEO,SAAS,mBAAmB,QAA2B,SAA+C;AAC5G,SAAO,IAAI,6BAA6B,EAAE,QAAQ,SAAS;AAC5D;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts"],"sourcesContent":["import { EntityConstructor, RelationTarget } from '../types'\nimport { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasOneDefinition extends FieldDefinition<ManyHasOneDefinitionOptions> {\n\ttype = 'ManyHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): ManyHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasOneDefinitionOptions>(key: K, value: ManyHasOneDefinitionOptions[K]): ManyHasOneDefinition {\n\t\treturn new ManyHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasOne(target: EntityConstructor, inversedBy?: string): ManyHasOneDefinition {\n\treturn new ManyHasOneDefinition({ target, inversedBy })\n}\n\nexport type ManyHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,6BAA6BA,gBAAAA,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,sBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA0C;AACpD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAA0C;AACvD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,YAAY;AAAA,EACtF;AAAA,EAEA,SAAS,UAAsE;AAC9E,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAsC;AAAA,EAChH;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,mBAAyC;AACxC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,SAAA,CAAU;AAAA,EAC7G;AAAA,EAEA,UAAgC;AAC/B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,gBAAgB,QAAQ,iBAAiB,CAAA;AAC/C,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AACvE,8BAA0B,kBAAkB,YAAY,MAAM,aAAa;AAE3E,WAAO;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AACtI,WAAO,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAClE;AACD;AAEO,SAAS,WAAW,QAA2B,YAA2C;AAChG,SAAO,IAAI,qBAAqB,EAAE,QAAQ,YAAY;AACvD;;;"}
|
|
1
|
+
{"version":3,"file":"ManyHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts"],"sourcesContent":["import { EntityConstructor, RelationTarget } from '../types.js'\nimport { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\n\nexport class ManyHasOneDefinition extends FieldDefinition<ManyHasOneDefinitionOptions> {\n\ttype = 'ManyHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): ManyHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasOneDefinitionOptions>(key: K, value: ManyHasOneDefinitionOptions[K]): ManyHasOneDefinition {\n\t\treturn new ManyHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasOne(target: EntityConstructor, inversedBy?: string): ManyHasOneDefinition {\n\treturn new ManyHasOneDefinition({ target, inversedBy })\n}\n\nexport type ManyHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,6BAA6BA,gBAAAA,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,sBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA0C;AACpD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAA0C;AACvD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,YAAY;AAAA,EACtF;AAAA,EAEA,SAAS,UAAsE;AAC9E,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAsC;AAAA,EAChH;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,mBAAyC;AACxC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,SAAA,CAAU;AAAA,EAC7G;AAAA,EAEA,UAAgC;AAC/B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,gBAAgB,QAAQ,iBAAiB,CAAA;AAC/C,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AACvE,8BAA0B,kBAAkB,YAAY,MAAM,aAAa;AAE3E,WAAO;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AACtI,WAAO,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAClE;AACD;AAEO,SAAS,WAAW,QAA2B,YAA2C;AAChG,SAAO,IAAI,qBAAqB,EAAE,QAAQ,YAAY;AACvD;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManyHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts"],"sourcesContent":["import { EntityConstructor, RelationTarget } from '../types'\nimport { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class ManyHasOneDefinition extends FieldDefinition<ManyHasOneDefinitionOptions> {\n\ttype = 'ManyHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): ManyHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasOneDefinitionOptions>(key: K, value: ManyHasOneDefinitionOptions[K]): ManyHasOneDefinition {\n\t\treturn new ManyHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasOne(target: EntityConstructor, inversedBy?: string): ManyHasOneDefinition {\n\treturn new ManyHasOneDefinition({ target, inversedBy })\n}\n\nexport type ManyHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,6BAA6B,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,sBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA0C;AACpD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAA0C;AACvD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,YAAY;AAAA,EACtF;AAAA,EAEA,SAAS,UAAsE;AAC9E,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAsC;AAAA,EAChH;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,mBAAyC;AACxC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAA,CAAU;AAAA,EAC7G;AAAA,EAEA,UAAgC;AAC/B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,gBAAgB,QAAQ,iBAAiB,CAAA;AAC/C,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AACvE,8BAA0B,kBAAkB,YAAY,MAAM,aAAa;AAE3E,WAAO;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AACtI,WAAO,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAClE;AACD;AAEO,SAAS,WAAW,QAA2B,YAA2C;AAChG,SAAO,IAAI,qBAAqB,EAAE,QAAQ,YAAY;AACvD;"}
|
|
1
|
+
{"version":3,"file":"ManyHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts"],"sourcesContent":["import { EntityConstructor, RelationTarget } from '../types.js'\nimport { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\n\nexport class ManyHasOneDefinition extends FieldDefinition<ManyHasOneDefinitionOptions> {\n\ttype = 'ManyHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): ManyHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): ManyHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): ManyHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityName, entityRegistry, strictDefinitionValidator }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn = options.joiningColumn || {}\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.ManyHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof ManyHasOneDefinitionOptions>(key: K, value: ManyHasOneDefinitionOptions[K]): ManyHasOneDefinition {\n\t\treturn new ManyHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function manyHasOne(target: EntityConstructor, inversedBy?: string): ManyHasOneDefinition {\n\treturn new ManyHasOneDefinition({ target, inversedBy })\n}\n\nexport type ManyHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,6BAA6B,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,sBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAA0C;AACpD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAA0C;AACvD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,YAAY;AAAA,EACtF;AAAA,EAEA,SAAS,UAAsE;AAC9E,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAsC;AAAA,EAChH;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,kBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,mBAAyC;AACxC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAA,CAAU;AAAA,EAC7G;AAAA,EAEA,UAAgC;AAC/B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,YAAY,gBAAgB,6BAAiE;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,gBAAgB,QAAQ,iBAAiB,CAAA;AAC/C,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AACvE,8BAA0B,kBAAkB,YAAY,MAAM,aAAa;AAE3E,WAAO;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,IACpD;AAAA,EAEF;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AACtI,WAAO,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAClE;AACD;AAEO,SAAS,WAAW,QAA2B,YAA2C;AAChG,SAAO,IAAI,qBAAqB,EAAE,QAAQ,YAAY;AACvD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasManyDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): OneHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {\n\t\treturn new OneHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {\n\treturn new OneHasManyDefinition({ target, ownedBy })\n}\n\nexport type OneHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,6BAA6BA,gBAAAA,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,sBAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KAC5D;AACvB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EACA,YAAY,EAAE,MAAM,kBAAsD;AACzE,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AACtI,WAAO,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAClE;AACD;AAEO,SAAS,WAAW,QAA2B,SAAuC;AAC5F,SAAO,IAAI,qBAAqB,EAAE,QAAQ,SAAS;AACpD;;;"}
|
|
1
|
+
{"version":3,"file":"OneHasManyDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\nimport { EntityConstructor, RelationTarget } from '../types.js'\n\nexport class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): OneHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {\n\t\treturn new OneHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {\n\treturn new OneHasManyDefinition({ target, ownedBy })\n}\n\nexport type OneHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,6BAA6BA,gBAAAA,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,sBAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KAC5D;AACvB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EACA,YAAY,EAAE,MAAM,kBAAsD;AACzE,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AACtI,WAAO,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAClE;AACD;AAEO,SAAS,WAAW,QAA2B,SAAuC;AAC5F,SAAO,IAAI,qBAAqB,EAAE,QAAQ,SAAS;AACpD;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasManyDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): OneHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {\n\t\treturn new OneHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {\n\treturn new OneHasManyDefinition({ target, ownedBy })\n}\n\nexport type OneHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,6BAA6B,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,sBAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8D,MAAM,eAAe,KAC5D;AACvB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EACA,YAAY,EAAE,MAAM,kBAAsD;AACzE,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AACtI,WAAO,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAClE;AACD;AAEO,SAAS,WAAW,QAA2B,SAAuC;AAC5F,SAAO,IAAI,qBAAqB,EAAE,QAAQ,SAAS;AACpD;"}
|
|
1
|
+
{"version":3,"file":"OneHasManyDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\nimport { EntityConstructor, RelationTarget } from '../types.js'\n\nexport class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): OneHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {\n\t\treturn new OneHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {\n\treturn new OneHasManyDefinition({ target, ownedBy })\n}\n\nexport type OneHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,6BAA6B,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,sBAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8D,MAAM,eAAe,KAC5D;AACvB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EACA,YAAY,EAAE,MAAM,kBAAsD;AACzE,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AACtI,WAAO,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAClE;AACD;AAEO,SAAS,WAAW,QAA2B,SAAuC;AAC5F,SAAO,IAAI,qBAAqB,EAAE,QAAQ,SAAS;AACpD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,4BAA4BA,gBAAAA,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,qBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAyC;AACnD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AACtD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAqE;AAC7E,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,SAAA,CAAU;AAAA,EAC7G;AAAA,EAEA,UAA+B;AAC9B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAAoC;AACnC,WAAO,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AACvE,8BAA0B,kBAAkB,YAAY,MAAM,aAAa;AAE3E,WAAO;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AAAA,EAEU,WAAuD,KAAQ,OAA2D;AACnI,WAAO,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EACjE;AACD;AAEO,SAAS,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,YAAY;AACtD;;;"}
|
|
1
|
+
{"version":3,"file":"OneHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types.js'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,4BAA4BA,gBAAAA,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,qBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAyC;AACnD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AACtD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAqE;AAC7E,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,SAAA,CAAU;AAAA,EAC7G;AAAA,EAEA,UAA+B;AAC9B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAAoC;AACnC,WAAO,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AACvE,8BAA0B,kBAAkB,YAAY,MAAM,aAAa;AAE3E,WAAO;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AAAA,EAEU,WAAuD,KAAQ,OAA2D;AACnI,WAAO,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EACjE;AACD;AAEO,SAAS,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,YAAY;AACtD;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,4BAA4B,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,qBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAyC;AACnD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AACtD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAqE;AAC7E,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAA,CAAU;AAAA,EAC7G;AAAA,EAEA,UAA+B;AAC9B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAAoC;AACnC,WAAO,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AACvE,8BAA0B,kBAAkB,YAAY,MAAM,aAAa;AAE3E,WAAO;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AAAA,EAEU,WAAuD,KAAQ,OAA2D;AACnI,WAAO,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EACjE;AACD;AAEO,SAAS,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,YAAY;AACtD;"}
|
|
1
|
+
{"version":3,"file":"OneHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types.js'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,4BAA4B,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,qBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAyC;AACnD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AACtD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAqE;AAC7E,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAA,CAAU;AAAA,EAC7G;AAAA,EAEA,UAA+B;AAC9B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAAoC;AACnC,WAAO,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AACvE,8BAA0B,kBAAkB,YAAY,MAAM,aAAa;AAE3E,WAAO;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AAAA,EAEU,WAAuD,KAAQ,OAA2D;AACnI,WAAO,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EACjE;AACD;AAEO,SAAS,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,YAAY;AACtD;"}
|
package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(\n\t\tthis: any,\n\t\tkey: K,\n\t\tvalue: OneHasOneInverseDefinitionOptions[K],\n\t): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAKO,MAAM,mCAAmCA,gBAAAA,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACT,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMC,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEU,WAET,KACA,OAC6B;AAC7B,WAAO,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC9D;AACD;AAEO,SAAS,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,SAAS;AAC1D;;;"}
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types.js'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\nimport { RelationTarget } from '../types.js'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(\n\t\tthis: any,\n\t\tkey: K,\n\t\tvalue: OneHasOneInverseDefinitionOptions[K],\n\t): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAKO,MAAM,mCAAmCA,gBAAAA,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACT,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMC,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEU,WAET,KACA,OAC6B;AAC7B,WAAO,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC9D;AACD;AAEO,SAAS,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,SAAS;AAC1D;;;"}
|
package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(\n\t\tthis: any,\n\t\tkey: K,\n\t\tvalue: OneHasOneInverseDefinitionOptions[K],\n\t): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,mCAAmC,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACT,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEU,WAET,KACA,OAC6B;AAC7B,WAAO,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC9D;AACD;AAEO,SAAS,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,SAAS;AAC1D;"}
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types.js'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition.js'\nimport { RelationTarget } from '../types.js'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(\n\t\tthis: any,\n\t\tkey: K,\n\t\tvalue: OneHasOneInverseDefinitionOptions[K],\n\t): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,mCAAmC,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACT,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEU,WAET,KACA,OAC6B;AAC7B,WAAO,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC9D;AACD;AAEO,SAAS,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,SAAS;AAC1D;"}
|
|
@@ -51,6 +51,7 @@ exports.doubleColumn = ColumnDefinition.doubleColumn;
|
|
|
51
51
|
exports.enumColumn = ColumnDefinition.enumColumn;
|
|
52
52
|
exports.intColumn = ColumnDefinition.intColumn;
|
|
53
53
|
exports.jsonColumn = ColumnDefinition.jsonColumn;
|
|
54
|
+
exports.numericColumn = ColumnDefinition.numericColumn;
|
|
54
55
|
exports.stringColumn = ColumnDefinition.stringColumn;
|
|
55
56
|
exports.timeColumn = ColumnDefinition.timeColumn;
|
|
56
57
|
exports.uuidColumn = ColumnDefinition.uuidColumn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictDefinitionValidator, StrictOptions } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { type EntityExtension, extendEntity } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n\tdefaultCollation?: string\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t\t{ defaultCollation: options.defaultCollation },\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":["SchemaBuilder","DefaultNamingConventions","EnumDefinition","isEntityConstructor","schema","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAGtE,IAAkB;AACrB,QAAM,gBAAgB,IAAIA,cAAAA;AAAAA,IACzB,IAAIC,qCAAA;AAAA,IACJ,QAAQ;AAAA,IACR,EAAE,kBAAkB,QAAQ,iBAAA;AAAA,EAAiB;AAE9C,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsBC,eAAAA,gBAAgB;AACzC,oBAAc,QAAQ,MAAM,UAAU;AAAA,IACvC,WAAWC,2CAAoB,UAAU,GAAG;AAC3C,oBAAc,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACA,QAAMC,UAAS,cAAc,aAAA;AAC7B,SAAOA;AACR;AAEO,MAAM,WAAWC,OAAAA,MAAM;AACvB,MAAM,iBAAiBA,OAAAA,MAAM
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition.js'\nimport { SchemaBuilder } from './internal/index.js'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions/index.js'\nimport { isEntityConstructor } from '../../utils/index.js'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictDefinitionValidator, StrictOptions } from '../../strict.js'\n\nexport * from './fieldDefinitions/index.js'\nexport * from './EventLogDefinition.js'\nexport * from './IndexDefinition.js'\nexport * from './OrderByDefinition.js'\nexport * from './EnumDefinition.js'\nexport * from './UniqueDefinition.js'\nexport * from './ViewDefinition.js'\nexport { type EntityExtension, extendEntity } from './extensions.js'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n\tdefaultCollation?: string\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t\t{ defaultCollation: options.defaultCollation },\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":["SchemaBuilder","DefaultNamingConventions","EnumDefinition","isEntityConstructor","schema","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAGtE,IAAkB;AACrB,QAAM,gBAAgB,IAAIA,cAAAA;AAAAA,IACzB,IAAIC,qCAAA;AAAA,IACJ,QAAQ;AAAA,IACR,EAAE,kBAAkB,QAAQ,iBAAA;AAAA,EAAiB;AAE9C,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsBC,eAAAA,gBAAgB;AACzC,oBAAc,QAAQ,MAAM,UAAU;AAAA,IACvC,WAAWC,2CAAoB,UAAU,GAAG;AAC3C,oBAAc,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACA,QAAMC,UAAS,cAAc,aAAA;AAC7B,SAAOA;AACR;AAEO,MAAM,WAAWC,OAAAA,MAAM;AACvB,MAAM,iBAAiBA,OAAAA,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -5,7 +5,7 @@ import { SchemaBuilder } from "./internal/SchemaBuilder.js";
|
|
|
5
5
|
import "reflect-metadata";
|
|
6
6
|
import { isEntityConstructor } from "../../utils/filterEntityDefinition.js";
|
|
7
7
|
import { DefaultNamingConventions } from "@contember/schema-utils";
|
|
8
|
-
import { ColumnDefinition, boolColumn, column, dateColumn, dateTimeColumn, doubleColumn, enumColumn, intColumn, jsonColumn, stringColumn, timeColumn, uuidColumn } from "./fieldDefinitions/ColumnDefinition.js";
|
|
8
|
+
import { ColumnDefinition, boolColumn, column, dateColumn, dateTimeColumn, doubleColumn, enumColumn, intColumn, jsonColumn, numericColumn, stringColumn, timeColumn, uuidColumn } from "./fieldDefinitions/ColumnDefinition.js";
|
|
9
9
|
import { FieldDefinition } from "./fieldDefinitions/FieldDefinition.js";
|
|
10
10
|
import { ManyHasManyDefinition, manyHasMany } from "./fieldDefinitions/ManyHasManyDefinition.js";
|
|
11
11
|
import { ManyHasManyInverseDefinition, manyHasManyInverse } from "./fieldDefinitions/ManyHasManyInverseDefinition.js";
|
|
@@ -71,6 +71,7 @@ export {
|
|
|
71
71
|
manyHasMany,
|
|
72
72
|
manyHasManyInverse,
|
|
73
73
|
manyHasOne,
|
|
74
|
+
numericColumn,
|
|
74
75
|
oneHasMany,
|
|
75
76
|
oneHasOne,
|
|
76
77
|
oneHasOneInverse,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictDefinitionValidator, StrictOptions } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { type EntityExtension, extendEntity } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n\tdefaultCollation?: string\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t\t{ defaultCollation: options.defaultCollation },\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAGtE,IAAkB;AACrB,QAAM,gBAAgB,IAAI;AAAA,IACzB,IAAI,yBAAA;AAAA,IACJ,QAAQ;AAAA,IACR,EAAE,kBAAkB,QAAQ,iBAAA;AAAA,EAAiB;AAE9C,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsB,gBAAgB;AACzC,oBAAc,QAAQ,MAAM,UAAU;AAAA,IACvC,WAAW,oBAAoB,UAAU,GAAG;AAC3C,oBAAc,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACA,QAAM,SAAS,cAAc,aAAA;AAC7B,SAAO;AACR;AAEO,MAAM,WAAW,MAAM;AACvB,MAAM,iBAAiB,MAAM;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition.js'\nimport { SchemaBuilder } from './internal/index.js'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions/index.js'\nimport { isEntityConstructor } from '../../utils/index.js'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictDefinitionValidator, StrictOptions } from '../../strict.js'\n\nexport * from './fieldDefinitions/index.js'\nexport * from './EventLogDefinition.js'\nexport * from './IndexDefinition.js'\nexport * from './OrderByDefinition.js'\nexport * from './EnumDefinition.js'\nexport * from './UniqueDefinition.js'\nexport * from './ViewDefinition.js'\nexport { type EntityExtension, extendEntity } from './extensions.js'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n\tdefaultCollation?: string\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t\t{ defaultCollation: options.defaultCollation },\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAGtE,IAAkB;AACrB,QAAM,gBAAgB,IAAI;AAAA,IACzB,IAAI,yBAAA;AAAA,IACJ,QAAQ;AAAA,IACR,EAAE,kBAAkB,QAAQ,iBAAA;AAAA,EAAiB;AAE9C,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsB,gBAAgB;AACzC,oBAAc,QAAQ,MAAM,UAAU;AAAA,IACvC,WAAW,oBAAoB,UAAU,GAAG;AAC3C,oBAAc,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACA,QAAM,SAAS,cAAc,aAAA;AAC7B,SAAO;AACR;AAEO,MAAM,WAAW,MAAM;AACvB,MAAM,iBAAiB,MAAM;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EntityRegistry.ts"],"sourcesContent":["import { EntityConstructor } from '../../../utils'\n\nexport class EntityRegistry {\n\tpublic readonly entities: Record<string, EntityConstructor> = {}\n\n\tregister(name: string, definition: EntityConstructor) {\n\t\tif (this.entities[name]) {\n\t\t\tthrow new Error(`Entity with name ${name} is already registered`)\n\t\t}\n\t\tthis.entities[name] = definition\n\t}\n\n\thas(definition: EntityConstructor): boolean {\n\t\treturn Object.values(this.entities).includes(definition)\n\t}\n\n\tgetName(definition: EntityConstructor): string {\n\t\tfor (const [name, def] of Object.entries(this.entities)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,eAAe;AAAA,EAArB,cAAA;AACN,kBAAA,MAAgB,YAA8C,EAAC;AAAA,EAAA;AAAA,EAE/D,SAAS,MAAc,YAA+B;AACrD,QAAI,KAAK,SAAS,IAAI,GAAG;AACxB,YAAM,IAAI,MAAM,oBAAoB,IAAI,wBAAwB;AAAA,IACjE;AACA,SAAK,SAAS,IAAI,IAAI;AAAA,EACvB;AAAA,EAEA,IAAI,YAAwC;AAC3C,WAAO,OAAO,OAAO,KAAK,QAAQ,EAAE,SAAS,UAAU;AAAA,EACxD;AAAA,EAEA,QAAQ,YAAuC;AAC9C,eAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,GAAG;AACxD,UAAI,QAAQ,YAAY;AACvB,eAAO;AAAA,MACR;AAAA,IACD;AACA,UAAM,IAAI,MAAM,UAAU,WAAW,IAAI,uDAAuD;AAAA,EACjG;AACD;;"}
|
|
1
|
+
{"version":3,"file":"EntityRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EntityRegistry.ts"],"sourcesContent":["import { EntityConstructor } from '../../../utils/index.js'\n\nexport class EntityRegistry {\n\tpublic readonly entities: Record<string, EntityConstructor> = {}\n\n\tregister(name: string, definition: EntityConstructor) {\n\t\tif (this.entities[name]) {\n\t\t\tthrow new Error(`Entity with name ${name} is already registered`)\n\t\t}\n\t\tthis.entities[name] = definition\n\t}\n\n\thas(definition: EntityConstructor): boolean {\n\t\treturn Object.values(this.entities).includes(definition)\n\t}\n\n\tgetName(definition: EntityConstructor): string {\n\t\tfor (const [name, def] of Object.entries(this.entities)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,eAAe;AAAA,EAArB,cAAA;AACN,kBAAA,MAAgB,YAA8C,EAAC;AAAA,EAAA;AAAA,EAE/D,SAAS,MAAc,YAA+B;AACrD,QAAI,KAAK,SAAS,IAAI,GAAG;AACxB,YAAM,IAAI,MAAM,oBAAoB,IAAI,wBAAwB;AAAA,IACjE;AACA,SAAK,SAAS,IAAI,IAAI;AAAA,EACvB;AAAA,EAEA,IAAI,YAAwC;AAC3C,WAAO,OAAO,OAAO,KAAK,QAAQ,EAAE,SAAS,UAAU;AAAA,EACxD;AAAA,EAEA,QAAQ,YAAuC;AAC9C,eAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,GAAG;AACxD,UAAI,QAAQ,YAAY;AACvB,eAAO;AAAA,MACR;AAAA,IACD;AACA,UAAM,IAAI,MAAM,UAAU,WAAW,IAAI,uDAAuD;AAAA,EACjG;AACD;;"}
|