@contember/schema-definition 2.1.0-alpha.36 → 2.1.0-alpha.39
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 +123 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +118 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js +120 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
- package/dist/development/src/acl/builder/EntitySelector.cjs +32 -0
- package/dist/development/src/acl/builder/EntitySelector.cjs.map +1 -0
- package/dist/development/src/acl/builder/EntitySelector.js +33 -0
- package/dist/development/src/acl/builder/EntitySelector.js.map +1 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js +60 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
- package/dist/development/src/acl/builder/FieldSelector.cjs +26 -0
- package/dist/development/src/acl/builder/FieldSelector.cjs.map +1 -0
- package/dist/development/src/acl/builder/FieldSelector.js +27 -0
- package/dist/development/src/acl/builder/FieldSelector.js.map +1 -0
- package/dist/development/src/acl/builder/PermissionOverrider.cjs +37 -0
- package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -0
- package/dist/development/src/acl/builder/PermissionOverrider.js +38 -0
- package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs +56 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.js +56 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -0
- package/dist/development/src/acl/builder/PredicateReference.cjs +43 -0
- package/dist/development/src/acl/builder/PredicateReference.cjs.map +1 -0
- package/dist/development/src/acl/builder/PredicateReference.js +43 -0
- package/dist/development/src/acl/builder/PredicateReference.js.map +1 -0
- package/dist/development/src/acl/definition/aclExtensions.cjs +16 -0
- package/dist/development/src/acl/definition/aclExtensions.cjs.map +1 -0
- package/dist/development/src/acl/definition/aclExtensions.js +16 -0
- package/dist/development/src/acl/definition/aclExtensions.js.map +1 -0
- package/dist/development/src/acl/definition/customPrimary.cjs +13 -0
- package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -0
- package/dist/development/src/acl/definition/customPrimary.js +13 -0
- package/dist/development/src/acl/definition/customPrimary.js.map +1 -0
- package/dist/development/src/acl/definition/index.cjs +27 -0
- package/dist/development/src/acl/definition/index.cjs.map +1 -0
- package/dist/development/src/acl/definition/index.js +27 -0
- package/dist/development/src/acl/definition/index.js.map +1 -0
- package/dist/development/src/acl/definition/internal/AclFactory.cjs +133 -0
- package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/AclFactory.js +133 -0
- package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.cjs +8 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.js +8 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.js.map +1 -0
- package/dist/development/src/acl/definition/internal/stores.cjs +6 -0
- package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/stores.js +6 -0
- package/dist/development/src/acl/definition/internal/stores.js.map +1 -0
- package/dist/development/src/acl/definition/permissions.cjs +15 -0
- package/dist/development/src/acl/definition/permissions.cjs.map +1 -0
- package/dist/development/src/acl/definition/permissions.js +15 -0
- package/dist/development/src/acl/definition/permissions.js.map +1 -0
- package/dist/development/src/acl/definition/references.cjs +26 -0
- package/dist/development/src/acl/definition/references.cjs.map +1 -0
- package/dist/development/src/acl/definition/references.js +26 -0
- package/dist/development/src/acl/definition/references.js.map +1 -0
- package/dist/development/src/acl/definition/roles.cjs +14 -0
- package/dist/development/src/acl/definition/roles.cjs.map +1 -0
- package/dist/development/src/acl/definition/roles.js +14 -0
- package/dist/development/src/acl/definition/roles.js.map +1 -0
- package/dist/development/src/acl/definition/variables.cjs +36 -0
- package/dist/development/src/acl/definition/variables.cjs.map +1 -0
- package/dist/development/src/acl/definition/variables.js +36 -0
- package/dist/development/src/acl/definition/variables.js.map +1 -0
- package/dist/development/src/actions/definition/index.cjs +15 -0
- package/dist/development/src/actions/definition/index.cjs.map +1 -0
- package/dist/development/src/actions/definition/index.js +15 -0
- package/dist/development/src/actions/definition/index.js.map +1 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs +180 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.js +180 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -0
- package/dist/development/src/actions/definition/internal/store.cjs +6 -0
- package/dist/development/src/actions/definition/internal/store.cjs.map +1 -0
- package/dist/development/src/actions/definition/internal/store.js +6 -0
- package/dist/development/src/actions/definition/internal/store.js.map +1 -0
- package/dist/development/src/actions/definition/targets.cjs +15 -0
- package/dist/development/src/actions/definition/targets.cjs.map +1 -0
- package/dist/development/src/actions/definition/targets.js +15 -0
- package/dist/development/src/actions/definition/targets.js.map +1 -0
- package/dist/development/src/actions/definition/triggers.cjs +12 -0
- package/dist/development/src/actions/definition/triggers.cjs.map +1 -0
- package/dist/development/src/actions/definition/triggers.js +12 -0
- package/dist/development/src/actions/definition/triggers.js.map +1 -0
- package/dist/development/src/createSchema.cjs +29 -0
- package/dist/development/src/createSchema.cjs.map +1 -0
- package/dist/development/src/createSchema.js +29 -0
- package/dist/development/src/createSchema.js.map +1 -0
- package/dist/development/src/model/builder/ColumnBuilder.cjs +38 -0
- package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/ColumnBuilder.js +39 -0
- package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -0
- package/dist/development/src/model/builder/EntityBuilder.cjs +69 -0
- package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/EntityBuilder.js +70 -0
- package/dist/development/src/model/builder/EntityBuilder.js.map +1 -0
- package/dist/development/src/model/builder/FieldBuilder.cjs +14 -0
- package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/FieldBuilder.js +15 -0
- package/dist/development/src/model/builder/FieldBuilder.js.map +1 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs +35 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.js +36 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs +36 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.js +37 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs +44 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.js +45 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs +46 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.js +47 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilder.cjs +40 -0
- package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilder.js +40 -0
- package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderError.cjs +6 -0
- package/dist/development/src/model/builder/SchemaBuilderError.cjs.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderError.js +6 -0
- package/dist/development/src/model/builder/SchemaBuilderError.js.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs +153 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.js +154 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs +34 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.js +35 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js +45 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js +51 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
- package/dist/development/src/model/definition/EnumDefinition.cjs +13 -0
- package/dist/development/src/model/definition/EnumDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/EnumDefinition.js +13 -0
- package/dist/development/src/model/definition/EnumDefinition.js.map +1 -0
- package/dist/development/src/model/definition/EventLogDefinition.cjs +9 -0
- package/dist/development/src/model/definition/EventLogDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/EventLogDefinition.js +9 -0
- package/dist/development/src/model/definition/EventLogDefinition.js.map +1 -0
- package/dist/development/src/model/definition/IndexDefinition.cjs +17 -0
- package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/IndexDefinition.js +17 -0
- package/dist/development/src/model/definition/IndexDefinition.js.map +1 -0
- package/dist/development/src/model/definition/OrderByDefinition.cjs +32 -0
- package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/OrderByDefinition.js +32 -0
- package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -0
- package/dist/development/src/model/definition/UniqueDefinition.cjs +17 -0
- package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/UniqueDefinition.js +17 -0
- package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -0
- package/dist/development/src/model/definition/ViewDefinition.cjs +27 -0
- package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/ViewDefinition.js +27 -0
- package/dist/development/src/model/definition/ViewDefinition.js.map +1 -0
- package/dist/development/src/model/definition/extensions.cjs +16 -0
- package/dist/development/src/model/definition/extensions.cjs.map +1 -0
- package/dist/development/src/model/definition/extensions.js +16 -0
- package/dist/development/src/model/definition/extensions.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +151 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +151 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +9 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +9 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +57 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +57 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +36 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +36 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +60 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +60 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +36 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +36 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +64 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +64 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +35 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +35 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
- package/dist/development/src/model/definition/index.cjs +80 -0
- package/dist/development/src/model/definition/index.cjs.map +1 -0
- package/dist/development/src/model/definition/index.js +81 -0
- package/dist/development/src/model/definition/index.js.map +1 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs +29 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.js +29 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs +29 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.js +29 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs +101 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.js +101 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -0
- package/dist/development/src/presets.cjs +46 -0
- package/dist/development/src/presets.cjs.map +1 -0
- package/dist/development/src/presets.js +46 -0
- package/dist/development/src/presets.js.map +1 -0
- package/dist/development/src/strict.cjs +33 -0
- package/dist/development/src/strict.cjs.map +1 -0
- package/dist/development/src/strict.js +33 -0
- package/dist/development/src/strict.js.map +1 -0
- package/dist/development/src/utils/MetadataStore.cjs +31 -0
- package/dist/development/src/utils/MetadataStore.cjs.map +1 -0
- package/dist/development/src/utils/MetadataStore.js +31 -0
- package/dist/development/src/utils/MetadataStore.js.map +1 -0
- package/dist/development/src/utils/assertNever.cjs +7 -0
- package/dist/development/src/utils/assertNever.cjs.map +1 -0
- package/dist/development/src/utils/assertNever.js +7 -0
- package/dist/development/src/utils/assertNever.js.map +1 -0
- package/dist/development/src/utils/filterEntityDefinition.cjs +9 -0
- package/dist/development/src/utils/filterEntityDefinition.cjs.map +1 -0
- package/dist/development/src/utils/filterEntityDefinition.js +9 -0
- package/dist/development/src/utils/filterEntityDefinition.js.map +1 -0
- package/dist/development/src/utils/tuple.cjs +5 -0
- package/dist/development/src/utils/tuple.cjs.map +1 -0
- package/dist/development/src/utils/tuple.js +5 -0
- package/dist/development/src/utils/tuple.js.map +1 -0
- package/dist/development/src/validation/index.cjs +213 -0
- package/dist/development/src/validation/index.cjs.map +1 -0
- package/dist/development/src/validation/index.js +213 -0
- package/dist/development/src/validation/index.js.map +1 -0
- package/dist/production/index.cjs +123 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +118 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js +120 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
- package/dist/production/src/acl/builder/EntitySelector.cjs +32 -0
- package/dist/production/src/acl/builder/EntitySelector.cjs.map +1 -0
- package/dist/production/src/acl/builder/EntitySelector.js +33 -0
- package/dist/production/src/acl/builder/EntitySelector.js.map +1 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js +60 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
- package/dist/production/src/acl/builder/FieldSelector.cjs +26 -0
- package/dist/production/src/acl/builder/FieldSelector.cjs.map +1 -0
- package/dist/production/src/acl/builder/FieldSelector.js +27 -0
- package/dist/production/src/acl/builder/FieldSelector.js.map +1 -0
- package/dist/production/src/acl/builder/PermissionOverrider.cjs +37 -0
- package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -0
- package/dist/production/src/acl/builder/PermissionOverrider.js +38 -0
- package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs +56 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.js +56 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -0
- package/dist/production/src/acl/builder/PredicateReference.cjs +43 -0
- package/dist/production/src/acl/builder/PredicateReference.cjs.map +1 -0
- package/dist/production/src/acl/builder/PredicateReference.js +43 -0
- package/dist/production/src/acl/builder/PredicateReference.js.map +1 -0
- package/dist/production/src/acl/definition/aclExtensions.cjs +16 -0
- package/dist/production/src/acl/definition/aclExtensions.cjs.map +1 -0
- package/dist/production/src/acl/definition/aclExtensions.js +16 -0
- package/dist/production/src/acl/definition/aclExtensions.js.map +1 -0
- package/dist/production/src/acl/definition/customPrimary.cjs +13 -0
- package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -0
- package/dist/production/src/acl/definition/customPrimary.js +13 -0
- package/dist/production/src/acl/definition/customPrimary.js.map +1 -0
- package/dist/production/src/acl/definition/index.cjs +27 -0
- package/dist/production/src/acl/definition/index.cjs.map +1 -0
- package/dist/production/src/acl/definition/index.js +27 -0
- package/dist/production/src/acl/definition/index.js.map +1 -0
- package/dist/production/src/acl/definition/internal/AclFactory.cjs +133 -0
- package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/AclFactory.js +133 -0
- package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.cjs +8 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.js +8 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.js.map +1 -0
- package/dist/production/src/acl/definition/internal/stores.cjs +6 -0
- package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/stores.js +6 -0
- package/dist/production/src/acl/definition/internal/stores.js.map +1 -0
- package/dist/production/src/acl/definition/permissions.cjs +15 -0
- package/dist/production/src/acl/definition/permissions.cjs.map +1 -0
- package/dist/production/src/acl/definition/permissions.js +15 -0
- package/dist/production/src/acl/definition/permissions.js.map +1 -0
- package/dist/production/src/acl/definition/references.cjs +26 -0
- package/dist/production/src/acl/definition/references.cjs.map +1 -0
- package/dist/production/src/acl/definition/references.js +26 -0
- package/dist/production/src/acl/definition/references.js.map +1 -0
- package/dist/production/src/acl/definition/roles.cjs +14 -0
- package/dist/production/src/acl/definition/roles.cjs.map +1 -0
- package/dist/production/src/acl/definition/roles.js +14 -0
- package/dist/production/src/acl/definition/roles.js.map +1 -0
- package/dist/production/src/acl/definition/variables.cjs +36 -0
- package/dist/production/src/acl/definition/variables.cjs.map +1 -0
- package/dist/production/src/acl/definition/variables.js +36 -0
- package/dist/production/src/acl/definition/variables.js.map +1 -0
- package/dist/production/src/actions/definition/index.cjs +15 -0
- package/dist/production/src/actions/definition/index.cjs.map +1 -0
- package/dist/production/src/actions/definition/index.js +15 -0
- package/dist/production/src/actions/definition/index.js.map +1 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs +180 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.js +180 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -0
- package/dist/production/src/actions/definition/internal/store.cjs +6 -0
- package/dist/production/src/actions/definition/internal/store.cjs.map +1 -0
- package/dist/production/src/actions/definition/internal/store.js +6 -0
- package/dist/production/src/actions/definition/internal/store.js.map +1 -0
- package/dist/production/src/actions/definition/targets.cjs +15 -0
- package/dist/production/src/actions/definition/targets.cjs.map +1 -0
- package/dist/production/src/actions/definition/targets.js +15 -0
- package/dist/production/src/actions/definition/targets.js.map +1 -0
- package/dist/production/src/actions/definition/triggers.cjs +12 -0
- package/dist/production/src/actions/definition/triggers.cjs.map +1 -0
- package/dist/production/src/actions/definition/triggers.js +12 -0
- package/dist/production/src/actions/definition/triggers.js.map +1 -0
- package/dist/production/src/createSchema.cjs +29 -0
- package/dist/production/src/createSchema.cjs.map +1 -0
- package/dist/production/src/createSchema.js +29 -0
- package/dist/production/src/createSchema.js.map +1 -0
- package/dist/production/src/model/builder/ColumnBuilder.cjs +38 -0
- package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/ColumnBuilder.js +39 -0
- package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -0
- package/dist/production/src/model/builder/EntityBuilder.cjs +69 -0
- package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/EntityBuilder.js +70 -0
- package/dist/production/src/model/builder/EntityBuilder.js.map +1 -0
- package/dist/production/src/model/builder/FieldBuilder.cjs +14 -0
- package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/FieldBuilder.js +15 -0
- package/dist/production/src/model/builder/FieldBuilder.js.map +1 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs +35 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.js +36 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs +36 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.js +37 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs +44 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.js +45 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs +46 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.js +47 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilder.cjs +40 -0
- package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilder.js +40 -0
- package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderError.cjs +6 -0
- package/dist/production/src/model/builder/SchemaBuilderError.cjs.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderError.js +6 -0
- package/dist/production/src/model/builder/SchemaBuilderError.js.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs +153 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.js +154 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs +34 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.js +35 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js +45 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js +51 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
- package/dist/production/src/model/definition/EnumDefinition.cjs +13 -0
- package/dist/production/src/model/definition/EnumDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/EnumDefinition.js +13 -0
- package/dist/production/src/model/definition/EnumDefinition.js.map +1 -0
- package/dist/production/src/model/definition/EventLogDefinition.cjs +9 -0
- package/dist/production/src/model/definition/EventLogDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/EventLogDefinition.js +9 -0
- package/dist/production/src/model/definition/EventLogDefinition.js.map +1 -0
- package/dist/production/src/model/definition/IndexDefinition.cjs +17 -0
- package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/IndexDefinition.js +17 -0
- package/dist/production/src/model/definition/IndexDefinition.js.map +1 -0
- package/dist/production/src/model/definition/OrderByDefinition.cjs +32 -0
- package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/OrderByDefinition.js +32 -0
- package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -0
- package/dist/production/src/model/definition/UniqueDefinition.cjs +17 -0
- package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/UniqueDefinition.js +17 -0
- package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -0
- package/dist/production/src/model/definition/ViewDefinition.cjs +27 -0
- package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/ViewDefinition.js +27 -0
- package/dist/production/src/model/definition/ViewDefinition.js.map +1 -0
- package/dist/production/src/model/definition/extensions.cjs +16 -0
- package/dist/production/src/model/definition/extensions.cjs.map +1 -0
- package/dist/production/src/model/definition/extensions.js +16 -0
- package/dist/production/src/model/definition/extensions.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +151 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +151 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +9 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +9 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +57 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +57 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +36 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +36 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +60 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +60 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +36 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +36 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +64 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +64 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +35 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +35 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
- package/dist/production/src/model/definition/index.cjs +80 -0
- package/dist/production/src/model/definition/index.cjs.map +1 -0
- package/dist/production/src/model/definition/index.js +81 -0
- package/dist/production/src/model/definition/index.js.map +1 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs +29 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.js +29 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs +29 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.js +29 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs +101 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.js +101 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -0
- package/dist/production/src/presets.cjs +46 -0
- package/dist/production/src/presets.cjs.map +1 -0
- package/dist/production/src/presets.js +46 -0
- package/dist/production/src/presets.js.map +1 -0
- package/dist/production/src/strict.cjs +33 -0
- package/dist/production/src/strict.cjs.map +1 -0
- package/dist/production/src/strict.js +33 -0
- package/dist/production/src/strict.js.map +1 -0
- package/dist/production/src/utils/MetadataStore.cjs +31 -0
- package/dist/production/src/utils/MetadataStore.cjs.map +1 -0
- package/dist/production/src/utils/MetadataStore.js +31 -0
- package/dist/production/src/utils/MetadataStore.js.map +1 -0
- package/dist/production/src/utils/assertNever.cjs +7 -0
- package/dist/production/src/utils/assertNever.cjs.map +1 -0
- package/dist/production/src/utils/assertNever.js +7 -0
- package/dist/production/src/utils/assertNever.js.map +1 -0
- package/dist/production/src/utils/filterEntityDefinition.cjs +9 -0
- package/dist/production/src/utils/filterEntityDefinition.cjs.map +1 -0
- package/dist/production/src/utils/filterEntityDefinition.js +9 -0
- package/dist/production/src/utils/filterEntityDefinition.js.map +1 -0
- package/dist/production/src/utils/tuple.cjs +5 -0
- package/dist/production/src/utils/tuple.cjs.map +1 -0
- package/dist/production/src/utils/tuple.js +5 -0
- package/dist/production/src/utils/tuple.js.map +1 -0
- package/dist/production/src/validation/index.cjs +213 -0
- package/dist/production/src/validation/index.cjs.map +1 -0
- package/dist/production/src/validation/index.js +213 -0
- package/dist/production/src/validation/index.js.map +1 -0
- package/dist/tests/cases/unit/createSchema.test.d.ts +2 -0
- package/dist/tests/cases/unit/createSchema.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/extendEntity.test.d.ts +2 -0
- package/dist/tests/cases/unit/extendEntity.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/orderBy.test.d.ts +2 -0
- package/dist/tests/cases/unit/orderBy.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/readAclDefinitions.test.d.ts +2 -0
- package/dist/tests/cases/unit/readAclDefinitions.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/readActions.test.d.ts +2 -0
- package/dist/tests/cases/unit/readActions.test.d.ts.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -0
- package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts +28 -0
- package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts.map +1 -0
- package/dist/types/acl/builder/EntitySelector.d.ts +14 -0
- package/dist/types/acl/builder/EntitySelector.d.ts.map +1 -0
- package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts +23 -0
- package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts.map +1 -0
- package/dist/types/acl/builder/FieldSelector.d.ts +14 -0
- package/dist/types/acl/builder/FieldSelector.d.ts.map +1 -0
- package/dist/types/acl/builder/PermissionOverrider.d.ts +6 -0
- package/dist/types/acl/builder/PermissionOverrider.d.ts.map +1 -0
- package/dist/types/acl/builder/PermissionsBuilder.d.ts +24 -0
- package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +1 -0
- package/dist/types/acl/builder/PredicateReference.d.ts +7 -0
- package/dist/types/acl/builder/PredicateReference.d.ts.map +1 -0
- package/dist/types/acl/definition/aclExtensions.d.ts +12 -0
- package/dist/types/acl/definition/aclExtensions.d.ts.map +1 -0
- package/dist/types/acl/definition/customPrimary.d.ts +4 -0
- package/dist/types/acl/definition/customPrimary.d.ts.map +1 -0
- package/dist/types/acl/definition/index.d.ts +8 -0
- package/dist/types/acl/definition/index.d.ts.map +1 -0
- package/dist/types/acl/definition/internal/AclFactory.d.ts +19 -0
- package/dist/types/acl/definition/internal/AclFactory.d.ts.map +1 -0
- package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts +16 -0
- package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts.map +1 -0
- package/dist/types/acl/definition/internal/createPredicateName.d.ts +3 -0
- package/dist/types/acl/definition/internal/createPredicateName.d.ts.map +1 -0
- package/dist/types/acl/definition/internal/stores.d.ts +8 -0
- package/dist/types/acl/definition/internal/stores.d.ts.map +1 -0
- package/dist/types/acl/definition/permissions.d.ts +23 -0
- package/dist/types/acl/definition/permissions.d.ts.map +1 -0
- package/dist/types/acl/definition/references.d.ts +10 -0
- package/dist/types/acl/definition/references.d.ts.map +1 -0
- package/dist/types/acl/definition/roles.d.ts +11 -0
- package/dist/types/acl/definition/roles.d.ts.map +1 -0
- package/dist/types/acl/definition/variables.d.ts +12 -0
- package/dist/types/acl/definition/variables.d.ts.map +1 -0
- package/dist/types/actions/definition/index.d.ts +5 -0
- package/dist/types/actions/definition/index.d.ts.map +1 -0
- package/dist/types/actions/definition/internal/ActionsFactory.d.ts +10 -0
- package/dist/types/actions/definition/internal/ActionsFactory.d.ts.map +1 -0
- package/dist/types/actions/definition/internal/store.d.ts +11 -0
- package/dist/types/actions/definition/internal/store.d.ts.map +1 -0
- package/dist/types/actions/definition/targets.d.ts +10 -0
- package/dist/types/actions/definition/targets.d.ts.map +1 -0
- package/dist/types/actions/definition/triggers.d.ts +31 -0
- package/dist/types/actions/definition/triggers.d.ts.map +1 -0
- package/dist/types/createSchema.d.ts +7 -0
- package/dist/types/createSchema.d.ts.map +1 -0
- package/dist/types/index.d.ts +88 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/model/builder/ColumnBuilder.d.ts +31 -0
- package/dist/types/model/builder/ColumnBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/EntityBuilder.d.ts +39 -0
- package/dist/types/model/builder/EntityBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/FieldBuilder.d.ts +38 -0
- package/dist/types/model/builder/FieldBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/ManyHasManyBuilder.d.ts +25 -0
- package/dist/types/model/builder/ManyHasManyBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/ManyHasOneBuilder.d.ts +26 -0
- package/dist/types/model/builder/ManyHasOneBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/OneHasManyBuilder.d.ts +29 -0
- package/dist/types/model/builder/OneHasManyBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/OneHasOneBuilder.d.ts +32 -0
- package/dist/types/model/builder/OneHasOneBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/SchemaBuilder.d.ts +14 -0
- package/dist/types/model/builder/SchemaBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/SchemaBuilderError.d.ts +3 -0
- package/dist/types/model/builder/SchemaBuilderError.d.ts.map +1 -0
- package/dist/types/model/builder/SchemaBuilderInternal.d.ts +22 -0
- package/dist/types/model/builder/SchemaBuilderInternal.d.ts.map +1 -0
- package/dist/types/model/builder/internal/ColumnProcessor.d.ts +10 -0
- package/dist/types/model/builder/internal/ColumnProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/internal/FieldProcessor.d.ts +9 -0
- package/dist/types/model/builder/internal/FieldProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts +11 -0
- package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts +11 -0
- package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts +11 -0
- package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts +11 -0
- package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/types.d.ts +4 -0
- package/dist/types/model/builder/types.d.ts.map +1 -0
- package/dist/types/model/definition/EnumDefinition.d.ts +6 -0
- package/dist/types/model/definition/EnumDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/EventLogDefinition.d.ts +2 -0
- package/dist/types/model/definition/EventLogDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/IndexDefinition.d.ts +9 -0
- package/dist/types/model/definition/IndexDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/OrderByDefinition.d.ts +11 -0
- package/dist/types/model/definition/OrderByDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/UniqueDefinition.d.ts +15 -0
- package/dist/types/model/definition/UniqueDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/ViewDefinition.d.ts +9 -0
- package/dist/types/model/definition/ViewDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/context.d.ts +13 -0
- package/dist/types/model/definition/context.d.ts.map +1 -0
- package/dist/types/model/definition/extensions.d.ts +15 -0
- package/dist/types/model/definition/extensions.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +55 -0
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +15 -0
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +19 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +16 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +23 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +16 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +25 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +17 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/index.d.ts +9 -0
- package/dist/types/model/definition/fieldDefinitions/index.d.ts.map +1 -0
- package/dist/types/model/definition/index.d.ts +27 -0
- package/dist/types/model/definition/index.d.ts.map +1 -0
- package/dist/types/model/definition/internal/EntityRegistry.d.ts +8 -0
- package/dist/types/model/definition/internal/EntityRegistry.d.ts.map +1 -0
- package/dist/types/model/definition/internal/EnumRegistry.d.ts +8 -0
- package/dist/types/model/definition/internal/EnumRegistry.d.ts.map +1 -0
- package/dist/types/model/definition/internal/SchemaBuilder.d.ts +22 -0
- package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +1 -0
- package/dist/types/model/definition/internal/index.d.ts +4 -0
- package/dist/types/model/definition/internal/index.d.ts.map +1 -0
- package/dist/types/model/definition/types.d.ts +6 -0
- package/dist/types/model/definition/types.d.ts.map +1 -0
- package/dist/types/model/index.d.ts +10 -0
- package/dist/types/model/index.d.ts.map +1 -0
- package/dist/types/presets.d.ts +9 -0
- package/dist/types/presets.d.ts.map +1 -0
- package/dist/types/strict.d.ts +22 -0
- package/dist/types/strict.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/utils/MetadataStore.d.ts +7 -0
- package/dist/types/utils/MetadataStore.d.ts.map +1 -0
- package/dist/types/utils/assertNever.d.ts +2 -0
- package/dist/types/utils/assertNever.d.ts.map +1 -0
- package/dist/types/utils/decorators.d.ts +5 -0
- package/dist/types/utils/decorators.d.ts.map +1 -0
- package/dist/types/utils/filterEntityDefinition.d.ts +4 -0
- package/dist/types/utils/filterEntityDefinition.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +6 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/tuple.d.ts +2 -0
- package/dist/types/utils/tuple.d.ts.map +1 -0
- package/dist/types/validation/index.d.ts +56 -0
- package/dist/types/validation/index.d.ts.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const schema = require("@contember/schema");
|
|
4
|
+
const FieldDefinition = require("./FieldDefinition.cjs");
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
8
|
+
class OneHasOneInverseDefinition extends FieldDefinition.FieldDefinition {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
__publicField(this, "type", "OneHasOneInverseDefinition");
|
|
12
|
+
}
|
|
13
|
+
notNull() {
|
|
14
|
+
return this.withOption("nullable", false);
|
|
15
|
+
}
|
|
16
|
+
createField({ name, conventions, entityRegistry }) {
|
|
17
|
+
const options = this.options;
|
|
18
|
+
return {
|
|
19
|
+
name,
|
|
20
|
+
ownedBy: options.ownedBy,
|
|
21
|
+
target: entityRegistry.getName(options.target),
|
|
22
|
+
type: schema.Model.RelationType.OneHasOne,
|
|
23
|
+
nullable: options.nullable === void 0 ? true : options.nullable
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
withOption(key, value) {
|
|
27
|
+
return new this.constructor({ ...this.options, [key]: value });
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function oneHasOneInverse(target, ownedBy) {
|
|
31
|
+
return new OneHasOneInverseDefinition({ target, ownedBy });
|
|
32
|
+
}
|
|
33
|
+
exports.OneHasOneInverseDefinition = OneHasOneInverseDefinition;
|
|
34
|
+
exports.oneHasOneInverse = oneHasOneInverse;
|
|
35
|
+
//# sourceMappingURL=OneHasOneInverseDefinition.cjs.map
|
package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map
ADDED
|
@@ -0,0 +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;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Model } from "@contember/schema";
|
|
2
|
+
import { FieldDefinition } from "./FieldDefinition.js";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
6
|
+
class OneHasOneInverseDefinition extends FieldDefinition {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
__publicField(this, "type", "OneHasOneInverseDefinition");
|
|
10
|
+
}
|
|
11
|
+
notNull() {
|
|
12
|
+
return this.withOption("nullable", false);
|
|
13
|
+
}
|
|
14
|
+
createField({ name, conventions, entityRegistry }) {
|
|
15
|
+
const options = this.options;
|
|
16
|
+
return {
|
|
17
|
+
name,
|
|
18
|
+
ownedBy: options.ownedBy,
|
|
19
|
+
target: entityRegistry.getName(options.target),
|
|
20
|
+
type: Model.RelationType.OneHasOne,
|
|
21
|
+
nullable: options.nullable === void 0 ? true : options.nullable
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
withOption(key, value) {
|
|
25
|
+
return new this.constructor({ ...this.options, [key]: value });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function oneHasOneInverse(target, ownedBy) {
|
|
29
|
+
return new OneHasOneInverseDefinition({ target, ownedBy });
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
OneHasOneInverseDefinition,
|
|
33
|
+
oneHasOneInverse
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=OneHasOneInverseDefinition.js.map
|
package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map
ADDED
|
@@ -0,0 +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;"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const schema = require("@contember/schema");
|
|
4
|
+
const EnumDefinition = require("./EnumDefinition.cjs");
|
|
5
|
+
const SchemaBuilder = require("./internal/SchemaBuilder.cjs");
|
|
6
|
+
require("reflect-metadata");
|
|
7
|
+
const filterEntityDefinition = require("../../utils/filterEntityDefinition.cjs");
|
|
8
|
+
const schemaUtils = require("@contember/schema-utils");
|
|
9
|
+
const ColumnDefinition = require("./fieldDefinitions/ColumnDefinition.cjs");
|
|
10
|
+
const FieldDefinition = require("./fieldDefinitions/FieldDefinition.cjs");
|
|
11
|
+
const ManyHasManyDefinition = require("./fieldDefinitions/ManyHasManyDefinition.cjs");
|
|
12
|
+
const ManyHasManyInverseDefinition = require("./fieldDefinitions/ManyHasManyInverseDefinition.cjs");
|
|
13
|
+
const ManyHasOneDefinition = require("./fieldDefinitions/ManyHasOneDefinition.cjs");
|
|
14
|
+
const OneHasManyDefinition = require("./fieldDefinitions/OneHasManyDefinition.cjs");
|
|
15
|
+
const OneHasOneDefinition = require("./fieldDefinitions/OneHasOneDefinition.cjs");
|
|
16
|
+
const OneHasOneInverseDefinition = require("./fieldDefinitions/OneHasOneInverseDefinition.cjs");
|
|
17
|
+
const EventLogDefinition = require("./EventLogDefinition.cjs");
|
|
18
|
+
const IndexDefinition = require("./IndexDefinition.cjs");
|
|
19
|
+
const OrderByDefinition = require("./OrderByDefinition.cjs");
|
|
20
|
+
const UniqueDefinition = require("./UniqueDefinition.cjs");
|
|
21
|
+
const ViewDefinition = require("./ViewDefinition.cjs");
|
|
22
|
+
const extensions = require("./extensions.cjs");
|
|
23
|
+
class Entity {
|
|
24
|
+
}
|
|
25
|
+
function createModel(definitions, options = {}) {
|
|
26
|
+
const schemaBuilder = new SchemaBuilder.SchemaBuilder(
|
|
27
|
+
new schemaUtils.DefaultNamingConventions(),
|
|
28
|
+
options.strictDefinitionValidator,
|
|
29
|
+
{ defaultCollation: options.defaultCollation }
|
|
30
|
+
);
|
|
31
|
+
for (const [name, definition] of Object.entries(definitions)) {
|
|
32
|
+
if (definition instanceof EnumDefinition.EnumDefinition) {
|
|
33
|
+
schemaBuilder.addEnum(name, definition);
|
|
34
|
+
} else if (filterEntityDefinition.isEntityConstructor(definition)) {
|
|
35
|
+
schemaBuilder.addEntity(name, definition);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
const schema2 = schemaBuilder.createSchema();
|
|
39
|
+
return schema2;
|
|
40
|
+
}
|
|
41
|
+
const OnDelete = schema.Model.OnDelete;
|
|
42
|
+
const OrderDirection = schema.Model.OrderDirection;
|
|
43
|
+
exports.EnumDefinition = EnumDefinition.EnumDefinition;
|
|
44
|
+
exports.createEnum = EnumDefinition.createEnum;
|
|
45
|
+
exports.ColumnDefinition = ColumnDefinition.ColumnDefinition;
|
|
46
|
+
exports.boolColumn = ColumnDefinition.boolColumn;
|
|
47
|
+
exports.column = ColumnDefinition.column;
|
|
48
|
+
exports.dateColumn = ColumnDefinition.dateColumn;
|
|
49
|
+
exports.dateTimeColumn = ColumnDefinition.dateTimeColumn;
|
|
50
|
+
exports.doubleColumn = ColumnDefinition.doubleColumn;
|
|
51
|
+
exports.enumColumn = ColumnDefinition.enumColumn;
|
|
52
|
+
exports.intColumn = ColumnDefinition.intColumn;
|
|
53
|
+
exports.jsonColumn = ColumnDefinition.jsonColumn;
|
|
54
|
+
exports.stringColumn = ColumnDefinition.stringColumn;
|
|
55
|
+
exports.timeColumn = ColumnDefinition.timeColumn;
|
|
56
|
+
exports.uuidColumn = ColumnDefinition.uuidColumn;
|
|
57
|
+
exports.FieldDefinition = FieldDefinition.FieldDefinition;
|
|
58
|
+
exports.ManyHasManyDefinition = ManyHasManyDefinition.ManyHasManyDefinition;
|
|
59
|
+
exports.manyHasMany = ManyHasManyDefinition.manyHasMany;
|
|
60
|
+
exports.ManyHasManyInverseDefinition = ManyHasManyInverseDefinition.ManyHasManyInverseDefinition;
|
|
61
|
+
exports.manyHasManyInverse = ManyHasManyInverseDefinition.manyHasManyInverse;
|
|
62
|
+
exports.ManyHasOneDefinition = ManyHasOneDefinition.ManyHasOneDefinition;
|
|
63
|
+
exports.manyHasOne = ManyHasOneDefinition.manyHasOne;
|
|
64
|
+
exports.OneHasManyDefinition = OneHasManyDefinition.OneHasManyDefinition;
|
|
65
|
+
exports.oneHasMany = OneHasManyDefinition.oneHasMany;
|
|
66
|
+
exports.OneHasOneDefinition = OneHasOneDefinition.OneHasOneDefinition;
|
|
67
|
+
exports.oneHasOne = OneHasOneDefinition.oneHasOne;
|
|
68
|
+
exports.OneHasOneInverseDefinition = OneHasOneInverseDefinition.OneHasOneInverseDefinition;
|
|
69
|
+
exports.oneHasOneInverse = OneHasOneInverseDefinition.oneHasOneInverse;
|
|
70
|
+
exports.DisableEventLog = EventLogDefinition.DisableEventLog;
|
|
71
|
+
exports.Index = IndexDefinition.Index;
|
|
72
|
+
exports.OrderBy = OrderByDefinition.OrderBy;
|
|
73
|
+
exports.Unique = UniqueDefinition.Unique;
|
|
74
|
+
exports.View = ViewDefinition.View;
|
|
75
|
+
exports.extendEntity = extensions.extendEntity;
|
|
76
|
+
exports.Entity = Entity;
|
|
77
|
+
exports.OnDelete = OnDelete;
|
|
78
|
+
exports.OrderDirection = OrderDirection;
|
|
79
|
+
exports.createModel = createModel;
|
|
80
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Model } from "@contember/schema";
|
|
2
|
+
import { EnumDefinition } from "./EnumDefinition.js";
|
|
3
|
+
import { createEnum } from "./EnumDefinition.js";
|
|
4
|
+
import { SchemaBuilder } from "./internal/SchemaBuilder.js";
|
|
5
|
+
import "reflect-metadata";
|
|
6
|
+
import { isEntityConstructor } from "../../utils/filterEntityDefinition.js";
|
|
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";
|
|
9
|
+
import { FieldDefinition } from "./fieldDefinitions/FieldDefinition.js";
|
|
10
|
+
import { ManyHasManyDefinition, manyHasMany } from "./fieldDefinitions/ManyHasManyDefinition.js";
|
|
11
|
+
import { ManyHasManyInverseDefinition, manyHasManyInverse } from "./fieldDefinitions/ManyHasManyInverseDefinition.js";
|
|
12
|
+
import { ManyHasOneDefinition, manyHasOne } from "./fieldDefinitions/ManyHasOneDefinition.js";
|
|
13
|
+
import { OneHasManyDefinition, oneHasMany } from "./fieldDefinitions/OneHasManyDefinition.js";
|
|
14
|
+
import { OneHasOneDefinition, oneHasOne } from "./fieldDefinitions/OneHasOneDefinition.js";
|
|
15
|
+
import { OneHasOneInverseDefinition, oneHasOneInverse } from "./fieldDefinitions/OneHasOneInverseDefinition.js";
|
|
16
|
+
import { DisableEventLog } from "./EventLogDefinition.js";
|
|
17
|
+
import { Index } from "./IndexDefinition.js";
|
|
18
|
+
import { OrderBy } from "./OrderByDefinition.js";
|
|
19
|
+
import { Unique } from "./UniqueDefinition.js";
|
|
20
|
+
import { View } from "./ViewDefinition.js";
|
|
21
|
+
import { extendEntity } from "./extensions.js";
|
|
22
|
+
class Entity {
|
|
23
|
+
}
|
|
24
|
+
function createModel(definitions, options = {}) {
|
|
25
|
+
const schemaBuilder = new SchemaBuilder(
|
|
26
|
+
new DefaultNamingConventions(),
|
|
27
|
+
options.strictDefinitionValidator,
|
|
28
|
+
{ defaultCollation: options.defaultCollation }
|
|
29
|
+
);
|
|
30
|
+
for (const [name, definition] of Object.entries(definitions)) {
|
|
31
|
+
if (definition instanceof EnumDefinition) {
|
|
32
|
+
schemaBuilder.addEnum(name, definition);
|
|
33
|
+
} else if (isEntityConstructor(definition)) {
|
|
34
|
+
schemaBuilder.addEntity(name, definition);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const schema = schemaBuilder.createSchema();
|
|
38
|
+
return schema;
|
|
39
|
+
}
|
|
40
|
+
const OnDelete = Model.OnDelete;
|
|
41
|
+
const OrderDirection = Model.OrderDirection;
|
|
42
|
+
export {
|
|
43
|
+
ColumnDefinition,
|
|
44
|
+
DisableEventLog,
|
|
45
|
+
Entity,
|
|
46
|
+
EnumDefinition,
|
|
47
|
+
FieldDefinition,
|
|
48
|
+
Index,
|
|
49
|
+
ManyHasManyDefinition,
|
|
50
|
+
ManyHasManyInverseDefinition,
|
|
51
|
+
ManyHasOneDefinition,
|
|
52
|
+
OnDelete,
|
|
53
|
+
OneHasManyDefinition,
|
|
54
|
+
OneHasOneDefinition,
|
|
55
|
+
OneHasOneInverseDefinition,
|
|
56
|
+
OrderBy,
|
|
57
|
+
OrderDirection,
|
|
58
|
+
Unique,
|
|
59
|
+
View,
|
|
60
|
+
boolColumn,
|
|
61
|
+
column,
|
|
62
|
+
createEnum,
|
|
63
|
+
createModel,
|
|
64
|
+
dateColumn,
|
|
65
|
+
dateTimeColumn,
|
|
66
|
+
doubleColumn,
|
|
67
|
+
enumColumn,
|
|
68
|
+
extendEntity,
|
|
69
|
+
intColumn,
|
|
70
|
+
jsonColumn,
|
|
71
|
+
manyHasMany,
|
|
72
|
+
manyHasManyInverse,
|
|
73
|
+
manyHasOne,
|
|
74
|
+
oneHasMany,
|
|
75
|
+
oneHasOne,
|
|
76
|
+
oneHasOneInverse,
|
|
77
|
+
stringColumn,
|
|
78
|
+
timeColumn,
|
|
79
|
+
uuidColumn
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
6
|
+
class EntityRegistry {
|
|
7
|
+
constructor() {
|
|
8
|
+
__publicField(this, "entities", {});
|
|
9
|
+
}
|
|
10
|
+
register(name, definition) {
|
|
11
|
+
if (this.entities[name]) {
|
|
12
|
+
throw new Error(`Entity with name ${name} is already registered`);
|
|
13
|
+
}
|
|
14
|
+
this.entities[name] = definition;
|
|
15
|
+
}
|
|
16
|
+
has(definition) {
|
|
17
|
+
return Object.values(this.entities).includes(definition);
|
|
18
|
+
}
|
|
19
|
+
getName(definition) {
|
|
20
|
+
for (const [name, def] of Object.entries(this.entities)) {
|
|
21
|
+
if (def === definition) {
|
|
22
|
+
return name;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
throw new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.EntityRegistry = EntityRegistry;
|
|
29
|
+
//# sourceMappingURL=EntityRegistry.cjs.map
|
|
@@ -0,0 +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;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
4
|
+
class EntityRegistry {
|
|
5
|
+
constructor() {
|
|
6
|
+
__publicField(this, "entities", {});
|
|
7
|
+
}
|
|
8
|
+
register(name, definition) {
|
|
9
|
+
if (this.entities[name]) {
|
|
10
|
+
throw new Error(`Entity with name ${name} is already registered`);
|
|
11
|
+
}
|
|
12
|
+
this.entities[name] = definition;
|
|
13
|
+
}
|
|
14
|
+
has(definition) {
|
|
15
|
+
return Object.values(this.entities).includes(definition);
|
|
16
|
+
}
|
|
17
|
+
getName(definition) {
|
|
18
|
+
for (const [name, def] of Object.entries(this.entities)) {
|
|
19
|
+
if (def === definition) {
|
|
20
|
+
return name;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
throw new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
EntityRegistry
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=EntityRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityRegistry.js","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;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
5
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
6
|
+
class EnumRegistry {
|
|
7
|
+
constructor() {
|
|
8
|
+
__publicField(this, "enums", {});
|
|
9
|
+
}
|
|
10
|
+
register(name, definition) {
|
|
11
|
+
if (this.enums[name]) {
|
|
12
|
+
throw new Error(`Enum with name ${name} is already registered`);
|
|
13
|
+
}
|
|
14
|
+
this.enums[name] = definition;
|
|
15
|
+
}
|
|
16
|
+
has(definition) {
|
|
17
|
+
return Object.values(this.enums).includes(definition);
|
|
18
|
+
}
|
|
19
|
+
getName(definition) {
|
|
20
|
+
for (const [name, def] of Object.entries(this.enums)) {
|
|
21
|
+
if (def === definition) {
|
|
22
|
+
return name;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
throw new Error(`Enum with values ${definition.values.join(", ")} is not registered.`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.EnumRegistry = EnumRegistry;
|
|
29
|
+
//# sourceMappingURL=EnumRegistry.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnumRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EnumRegistry.ts"],"sourcesContent":["import { EnumDefinition } from '../EnumDefinition'\n\nexport class EnumRegistry {\n\tpublic readonly enums: Record<string, EnumDefinition> = {}\n\n\tregister(name: string, definition: EnumDefinition) {\n\t\tif (this.enums[name]) {\n\t\t\tthrow new Error(`Enum with name ${name} is already registered`)\n\t\t}\n\t\tthis.enums[name] = definition\n\t}\n\n\thas(definition: EnumDefinition): boolean {\n\t\treturn Object.values(this.enums).includes(definition)\n\t}\n\n\tgetName(definition: EnumDefinition): string {\n\t\tfor (const [name, def] of Object.entries(this.enums)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Enum with values ${definition.values.join(', ')} is not registered.`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,aAAa;AAAA,EAAnB,cAAA;AACN,kBAAA,MAAgB,SAAwC,EAAC;AAAA,EAAA;AAAA,EAEzD,SAAS,MAAc,YAA4B;AAClD,QAAI,KAAK,MAAM,IAAI,GAAG;AACrB,YAAM,IAAI,MAAM,kBAAkB,IAAI,wBAAwB;AAAA,IAC/D;AACA,SAAK,MAAM,IAAI,IAAI;AAAA,EACpB;AAAA,EAEA,IAAI,YAAqC;AACxC,WAAO,OAAO,OAAO,KAAK,KAAK,EAAE,SAAS,UAAU;AAAA,EACrD;AAAA,EAEA,QAAQ,YAAoC;AAC3C,eAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,KAAK,GAAG;AACrD,UAAI,QAAQ,YAAY;AACvB,eAAO;AAAA,MACR;AAAA,IACD;AACA,UAAM,IAAI,MAAM,oBAAoB,WAAW,OAAO,KAAK,IAAI,CAAC,qBAAqB;AAAA,EACtF;AACD;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
4
|
+
class EnumRegistry {
|
|
5
|
+
constructor() {
|
|
6
|
+
__publicField(this, "enums", {});
|
|
7
|
+
}
|
|
8
|
+
register(name, definition) {
|
|
9
|
+
if (this.enums[name]) {
|
|
10
|
+
throw new Error(`Enum with name ${name} is already registered`);
|
|
11
|
+
}
|
|
12
|
+
this.enums[name] = definition;
|
|
13
|
+
}
|
|
14
|
+
has(definition) {
|
|
15
|
+
return Object.values(this.enums).includes(definition);
|
|
16
|
+
}
|
|
17
|
+
getName(definition) {
|
|
18
|
+
for (const [name, def] of Object.entries(this.enums)) {
|
|
19
|
+
if (def === definition) {
|
|
20
|
+
return name;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
throw new Error(`Enum with values ${definition.values.join(", ")} is not registered.`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
EnumRegistry
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=EnumRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnumRegistry.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EnumRegistry.ts"],"sourcesContent":["import { EnumDefinition } from '../EnumDefinition'\n\nexport class EnumRegistry {\n\tpublic readonly enums: Record<string, EnumDefinition> = {}\n\n\tregister(name: string, definition: EnumDefinition) {\n\t\tif (this.enums[name]) {\n\t\t\tthrow new Error(`Enum with name ${name} is already registered`)\n\t\t}\n\t\tthis.enums[name] = definition\n\t}\n\n\thas(definition: EnumDefinition): boolean {\n\t\treturn Object.values(this.enums).includes(definition)\n\t}\n\n\tgetName(definition: EnumDefinition): string {\n\t\tfor (const [name, def] of Object.entries(this.enums)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Enum with values ${definition.values.join(', ')} is not registered.`)\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,aAAa;AAAA,EAAnB,cAAA;AACN,kBAAA,MAAgB,SAAwC,EAAC;AAAA,EAAA;AAAA,EAEzD,SAAS,MAAc,YAA4B;AAClD,QAAI,KAAK,MAAM,IAAI,GAAG;AACrB,YAAM,IAAI,MAAM,kBAAkB,IAAI,wBAAwB;AAAA,IAC/D;AACA,SAAK,MAAM,IAAI,IAAI;AAAA,EACpB;AAAA,EAEA,IAAI,YAAqC;AACxC,WAAO,OAAO,OAAO,KAAK,KAAK,EAAE,SAAS,UAAU;AAAA,EACrD;AAAA,EAEA,QAAQ,YAAoC;AAC3C,eAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,KAAK,GAAG;AACrD,UAAI,QAAQ,YAAY;AACvB,eAAO;AAAA,MACR;AAAA,IACD;AACA,UAAM,IAAI,MAAM,oBAAoB,WAAW,OAAO,KAAK,IAAI,CAAC,qBAAqB;AAAA,EACtF;AACD;"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const schema = require("@contember/schema");
|
|
4
|
+
require("reflect-metadata");
|
|
5
|
+
const tuple = require("../../../utils/tuple.cjs");
|
|
6
|
+
const EntityRegistry = require("./EntityRegistry.cjs");
|
|
7
|
+
const EnumRegistry = require("./EnumRegistry.cjs");
|
|
8
|
+
const ColumnDefinition = require("../fieldDefinitions/ColumnDefinition.cjs");
|
|
9
|
+
const extensions = require("../extensions.cjs");
|
|
10
|
+
const strict = require("../../../strict.cjs");
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
13
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
14
|
+
class SchemaBuilder {
|
|
15
|
+
constructor(conventions, strictDefinitionValidator = new strict.StrictDefinitionValidator({}), options) {
|
|
16
|
+
this.conventions = conventions;
|
|
17
|
+
this.strictDefinitionValidator = strictDefinitionValidator;
|
|
18
|
+
this.options = options;
|
|
19
|
+
__publicField(this, "entityRegistry", new EntityRegistry.EntityRegistry());
|
|
20
|
+
__publicField(this, "enumRegistry", new EnumRegistry.EnumRegistry());
|
|
21
|
+
}
|
|
22
|
+
addEntity(name, entity) {
|
|
23
|
+
this.entityRegistry.register(name, entity);
|
|
24
|
+
}
|
|
25
|
+
addEnum(name, definition) {
|
|
26
|
+
this.enumRegistry.register(name, definition);
|
|
27
|
+
}
|
|
28
|
+
createSchema() {
|
|
29
|
+
const entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]) => {
|
|
30
|
+
const definitionInstance = new definition();
|
|
31
|
+
Object.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {
|
|
32
|
+
if (typeof fieldDefinition !== "object" || !("createField" in fieldDefinition)) {
|
|
33
|
+
throw `Entity "${entityName}": field "${fieldName}" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
const primaryName = this.conventions.getPrimaryField();
|
|
37
|
+
const fields = [
|
|
38
|
+
...definitionInstance[primaryName] ? [] : [tuple.tuple(primaryName, this.createPrimaryColumn())],
|
|
39
|
+
...Object.entries(definitionInstance)
|
|
40
|
+
].map(([name, definition2]) => {
|
|
41
|
+
return definition2.createField({
|
|
42
|
+
name,
|
|
43
|
+
entityName,
|
|
44
|
+
conventions: this.conventions,
|
|
45
|
+
enumRegistry: this.enumRegistry,
|
|
46
|
+
entityRegistry: this.entityRegistry,
|
|
47
|
+
strictDefinitionValidator: this.strictDefinitionValidator,
|
|
48
|
+
options: this.options
|
|
49
|
+
});
|
|
50
|
+
}).reduce((acc, field) => {
|
|
51
|
+
if (acc[field.name]) {
|
|
52
|
+
throw new Error(`Entity ${entityName}: field ${field.name} is already registered`);
|
|
53
|
+
}
|
|
54
|
+
return { ...acc, [field.name]: field };
|
|
55
|
+
}, {});
|
|
56
|
+
const entity = {
|
|
57
|
+
name: entityName,
|
|
58
|
+
primary: primaryName,
|
|
59
|
+
primaryColumn: fields[primaryName].columnName,
|
|
60
|
+
unique: this.createUnique(entityName, definitionInstance),
|
|
61
|
+
indexes: [],
|
|
62
|
+
fields,
|
|
63
|
+
tableName: this.conventions.getTableName(entityName),
|
|
64
|
+
eventLog: {
|
|
65
|
+
enabled: true
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
return extensions.applyEntityExtensions(definition, {
|
|
69
|
+
entity,
|
|
70
|
+
definition: definitionInstance,
|
|
71
|
+
registry: this.entityRegistry,
|
|
72
|
+
entityRegistry: this.entityRegistry,
|
|
73
|
+
conventions: this.conventions,
|
|
74
|
+
enumRegistry: this.enumRegistry,
|
|
75
|
+
strictDefinitionValidator: this.strictDefinitionValidator,
|
|
76
|
+
options: this.options
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
return {
|
|
80
|
+
enums: Object.entries(this.enumRegistry.enums).reduce((acc, [name, def]) => ({ ...acc, [name]: def.values }), {}),
|
|
81
|
+
entities: entities.reduce((acc, entity) => ({ ...acc, [entity.name]: entity }), {})
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
createPrimaryColumn() {
|
|
85
|
+
return new ColumnDefinition.ColumnDefinition({
|
|
86
|
+
nullable: false,
|
|
87
|
+
type: schema.Model.ColumnType.Uuid
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
createUnique(entityName, fieldDefinitions) {
|
|
91
|
+
const unique = [];
|
|
92
|
+
for (const [fieldName, definition] of Object.entries(fieldDefinitions)) {
|
|
93
|
+
if (definition.options.unique) {
|
|
94
|
+
unique.push({ fields: [fieldName], ...definition.options.unique });
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return unique;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.SchemaBuilder = SchemaBuilder;
|
|
101
|
+
//# sourceMappingURL=SchemaBuilder.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaBuilder.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport 'reflect-metadata'\nimport { tuple } from '../../../utils'\nimport { EntityConstructor, FieldsDefinition } from '../types'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { EntityRegistry } from './EntityRegistry'\nimport { EnumRegistry } from './EnumRegistry'\nimport { ColumnDefinition } from '../fieldDefinitions'\nimport { applyEntityExtensions } from '../extensions'\nimport { StrictDefinitionValidator, StrictOptions } from '../../../strict'\n\nexport class SchemaBuilder {\n\tprivate entityRegistry = new EntityRegistry()\n\n\tprivate enumRegistry = new EnumRegistry()\n\n\tconstructor(\n\t\tprivate readonly conventions: NamingConventions,\n\t\tprivate readonly strictDefinitionValidator: StrictDefinitionValidator = new StrictDefinitionValidator({}),\n\t\tprivate readonly options: {\n\t\t\tdefaultCollation?: string\n\t\t},\n\t) {}\n\n\tpublic addEntity(name: string, entity: EntityConstructor): void {\n\t\tthis.entityRegistry.register(name, entity)\n\t}\n\n\tpublic addEnum(name: string, definition: EnumDefinition): void {\n\t\tthis.enumRegistry.register(name, definition)\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tconst entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]): Model.Entity => {\n\t\t\tconst definitionInstance: FieldsDefinition = new definition()\n\n\t\t\tObject.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {\n\t\t\t\tif (typeof fieldDefinition !== 'object' || !('createField' in fieldDefinition)) {\n\t\t\t\t\tthrow `Entity \"${entityName}\": field \"${fieldName}\" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst primaryName = this.conventions.getPrimaryField()\n\n\t\t\tconst fields: Model.Entity['fields'] = [\n\t\t\t\t...definitionInstance[primaryName] ? [] : [tuple(primaryName, this.createPrimaryColumn())],\n\t\t\t\t...Object.entries(definitionInstance),\n\t\t\t]\n\t\t\t\t.map(([name, definition]) => {\n\t\t\t\t\treturn definition.createField({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tentityName,\n\t\t\t\t\t\tconventions: this.conventions,\n\t\t\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\t\t\toptions: this.options,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.reduce<Model.Entity['fields']>((acc, field) => {\n\t\t\t\t\tif (acc[field.name]) {\n\t\t\t\t\t\tthrow new Error(`Entity ${entityName}: field ${field.name} is already registered`)\n\t\t\t\t\t}\n\t\t\t\t\treturn { ...acc, [field.name]: field }\n\t\t\t\t}, {})\n\n\t\t\tconst entity: Model.Entity = {\n\t\t\t\tname: entityName,\n\t\t\t\tprimary: primaryName,\n\t\t\t\tprimaryColumn: (fields[primaryName] as Model.AnyColumn).columnName,\n\t\t\t\tunique: this.createUnique(entityName, definitionInstance),\n\t\t\t\tindexes: [],\n\t\t\t\tfields: fields,\n\t\t\t\ttableName: this.conventions.getTableName(entityName),\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t\treturn applyEntityExtensions(definition, {\n\t\t\t\tentity,\n\t\t\t\tdefinition: definitionInstance,\n\t\t\t\tregistry: this.entityRegistry,\n\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\tconventions: this.conventions,\n\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\toptions: this.options,\n\t\t\t})\n\t\t})\n\n\t\treturn {\n\t\t\tenums: Object.entries(this.enumRegistry.enums).reduce((acc, [name, def]) => ({ ...acc, [name]: def.values }), {}),\n\t\t\tentities: entities.reduce((acc, entity) => ({ ...acc, [entity.name]: entity }), {}),\n\t\t}\n\t}\n\n\tprivate createPrimaryColumn(): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\tnullable: false,\n\t\t\ttype: Model.ColumnType.Uuid,\n\t\t})\n\t}\n\n\tprivate createUnique(entityName: string, fieldDefinitions: FieldsDefinition): Model.Uniques {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\t\tfor (const [fieldName, definition] of Object.entries(fieldDefinitions)) {\n\t\t\tif (definition.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName], ...definition.options.unique })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["StrictDefinitionValidator","EntityRegistry","EnumRegistry","tuple","definition","applyEntityExtensions","ColumnDefinition","Model"],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { Model } from "@contember/schema";
|
|
2
|
+
import "reflect-metadata";
|
|
3
|
+
import { tuple } from "../../../utils/tuple.js";
|
|
4
|
+
import { EntityRegistry } from "./EntityRegistry.js";
|
|
5
|
+
import { EnumRegistry } from "./EnumRegistry.js";
|
|
6
|
+
import { ColumnDefinition } from "../fieldDefinitions/ColumnDefinition.js";
|
|
7
|
+
import { applyEntityExtensions } from "../extensions.js";
|
|
8
|
+
import { StrictDefinitionValidator } from "../../../strict.js";
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
12
|
+
class SchemaBuilder {
|
|
13
|
+
constructor(conventions, strictDefinitionValidator = new StrictDefinitionValidator({}), options) {
|
|
14
|
+
this.conventions = conventions;
|
|
15
|
+
this.strictDefinitionValidator = strictDefinitionValidator;
|
|
16
|
+
this.options = options;
|
|
17
|
+
__publicField(this, "entityRegistry", new EntityRegistry());
|
|
18
|
+
__publicField(this, "enumRegistry", new EnumRegistry());
|
|
19
|
+
}
|
|
20
|
+
addEntity(name, entity) {
|
|
21
|
+
this.entityRegistry.register(name, entity);
|
|
22
|
+
}
|
|
23
|
+
addEnum(name, definition) {
|
|
24
|
+
this.enumRegistry.register(name, definition);
|
|
25
|
+
}
|
|
26
|
+
createSchema() {
|
|
27
|
+
const entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]) => {
|
|
28
|
+
const definitionInstance = new definition();
|
|
29
|
+
Object.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {
|
|
30
|
+
if (typeof fieldDefinition !== "object" || !("createField" in fieldDefinition)) {
|
|
31
|
+
throw `Entity "${entityName}": field "${fieldName}" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
const primaryName = this.conventions.getPrimaryField();
|
|
35
|
+
const fields = [
|
|
36
|
+
...definitionInstance[primaryName] ? [] : [tuple(primaryName, this.createPrimaryColumn())],
|
|
37
|
+
...Object.entries(definitionInstance)
|
|
38
|
+
].map(([name, definition2]) => {
|
|
39
|
+
return definition2.createField({
|
|
40
|
+
name,
|
|
41
|
+
entityName,
|
|
42
|
+
conventions: this.conventions,
|
|
43
|
+
enumRegistry: this.enumRegistry,
|
|
44
|
+
entityRegistry: this.entityRegistry,
|
|
45
|
+
strictDefinitionValidator: this.strictDefinitionValidator,
|
|
46
|
+
options: this.options
|
|
47
|
+
});
|
|
48
|
+
}).reduce((acc, field) => {
|
|
49
|
+
if (acc[field.name]) {
|
|
50
|
+
throw new Error(`Entity ${entityName}: field ${field.name} is already registered`);
|
|
51
|
+
}
|
|
52
|
+
return { ...acc, [field.name]: field };
|
|
53
|
+
}, {});
|
|
54
|
+
const entity = {
|
|
55
|
+
name: entityName,
|
|
56
|
+
primary: primaryName,
|
|
57
|
+
primaryColumn: fields[primaryName].columnName,
|
|
58
|
+
unique: this.createUnique(entityName, definitionInstance),
|
|
59
|
+
indexes: [],
|
|
60
|
+
fields,
|
|
61
|
+
tableName: this.conventions.getTableName(entityName),
|
|
62
|
+
eventLog: {
|
|
63
|
+
enabled: true
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
return applyEntityExtensions(definition, {
|
|
67
|
+
entity,
|
|
68
|
+
definition: definitionInstance,
|
|
69
|
+
registry: this.entityRegistry,
|
|
70
|
+
entityRegistry: this.entityRegistry,
|
|
71
|
+
conventions: this.conventions,
|
|
72
|
+
enumRegistry: this.enumRegistry,
|
|
73
|
+
strictDefinitionValidator: this.strictDefinitionValidator,
|
|
74
|
+
options: this.options
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
return {
|
|
78
|
+
enums: Object.entries(this.enumRegistry.enums).reduce((acc, [name, def]) => ({ ...acc, [name]: def.values }), {}),
|
|
79
|
+
entities: entities.reduce((acc, entity) => ({ ...acc, [entity.name]: entity }), {})
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
createPrimaryColumn() {
|
|
83
|
+
return new ColumnDefinition({
|
|
84
|
+
nullable: false,
|
|
85
|
+
type: Model.ColumnType.Uuid
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
createUnique(entityName, fieldDefinitions) {
|
|
89
|
+
const unique = [];
|
|
90
|
+
for (const [fieldName, definition] of Object.entries(fieldDefinitions)) {
|
|
91
|
+
if (definition.options.unique) {
|
|
92
|
+
unique.push({ fields: [fieldName], ...definition.options.unique });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return unique;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
export {
|
|
99
|
+
SchemaBuilder
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=SchemaBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaBuilder.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport 'reflect-metadata'\nimport { tuple } from '../../../utils'\nimport { EntityConstructor, FieldsDefinition } from '../types'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { EntityRegistry } from './EntityRegistry'\nimport { EnumRegistry } from './EnumRegistry'\nimport { ColumnDefinition } from '../fieldDefinitions'\nimport { applyEntityExtensions } from '../extensions'\nimport { StrictDefinitionValidator, StrictOptions } from '../../../strict'\n\nexport class SchemaBuilder {\n\tprivate entityRegistry = new EntityRegistry()\n\n\tprivate enumRegistry = new EnumRegistry()\n\n\tconstructor(\n\t\tprivate readonly conventions: NamingConventions,\n\t\tprivate readonly strictDefinitionValidator: StrictDefinitionValidator = new StrictDefinitionValidator({}),\n\t\tprivate readonly options: {\n\t\t\tdefaultCollation?: string\n\t\t},\n\t) {}\n\n\tpublic addEntity(name: string, entity: EntityConstructor): void {\n\t\tthis.entityRegistry.register(name, entity)\n\t}\n\n\tpublic addEnum(name: string, definition: EnumDefinition): void {\n\t\tthis.enumRegistry.register(name, definition)\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tconst entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]): Model.Entity => {\n\t\t\tconst definitionInstance: FieldsDefinition = new definition()\n\n\t\t\tObject.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {\n\t\t\t\tif (typeof fieldDefinition !== 'object' || !('createField' in fieldDefinition)) {\n\t\t\t\t\tthrow `Entity \"${entityName}\": field \"${fieldName}\" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst primaryName = this.conventions.getPrimaryField()\n\n\t\t\tconst fields: Model.Entity['fields'] = [\n\t\t\t\t...definitionInstance[primaryName] ? [] : [tuple(primaryName, this.createPrimaryColumn())],\n\t\t\t\t...Object.entries(definitionInstance),\n\t\t\t]\n\t\t\t\t.map(([name, definition]) => {\n\t\t\t\t\treturn definition.createField({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tentityName,\n\t\t\t\t\t\tconventions: this.conventions,\n\t\t\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\t\t\toptions: this.options,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.reduce<Model.Entity['fields']>((acc, field) => {\n\t\t\t\t\tif (acc[field.name]) {\n\t\t\t\t\t\tthrow new Error(`Entity ${entityName}: field ${field.name} is already registered`)\n\t\t\t\t\t}\n\t\t\t\t\treturn { ...acc, [field.name]: field }\n\t\t\t\t}, {})\n\n\t\t\tconst entity: Model.Entity = {\n\t\t\t\tname: entityName,\n\t\t\t\tprimary: primaryName,\n\t\t\t\tprimaryColumn: (fields[primaryName] as Model.AnyColumn).columnName,\n\t\t\t\tunique: this.createUnique(entityName, definitionInstance),\n\t\t\t\tindexes: [],\n\t\t\t\tfields: fields,\n\t\t\t\ttableName: this.conventions.getTableName(entityName),\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t\treturn applyEntityExtensions(definition, {\n\t\t\t\tentity,\n\t\t\t\tdefinition: definitionInstance,\n\t\t\t\tregistry: this.entityRegistry,\n\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\tconventions: this.conventions,\n\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\toptions: this.options,\n\t\t\t})\n\t\t})\n\n\t\treturn {\n\t\t\tenums: Object.entries(this.enumRegistry.enums).reduce((acc, [name, def]) => ({ ...acc, [name]: def.values }), {}),\n\t\t\tentities: entities.reduce((acc, entity) => ({ ...acc, [entity.name]: entity }), {}),\n\t\t}\n\t}\n\n\tprivate createPrimaryColumn(): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\tnullable: false,\n\t\t\ttype: Model.ColumnType.Uuid,\n\t\t})\n\t}\n\n\tprivate createUnique(entityName: string, fieldDefinitions: FieldsDefinition): Model.Uniques {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\t\tfor (const [fieldName, definition] of Object.entries(fieldDefinitions)) {\n\t\t\tif (definition.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName], ...definition.options.unique })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["definition"],"mappings":"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"}
|