@contember/schema-definition 2.1.0-alpha.37 → 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,47 @@
|
|
|
1
|
+
class OneHasOneBuilder {
|
|
2
|
+
constructor(options, addEntity) {
|
|
3
|
+
this.options = options;
|
|
4
|
+
this.addEntity = addEntity;
|
|
5
|
+
}
|
|
6
|
+
target(target, configurator) {
|
|
7
|
+
if (configurator) {
|
|
8
|
+
this.addEntity(target, configurator);
|
|
9
|
+
}
|
|
10
|
+
return this.withOption("target", target);
|
|
11
|
+
}
|
|
12
|
+
inversedBy(inversedBy) {
|
|
13
|
+
return this.withOption("inversedBy", inversedBy);
|
|
14
|
+
}
|
|
15
|
+
joiningColumn(columnName) {
|
|
16
|
+
return this.withOption("joiningColumn", { ...this.joiningColumn, columnName });
|
|
17
|
+
}
|
|
18
|
+
onDelete(onDelete) {
|
|
19
|
+
return this.withOption("joiningColumn", { ...this.joiningColumn, onDelete });
|
|
20
|
+
}
|
|
21
|
+
notNull() {
|
|
22
|
+
return this.withOption("nullable", false);
|
|
23
|
+
}
|
|
24
|
+
inverseNotNull() {
|
|
25
|
+
return this.withOption("inverseNullable", false);
|
|
26
|
+
}
|
|
27
|
+
/** @deprecated use inverseNotNull*/
|
|
28
|
+
inversedNotNull() {
|
|
29
|
+
return this.withOption("inverseNullable", false);
|
|
30
|
+
}
|
|
31
|
+
removeOrphan() {
|
|
32
|
+
return this.withOption("orphanRemoval", true);
|
|
33
|
+
}
|
|
34
|
+
getOption() {
|
|
35
|
+
return this.options;
|
|
36
|
+
}
|
|
37
|
+
withOption(key, value) {
|
|
38
|
+
return new OneHasOneBuilder(
|
|
39
|
+
{ ...this.options, [key]: value },
|
|
40
|
+
this.addEntity
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export {
|
|
45
|
+
OneHasOneBuilder as default
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=OneHasOneBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneHasOneBuilder.js","sources":["../../../../../../packages/schema-definition/src/model/builder/OneHasOneBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport FieldBuilder from './FieldBuilder'\nimport { AddEntityCallback, EntityConfigurator } from './types'\n\ntype PartialOptions<K extends keyof OneHasOneBuilder.Options> =\n\t& Partial<OneHasOneBuilder.Options>\n\t& Pick<OneHasOneBuilder.Options, K>\n\nclass OneHasOneBuilder<O extends PartialOptions<never> = PartialOptions<never>> implements FieldBuilder<O> {\n\tconstructor(private readonly options: O, private readonly addEntity: AddEntityCallback) {}\n\n\ttarget(target: string, configurator?: EntityConfigurator): OneHasOneBuilder<O & PartialOptions<'target'>> {\n\t\tif (configurator) {\n\t\t\tthis.addEntity(target, configurator)\n\t\t}\n\t\treturn this.withOption('target', target)\n\t}\n\n\tinversedBy(inversedBy: string): OneHasOneBuilder<O> {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneBuilder<O> {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete): OneHasOneBuilder<O> {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete })\n\t}\n\n\tnotNull(): OneHasOneBuilder<O> {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tinverseNotNull(): OneHasOneBuilder<O> {\n\t\treturn this.withOption('inverseNullable', false)\n\t}\n\n\t/** @deprecated use inverseNotNull*/\n\tinversedNotNull(): OneHasOneBuilder<O> {\n\t\treturn this.withOption('inverseNullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneBuilder<O> {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tgetOption(): O {\n\t\treturn this.options\n\t}\n\n\tprivate withOption<K extends keyof OneHasOneBuilder.Options>(key: K, value: OneHasOneBuilder.Options[K]) {\n\t\treturn new OneHasOneBuilder<O & PartialOptions<K>>(\n\t\t\t{ ...(this.options as object), [key]: value } as O & PartialOptions<K>,\n\t\t\tthis.addEntity,\n\t\t)\n\t}\n}\n\nnamespace OneHasOneBuilder {\n\texport type Options = {\n\t\ttarget: string\n\t\tinversedBy?: string\n\t\tjoiningColumn?: Partial<Model.JoiningColumn>\n\t\tnullable?: boolean\n\t\tinverseNullable?: boolean\n\t\torphanRemoval?: true\n\t}\n}\n\nexport default OneHasOneBuilder\n"],"names":[],"mappings":"AAQA,MAAM,iBAAqG;AAAA,EAC1G,YAA6B,SAA6B,WAA8B;AAA3D,SAAA,UAAA;AAA6B,SAAA,YAAA;AAAA,EAA+B;AAAA,EAEzF,OAAO,QAAgB,cAAmF;AACzG,QAAI,cAAc;AACjB,WAAK,UAAU,QAAQ,YAAY;AAAA,IACpC;AACA,WAAO,KAAK,WAAW,UAAU,MAAM;AAAA,EACxC;AAAA,EAEA,WAAW,YAAyC;AACnD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AACtD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAA+C;AACvD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAU;AAAA,EAC5E;AAAA,EAEA,UAA+B;AAC9B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,iBAAsC;AACrC,WAAO,KAAK,WAAW,mBAAmB,KAAK;AAAA,EAChD;AAAA;AAAA,EAGA,kBAAuC;AACtC,WAAO,KAAK,WAAW,mBAAmB,KAAK;AAAA,EAChD;AAAA,EAEA,eAAoC;AACnC,WAAO,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAe;AACd,WAAO,KAAK;AAAA,EACb;AAAA,EAEQ,WAAqD,KAAQ,OAAoC;AACxG,WAAO,IAAI;AAAA,MACV,EAAE,GAAI,KAAK,SAAoB,CAAC,GAAG,GAAG,MAAA;AAAA,MACtC,KAAK;AAAA,IAAA;AAAA,EAEP;AACD;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const EntityBuilder = require("./EntityBuilder.cjs");
|
|
4
|
+
const schemaUtils = require("@contember/schema-utils");
|
|
5
|
+
const SchemaBuilderInternal = require("./SchemaBuilderInternal.cjs");
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
9
|
+
class SchemaBuilder {
|
|
10
|
+
constructor(conventions = new schemaUtils.DefaultNamingConventions()) {
|
|
11
|
+
this.conventions = conventions;
|
|
12
|
+
__publicField(this, "entities", {});
|
|
13
|
+
__publicField(this, "enums", {});
|
|
14
|
+
}
|
|
15
|
+
enum(name, values) {
|
|
16
|
+
this.enums[name] = values;
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
entity(name, configurator) {
|
|
20
|
+
this.entities[name] = configurator;
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
buildSchema() {
|
|
24
|
+
const builder = new SchemaBuilderInternal(this.conventions);
|
|
25
|
+
const addEntity = (name, configurator) => {
|
|
26
|
+
const entityBuilder = configurator(new EntityBuilder({}, {}, addEntity));
|
|
27
|
+
const entityOptions = entityBuilder.getOptions();
|
|
28
|
+
const fields = entityBuilder.getFields();
|
|
29
|
+
builder.addEntity(name, entityOptions, fields);
|
|
30
|
+
};
|
|
31
|
+
for (let name in this.entities) {
|
|
32
|
+
const configurator = this.entities[name];
|
|
33
|
+
addEntity(name, configurator);
|
|
34
|
+
}
|
|
35
|
+
Object.keys(this.enums).forEach((name) => builder.addEnum(name, this.enums[name]));
|
|
36
|
+
return builder.createSchema();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.default = SchemaBuilder;
|
|
40
|
+
//# sourceMappingURL=SchemaBuilder.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaBuilder.cjs","sources":["../../../../../../packages/schema-definition/src/model/builder/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport EntityBuilder from './EntityBuilder'\nimport { DefaultNamingConventions, NamingConventions } from '@contember/schema-utils'\nimport SchemaBuilderInternal from './SchemaBuilderInternal'\nimport { EntityConfigurator } from './types'\n\nexport default class SchemaBuilder {\n\tprivate entities: { [name: string]: EntityConfigurator } = {}\n\tprivate enums: { [name: string]: string[] } = {}\n\n\tconstructor(private readonly conventions: NamingConventions = new DefaultNamingConventions()) {}\n\n\tpublic enum(name: string, values: string[]): SchemaBuilder {\n\t\tthis.enums[name] = values\n\t\treturn this\n\t}\n\n\tpublic entity(name: string, configurator: EntityConfigurator): SchemaBuilder {\n\t\tthis.entities[name] = configurator\n\t\treturn this\n\t}\n\n\tpublic buildSchema(): Model.Schema {\n\t\tconst builder = new SchemaBuilderInternal(this.conventions)\n\n\t\tconst addEntity = (name: string, configurator: EntityConfigurator): void => {\n\t\t\tconst entityBuilder: EntityBuilder = configurator(new EntityBuilder({}, {}, addEntity))\n\t\t\tconst entityOptions = entityBuilder.getOptions()\n\t\t\tconst fields = entityBuilder.getFields()\n\t\t\tbuilder.addEntity(name, entityOptions, fields)\n\t\t}\n\t\tfor (let name in this.entities) {\n\t\t\tconst configurator = this.entities[name]\n\t\t\taddEntity(name, configurator)\n\t\t}\n\t\tObject.keys(this.enums).forEach(name => builder.addEnum(name, this.enums[name]))\n\n\t\treturn builder.createSchema()\n\t}\n}\n\nexport * from './SchemaBuilderError'\n"],"names":["DefaultNamingConventions"],"mappings":";;;;;;;;AAMA,MAAqB,cAAc;AAAA,EAIlC,YAA6B,cAAiC,IAAIA,YAAAA,4BAA4B;AAAjE,SAAA,cAAA;AAH7B,kBAAA,MAAQ,YAAmD,EAAC;AAC5D,kBAAA,MAAQ,SAAsC,EAAC;AAAA,EAEgD;AAAA,EAExF,KAAK,MAAc,QAAiC;AAC1D,SAAK,MAAM,IAAI,IAAI;AACnB,WAAO;AAAA,EACR;AAAA,EAEO,OAAO,MAAc,cAAiD;AAC5E,SAAK,SAAS,IAAI,IAAI;AACtB,WAAO;AAAA,EACR;AAAA,EAEO,cAA4B;AAClC,UAAM,UAAU,IAAI,sBAAsB,KAAK,WAAW;AAE1D,UAAM,YAAY,CAAC,MAAc,iBAA2C;AAC3E,YAAM,gBAA+B,aAAa,IAAI,cAAc,CAAA,GAAI,CAAA,GAAI,SAAS,CAAC;AACtF,YAAM,gBAAgB,cAAc,WAAA;AACpC,YAAM,SAAS,cAAc,UAAA;AAC7B,cAAQ,UAAU,MAAM,eAAe,MAAM;AAAA,IAC9C;AACA,aAAS,QAAQ,KAAK,UAAU;AAC/B,YAAM,eAAe,KAAK,SAAS,IAAI;AACvC,gBAAU,MAAM,YAAY;AAAA,IAC7B;AACA,WAAO,KAAK,KAAK,KAAK,EAAE,QAAQ,CAAA,SAAQ,QAAQ,QAAQ,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC;AAE/E,WAAO,QAAQ,aAAA;AAAA,EAChB;AACD;;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import EntityBuilder from "./EntityBuilder.js";
|
|
2
|
+
import { DefaultNamingConventions } from "@contember/schema-utils";
|
|
3
|
+
import SchemaBuilderInternal from "./SchemaBuilderInternal.js";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
7
|
+
class SchemaBuilder {
|
|
8
|
+
constructor(conventions = new DefaultNamingConventions()) {
|
|
9
|
+
this.conventions = conventions;
|
|
10
|
+
__publicField(this, "entities", {});
|
|
11
|
+
__publicField(this, "enums", {});
|
|
12
|
+
}
|
|
13
|
+
enum(name, values) {
|
|
14
|
+
this.enums[name] = values;
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
entity(name, configurator) {
|
|
18
|
+
this.entities[name] = configurator;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
buildSchema() {
|
|
22
|
+
const builder = new SchemaBuilderInternal(this.conventions);
|
|
23
|
+
const addEntity = (name, configurator) => {
|
|
24
|
+
const entityBuilder = configurator(new EntityBuilder({}, {}, addEntity));
|
|
25
|
+
const entityOptions = entityBuilder.getOptions();
|
|
26
|
+
const fields = entityBuilder.getFields();
|
|
27
|
+
builder.addEntity(name, entityOptions, fields);
|
|
28
|
+
};
|
|
29
|
+
for (let name in this.entities) {
|
|
30
|
+
const configurator = this.entities[name];
|
|
31
|
+
addEntity(name, configurator);
|
|
32
|
+
}
|
|
33
|
+
Object.keys(this.enums).forEach((name) => builder.addEnum(name, this.enums[name]));
|
|
34
|
+
return builder.createSchema();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export {
|
|
38
|
+
SchemaBuilder as default
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=SchemaBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaBuilder.js","sources":["../../../../../../packages/schema-definition/src/model/builder/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport EntityBuilder from './EntityBuilder'\nimport { DefaultNamingConventions, NamingConventions } from '@contember/schema-utils'\nimport SchemaBuilderInternal from './SchemaBuilderInternal'\nimport { EntityConfigurator } from './types'\n\nexport default class SchemaBuilder {\n\tprivate entities: { [name: string]: EntityConfigurator } = {}\n\tprivate enums: { [name: string]: string[] } = {}\n\n\tconstructor(private readonly conventions: NamingConventions = new DefaultNamingConventions()) {}\n\n\tpublic enum(name: string, values: string[]): SchemaBuilder {\n\t\tthis.enums[name] = values\n\t\treturn this\n\t}\n\n\tpublic entity(name: string, configurator: EntityConfigurator): SchemaBuilder {\n\t\tthis.entities[name] = configurator\n\t\treturn this\n\t}\n\n\tpublic buildSchema(): Model.Schema {\n\t\tconst builder = new SchemaBuilderInternal(this.conventions)\n\n\t\tconst addEntity = (name: string, configurator: EntityConfigurator): void => {\n\t\t\tconst entityBuilder: EntityBuilder = configurator(new EntityBuilder({}, {}, addEntity))\n\t\t\tconst entityOptions = entityBuilder.getOptions()\n\t\t\tconst fields = entityBuilder.getFields()\n\t\t\tbuilder.addEntity(name, entityOptions, fields)\n\t\t}\n\t\tfor (let name in this.entities) {\n\t\t\tconst configurator = this.entities[name]\n\t\t\taddEntity(name, configurator)\n\t\t}\n\t\tObject.keys(this.enums).forEach(name => builder.addEnum(name, this.enums[name]))\n\n\t\treturn builder.createSchema()\n\t}\n}\n\nexport * from './SchemaBuilderError'\n"],"names":[],"mappings":";;;;;;AAMA,MAAqB,cAAc;AAAA,EAIlC,YAA6B,cAAiC,IAAI,4BAA4B;AAAjE,SAAA,cAAA;AAH7B,kBAAA,MAAQ,YAAmD,EAAC;AAC5D,kBAAA,MAAQ,SAAsC,EAAC;AAAA,EAEgD;AAAA,EAExF,KAAK,MAAc,QAAiC;AAC1D,SAAK,MAAM,IAAI,IAAI;AACnB,WAAO;AAAA,EACR;AAAA,EAEO,OAAO,MAAc,cAAiD;AAC5E,SAAK,SAAS,IAAI,IAAI;AACtB,WAAO;AAAA,EACR;AAAA,EAEO,cAA4B;AAClC,UAAM,UAAU,IAAI,sBAAsB,KAAK,WAAW;AAE1D,UAAM,YAAY,CAAC,MAAc,iBAA2C;AAC3E,YAAM,gBAA+B,aAAa,IAAI,cAAc,CAAA,GAAI,CAAA,GAAI,SAAS,CAAC;AACtF,YAAM,gBAAgB,cAAc,WAAA;AACpC,YAAM,SAAS,cAAc,UAAA;AAC7B,cAAQ,UAAU,MAAM,eAAe,MAAM;AAAA,IAC9C;AACA,aAAS,QAAQ,KAAK,UAAU;AAC/B,YAAM,eAAe,KAAK,SAAS,IAAI;AACvC,gBAAU,MAAM,YAAY;AAAA,IAC7B;AACA,WAAO,KAAK,KAAK,KAAK,EAAE,QAAQ,CAAA,SAAQ,QAAQ,QAAQ,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC;AAE/E,WAAO,QAAQ,aAAA;AAAA,EAChB;AACD;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaBuilderError.cjs","sources":["../../../../../../packages/schema-definition/src/model/builder/SchemaBuilderError.ts"],"sourcesContent":["export class SchemaBuilderError extends Error {}\n"],"names":[],"mappings":";;AAAO,MAAM,2BAA2B,MAAM;AAAC;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaBuilderError.js","sources":["../../../../../../packages/schema-definition/src/model/builder/SchemaBuilderError.ts"],"sourcesContent":["export class SchemaBuilderError extends Error {}\n"],"names":[],"mappings":"AAAO,MAAM,2BAA2B,MAAM;AAAC;"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const schema = require("@contember/schema");
|
|
3
|
+
const SchemaBuilderError = require("./SchemaBuilderError.cjs");
|
|
4
|
+
const ColumnProcessor = require("./internal/ColumnProcessor.cjs");
|
|
5
|
+
const ManyHasManyProcessor = require("./internal/ManyHasManyProcessor.cjs");
|
|
6
|
+
const OneHasOneProcessor = require("./internal/OneHasOneProcessor.cjs");
|
|
7
|
+
const OneHasManyProcessor = require("./internal/OneHasManyProcessor.cjs");
|
|
8
|
+
const ManyHasOneProcessor = require("./internal/ManyHasOneProcessor.cjs");
|
|
9
|
+
const FieldBuilder = require("./FieldBuilder.cjs");
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
13
|
+
class SchemaBuilderInternal {
|
|
14
|
+
constructor(conventions) {
|
|
15
|
+
this.conventions = conventions;
|
|
16
|
+
__publicField(this, "entities", {});
|
|
17
|
+
__publicField(this, "fieldOptions", {});
|
|
18
|
+
__publicField(this, "enums", {});
|
|
19
|
+
}
|
|
20
|
+
addEntity(name, options, fieldOptions) {
|
|
21
|
+
this.fieldOptions[name] = fieldOptions;
|
|
22
|
+
const primaryName = this.getPrimaryFieldName(options, name, fieldOptions);
|
|
23
|
+
if (!fieldOptions[primaryName]) {
|
|
24
|
+
fieldOptions[primaryName] = this.createDefaultPrimary(primaryName);
|
|
25
|
+
}
|
|
26
|
+
const primaryField = fieldOptions[primaryName];
|
|
27
|
+
if (primaryField.type !== FieldBuilder.Type.Column) {
|
|
28
|
+
throw new SchemaBuilderError.SchemaBuilderError(`${name}: Primary field must be a column`);
|
|
29
|
+
}
|
|
30
|
+
primaryField.options.primary = true;
|
|
31
|
+
primaryField.options.nullable = false;
|
|
32
|
+
this.entities[name] = {
|
|
33
|
+
name,
|
|
34
|
+
primary: primaryName,
|
|
35
|
+
primaryColumn: primaryField.options.columnName || this.conventions.getColumnName(primaryName),
|
|
36
|
+
unique: this.createUnique(name, options, fieldOptions),
|
|
37
|
+
fields: {},
|
|
38
|
+
indexes: [],
|
|
39
|
+
tableName: options.tableName || this.conventions.getTableName(name),
|
|
40
|
+
eventLog: {
|
|
41
|
+
enabled: true
|
|
42
|
+
},
|
|
43
|
+
...options.orderBy !== void 0 ? { orderBy: options.orderBy } : {}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
addEnum(name, values) {
|
|
47
|
+
this.enums[name] = values;
|
|
48
|
+
}
|
|
49
|
+
createSchema() {
|
|
50
|
+
for (let entityName in this.fieldOptions) {
|
|
51
|
+
let primaryField = this.entities[entityName].primary;
|
|
52
|
+
this.processField(entityName, primaryField);
|
|
53
|
+
for (let fieldName in this.fieldOptions[entityName]) {
|
|
54
|
+
if (fieldName === primaryField) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
this.processField(entityName, fieldName);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
enums: this.enums,
|
|
62
|
+
entities: this.entities
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
processField(entityName, fieldName) {
|
|
66
|
+
const processor = this.createProcessor(entityName, fieldName);
|
|
67
|
+
processor.process(
|
|
68
|
+
entityName,
|
|
69
|
+
fieldName,
|
|
70
|
+
this.fieldOptions[entityName][fieldName].options,
|
|
71
|
+
this.registerField.bind(this)
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
createProcessor(entityName, fieldName) {
|
|
75
|
+
const field = this.fieldOptions[entityName][fieldName];
|
|
76
|
+
if (field.type === FieldBuilder.Type.Column) {
|
|
77
|
+
return new ColumnProcessor(this.conventions);
|
|
78
|
+
}
|
|
79
|
+
this.checkTarget(entityName, fieldName, field.options);
|
|
80
|
+
switch (field.type) {
|
|
81
|
+
case FieldBuilder.Type.ManyHasMany:
|
|
82
|
+
return new ManyHasManyProcessor(this.conventions);
|
|
83
|
+
case FieldBuilder.Type.OneHasOne:
|
|
84
|
+
return new OneHasOneProcessor(this.conventions);
|
|
85
|
+
case FieldBuilder.Type.OneHasMany:
|
|
86
|
+
return new OneHasManyProcessor(this.conventions);
|
|
87
|
+
case FieldBuilder.Type.ManyHasOne:
|
|
88
|
+
return new ManyHasOneProcessor(this.conventions);
|
|
89
|
+
}
|
|
90
|
+
throw new Error();
|
|
91
|
+
}
|
|
92
|
+
checkTarget(entityName, fieldName, options) {
|
|
93
|
+
if (!this.entities[options.target]) {
|
|
94
|
+
throw new SchemaBuilderError.SchemaBuilderError(`${entityName}::${fieldName}: undefined target entity ${options.target}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
registerField(entityName, field) {
|
|
98
|
+
if (!this.entities[entityName]) {
|
|
99
|
+
throw new SchemaBuilderError.SchemaBuilderError(`Undefined entity ${entityName}`);
|
|
100
|
+
}
|
|
101
|
+
if (this.entities[entityName].fields[field.name]) {
|
|
102
|
+
throw new SchemaBuilderError.SchemaBuilderError(`${entityName}: Field ${field.name} is already defined`);
|
|
103
|
+
}
|
|
104
|
+
this.entities[entityName].fields[field.name] = field;
|
|
105
|
+
}
|
|
106
|
+
getPrimaryFieldName(entityOptions, entityName, fields) {
|
|
107
|
+
let primary = [];
|
|
108
|
+
if (entityOptions.primary) {
|
|
109
|
+
primary.push(entityOptions.primary);
|
|
110
|
+
}
|
|
111
|
+
for (let name in fields) {
|
|
112
|
+
const field = fields[name];
|
|
113
|
+
if (field.type !== FieldBuilder.Type.Column) {
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
if (!field.options.primary) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
if (!primary.includes(name)) {
|
|
120
|
+
primary.push(name);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
if (primary.length > 1) {
|
|
124
|
+
throw new SchemaBuilderError.SchemaBuilderError(`${entityName}: Only single column can be a primary. Found: ${primary.join(", ")}`);
|
|
125
|
+
}
|
|
126
|
+
return primary.length === 1 ? primary[0] : this.conventions.getPrimaryField();
|
|
127
|
+
}
|
|
128
|
+
createDefaultPrimary(fieldName) {
|
|
129
|
+
return {
|
|
130
|
+
type: FieldBuilder.Type.Column,
|
|
131
|
+
options: {
|
|
132
|
+
nullable: false,
|
|
133
|
+
type: schema.Model.ColumnType.Uuid,
|
|
134
|
+
primary: true
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
createUnique(entityName, options, fieldOptions) {
|
|
139
|
+
const unique = [];
|
|
140
|
+
for (const singleUnique of options.unique || []) {
|
|
141
|
+
unique.push(singleUnique);
|
|
142
|
+
}
|
|
143
|
+
for (let fieldName in fieldOptions) {
|
|
144
|
+
const options2 = fieldOptions[fieldName];
|
|
145
|
+
if (options2.type === FieldBuilder.Type.Column && options2.options.unique) {
|
|
146
|
+
unique.push({ fields: [fieldName] });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return unique;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
module.exports = SchemaBuilderInternal;
|
|
153
|
+
//# sourceMappingURL=SchemaBuilderInternal.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaBuilderInternal.cjs","sources":["../../../../../../packages/schema-definition/src/model/builder/SchemaBuilderInternal.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport EntityBuilder from './EntityBuilder'\nimport { SchemaBuilderError } from './SchemaBuilderError'\nimport FieldProcessor from './internal/FieldProcessor'\nimport ColumnProcessor from './internal/ColumnProcessor'\nimport ManyHasManyProcessor from './internal/ManyHasManyProcessor'\nimport OneHasOneProcessor from './internal/OneHasOneProcessor'\nimport OneHasManyProcessor from './internal/OneHasManyProcessor'\nimport ManyHasOneProcessor from './internal/ManyHasOneProcessor'\nimport FieldBuilder from './FieldBuilder'\n\nexport default class SchemaBuilderInternal {\n\tprivate entities: { [name: string]: Model.Entity & { fields: Record<string, Model.AnyField> } } = {}\n\n\tprivate fieldOptions: { [entity: string]: FieldBuilder.Map } = {}\n\n\tprivate enums: { [name: string]: string[] } = {}\n\n\tconstructor(private readonly conventions: NamingConventions) {}\n\n\tpublic addEntity(name: string, options: EntityBuilder.EntityOptions, fieldOptions: FieldBuilder.Map): void {\n\t\tthis.fieldOptions[name] = fieldOptions\n\t\tconst primaryName = this.getPrimaryFieldName(options, name, fieldOptions)\n\t\tif (!fieldOptions[primaryName]) {\n\t\t\tfieldOptions[primaryName] = this.createDefaultPrimary(primaryName)\n\t\t}\n\t\tconst primaryField = fieldOptions[primaryName]\n\t\tif (primaryField.type !== FieldBuilder.Type.Column) {\n\t\t\tthrow new SchemaBuilderError(`${name}: Primary field must be a column`)\n\t\t}\n\t\tprimaryField.options.primary = true\n\t\tprimaryField.options.nullable = false\n\n\t\tthis.entities[name] = {\n\t\t\tname: name,\n\t\t\tprimary: primaryName,\n\t\t\tprimaryColumn: primaryField.options.columnName || this.conventions.getColumnName(primaryName),\n\t\t\tunique: this.createUnique(name, options, fieldOptions),\n\t\t\tfields: {},\n\t\t\tindexes: [],\n\t\t\ttableName: options.tableName || this.conventions.getTableName(name),\n\t\t\teventLog: {\n\t\t\t\tenabled: true,\n\t\t\t},\n\t\t\t...(options.orderBy !== undefined ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tpublic addEnum(name: string, values: string[]): void {\n\t\tthis.enums[name] = values\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tfor (let entityName in this.fieldOptions) {\n\t\t\tlet primaryField = this.entities[entityName].primary\n\t\t\tthis.processField(entityName, primaryField)\n\t\t\tfor (let fieldName in this.fieldOptions[entityName]) {\n\t\t\t\tif (fieldName === primaryField) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tthis.processField(entityName, fieldName)\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tenums: this.enums,\n\t\t\tentities: this.entities,\n\t\t}\n\t}\n\n\tprivate processField(entityName: string, fieldName: string): void {\n\t\tconst processor = this.createProcessor(entityName, fieldName)\n\t\tprocessor.process(\n\t\t\tentityName,\n\t\t\tfieldName,\n\t\t\tthis.fieldOptions[entityName][fieldName].options,\n\t\t\tthis.registerField.bind(this),\n\t\t)\n\t}\n\n\tprivate createProcessor(entityName: string, fieldName: string): FieldProcessor<any> {\n\t\tconst field: FieldBuilder.Options = this.fieldOptions[entityName][fieldName]\n\n\t\tif (field.type === FieldBuilder.Type.Column) {\n\t\t\treturn new ColumnProcessor(this.conventions)\n\t\t}\n\t\tthis.checkTarget(entityName, fieldName, field.options)\n\t\tswitch (field.type) {\n\t\t\tcase FieldBuilder.Type.ManyHasMany:\n\t\t\t\treturn new ManyHasManyProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.OneHasOne:\n\t\t\t\treturn new OneHasOneProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.OneHasMany:\n\t\t\t\treturn new OneHasManyProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.ManyHasOne:\n\t\t\t\treturn new ManyHasOneProcessor(this.conventions)\n\t\t}\n\n\t\tthrow new Error()\n\t}\n\n\tprivate checkTarget(entityName: string, fieldName: string, options: { target: string }) {\n\t\tif (!this.entities[options.target]) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}::${fieldName}: undefined target entity ${options.target}`)\n\t\t}\n\t}\n\n\tprivate registerField(entityName: string, field: Model.AnyColumn | Model.AnyRelation) {\n\t\tif (!this.entities[entityName]) {\n\t\t\tthrow new SchemaBuilderError(`Undefined entity ${entityName}`)\n\t\t}\n\t\tif (this.entities[entityName].fields[field.name]) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}: Field ${field.name} is already defined`)\n\t\t}\n\t\tthis.entities[entityName].fields[field.name] = field\n\t}\n\n\tprivate getPrimaryFieldName(\n\t\tentityOptions: EntityBuilder.EntityOptions,\n\t\tentityName: string,\n\t\tfields: FieldBuilder.Map,\n\t) {\n\t\tlet primary: string[] = []\n\t\tif (entityOptions.primary) {\n\t\t\tprimary.push(entityOptions.primary)\n\t\t}\n\t\tfor (let name in fields) {\n\t\t\tconst field: FieldBuilder.Options = fields[name]\n\t\t\tif (field.type !== FieldBuilder.Type.Column) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!field.options.primary) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!primary.includes(name)) {\n\t\t\t\tprimary.push(name)\n\t\t\t}\n\t\t}\n\t\tif (primary.length > 1) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}: Only single column can be a primary. Found: ${primary.join(', ')}`)\n\t\t}\n\t\treturn primary.length === 1 ? primary[0] : this.conventions.getPrimaryField()\n\t}\n\n\tprivate createDefaultPrimary(fieldName: string): FieldBuilder.Options {\n\t\treturn {\n\t\t\ttype: FieldBuilder.Type.Column,\n\t\t\toptions: {\n\t\t\t\tnullable: false,\n\t\t\t\ttype: Model.ColumnType.Uuid,\n\t\t\t\tprimary: true,\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate createUnique(\n\t\tentityName: string,\n\t\toptions: EntityBuilder.EntityOptions,\n\t\tfieldOptions: FieldBuilder.Map,\n\t): Model.Uniques {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\n\t\tfor (const singleUnique of options.unique || []) {\n\t\t\tunique.push(singleUnique)\n\t\t}\n\t\tfor (let fieldName in fieldOptions) {\n\t\t\tconst options = fieldOptions[fieldName]\n\n\t\t\tif (options.type === FieldBuilder.Type.Column && options.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName] })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["SchemaBuilderError","Model","options"],"mappings":"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"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { Model } from "@contember/schema";
|
|
2
|
+
import { SchemaBuilderError } from "./SchemaBuilderError.js";
|
|
3
|
+
import ColumnProcessor from "./internal/ColumnProcessor.js";
|
|
4
|
+
import ManyHasManyProcessor from "./internal/ManyHasManyProcessor.js";
|
|
5
|
+
import OneHasOneProcessor from "./internal/OneHasOneProcessor.js";
|
|
6
|
+
import OneHasManyProcessor from "./internal/OneHasManyProcessor.js";
|
|
7
|
+
import ManyHasOneProcessor from "./internal/ManyHasOneProcessor.js";
|
|
8
|
+
import FieldBuilder from "./FieldBuilder.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 SchemaBuilderInternal {
|
|
13
|
+
constructor(conventions) {
|
|
14
|
+
this.conventions = conventions;
|
|
15
|
+
__publicField(this, "entities", {});
|
|
16
|
+
__publicField(this, "fieldOptions", {});
|
|
17
|
+
__publicField(this, "enums", {});
|
|
18
|
+
}
|
|
19
|
+
addEntity(name, options, fieldOptions) {
|
|
20
|
+
this.fieldOptions[name] = fieldOptions;
|
|
21
|
+
const primaryName = this.getPrimaryFieldName(options, name, fieldOptions);
|
|
22
|
+
if (!fieldOptions[primaryName]) {
|
|
23
|
+
fieldOptions[primaryName] = this.createDefaultPrimary(primaryName);
|
|
24
|
+
}
|
|
25
|
+
const primaryField = fieldOptions[primaryName];
|
|
26
|
+
if (primaryField.type !== FieldBuilder.Type.Column) {
|
|
27
|
+
throw new SchemaBuilderError(`${name}: Primary field must be a column`);
|
|
28
|
+
}
|
|
29
|
+
primaryField.options.primary = true;
|
|
30
|
+
primaryField.options.nullable = false;
|
|
31
|
+
this.entities[name] = {
|
|
32
|
+
name,
|
|
33
|
+
primary: primaryName,
|
|
34
|
+
primaryColumn: primaryField.options.columnName || this.conventions.getColumnName(primaryName),
|
|
35
|
+
unique: this.createUnique(name, options, fieldOptions),
|
|
36
|
+
fields: {},
|
|
37
|
+
indexes: [],
|
|
38
|
+
tableName: options.tableName || this.conventions.getTableName(name),
|
|
39
|
+
eventLog: {
|
|
40
|
+
enabled: true
|
|
41
|
+
},
|
|
42
|
+
...options.orderBy !== void 0 ? { orderBy: options.orderBy } : {}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
addEnum(name, values) {
|
|
46
|
+
this.enums[name] = values;
|
|
47
|
+
}
|
|
48
|
+
createSchema() {
|
|
49
|
+
for (let entityName in this.fieldOptions) {
|
|
50
|
+
let primaryField = this.entities[entityName].primary;
|
|
51
|
+
this.processField(entityName, primaryField);
|
|
52
|
+
for (let fieldName in this.fieldOptions[entityName]) {
|
|
53
|
+
if (fieldName === primaryField) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
this.processField(entityName, fieldName);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
enums: this.enums,
|
|
61
|
+
entities: this.entities
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
processField(entityName, fieldName) {
|
|
65
|
+
const processor = this.createProcessor(entityName, fieldName);
|
|
66
|
+
processor.process(
|
|
67
|
+
entityName,
|
|
68
|
+
fieldName,
|
|
69
|
+
this.fieldOptions[entityName][fieldName].options,
|
|
70
|
+
this.registerField.bind(this)
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
createProcessor(entityName, fieldName) {
|
|
74
|
+
const field = this.fieldOptions[entityName][fieldName];
|
|
75
|
+
if (field.type === FieldBuilder.Type.Column) {
|
|
76
|
+
return new ColumnProcessor(this.conventions);
|
|
77
|
+
}
|
|
78
|
+
this.checkTarget(entityName, fieldName, field.options);
|
|
79
|
+
switch (field.type) {
|
|
80
|
+
case FieldBuilder.Type.ManyHasMany:
|
|
81
|
+
return new ManyHasManyProcessor(this.conventions);
|
|
82
|
+
case FieldBuilder.Type.OneHasOne:
|
|
83
|
+
return new OneHasOneProcessor(this.conventions);
|
|
84
|
+
case FieldBuilder.Type.OneHasMany:
|
|
85
|
+
return new OneHasManyProcessor(this.conventions);
|
|
86
|
+
case FieldBuilder.Type.ManyHasOne:
|
|
87
|
+
return new ManyHasOneProcessor(this.conventions);
|
|
88
|
+
}
|
|
89
|
+
throw new Error();
|
|
90
|
+
}
|
|
91
|
+
checkTarget(entityName, fieldName, options) {
|
|
92
|
+
if (!this.entities[options.target]) {
|
|
93
|
+
throw new SchemaBuilderError(`${entityName}::${fieldName}: undefined target entity ${options.target}`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
registerField(entityName, field) {
|
|
97
|
+
if (!this.entities[entityName]) {
|
|
98
|
+
throw new SchemaBuilderError(`Undefined entity ${entityName}`);
|
|
99
|
+
}
|
|
100
|
+
if (this.entities[entityName].fields[field.name]) {
|
|
101
|
+
throw new SchemaBuilderError(`${entityName}: Field ${field.name} is already defined`);
|
|
102
|
+
}
|
|
103
|
+
this.entities[entityName].fields[field.name] = field;
|
|
104
|
+
}
|
|
105
|
+
getPrimaryFieldName(entityOptions, entityName, fields) {
|
|
106
|
+
let primary = [];
|
|
107
|
+
if (entityOptions.primary) {
|
|
108
|
+
primary.push(entityOptions.primary);
|
|
109
|
+
}
|
|
110
|
+
for (let name in fields) {
|
|
111
|
+
const field = fields[name];
|
|
112
|
+
if (field.type !== FieldBuilder.Type.Column) {
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if (!field.options.primary) {
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
if (!primary.includes(name)) {
|
|
119
|
+
primary.push(name);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
if (primary.length > 1) {
|
|
123
|
+
throw new SchemaBuilderError(`${entityName}: Only single column can be a primary. Found: ${primary.join(", ")}`);
|
|
124
|
+
}
|
|
125
|
+
return primary.length === 1 ? primary[0] : this.conventions.getPrimaryField();
|
|
126
|
+
}
|
|
127
|
+
createDefaultPrimary(fieldName) {
|
|
128
|
+
return {
|
|
129
|
+
type: FieldBuilder.Type.Column,
|
|
130
|
+
options: {
|
|
131
|
+
nullable: false,
|
|
132
|
+
type: Model.ColumnType.Uuid,
|
|
133
|
+
primary: true
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
createUnique(entityName, options, fieldOptions) {
|
|
138
|
+
const unique = [];
|
|
139
|
+
for (const singleUnique of options.unique || []) {
|
|
140
|
+
unique.push(singleUnique);
|
|
141
|
+
}
|
|
142
|
+
for (let fieldName in fieldOptions) {
|
|
143
|
+
const options2 = fieldOptions[fieldName];
|
|
144
|
+
if (options2.type === FieldBuilder.Type.Column && options2.options.unique) {
|
|
145
|
+
unique.push({ fields: [fieldName] });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return unique;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
export {
|
|
152
|
+
SchemaBuilderInternal as default
|
|
153
|
+
};
|
|
154
|
+
//# sourceMappingURL=SchemaBuilderInternal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SchemaBuilderInternal.js","sources":["../../../../../../packages/schema-definition/src/model/builder/SchemaBuilderInternal.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport EntityBuilder from './EntityBuilder'\nimport { SchemaBuilderError } from './SchemaBuilderError'\nimport FieldProcessor from './internal/FieldProcessor'\nimport ColumnProcessor from './internal/ColumnProcessor'\nimport ManyHasManyProcessor from './internal/ManyHasManyProcessor'\nimport OneHasOneProcessor from './internal/OneHasOneProcessor'\nimport OneHasManyProcessor from './internal/OneHasManyProcessor'\nimport ManyHasOneProcessor from './internal/ManyHasOneProcessor'\nimport FieldBuilder from './FieldBuilder'\n\nexport default class SchemaBuilderInternal {\n\tprivate entities: { [name: string]: Model.Entity & { fields: Record<string, Model.AnyField> } } = {}\n\n\tprivate fieldOptions: { [entity: string]: FieldBuilder.Map } = {}\n\n\tprivate enums: { [name: string]: string[] } = {}\n\n\tconstructor(private readonly conventions: NamingConventions) {}\n\n\tpublic addEntity(name: string, options: EntityBuilder.EntityOptions, fieldOptions: FieldBuilder.Map): void {\n\t\tthis.fieldOptions[name] = fieldOptions\n\t\tconst primaryName = this.getPrimaryFieldName(options, name, fieldOptions)\n\t\tif (!fieldOptions[primaryName]) {\n\t\t\tfieldOptions[primaryName] = this.createDefaultPrimary(primaryName)\n\t\t}\n\t\tconst primaryField = fieldOptions[primaryName]\n\t\tif (primaryField.type !== FieldBuilder.Type.Column) {\n\t\t\tthrow new SchemaBuilderError(`${name}: Primary field must be a column`)\n\t\t}\n\t\tprimaryField.options.primary = true\n\t\tprimaryField.options.nullable = false\n\n\t\tthis.entities[name] = {\n\t\t\tname: name,\n\t\t\tprimary: primaryName,\n\t\t\tprimaryColumn: primaryField.options.columnName || this.conventions.getColumnName(primaryName),\n\t\t\tunique: this.createUnique(name, options, fieldOptions),\n\t\t\tfields: {},\n\t\t\tindexes: [],\n\t\t\ttableName: options.tableName || this.conventions.getTableName(name),\n\t\t\teventLog: {\n\t\t\t\tenabled: true,\n\t\t\t},\n\t\t\t...(options.orderBy !== undefined ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tpublic addEnum(name: string, values: string[]): void {\n\t\tthis.enums[name] = values\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tfor (let entityName in this.fieldOptions) {\n\t\t\tlet primaryField = this.entities[entityName].primary\n\t\t\tthis.processField(entityName, primaryField)\n\t\t\tfor (let fieldName in this.fieldOptions[entityName]) {\n\t\t\t\tif (fieldName === primaryField) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tthis.processField(entityName, fieldName)\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tenums: this.enums,\n\t\t\tentities: this.entities,\n\t\t}\n\t}\n\n\tprivate processField(entityName: string, fieldName: string): void {\n\t\tconst processor = this.createProcessor(entityName, fieldName)\n\t\tprocessor.process(\n\t\t\tentityName,\n\t\t\tfieldName,\n\t\t\tthis.fieldOptions[entityName][fieldName].options,\n\t\t\tthis.registerField.bind(this),\n\t\t)\n\t}\n\n\tprivate createProcessor(entityName: string, fieldName: string): FieldProcessor<any> {\n\t\tconst field: FieldBuilder.Options = this.fieldOptions[entityName][fieldName]\n\n\t\tif (field.type === FieldBuilder.Type.Column) {\n\t\t\treturn new ColumnProcessor(this.conventions)\n\t\t}\n\t\tthis.checkTarget(entityName, fieldName, field.options)\n\t\tswitch (field.type) {\n\t\t\tcase FieldBuilder.Type.ManyHasMany:\n\t\t\t\treturn new ManyHasManyProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.OneHasOne:\n\t\t\t\treturn new OneHasOneProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.OneHasMany:\n\t\t\t\treturn new OneHasManyProcessor(this.conventions)\n\t\t\tcase FieldBuilder.Type.ManyHasOne:\n\t\t\t\treturn new ManyHasOneProcessor(this.conventions)\n\t\t}\n\n\t\tthrow new Error()\n\t}\n\n\tprivate checkTarget(entityName: string, fieldName: string, options: { target: string }) {\n\t\tif (!this.entities[options.target]) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}::${fieldName}: undefined target entity ${options.target}`)\n\t\t}\n\t}\n\n\tprivate registerField(entityName: string, field: Model.AnyColumn | Model.AnyRelation) {\n\t\tif (!this.entities[entityName]) {\n\t\t\tthrow new SchemaBuilderError(`Undefined entity ${entityName}`)\n\t\t}\n\t\tif (this.entities[entityName].fields[field.name]) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}: Field ${field.name} is already defined`)\n\t\t}\n\t\tthis.entities[entityName].fields[field.name] = field\n\t}\n\n\tprivate getPrimaryFieldName(\n\t\tentityOptions: EntityBuilder.EntityOptions,\n\t\tentityName: string,\n\t\tfields: FieldBuilder.Map,\n\t) {\n\t\tlet primary: string[] = []\n\t\tif (entityOptions.primary) {\n\t\t\tprimary.push(entityOptions.primary)\n\t\t}\n\t\tfor (let name in fields) {\n\t\t\tconst field: FieldBuilder.Options = fields[name]\n\t\t\tif (field.type !== FieldBuilder.Type.Column) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!field.options.primary) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tif (!primary.includes(name)) {\n\t\t\t\tprimary.push(name)\n\t\t\t}\n\t\t}\n\t\tif (primary.length > 1) {\n\t\t\tthrow new SchemaBuilderError(`${entityName}: Only single column can be a primary. Found: ${primary.join(', ')}`)\n\t\t}\n\t\treturn primary.length === 1 ? primary[0] : this.conventions.getPrimaryField()\n\t}\n\n\tprivate createDefaultPrimary(fieldName: string): FieldBuilder.Options {\n\t\treturn {\n\t\t\ttype: FieldBuilder.Type.Column,\n\t\t\toptions: {\n\t\t\t\tnullable: false,\n\t\t\t\ttype: Model.ColumnType.Uuid,\n\t\t\t\tprimary: true,\n\t\t\t},\n\t\t}\n\t}\n\n\tprivate createUnique(\n\t\tentityName: string,\n\t\toptions: EntityBuilder.EntityOptions,\n\t\tfieldOptions: FieldBuilder.Map,\n\t): Model.Uniques {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\n\t\tfor (const singleUnique of options.unique || []) {\n\t\t\tunique.push(singleUnique)\n\t\t}\n\t\tfor (let fieldName in fieldOptions) {\n\t\t\tconst options = fieldOptions[fieldName]\n\n\t\t\tif (options.type === FieldBuilder.Type.Column && options.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName] })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["options"],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const schema = require("@contember/schema");
|
|
3
|
+
const schemaUtils = require("@contember/schema-utils");
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, key + "", value);
|
|
7
|
+
class ColumnProcessor {
|
|
8
|
+
constructor(conventions) {
|
|
9
|
+
__publicField(this, "conventions");
|
|
10
|
+
this.conventions = conventions;
|
|
11
|
+
}
|
|
12
|
+
process(entityName, fieldName, options, registerField) {
|
|
13
|
+
registerField(entityName, this.toColumnType(fieldName, options));
|
|
14
|
+
}
|
|
15
|
+
toColumnType(fieldName, options) {
|
|
16
|
+
const type = options.type;
|
|
17
|
+
const common = {
|
|
18
|
+
name: fieldName,
|
|
19
|
+
columnName: options.columnName || this.conventions.getColumnName(fieldName),
|
|
20
|
+
nullable: options.nullable === void 0 ? true : options.nullable
|
|
21
|
+
};
|
|
22
|
+
if (type === schema.Model.ColumnType.Enum) {
|
|
23
|
+
return { ...common, type, columnType: options.enumName };
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
...common,
|
|
27
|
+
type,
|
|
28
|
+
columnType: schemaUtils.resolveDefaultColumnType(type),
|
|
29
|
+
...options.typeAlias !== void 0 ? { typeAlias: options.typeAlias } : {}
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
module.exports = ColumnProcessor;
|
|
34
|
+
//# sourceMappingURL=ColumnProcessor.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnProcessor.cjs","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ColumnProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport ColumnBuilder from '../ColumnBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions, resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport default class ColumnProcessor implements FieldProcessor<ColumnBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ColumnBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.toColumnType(fieldName, options))\n\t}\n\n\tprivate toColumnType(fieldName: string, options: ColumnBuilder.Options): Model.Column<Model.ColumnType> {\n\t\tconst type = options.type\n\t\tconst common = {\n\t\t\tname: fieldName,\n\t\t\tcolumnName: options.columnName || this.conventions.getColumnName(fieldName),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\treturn { ...common, type: type, columnType: options.enumName! }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype,\n\t\t\tcolumnType: resolveDefaultColumnType(type),\n\t\t\t...(options.typeAlias !== undefined ? { typeAlias: options.typeAlias } : {}),\n\t\t}\n\t}\n}\n"],"names":["Model","resolveDefaultColumnType"],"mappings":";;;;;;AAKA,MAAqB,gBAAiE;AAAA,EAGrF,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,aAAa,WAAW,OAAO,CAAC;AAAA,EAChE;AAAA,EAEQ,aAAa,WAAmB,SAAgE;AACvG,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS;AAAA,MACd,MAAM;AAAA,MACN,YAAY,QAAQ,cAAc,KAAK,YAAY,cAAc,SAAS;AAAA,MAC1E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAE3D,QAAI,SAASA,OAAAA,MAAM,WAAW,MAAM;AACnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ,SAAA;AAAA,IACrD;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAYC,YAAAA,yBAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,cAAc,CAAA;AAAA,IAAC;AAAA,EAE5E;AACD;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Model } from "@contember/schema";
|
|
2
|
+
import { resolveDefaultColumnType } from "@contember/schema-utils";
|
|
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 ColumnProcessor {
|
|
7
|
+
constructor(conventions) {
|
|
8
|
+
__publicField(this, "conventions");
|
|
9
|
+
this.conventions = conventions;
|
|
10
|
+
}
|
|
11
|
+
process(entityName, fieldName, options, registerField) {
|
|
12
|
+
registerField(entityName, this.toColumnType(fieldName, options));
|
|
13
|
+
}
|
|
14
|
+
toColumnType(fieldName, options) {
|
|
15
|
+
const type = options.type;
|
|
16
|
+
const common = {
|
|
17
|
+
name: fieldName,
|
|
18
|
+
columnName: options.columnName || this.conventions.getColumnName(fieldName),
|
|
19
|
+
nullable: options.nullable === void 0 ? true : options.nullable
|
|
20
|
+
};
|
|
21
|
+
if (type === Model.ColumnType.Enum) {
|
|
22
|
+
return { ...common, type, columnType: options.enumName };
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
...common,
|
|
26
|
+
type,
|
|
27
|
+
columnType: resolveDefaultColumnType(type),
|
|
28
|
+
...options.typeAlias !== void 0 ? { typeAlias: options.typeAlias } : {}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
ColumnProcessor as default
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=ColumnProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnProcessor.js","sources":["../../../../../../../packages/schema-definition/src/model/builder/internal/ColumnProcessor.ts"],"sourcesContent":["import FieldProcessor from './FieldProcessor'\nimport ColumnBuilder from '../ColumnBuilder'\nimport { Model } from '@contember/schema'\nimport { NamingConventions, resolveDefaultColumnType } from '@contember/schema-utils'\n\nexport default class ColumnProcessor implements FieldProcessor<ColumnBuilder.Options> {\n\tprivate conventions: NamingConventions\n\n\tconstructor(conventions: NamingConventions) {\n\t\tthis.conventions = conventions\n\t}\n\n\tpublic process(\n\t\tentityName: string,\n\t\tfieldName: string,\n\t\toptions: ColumnBuilder.Options,\n\t\tregisterField: FieldProcessor.FieldRegistrar,\n\t): void {\n\t\tregisterField(entityName, this.toColumnType(fieldName, options))\n\t}\n\n\tprivate toColumnType(fieldName: string, options: ColumnBuilder.Options): Model.Column<Model.ColumnType> {\n\t\tconst type = options.type\n\t\tconst common = {\n\t\t\tname: fieldName,\n\t\t\tcolumnName: options.columnName || this.conventions.getColumnName(fieldName),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t\tif (type === Model.ColumnType.Enum) {\n\t\t\treturn { ...common, type: type, columnType: options.enumName! }\n\t\t}\n\t\treturn {\n\t\t\t...common,\n\t\t\ttype,\n\t\t\tcolumnType: resolveDefaultColumnType(type),\n\t\t\t...(options.typeAlias !== undefined ? { typeAlias: options.typeAlias } : {}),\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAKA,MAAqB,gBAAiE;AAAA,EAGrF,YAAY,aAAgC;AAF5C,kBAAA,MAAQ,aAAA;AAGP,SAAK,cAAc;AAAA,EACpB;AAAA,EAEO,QACN,YACA,WACA,SACA,eACO;AACP,kBAAc,YAAY,KAAK,aAAa,WAAW,OAAO,CAAC;AAAA,EAChE;AAAA,EAEQ,aAAa,WAAmB,SAAgE;AACvG,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS;AAAA,MACd,MAAM;AAAA,MACN,YAAY,QAAQ,cAAc,KAAK,YAAY,cAAc,SAAS;AAAA,MAC1E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAE3D,QAAI,SAAS,MAAM,WAAW,MAAM;AACnC,aAAO,EAAE,GAAG,QAAQ,MAAY,YAAY,QAAQ,SAAA;AAAA,IACrD;AACA,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,MACA,YAAY,yBAAyB,IAAI;AAAA,MACzC,GAAI,QAAQ,cAAc,SAAY,EAAE,WAAW,QAAQ,cAAc,CAAA;AAAA,IAAC;AAAA,EAE5E;AACD;"}
|