@contember/schema-definition 2.1.0-alpha.9 → 2.1.0-beta.1
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/CLAUDE.md +64 -0
- package/dist/development/index.cjs +33 -33
- package/dist/development/index.cjs.map +1 -1
- package/dist/development/index.js +25 -25
- package/dist/development/index.js.map +1 -1
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
- package/dist/development/src/acl/builder/EntitySelector.cjs.map +1 -1
- package/dist/development/src/acl/builder/EntitySelector.js.map +1 -1
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
- package/dist/development/src/acl/builder/FieldSelector.cjs.map +1 -1
- package/dist/development/src/acl/builder/FieldSelector.js.map +1 -1
- package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -1
- package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -1
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs +1 -3
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
- package/dist/development/src/acl/builder/PermissionsBuilder.js +1 -3
- package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -1
- package/dist/development/src/acl/builder/PredicateReference.cjs.map +1 -1
- package/dist/development/src/acl/builder/PredicateReference.js.map +1 -1
- package/dist/development/src/acl/definition/aclExtensions.cjs +2 -2
- package/dist/development/src/acl/definition/aclExtensions.cjs.map +1 -1
- package/dist/development/src/acl/definition/aclExtensions.js +2 -2
- package/dist/development/src/acl/definition/aclExtensions.js.map +1 -1
- package/dist/development/src/acl/definition/customPrimary.cjs +1 -1
- package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -1
- package/dist/development/src/acl/definition/customPrimary.js +1 -1
- package/dist/development/src/acl/definition/customPrimary.js.map +1 -1
- package/dist/development/src/acl/definition/index.cjs.map +1 -1
- package/dist/development/src/acl/definition/index.js.map +1 -1
- package/dist/development/src/acl/definition/internal/AclFactory.cjs +24 -16
- package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/AclFactory.js +24 -16
- package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -1
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
- package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/createPredicateName.js.map +1 -1
- package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -1
- package/dist/development/src/acl/definition/internal/stores.js.map +1 -1
- package/dist/development/src/acl/definition/permissions.cjs +5 -2
- package/dist/development/src/acl/definition/permissions.cjs.map +1 -1
- package/dist/development/src/acl/definition/permissions.js +5 -2
- package/dist/development/src/acl/definition/permissions.js.map +1 -1
- package/dist/development/src/acl/definition/references.cjs.map +1 -1
- package/dist/development/src/acl/definition/references.js.map +1 -1
- package/dist/development/src/acl/definition/roles.cjs.map +1 -1
- package/dist/development/src/acl/definition/roles.js.map +1 -1
- package/dist/development/src/acl/definition/variables.cjs.map +1 -1
- package/dist/development/src/acl/definition/variables.js.map +1 -1
- package/dist/development/src/actions/definition/index.cjs.map +1 -1
- package/dist/development/src/actions/definition/index.js.map +1 -1
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs +8 -7
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
- package/dist/development/src/actions/definition/internal/ActionsFactory.js +8 -7
- package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -1
- package/dist/development/src/actions/definition/internal/store.cjs.map +1 -1
- package/dist/development/src/actions/definition/internal/store.js.map +1 -1
- package/dist/development/src/actions/definition/targets.cjs.map +1 -1
- package/dist/development/src/actions/definition/targets.js.map +1 -1
- package/dist/development/src/actions/definition/triggers.cjs +4 -4
- package/dist/development/src/actions/definition/triggers.cjs.map +1 -1
- package/dist/development/src/actions/definition/triggers.js +4 -4
- package/dist/development/src/actions/definition/triggers.js.map +1 -1
- package/dist/development/src/createSchema.cjs.map +1 -1
- package/dist/development/src/createSchema.js.map +1 -1
- package/dist/development/src/model/builder/ColumnBuilder.cjs +7 -5
- package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/ColumnBuilder.js +7 -5
- package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -1
- package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/EntityBuilder.js.map +1 -1
- package/dist/development/src/model/builder/FieldBuilder.cjs +4 -4
- package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/FieldBuilder.js.map +1 -1
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -1
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -1
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -1
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
- package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -1
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
- package/dist/development/src/model/definition/EnumDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/EnumDefinition.js.map +1 -1
- package/dist/development/src/model/definition/EventLogDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/EventLogDefinition.js.map +1 -1
- package/dist/development/src/model/definition/IndexDefinition.cjs +2 -2
- package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/IndexDefinition.js +2 -2
- package/dist/development/src/model/definition/IndexDefinition.js.map +1 -1
- package/dist/development/src/model/definition/OrderByDefinition.cjs +3 -1
- package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/OrderByDefinition.js +3 -1
- package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -1
- package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -1
- package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/ViewDefinition.js.map +1 -1
- package/dist/development/src/model/definition/extensions.cjs +2 -2
- package/dist/development/src/model/definition/extensions.cjs.map +1 -1
- package/dist/development/src/model/definition/extensions.js +2 -2
- package/dist/development/src/model/definition/extensions.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +12 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +12 -1
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
- package/dist/development/src/model/definition/index.cjs.map +1 -1
- package/dist/development/src/model/definition/index.js.map +1 -1
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
- package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -1
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
- package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -1
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
- package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -1
- package/dist/development/src/presets.cjs.map +1 -1
- package/dist/development/src/presets.js.map +1 -1
- package/dist/development/src/strict.cjs +3 -1
- package/dist/development/src/strict.cjs.map +1 -1
- package/dist/development/src/strict.js +3 -1
- package/dist/development/src/strict.js.map +1 -1
- package/dist/development/src/utils/MetadataStore.cjs +16 -4
- package/dist/development/src/utils/MetadataStore.cjs.map +1 -1
- package/dist/development/src/utils/MetadataStore.js +16 -4
- package/dist/development/src/utils/MetadataStore.js.map +1 -1
- package/dist/development/src/utils/assertNever.cjs.map +1 -1
- package/dist/development/src/utils/assertNever.js.map +1 -1
- package/dist/development/src/utils/filterEntityDefinition.cjs.map +1 -1
- package/dist/development/src/utils/filterEntityDefinition.js.map +1 -1
- package/dist/development/src/utils/tuple.cjs.map +1 -1
- package/dist/development/src/utils/tuple.js.map +1 -1
- package/dist/development/src/validation/index.cjs +25 -11
- package/dist/development/src/validation/index.cjs.map +1 -1
- package/dist/development/src/validation/index.js +25 -11
- package/dist/development/src/validation/index.js.map +1 -1
- package/dist/production/index.cjs +33 -33
- package/dist/production/index.cjs.map +1 -1
- package/dist/production/index.js +25 -25
- package/dist/production/index.js.map +1 -1
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -1
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -1
- package/dist/production/src/acl/builder/EntitySelector.cjs.map +1 -1
- package/dist/production/src/acl/builder/EntitySelector.js.map +1 -1
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -1
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -1
- package/dist/production/src/acl/builder/FieldSelector.cjs.map +1 -1
- package/dist/production/src/acl/builder/FieldSelector.js.map +1 -1
- package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -1
- package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -1
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs +1 -3
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -1
- package/dist/production/src/acl/builder/PermissionsBuilder.js +1 -3
- package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -1
- package/dist/production/src/acl/builder/PredicateReference.cjs.map +1 -1
- package/dist/production/src/acl/builder/PredicateReference.js.map +1 -1
- package/dist/production/src/acl/definition/aclExtensions.cjs +2 -2
- package/dist/production/src/acl/definition/aclExtensions.cjs.map +1 -1
- package/dist/production/src/acl/definition/aclExtensions.js +2 -2
- package/dist/production/src/acl/definition/aclExtensions.js.map +1 -1
- package/dist/production/src/acl/definition/customPrimary.cjs +1 -1
- package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -1
- package/dist/production/src/acl/definition/customPrimary.js +1 -1
- package/dist/production/src/acl/definition/customPrimary.js.map +1 -1
- package/dist/production/src/acl/definition/index.cjs.map +1 -1
- package/dist/production/src/acl/definition/index.js.map +1 -1
- package/dist/production/src/acl/definition/internal/AclFactory.cjs +24 -16
- package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/AclFactory.js +24 -16
- package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -1
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -1
- package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/createPredicateName.js.map +1 -1
- package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -1
- package/dist/production/src/acl/definition/internal/stores.js.map +1 -1
- package/dist/production/src/acl/definition/permissions.cjs +5 -2
- package/dist/production/src/acl/definition/permissions.cjs.map +1 -1
- package/dist/production/src/acl/definition/permissions.js +5 -2
- package/dist/production/src/acl/definition/permissions.js.map +1 -1
- package/dist/production/src/acl/definition/references.cjs.map +1 -1
- package/dist/production/src/acl/definition/references.js.map +1 -1
- package/dist/production/src/acl/definition/roles.cjs.map +1 -1
- package/dist/production/src/acl/definition/roles.js.map +1 -1
- package/dist/production/src/acl/definition/variables.cjs.map +1 -1
- package/dist/production/src/acl/definition/variables.js.map +1 -1
- package/dist/production/src/actions/definition/index.cjs.map +1 -1
- package/dist/production/src/actions/definition/index.js.map +1 -1
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs +8 -7
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -1
- package/dist/production/src/actions/definition/internal/ActionsFactory.js +8 -7
- package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -1
- package/dist/production/src/actions/definition/internal/store.cjs.map +1 -1
- package/dist/production/src/actions/definition/internal/store.js.map +1 -1
- package/dist/production/src/actions/definition/targets.cjs.map +1 -1
- package/dist/production/src/actions/definition/targets.js.map +1 -1
- package/dist/production/src/actions/definition/triggers.cjs +4 -4
- package/dist/production/src/actions/definition/triggers.cjs.map +1 -1
- package/dist/production/src/actions/definition/triggers.js +4 -4
- package/dist/production/src/actions/definition/triggers.js.map +1 -1
- package/dist/production/src/createSchema.cjs.map +1 -1
- package/dist/production/src/createSchema.js.map +1 -1
- package/dist/production/src/model/builder/ColumnBuilder.cjs +7 -5
- package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/ColumnBuilder.js +7 -5
- package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -1
- package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/EntityBuilder.js.map +1 -1
- package/dist/production/src/model/builder/FieldBuilder.cjs +4 -4
- package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/FieldBuilder.js.map +1 -1
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -1
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -1
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -1
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -1
- package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -1
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -1
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -1
- package/dist/production/src/model/definition/EnumDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/EnumDefinition.js.map +1 -1
- package/dist/production/src/model/definition/EventLogDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/EventLogDefinition.js.map +1 -1
- package/dist/production/src/model/definition/IndexDefinition.cjs +2 -2
- package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/IndexDefinition.js +2 -2
- package/dist/production/src/model/definition/IndexDefinition.js.map +1 -1
- package/dist/production/src/model/definition/OrderByDefinition.cjs +3 -1
- package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/OrderByDefinition.js +3 -1
- package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -1
- package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -1
- package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/ViewDefinition.js.map +1 -1
- package/dist/production/src/model/definition/extensions.cjs +2 -2
- package/dist/production/src/model/definition/extensions.cjs.map +1 -1
- package/dist/production/src/model/definition/extensions.js +2 -2
- package/dist/production/src/model/definition/extensions.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +12 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +12 -1
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -1
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -1
- package/dist/production/src/model/definition/index.cjs.map +1 -1
- package/dist/production/src/model/definition/index.js.map +1 -1
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -1
- package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -1
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -1
- package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -1
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -1
- package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -1
- package/dist/production/src/presets.cjs.map +1 -1
- package/dist/production/src/presets.js.map +1 -1
- package/dist/production/src/strict.cjs +3 -1
- package/dist/production/src/strict.cjs.map +1 -1
- package/dist/production/src/strict.js +3 -1
- package/dist/production/src/strict.js.map +1 -1
- package/dist/production/src/utils/MetadataStore.cjs +16 -4
- package/dist/production/src/utils/MetadataStore.cjs.map +1 -1
- package/dist/production/src/utils/MetadataStore.js +16 -4
- package/dist/production/src/utils/MetadataStore.js.map +1 -1
- package/dist/production/src/utils/assertNever.cjs.map +1 -1
- package/dist/production/src/utils/assertNever.js.map +1 -1
- package/dist/production/src/utils/filterEntityDefinition.cjs.map +1 -1
- package/dist/production/src/utils/filterEntityDefinition.js.map +1 -1
- package/dist/production/src/utils/tuple.cjs.map +1 -1
- package/dist/production/src/utils/tuple.js.map +1 -1
- package/dist/production/src/validation/index.cjs +25 -11
- package/dist/production/src/validation/index.cjs.map +1 -1
- package/dist/production/src/validation/index.js +25 -11
- package/dist/production/src/validation/index.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/acl/builder/PermissionOverrider.d.ts.map +1 -1
- package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +1 -1
- package/dist/types/acl/definition/aclExtensions.d.ts.map +1 -1
- package/dist/types/acl/definition/internal/AclFactory.d.ts +1 -1
- package/dist/types/acl/definition/internal/AclFactory.d.ts.map +1 -1
- package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts.map +1 -1
- package/dist/types/acl/definition/internal/stores.d.ts +4 -3
- package/dist/types/acl/definition/internal/stores.d.ts.map +1 -1
- package/dist/types/acl/definition/permissions.d.ts +7 -2
- package/dist/types/acl/definition/permissions.d.ts.map +1 -1
- package/dist/types/acl/definition/variables.d.ts.map +1 -1
- package/dist/types/actions/definition/index.d.ts.map +1 -1
- package/dist/types/actions/definition/internal/ActionsFactory.d.ts +0 -1
- package/dist/types/actions/definition/internal/ActionsFactory.d.ts.map +1 -1
- package/dist/types/actions/definition/targets.d.ts.map +1 -1
- package/dist/types/actions/definition/triggers.d.ts +1 -0
- package/dist/types/actions/definition/triggers.d.ts.map +1 -1
- package/dist/types/createSchema.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model/builder/ColumnBuilder.d.ts.map +1 -1
- package/dist/types/model/builder/internal/ColumnProcessor.d.ts.map +1 -1
- package/dist/types/model/definition/IndexDefinition.d.ts +2 -0
- package/dist/types/model/definition/IndexDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/OrderByDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/UniqueDefinition.d.ts +1 -0
- package/dist/types/model/definition/UniqueDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -1
- package/dist/types/model/definition/index.d.ts +1 -1
- package/dist/types/model/definition/index.d.ts.map +1 -1
- package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +1 -1
- package/dist/types/model/definition/types.d.ts +1 -1
- package/dist/types/model/definition/types.d.ts.map +1 -1
- package/dist/types/model/index.d.ts +1 -1
- package/dist/types/model/index.d.ts.map +1 -1
- package/dist/types/presets.d.ts.map +1 -1
- package/dist/types/strict.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/utils/MetadataStore.d.ts +1 -1
- package/dist/types/utils/MetadataStore.d.ts.map +1 -1
- package/dist/types/utils/decorators.d.ts +1 -1
- package/dist/types/utils/decorators.d.ts.map +1 -1
- package/dist/types/utils/filterEntityDefinition.d.ts.map +1 -1
- package/dist/types/validation/index.d.ts +0 -1
- package/dist/types/validation/index.d.ts.map +1 -1
- package/package.json +11 -6
- package/src/acl/builder/EntityPermissionsBuilder.ts +1 -1
- package/src/acl/builder/EntitySelector.ts +2 -2
- package/src/acl/builder/PermissionOverrider.ts +10 -8
- package/src/acl/builder/PermissionsBuilder.ts +1 -3
- package/src/acl/definition/aclExtensions.ts +7 -8
- package/src/acl/definition/customPrimary.ts +1 -1
- package/src/acl/definition/internal/AclFactory.ts +30 -25
- package/src/acl/definition/internal/EntityPredicateResolver.ts +4 -4
- package/src/acl/definition/internal/stores.ts +5 -6
- package/src/acl/definition/permissions.ts +14 -8
- package/src/acl/definition/variables.ts +5 -1
- package/src/actions/definition/index.ts +0 -1
- package/src/actions/definition/internal/ActionsFactory.ts +7 -9
- package/src/actions/definition/targets.ts +0 -1
- package/src/actions/definition/triggers.ts +9 -7
- package/src/createSchema.ts +1 -1
- package/src/index.ts +6 -11
- package/src/model/builder/ColumnBuilder.ts +7 -5
- package/src/model/builder/internal/ColumnProcessor.ts +0 -1
- package/src/model/definition/IndexDefinition.ts +7 -3
- package/src/model/definition/OrderByDefinition.ts +7 -5
- package/src/model/definition/UniqueDefinition.ts +14 -12
- package/src/model/definition/extensions.ts +2 -2
- package/src/model/definition/fieldDefinitions/ColumnDefinition.ts +12 -4
- package/src/model/definition/fieldDefinitions/FieldDefinition.ts +1 -1
- package/src/model/definition/fieldDefinitions/ManyHasManyDefinition.ts +0 -2
- package/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.ts +4 -2
- package/src/model/definition/fieldDefinitions/ManyHasOneDefinition.ts +1 -1
- package/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts +0 -1
- package/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts +0 -2
- package/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts +5 -3
- package/src/model/definition/index.ts +2 -2
- package/src/model/definition/internal/SchemaBuilder.ts +1 -2
- package/src/model/definition/types.ts +1 -1
- package/src/model/index.ts +1 -10
- package/src/presets.ts +0 -2
- package/src/strict.ts +4 -4
- package/src/utils/MetadataStore.ts +18 -4
- package/src/utils/decorators.ts +1 -1
- package/src/utils/filterEntityDefinition.ts +3 -2
- package/src/validation/index.ts +30 -21
- package/tests/cases/unit/createSchema.test.ts +5 -6
- package/tests/cases/unit/extendEntity.test.ts +1 -2
- package/tests/cases/unit/orderBy.test.ts +3 -6
- package/tests/cases/unit/readAclDefinitions.test.ts +191 -176
- package/tests/cases/unit/readActions.test.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasManyDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): OneHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {\n\t\treturn new OneHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\
|
|
1
|
+
{"version":3,"file":"OneHasManyDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): OneHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {\n\t\treturn new OneHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {\n\treturn new OneHasManyDefinition({ target, ownedBy })\n}\n\nexport type OneHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,6BAA6BA,gBAAAA,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,sBAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8DC,OAAAA,MAAM,eAAe,KAC5D;AACvB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EACA,YAAY,EAAE,MAAM,kBAAsD;AACzE,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AACtI,WAAO,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAClE;AACD;AAEO,SAAS,WAAW,QAA2B,SAAuC;AAC5F,SAAO,IAAI,qBAAqB,EAAE,QAAQ,SAAS;AACpD;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasManyDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): OneHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {\n\t\treturn new OneHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\
|
|
1
|
+
{"version":3,"file":"OneHasManyDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasManyDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { EntityConstructor, RelationTarget } from '../types'\n\nexport class OneHasManyDefinition extends FieldDefinition<OneHasManyDefinitionOptions> {\n\ttype = 'OneHasManyDefinition' as const\n\n\torderBy(\n\t\tfield: string | string[],\n\t\tdirection: Model.OrderDirection | `${Model.OrderDirection}` = Model.OrderDirection.asc,\n\t): OneHasManyDefinition {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\t\treturn this.withOption('orderBy', [...(this.options.orderBy || []), { path, direction: direction as Model.OrderDirection }])\n\t}\n\tcreateField({ name, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttype: Model.RelationType.OneHasMany,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\t...(options.orderBy ? { orderBy: options.orderBy } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasManyDefinitionOptions>(key: K, value: OneHasManyDefinitionOptions[K]): OneHasManyDefinition {\n\t\treturn new OneHasManyDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasMany(target: EntityConstructor, ownedBy: string): OneHasManyDefinition {\n\treturn new OneHasManyDefinition({ target, ownedBy })\n}\n\nexport type OneHasManyDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\torderBy?: Model.OrderBy[]\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,6BAA6B,gBAA6C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,sBAAA;AAAA,EAAA;AAAA,EAEP,QACC,OACA,YAA8D,MAAM,eAAe,KAC5D;AACvB,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AACnD,WAAO,KAAK,WAAW,WAAW,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAA,CAA8C,CAAC;AAAA,EAC5H;AAAA,EACA,YAAY,EAAE,MAAM,kBAAsD;AACzE,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAA,IAAY,CAAA;AAAA,IAAC;AAAA,EAExD;AAAA,EAEU,WAAwD,KAAQ,OAA6D;AACtI,WAAO,IAAI,qBAAqB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAClE;AACD;AAEO,SAAS,WAAW,QAA2B,SAAuC;AAC5F,SAAO,IAAI,qBAAqB,EAAE,QAAQ,SAAS;AACpD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\
|
|
1
|
+
{"version":3,"file":"OneHasOneDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAIO,MAAM,4BAA4BA,gBAAAA,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,qBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAyC;AACnD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AACtD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAqE;AAC7E,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUC,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAUA,OAAAA,MAAM,SAAS,SAAA,CAAU;AAAA,EAC7G;AAAA,EAEA,UAA+B;AAC9B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAAoC;AACnC,WAAO,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AACvE,8BAA0B,kBAAkB,YAAY,MAAM,aAAa;AAE3E,WAAO;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAMA,OAAAA,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAYA,OAAAA,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AAAA,EAEU,WAAuD,KAAQ,OAA2D;AACnI,WAAO,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EACjE;AACD;AAEO,SAAS,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,YAAY;AACtD;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\
|
|
1
|
+
{"version":3,"file":"OneHasOneDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor, RelationTarget } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\n\nexport class OneHasOneDefinition extends FieldDefinition<OneHasOneDefinitionOptions> {\n\ttype = 'OneHasOneDefinition' as const\n\n\tinversedBy(inversedBy: string): OneHasOneDefinition {\n\t\treturn this.withOption('inversedBy', inversedBy)\n\t}\n\n\tjoiningColumn(columnName: string): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, columnName })\n\t}\n\n\tonDelete(onDelete: Model.OnDelete | `${Model.OnDelete}`): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.joiningColumn, onDelete: onDelete as Model.OnDelete })\n\t}\n\n\tcascadeOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.cascade })\n\t}\n\n\tsetNullOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.setNull })\n\t}\n\n\trestrictOnDelete(): OneHasOneDefinition {\n\t\treturn this.withOption('joiningColumn', { ...this.options.joiningColumn, onDelete: Model.OnDelete.restrict })\n\t}\n\n\tnotNull(): OneHasOneDefinition {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tremoveOrphan(): OneHasOneDefinition {\n\t\treturn this.withOption('orphanRemoval', true)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry, strictDefinitionValidator, entityName }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\tconst joiningColumn: Partial<Model.JoiningColumn> = options.joiningColumn || {}\n\n\t\tstrictDefinitionValidator.validateInverseSide(entityName, name, options)\n\t\tstrictDefinitionValidator.validateOnCascade(entityName, name, joiningColumn)\n\n\t\treturn {\n\t\t\tname: name,\n\t\t\t...(typeof options.inversedBy === 'undefined' ? {} : { inversedBy: options.inversedBy }),\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\tjoiningColumn: {\n\t\t\t\tcolumnName: joiningColumn.columnName || conventions.getJoiningColumnName(name),\n\t\t\t\tonDelete: joiningColumn.onDelete || Model.OnDelete.restrict,\n\t\t\t},\n\t\t\t...(options.orphanRemoval ? { orphanRemoval: true } : {}),\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneDefinitionOptions>(key: K, value: OneHasOneDefinitionOptions[K]): OneHasOneDefinition {\n\t\treturn new OneHasOneDefinition({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOne(target: EntityConstructor, inversedBy?: string): OneHasOneDefinition {\n\treturn new OneHasOneDefinition({ target, inversedBy })\n}\n\nexport type OneHasOneDefinitionOptions = {\n\ttarget: RelationTarget\n\tinversedBy?: string\n\tjoiningColumn?: Partial<Model.JoiningColumn>\n\tnullable?: boolean\n\torphanRemoval?: true\n}\n"],"names":[],"mappings":";;;;;AAIO,MAAM,4BAA4B,gBAA4C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,qBAAA;AAAA,EAAA;AAAA,EAEP,WAAW,YAAyC;AACnD,WAAO,KAAK,WAAW,cAAc,UAAU;AAAA,EAChD;AAAA,EAEA,cAAc,YAAyC;AACtD,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,YAAY;AAAA,EAC9E;AAAA,EAEA,SAAS,UAAqE;AAC7E,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,eAAe,UAAsC;AAAA,EACxG;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,kBAAuC;AACtC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,QAAA,CAAS;AAAA,EAC5G;AAAA,EAEA,mBAAwC;AACvC,WAAO,KAAK,WAAW,iBAAiB,EAAE,GAAG,KAAK,QAAQ,eAAe,UAAU,MAAM,SAAS,SAAA,CAAU;AAAA,EAC7G;AAAA,EAEA,UAA+B;AAC9B,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,eAAoC;AACnC,WAAO,KAAK,WAAW,iBAAiB,IAAI;AAAA,EAC7C;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,gBAAgB,2BAA2B,cAAkD;AAC7H,UAAM,UAAU,KAAK;AACrB,UAAM,gBAA8C,QAAQ,iBAAiB,CAAA;AAE7E,8BAA0B,oBAAoB,YAAY,MAAM,OAAO;AACvE,8BAA0B,kBAAkB,YAAY,MAAM,aAAa;AAE3E,WAAO;AAAA,MACN;AAAA,MACA,GAAI,OAAO,QAAQ,eAAe,cAAc,CAAA,IAAK,EAAE,YAAY,QAAQ,WAAA;AAAA,MAC3E,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,MAC1D,MAAM,MAAM,aAAa;AAAA,MACzB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,eAAe;AAAA,QACd,YAAY,cAAc,cAAc,YAAY,qBAAqB,IAAI;AAAA,QAC7E,UAAU,cAAc,YAAY,MAAM,SAAS;AAAA,MAAA;AAAA,MAEpD,GAAI,QAAQ,gBAAgB,EAAE,eAAe,KAAA,IAAS,CAAA;AAAA,IAAC;AAAA,EAEzD;AAAA,EAEU,WAAuD,KAAQ,OAA2D;AACnI,WAAO,IAAI,oBAAoB,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EACjE;AACD;AAEO,SAAS,UAAU,QAA2B,YAA0C;AAC9F,SAAO,IAAI,oBAAoB,EAAE,QAAQ,YAAY;AACtD;"}
|
package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseDefinition.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(\n\t\tthis: any,\n\t\tkey: K,\n\t\tvalue: OneHasOneInverseDefinitionOptions[K],\n\t): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":["FieldDefinition","Model"],"mappings":";;;;;;;AAKO,MAAM,mCAAmCA,gBAAAA,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACT,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAMC,OAAAA,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEU,WAET,KACA,OAC6B;AAC7B,WAAO,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC9D;AACD;AAEO,SAAS,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,SAAS;AAC1D;;;"}
|
package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneHasOneInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(
|
|
1
|
+
{"version":3,"file":"OneHasOneInverseDefinition.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EntityConstructor } from '../types'\nimport { CreateFieldContext, FieldDefinition } from './FieldDefinition'\nimport { RelationTarget } from '../types'\n\nexport class OneHasOneInverseDefinition extends FieldDefinition<OneHasOneInverseDefinitionOptions> {\n\ttype = 'OneHasOneInverseDefinition' as const\n\n\tnotNull() {\n\t\treturn this.withOption('nullable', false)\n\t}\n\n\tcreateField({ name, conventions, entityRegistry }: CreateFieldContext): Model.AnyField {\n\t\tconst options = this.options\n\t\treturn {\n\t\t\tname: name,\n\t\t\townedBy: options.ownedBy,\n\t\t\ttarget: entityRegistry.getName(options.target),\n\t\t\ttype: Model.RelationType.OneHasOne,\n\t\t\tnullable: options.nullable === undefined ? true : options.nullable,\n\t\t}\n\t}\n\n\tprotected withOption<K extends keyof OneHasOneInverseDefinitionOptions>(\n\t\tthis: any,\n\t\tkey: K,\n\t\tvalue: OneHasOneInverseDefinitionOptions[K],\n\t): OneHasOneInverseDefinition {\n\t\treturn new this.constructor({ ...this.options, [key]: value })\n\t}\n}\n\nexport function oneHasOneInverse(target: EntityConstructor, ownedBy: string): OneHasOneInverseDefinition {\n\treturn new OneHasOneInverseDefinition({ target, ownedBy })\n}\n\nexport type OneHasOneInverseDefinitionOptions = {\n\ttarget: RelationTarget\n\townedBy: string\n\tnullable?: boolean\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,mCAAmC,gBAAmD;AAAA,EAA5F,cAAA;AAAA,UAAA,GAAA,SAAA;AACN,kBAAA,MAAA,QAAO,4BAAA;AAAA,EAAA;AAAA,EAEP,UAAU;AACT,WAAO,KAAK,WAAW,YAAY,KAAK;AAAA,EACzC;AAAA,EAEA,YAAY,EAAE,MAAM,aAAa,kBAAsD;AACtF,UAAM,UAAU,KAAK;AACrB,WAAO;AAAA,MACN;AAAA,MACA,SAAS,QAAQ;AAAA,MACjB,QAAQ,eAAe,QAAQ,QAAQ,MAAM;AAAA,MAC7C,MAAM,MAAM,aAAa;AAAA,MACzB,UAAU,QAAQ,aAAa,SAAY,OAAO,QAAQ;AAAA,IAAA;AAAA,EAE5D;AAAA,EAEU,WAET,KACA,OAC6B;AAC7B,WAAO,IAAI,KAAK,YAAY,EAAE,GAAG,KAAK,SAAS,CAAC,GAAG,GAAG,OAAO;AAAA,EAC9D;AACD;AAEO,SAAS,iBAAiB,QAA2B,SAA6C;AACxG,SAAO,IAAI,2BAA2B,EAAE,QAAQ,SAAS;AAC1D;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport {
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictDefinitionValidator, StrictOptions } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { type EntityExtension, extendEntity } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n\tdefaultCollation?: string\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t\t{ defaultCollation: options.defaultCollation },\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":["SchemaBuilder","DefaultNamingConventions","EnumDefinition","isEntityConstructor","schema","Model"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAGtE,IAAkB;AACrB,QAAM,gBAAgB,IAAIA,cAAAA;AAAAA,IACzB,IAAIC,qCAAA;AAAA,IACJ,QAAQ;AAAA,IACR,EAAE,kBAAkB,QAAQ,iBAAA;AAAA,EAAiB;AAE9C,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsBC,eAAAA,gBAAgB;AACzC,oBAAc,QAAQ,MAAM,UAAU;AAAA,IACvC,WAAWC,2CAAoB,UAAU,GAAG;AAC3C,oBAAc,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACA,QAAMC,UAAS,cAAc,aAAA;AAC7B,SAAOA;AACR;AAEO,MAAM,WAAWC,OAAAA,MAAM;AACvB,MAAM,iBAAiBA,OAAAA,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/schema-definition/src/model/definition/index.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { EnumDefinition } from './EnumDefinition'\nimport { SchemaBuilder } from './internal'\nimport 'reflect-metadata'\nimport { FieldDefinition } from './fieldDefinitions'\nimport { isEntityConstructor } from '../../utils'\nimport { DefaultNamingConventions } from '@contember/schema-utils'\nimport { StrictDefinitionValidator, StrictOptions } from '../../strict'\n\nexport * from './fieldDefinitions'\nexport * from './EventLogDefinition'\nexport * from './IndexDefinition'\nexport * from './OrderByDefinition'\nexport * from './EnumDefinition'\nexport * from './UniqueDefinition'\nexport * from './ViewDefinition'\nexport { type EntityExtension, extendEntity } from './extensions'\n\nexport abstract class Entity {\n\t[key: string]: FieldDefinition<any> | undefined\n}\n\nexport type ModelDefinition<M> = {\n\t[K in keyof M]: unknown\n}\n\nexport function createModel<M extends ModelDefinition<M>>(definitions: M, options: {\n\tstrictDefinitionValidator?: StrictDefinitionValidator\n\tdefaultCollation?: string\n} = {}): Model.Schema {\n\tconst schemaBuilder = new SchemaBuilder(\n\t\tnew DefaultNamingConventions(),\n\t\toptions.strictDefinitionValidator,\n\t\t{ defaultCollation: options.defaultCollation },\n\t)\n\tfor (const [name, definition] of Object.entries(definitions)) {\n\t\tif (definition instanceof EnumDefinition) {\n\t\t\tschemaBuilder.addEnum(name, definition)\n\t\t} else if (isEntityConstructor(definition)) {\n\t\t\tschemaBuilder.addEntity(name, definition)\n\t\t}\n\t}\n\tconst schema = schemaBuilder.createSchema()\n\treturn schema\n}\n\nexport const OnDelete = Model.OnDelete\nexport const OrderDirection = Model.OrderDirection\nexport { EnumDefinition }\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,OAAO;AAE7B;AAMO,SAAS,YAA0C,aAAgB,UAGtE,IAAkB;AACrB,QAAM,gBAAgB,IAAI;AAAA,IACzB,IAAI,yBAAA;AAAA,IACJ,QAAQ;AAAA,IACR,EAAE,kBAAkB,QAAQ,iBAAA;AAAA,EAAiB;AAE9C,aAAW,CAAC,MAAM,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC7D,QAAI,sBAAsB,gBAAgB;AACzC,oBAAc,QAAQ,MAAM,UAAU;AAAA,IACvC,WAAW,oBAAoB,UAAU,GAAG;AAC3C,oBAAc,UAAU,MAAM,UAAU;AAAA,IACzC;AAAA,EACD;AACA,QAAM,SAAS,cAAc,aAAA;AAC7B,SAAO;AACR;AAEO,MAAM,WAAW,MAAM;AACvB,MAAM,iBAAiB,MAAM;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EntityRegistry.ts"],"sourcesContent":["import { EntityConstructor } from '../../../utils'\n\nexport class EntityRegistry {\n\tpublic readonly entities: Record<string, EntityConstructor> = {}\n\n\tregister(name: string, definition: EntityConstructor) {\n\t\tif (this.entities[name]) {\n\t\t\tthrow new Error(`Entity with name ${name} is already registered`)\n\t\t}\n\t\tthis.entities[name] = definition\n\t}\n\n\thas(definition: EntityConstructor): boolean {\n\t\treturn Object.values(this.entities).includes(definition)\n\t}\n\n\tgetName(definition: EntityConstructor): string {\n\t\tfor (const [name, def] of Object.entries(this.entities)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,eAAe;AAAA,EAArB,cAAA;AACN,kBAAA,MAAgB,YAA8C,EAAC;AAAA,EAAA;AAAA,EAE/D,SAAS,MAAc,YAA+B;
|
|
1
|
+
{"version":3,"file":"EntityRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EntityRegistry.ts"],"sourcesContent":["import { EntityConstructor } from '../../../utils'\n\nexport class EntityRegistry {\n\tpublic readonly entities: Record<string, EntityConstructor> = {}\n\n\tregister(name: string, definition: EntityConstructor) {\n\t\tif (this.entities[name]) {\n\t\t\tthrow new Error(`Entity with name ${name} is already registered`)\n\t\t}\n\t\tthis.entities[name] = definition\n\t}\n\n\thas(definition: EntityConstructor): boolean {\n\t\treturn Object.values(this.entities).includes(definition)\n\t}\n\n\tgetName(definition: EntityConstructor): string {\n\t\tfor (const [name, def] of Object.entries(this.entities)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,eAAe;AAAA,EAArB,cAAA;AACN,kBAAA,MAAgB,YAA8C,EAAC;AAAA,EAAA;AAAA,EAE/D,SAAS,MAAc,YAA+B;AACrD,QAAI,KAAK,SAAS,IAAI,GAAG;AACxB,YAAM,IAAI,MAAM,oBAAoB,IAAI,wBAAwB;AAAA,IACjE;AACA,SAAK,SAAS,IAAI,IAAI;AAAA,EACvB;AAAA,EAEA,IAAI,YAAwC;AAC3C,WAAO,OAAO,OAAO,KAAK,QAAQ,EAAE,SAAS,UAAU;AAAA,EACxD;AAAA,EAEA,QAAQ,YAAuC;AAC9C,eAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,GAAG;AACxD,UAAI,QAAQ,YAAY;AACvB,eAAO;AAAA,MACR;AAAA,IACD;AACA,UAAM,IAAI,MAAM,UAAU,WAAW,IAAI,uDAAuD;AAAA,EACjG;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityRegistry.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EntityRegistry.ts"],"sourcesContent":["import { EntityConstructor } from '../../../utils'\n\nexport class EntityRegistry {\n\tpublic readonly entities: Record<string, EntityConstructor> = {}\n\n\tregister(name: string, definition: EntityConstructor) {\n\t\tif (this.entities[name]) {\n\t\t\tthrow new Error(`Entity with name ${name} is already registered`)\n\t\t}\n\t\tthis.entities[name] = definition\n\t}\n\n\thas(definition: EntityConstructor): boolean {\n\t\treturn Object.values(this.entities).includes(definition)\n\t}\n\n\tgetName(definition: EntityConstructor): string {\n\t\tfor (const [name, def] of Object.entries(this.entities)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`)\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,eAAe;AAAA,EAArB,cAAA;AACN,kBAAA,MAAgB,YAA8C,EAAC;AAAA,EAAA;AAAA,EAE/D,SAAS,MAAc,YAA+B;
|
|
1
|
+
{"version":3,"file":"EntityRegistry.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EntityRegistry.ts"],"sourcesContent":["import { EntityConstructor } from '../../../utils'\n\nexport class EntityRegistry {\n\tpublic readonly entities: Record<string, EntityConstructor> = {}\n\n\tregister(name: string, definition: EntityConstructor) {\n\t\tif (this.entities[name]) {\n\t\t\tthrow new Error(`Entity with name ${name} is already registered`)\n\t\t}\n\t\tthis.entities[name] = definition\n\t}\n\n\thas(definition: EntityConstructor): boolean {\n\t\treturn Object.values(this.entities).includes(definition)\n\t}\n\n\tgetName(definition: EntityConstructor): string {\n\t\tfor (const [name, def] of Object.entries(this.entities)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Entity ${definition.name} is not registered. Have you exported the definition?`)\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,eAAe;AAAA,EAArB,cAAA;AACN,kBAAA,MAAgB,YAA8C,EAAC;AAAA,EAAA;AAAA,EAE/D,SAAS,MAAc,YAA+B;AACrD,QAAI,KAAK,SAAS,IAAI,GAAG;AACxB,YAAM,IAAI,MAAM,oBAAoB,IAAI,wBAAwB;AAAA,IACjE;AACA,SAAK,SAAS,IAAI,IAAI;AAAA,EACvB;AAAA,EAEA,IAAI,YAAwC;AAC3C,WAAO,OAAO,OAAO,KAAK,QAAQ,EAAE,SAAS,UAAU;AAAA,EACxD;AAAA,EAEA,QAAQ,YAAuC;AAC9C,eAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,QAAQ,GAAG;AACxD,UAAI,QAAQ,YAAY;AACvB,eAAO;AAAA,MACR;AAAA,IACD;AACA,UAAM,IAAI,MAAM,UAAU,WAAW,IAAI,uDAAuD;AAAA,EACjG;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnumRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EnumRegistry.ts"],"sourcesContent":["import { EnumDefinition } from '../EnumDefinition'\n\nexport class EnumRegistry {\n\tpublic readonly enums: Record<string, EnumDefinition> = {}\n\n\tregister(name: string, definition: EnumDefinition) {\n\t\tif (this.enums[name]) {\n\t\t\tthrow new Error(`Enum with name ${name} is already registered`)\n\t\t}\n\t\tthis.enums[name] = definition\n\t}\n\n\thas(definition: EnumDefinition): boolean {\n\t\treturn Object.values(this.enums).includes(definition)\n\t}\n\n\tgetName(definition: EnumDefinition): string {\n\t\tfor (const [name, def] of Object.entries(this.enums)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Enum with values ${definition.values.join(', ')} is not registered.`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,aAAa;AAAA,EAAnB,cAAA;AACN,kBAAA,MAAgB,SAAwC,EAAC;AAAA,EAAA;AAAA,EAEzD,SAAS,MAAc,YAA4B;
|
|
1
|
+
{"version":3,"file":"EnumRegistry.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EnumRegistry.ts"],"sourcesContent":["import { EnumDefinition } from '../EnumDefinition'\n\nexport class EnumRegistry {\n\tpublic readonly enums: Record<string, EnumDefinition> = {}\n\n\tregister(name: string, definition: EnumDefinition) {\n\t\tif (this.enums[name]) {\n\t\t\tthrow new Error(`Enum with name ${name} is already registered`)\n\t\t}\n\t\tthis.enums[name] = definition\n\t}\n\n\thas(definition: EnumDefinition): boolean {\n\t\treturn Object.values(this.enums).includes(definition)\n\t}\n\n\tgetName(definition: EnumDefinition): string {\n\t\tfor (const [name, def] of Object.entries(this.enums)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Enum with values ${definition.values.join(', ')} is not registered.`)\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,aAAa;AAAA,EAAnB,cAAA;AACN,kBAAA,MAAgB,SAAwC,EAAC;AAAA,EAAA;AAAA,EAEzD,SAAS,MAAc,YAA4B;AAClD,QAAI,KAAK,MAAM,IAAI,GAAG;AACrB,YAAM,IAAI,MAAM,kBAAkB,IAAI,wBAAwB;AAAA,IAC/D;AACA,SAAK,MAAM,IAAI,IAAI;AAAA,EACpB;AAAA,EAEA,IAAI,YAAqC;AACxC,WAAO,OAAO,OAAO,KAAK,KAAK,EAAE,SAAS,UAAU;AAAA,EACrD;AAAA,EAEA,QAAQ,YAAoC;AAC3C,eAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,KAAK,GAAG;AACrD,UAAI,QAAQ,YAAY;AACvB,eAAO;AAAA,MACR;AAAA,IACD;AACA,UAAM,IAAI,MAAM,oBAAoB,WAAW,OAAO,KAAK,IAAI,CAAC,qBAAqB;AAAA,EACtF;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnumRegistry.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EnumRegistry.ts"],"sourcesContent":["import { EnumDefinition } from '../EnumDefinition'\n\nexport class EnumRegistry {\n\tpublic readonly enums: Record<string, EnumDefinition> = {}\n\n\tregister(name: string, definition: EnumDefinition) {\n\t\tif (this.enums[name]) {\n\t\t\tthrow new Error(`Enum with name ${name} is already registered`)\n\t\t}\n\t\tthis.enums[name] = definition\n\t}\n\n\thas(definition: EnumDefinition): boolean {\n\t\treturn Object.values(this.enums).includes(definition)\n\t}\n\n\tgetName(definition: EnumDefinition): string {\n\t\tfor (const [name, def] of Object.entries(this.enums)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Enum with values ${definition.values.join(', ')} is not registered.`)\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,aAAa;AAAA,EAAnB,cAAA;AACN,kBAAA,MAAgB,SAAwC,EAAC;AAAA,EAAA;AAAA,EAEzD,SAAS,MAAc,YAA4B;
|
|
1
|
+
{"version":3,"file":"EnumRegistry.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/EnumRegistry.ts"],"sourcesContent":["import { EnumDefinition } from '../EnumDefinition'\n\nexport class EnumRegistry {\n\tpublic readonly enums: Record<string, EnumDefinition> = {}\n\n\tregister(name: string, definition: EnumDefinition) {\n\t\tif (this.enums[name]) {\n\t\t\tthrow new Error(`Enum with name ${name} is already registered`)\n\t\t}\n\t\tthis.enums[name] = definition\n\t}\n\n\thas(definition: EnumDefinition): boolean {\n\t\treturn Object.values(this.enums).includes(definition)\n\t}\n\n\tgetName(definition: EnumDefinition): string {\n\t\tfor (const [name, def] of Object.entries(this.enums)) {\n\t\t\tif (def === definition) {\n\t\t\t\treturn name\n\t\t\t}\n\t\t}\n\t\tthrow new Error(`Enum with values ${definition.values.join(', ')} is not registered.`)\n\t}\n}\n"],"names":[],"mappings":";;;AAEO,MAAM,aAAa;AAAA,EAAnB,cAAA;AACN,kBAAA,MAAgB,SAAwC,EAAC;AAAA,EAAA;AAAA,EAEzD,SAAS,MAAc,YAA4B;AAClD,QAAI,KAAK,MAAM,IAAI,GAAG;AACrB,YAAM,IAAI,MAAM,kBAAkB,IAAI,wBAAwB;AAAA,IAC/D;AACA,SAAK,MAAM,IAAI,IAAI;AAAA,EACpB;AAAA,EAEA,IAAI,YAAqC;AACxC,WAAO,OAAO,OAAO,KAAK,KAAK,EAAE,SAAS,UAAU;AAAA,EACrD;AAAA,EAEA,QAAQ,YAAoC;AAC3C,eAAW,CAAC,MAAM,GAAG,KAAK,OAAO,QAAQ,KAAK,KAAK,GAAG;AACrD,UAAI,QAAQ,YAAY;AACvB,eAAO;AAAA,MACR;AAAA,IACD;AACA,UAAM,IAAI,MAAM,oBAAoB,WAAW,OAAO,KAAK,IAAI,CAAC,qBAAqB;AAAA,EACtF;AACD;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaBuilder.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport 'reflect-metadata'\nimport { tuple } from '../../../utils'\nimport { EntityConstructor, FieldsDefinition } from '../types'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { EntityRegistry } from './EntityRegistry'\nimport { EnumRegistry } from './EnumRegistry'\nimport { ColumnDefinition } from '../fieldDefinitions'\nimport { applyEntityExtensions } from '../extensions'\nimport {
|
|
1
|
+
{"version":3,"file":"SchemaBuilder.cjs","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport 'reflect-metadata'\nimport { tuple } from '../../../utils'\nimport { EntityConstructor, FieldsDefinition } from '../types'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { EntityRegistry } from './EntityRegistry'\nimport { EnumRegistry } from './EnumRegistry'\nimport { ColumnDefinition } from '../fieldDefinitions'\nimport { applyEntityExtensions } from '../extensions'\nimport { StrictDefinitionValidator, StrictOptions } from '../../../strict'\n\nexport class SchemaBuilder {\n\tprivate entityRegistry = new EntityRegistry()\n\n\tprivate enumRegistry = new EnumRegistry()\n\n\tconstructor(\n\t\tprivate readonly conventions: NamingConventions,\n\t\tprivate readonly strictDefinitionValidator: StrictDefinitionValidator = new StrictDefinitionValidator({}),\n\t\tprivate readonly options: {\n\t\t\tdefaultCollation?: string\n\t\t},\n\t) {}\n\n\tpublic addEntity(name: string, entity: EntityConstructor): void {\n\t\tthis.entityRegistry.register(name, entity)\n\t}\n\n\tpublic addEnum(name: string, definition: EnumDefinition): void {\n\t\tthis.enumRegistry.register(name, definition)\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tconst entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]): Model.Entity => {\n\t\t\tconst definitionInstance: FieldsDefinition = new definition()\n\n\t\t\tObject.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {\n\t\t\t\tif (typeof fieldDefinition !== 'object' || !('createField' in fieldDefinition)) {\n\t\t\t\t\tthrow `Entity \"${entityName}\": field \"${fieldName}\" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst primaryName = this.conventions.getPrimaryField()\n\n\t\t\tconst fields: Model.Entity['fields'] = [\n\t\t\t\t...definitionInstance[primaryName] ? [] : [tuple(primaryName, this.createPrimaryColumn())],\n\t\t\t\t...Object.entries(definitionInstance),\n\t\t\t]\n\t\t\t\t.map(([name, definition]) => {\n\t\t\t\t\treturn definition.createField({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tentityName,\n\t\t\t\t\t\tconventions: this.conventions,\n\t\t\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\t\t\toptions: this.options,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.reduce<Model.Entity['fields']>((acc, field) => {\n\t\t\t\t\tif (acc[field.name]) {\n\t\t\t\t\t\tthrow new Error(`Entity ${entityName}: field ${field.name} is already registered`)\n\t\t\t\t\t}\n\t\t\t\t\treturn { ...acc, [field.name]: field }\n\t\t\t\t}, {})\n\n\t\t\tconst entity: Model.Entity = {\n\t\t\t\tname: entityName,\n\t\t\t\tprimary: primaryName,\n\t\t\t\tprimaryColumn: (fields[primaryName] as Model.AnyColumn).columnName,\n\t\t\t\tunique: this.createUnique(entityName, definitionInstance),\n\t\t\t\tindexes: [],\n\t\t\t\tfields: fields,\n\t\t\t\ttableName: this.conventions.getTableName(entityName),\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t\treturn applyEntityExtensions(definition, {\n\t\t\t\tentity,\n\t\t\t\tdefinition: definitionInstance,\n\t\t\t\tregistry: this.entityRegistry,\n\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\tconventions: this.conventions,\n\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\toptions: this.options,\n\t\t\t})\n\t\t})\n\n\t\treturn {\n\t\t\tenums: Object.entries(this.enumRegistry.enums).reduce((acc, [name, def]) => ({ ...acc, [name]: def.values }), {}),\n\t\t\tentities: entities.reduce((acc, entity) => ({ ...acc, [entity.name]: entity }), {}),\n\t\t}\n\t}\n\n\tprivate createPrimaryColumn(): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\tnullable: false,\n\t\t\ttype: Model.ColumnType.Uuid,\n\t\t})\n\t}\n\n\tprivate createUnique(entityName: string, fieldDefinitions: FieldsDefinition): Model.Uniques {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\t\tfor (const [fieldName, definition] of Object.entries(fieldDefinitions)) {\n\t\t\tif (definition.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName], ...definition.options.unique })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["StrictDefinitionValidator","EntityRegistry","EnumRegistry","tuple","definition","applyEntityExtensions","ColumnDefinition","Model"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SchemaBuilder.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport 'reflect-metadata'\nimport { tuple } from '../../../utils'\nimport { EntityConstructor, FieldsDefinition } from '../types'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { EntityRegistry } from './EntityRegistry'\nimport { EnumRegistry } from './EnumRegistry'\nimport { ColumnDefinition } from '../fieldDefinitions'\nimport { applyEntityExtensions } from '../extensions'\nimport {
|
|
1
|
+
{"version":3,"file":"SchemaBuilder.js","sources":["../../../../../../../packages/schema-definition/src/model/definition/internal/SchemaBuilder.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { NamingConventions } from '@contember/schema-utils'\nimport 'reflect-metadata'\nimport { tuple } from '../../../utils'\nimport { EntityConstructor, FieldsDefinition } from '../types'\nimport { EnumDefinition } from '../EnumDefinition'\nimport { EntityRegistry } from './EntityRegistry'\nimport { EnumRegistry } from './EnumRegistry'\nimport { ColumnDefinition } from '../fieldDefinitions'\nimport { applyEntityExtensions } from '../extensions'\nimport { StrictDefinitionValidator, StrictOptions } from '../../../strict'\n\nexport class SchemaBuilder {\n\tprivate entityRegistry = new EntityRegistry()\n\n\tprivate enumRegistry = new EnumRegistry()\n\n\tconstructor(\n\t\tprivate readonly conventions: NamingConventions,\n\t\tprivate readonly strictDefinitionValidator: StrictDefinitionValidator = new StrictDefinitionValidator({}),\n\t\tprivate readonly options: {\n\t\t\tdefaultCollation?: string\n\t\t},\n\t) {}\n\n\tpublic addEntity(name: string, entity: EntityConstructor): void {\n\t\tthis.entityRegistry.register(name, entity)\n\t}\n\n\tpublic addEnum(name: string, definition: EnumDefinition): void {\n\t\tthis.enumRegistry.register(name, definition)\n\t}\n\n\tpublic createSchema(): Model.Schema {\n\t\tconst entities = Object.entries(this.entityRegistry.entities).map(([entityName, definition]): Model.Entity => {\n\t\t\tconst definitionInstance: FieldsDefinition = new definition()\n\n\t\t\tObject.entries(definitionInstance).forEach(([fieldName, fieldDefinition]) => {\n\t\t\t\tif (typeof fieldDefinition !== 'object' || !('createField' in fieldDefinition)) {\n\t\t\t\t\tthrow `Entity \"${entityName}\": field \"${fieldName}\" does not contain expected field definition. Check that you are correctly invoking methods of the definition builder.`\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tconst primaryName = this.conventions.getPrimaryField()\n\n\t\t\tconst fields: Model.Entity['fields'] = [\n\t\t\t\t...definitionInstance[primaryName] ? [] : [tuple(primaryName, this.createPrimaryColumn())],\n\t\t\t\t...Object.entries(definitionInstance),\n\t\t\t]\n\t\t\t\t.map(([name, definition]) => {\n\t\t\t\t\treturn definition.createField({\n\t\t\t\t\t\tname,\n\t\t\t\t\t\tentityName,\n\t\t\t\t\t\tconventions: this.conventions,\n\t\t\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\t\t\toptions: this.options,\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\t.reduce<Model.Entity['fields']>((acc, field) => {\n\t\t\t\t\tif (acc[field.name]) {\n\t\t\t\t\t\tthrow new Error(`Entity ${entityName}: field ${field.name} is already registered`)\n\t\t\t\t\t}\n\t\t\t\t\treturn { ...acc, [field.name]: field }\n\t\t\t\t}, {})\n\n\t\t\tconst entity: Model.Entity = {\n\t\t\t\tname: entityName,\n\t\t\t\tprimary: primaryName,\n\t\t\t\tprimaryColumn: (fields[primaryName] as Model.AnyColumn).columnName,\n\t\t\t\tunique: this.createUnique(entityName, definitionInstance),\n\t\t\t\tindexes: [],\n\t\t\t\tfields: fields,\n\t\t\t\ttableName: this.conventions.getTableName(entityName),\n\t\t\t\teventLog: {\n\t\t\t\t\tenabled: true,\n\t\t\t\t},\n\t\t\t}\n\t\t\treturn applyEntityExtensions(definition, {\n\t\t\t\tentity,\n\t\t\t\tdefinition: definitionInstance,\n\t\t\t\tregistry: this.entityRegistry,\n\t\t\t\tentityRegistry: this.entityRegistry,\n\t\t\t\tconventions: this.conventions,\n\t\t\t\tenumRegistry: this.enumRegistry,\n\t\t\t\tstrictDefinitionValidator: this.strictDefinitionValidator,\n\t\t\t\toptions: this.options,\n\t\t\t})\n\t\t})\n\n\t\treturn {\n\t\t\tenums: Object.entries(this.enumRegistry.enums).reduce((acc, [name, def]) => ({ ...acc, [name]: def.values }), {}),\n\t\t\tentities: entities.reduce((acc, entity) => ({ ...acc, [entity.name]: entity }), {}),\n\t\t}\n\t}\n\n\tprivate createPrimaryColumn(): ColumnDefinition {\n\t\treturn new ColumnDefinition({\n\t\t\tnullable: false,\n\t\t\ttype: Model.ColumnType.Uuid,\n\t\t})\n\t}\n\n\tprivate createUnique(entityName: string, fieldDefinitions: FieldsDefinition): Model.Uniques {\n\t\tconst unique: Model.UniqueConstraint[] = []\n\t\tfor (const [fieldName, definition] of Object.entries(fieldDefinitions)) {\n\t\t\tif (definition.options.unique) {\n\t\t\t\tunique.push({ fields: [fieldName], ...definition.options.unique })\n\t\t\t}\n\t\t}\n\t\treturn unique\n\t}\n}\n"],"names":["definition"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.cjs","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\
|
|
1
|
+
{"version":3,"file":"presets.cjs","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\nconst v1_4preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nconst v2_0preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tfullDateTimeResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nconst v2_1preset: Settings.Schema = {\n\t...v2_0preset,\n\tcontent: {\n\t\t...v2_0preset.content,\n\t\tuuidVersion: 7,\n\t},\n}\n\nexport const settingsPresets = {\n\t'v1.3': v1_3preset,\n\t'v1.4': v1_4preset,\n\t'v2.0': v2_0preset,\n\t'v2.1': v2_1preset,\n\n\t'latest': v2_1preset,\n}\n"],"names":[],"mappings":";;AAEA,MAAM,aAA8B;AAAA,EACnC,0BAA0B;AAAA,EAC1B,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAErC;AAEA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAAA,EAEpC,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,0BAA0B;AAAA,EAAA;AAE5B;AAEA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAAA,EAEpC,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,IACtB,0BAA0B;AAAA,EAAA;AAE5B;AAEA,MAAM,aAA8B;AAAA,EACnC,GAAG;AAAA,EACH,SAAS;AAAA,IACR,GAAG,WAAW;AAAA,IACd,aAAa;AAAA,EAAA;AAEf;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,UAAU;AACX;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\
|
|
1
|
+
{"version":3,"file":"presets.js","sources":["../../../../packages/schema-definition/src/presets.ts"],"sourcesContent":["import { Settings } from '@contember/schema'\n\nconst v1_3preset: Settings.Schema = {\n\tuseExistsInHasManyFilter: true,\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n}\n\nconst v1_4preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nconst v2_0preset: Settings.Schema = {\n\ttenant: {\n\t\tinviteExpirationMinutes: 60 * 24 * 7, // 7 days\n\t},\n\tcontent: {\n\t\tshortDateResponse: true,\n\t\tfullDateTimeResponse: true,\n\t\tuseExistsInHasManyFilter: true,\n\t},\n}\n\nconst v2_1preset: Settings.Schema = {\n\t...v2_0preset,\n\tcontent: {\n\t\t...v2_0preset.content,\n\t\tuuidVersion: 7,\n\t},\n}\n\nexport const settingsPresets = {\n\t'v1.3': v1_3preset,\n\t'v1.4': v1_4preset,\n\t'v2.0': v2_0preset,\n\t'v2.1': v2_1preset,\n\n\t'latest': v2_1preset,\n}\n"],"names":[],"mappings":"AAEA,MAAM,aAA8B;AAAA,EACnC,0BAA0B;AAAA,EAC1B,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAErC;AAEA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAAA,EAEpC,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,0BAA0B;AAAA,EAAA;AAE5B;AAEA,MAAM,aAA8B;AAAA,EACnC,QAAQ;AAAA,IACP,yBAAyB,KAAK,KAAK;AAAA;AAAA,EAAA;AAAA,EAEpC,SAAS;AAAA,IACR,mBAAmB;AAAA,IACnB,sBAAsB;AAAA,IACtB,0BAA0B;AAAA,EAAA;AAE5B;AAEA,MAAM,aAA8B;AAAA,EACnC,GAAG;AAAA,EACH,SAAS;AAAA,IACR,GAAG,WAAW;AAAA,IACd,aAAa;AAAA,EAAA;AAEf;AAEO,MAAM,kBAAkB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EAER,UAAU;AACX;"}
|
|
@@ -19,7 +19,9 @@ class StrictDefinitionValidator {
|
|
|
19
19
|
}
|
|
20
20
|
validateOnCascade(entityName, field, definition) {
|
|
21
21
|
if (!definition.onDelete && this.options.requireOnDelete) {
|
|
22
|
-
this.registerWarning(
|
|
22
|
+
this.registerWarning(
|
|
23
|
+
`${entityName}.${field}: onDelete behaviour is not set. Use one of cascadeOnDelete(), setNullOnDelete() or restrictOnDelete().`
|
|
24
|
+
);
|
|
23
25
|
}
|
|
24
26
|
}
|
|
25
27
|
registerWarning(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strict.cjs","sources":["../../../../packages/schema-definition/src/strict.ts"],"sourcesContent":["import { Model } from '@contember/schema'\n\nexport type StrictOptions = {\n\trequireOnDelete?: boolean\n\trequireInverseSide?: boolean\n}\n\nexport const allStrict: StrictOptions = {\n\trequireOnDelete: true,\n\trequireInverseSide: true,\n}\n\
|
|
1
|
+
{"version":3,"file":"strict.cjs","sources":["../../../../packages/schema-definition/src/strict.ts"],"sourcesContent":["import { Model } from '@contember/schema'\n\nexport type StrictOptions = {\n\trequireOnDelete?: boolean\n\trequireInverseSide?: boolean\n}\n\nexport const allStrict: StrictOptions = {\n\trequireOnDelete: true,\n\trequireInverseSide: true,\n}\n\nexport type Warning = { message: string }\n\nexport class StrictDefinitionValidator {\n\tpublic readonly warnings: Warning[] = []\n\n\tconstructor(\n\t\tprivate readonly options: StrictOptions,\n\t) {\n\t}\n\n\tpublic validateInverseSide(entityName: string, field: string, definition: { inversedBy?: string }): void {\n\t\tif (!definition.inversedBy && this.options.requireInverseSide) {\n\t\t\tthis.registerWarning(`${entityName}.${field}: inverse side of the relation is not defined.`)\n\t\t}\n\t}\n\n\tpublic validateOnCascade(entityName: string, field: string, definition: { onDelete?: Model.OnDelete }): void {\n\t\tif (!definition.onDelete && this.options.requireOnDelete) {\n\t\t\tthis.registerWarning(\n\t\t\t\t`${entityName}.${field}: onDelete behaviour is not set. Use one of cascadeOnDelete(), setNullOnDelete() or restrictOnDelete().`,\n\t\t\t)\n\t\t}\n\t}\n\n\tpublic registerWarning(message: string): void {\n\t\tthis.warnings.push({ message })\n\t}\n}\n"],"names":[],"mappings":";;;;;AAOO,MAAM,YAA2B;AAAA,EACvC,iBAAiB;AAAA,EACjB,oBAAoB;AACrB;AAIO,MAAM,0BAA0B;AAAA,EAGtC,YACkB,SAChB;AADgB,SAAA,UAAA;AAHlB,kBAAA,MAAgB,YAAsB,EAAC;AAAA,EAKvC;AAAA,EAEO,oBAAoB,YAAoB,OAAe,YAA2C;AACxG,QAAI,CAAC,WAAW,cAAc,KAAK,QAAQ,oBAAoB;AAC9D,WAAK,gBAAgB,GAAG,UAAU,IAAI,KAAK,gDAAgD;AAAA,IAC5F;AAAA,EACD;AAAA,EAEO,kBAAkB,YAAoB,OAAe,YAAiD;AAC5G,QAAI,CAAC,WAAW,YAAY,KAAK,QAAQ,iBAAiB;AACzD,WAAK;AAAA,QACJ,GAAG,UAAU,IAAI,KAAK;AAAA,MAAA;AAAA,IAExB;AAAA,EACD;AAAA,EAEO,gBAAgB,SAAuB;AAC7C,SAAK,SAAS,KAAK,EAAE,QAAA,CAAS;AAAA,EAC/B;AACD;;;"}
|
|
@@ -17,7 +17,9 @@ class StrictDefinitionValidator {
|
|
|
17
17
|
}
|
|
18
18
|
validateOnCascade(entityName, field, definition) {
|
|
19
19
|
if (!definition.onDelete && this.options.requireOnDelete) {
|
|
20
|
-
this.registerWarning(
|
|
20
|
+
this.registerWarning(
|
|
21
|
+
`${entityName}.${field}: onDelete behaviour is not set. Use one of cascadeOnDelete(), setNullOnDelete() or restrictOnDelete().`
|
|
22
|
+
);
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
registerWarning(message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strict.js","sources":["../../../../packages/schema-definition/src/strict.ts"],"sourcesContent":["import { Model } from '@contember/schema'\n\nexport type StrictOptions = {\n\trequireOnDelete?: boolean\n\trequireInverseSide?: boolean\n}\n\nexport const allStrict: StrictOptions = {\n\trequireOnDelete: true,\n\trequireInverseSide: true,\n}\n\
|
|
1
|
+
{"version":3,"file":"strict.js","sources":["../../../../packages/schema-definition/src/strict.ts"],"sourcesContent":["import { Model } from '@contember/schema'\n\nexport type StrictOptions = {\n\trequireOnDelete?: boolean\n\trequireInverseSide?: boolean\n}\n\nexport const allStrict: StrictOptions = {\n\trequireOnDelete: true,\n\trequireInverseSide: true,\n}\n\nexport type Warning = { message: string }\n\nexport class StrictDefinitionValidator {\n\tpublic readonly warnings: Warning[] = []\n\n\tconstructor(\n\t\tprivate readonly options: StrictOptions,\n\t) {\n\t}\n\n\tpublic validateInverseSide(entityName: string, field: string, definition: { inversedBy?: string }): void {\n\t\tif (!definition.inversedBy && this.options.requireInverseSide) {\n\t\t\tthis.registerWarning(`${entityName}.${field}: inverse side of the relation is not defined.`)\n\t\t}\n\t}\n\n\tpublic validateOnCascade(entityName: string, field: string, definition: { onDelete?: Model.OnDelete }): void {\n\t\tif (!definition.onDelete && this.options.requireOnDelete) {\n\t\t\tthis.registerWarning(\n\t\t\t\t`${entityName}.${field}: onDelete behaviour is not set. Use one of cascadeOnDelete(), setNullOnDelete() or restrictOnDelete().`,\n\t\t\t)\n\t\t}\n\t}\n\n\tpublic registerWarning(message: string): void {\n\t\tthis.warnings.push({ message })\n\t}\n}\n"],"names":[],"mappings":";;;AAOO,MAAM,YAA2B;AAAA,EACvC,iBAAiB;AAAA,EACjB,oBAAoB;AACrB;AAIO,MAAM,0BAA0B;AAAA,EAGtC,YACkB,SAChB;AADgB,SAAA,UAAA;AAHlB,kBAAA,MAAgB,YAAsB,EAAC;AAAA,EAKvC;AAAA,EAEO,oBAAoB,YAAoB,OAAe,YAA2C;AACxG,QAAI,CAAC,WAAW,cAAc,KAAK,QAAQ,oBAAoB;AAC9D,WAAK,gBAAgB,GAAG,UAAU,IAAI,KAAK,gDAAgD;AAAA,IAC5F;AAAA,EACD;AAAA,EAEO,kBAAkB,YAAoB,OAAe,YAAiD;AAC5G,QAAI,CAAC,WAAW,YAAY,KAAK,QAAQ,iBAAiB;AACzD,WAAK;AAAA,QACJ,GAAG,UAAU,IAAI,KAAK;AAAA,MAAA;AAAA,IAExB;AAAA,EACD;AAAA,EAEO,gBAAgB,SAAuB;AAC7C,SAAK,SAAS,KAAK,EAAE,QAAA,CAAS;AAAA,EAC/B;AACD;"}
|
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
require("reflect-metadata");
|
|
4
|
+
const getTC39ClassMetadata = (target, key) => {
|
|
5
|
+
const metaSymbol = Symbol.metadata ?? Reflect.ownKeys(target).find((k) => typeof k === "symbol" && String(k) === "Symbol(Symbol.metadata)");
|
|
6
|
+
if (!metaSymbol) return void 0;
|
|
7
|
+
return target[metaSymbol]?.[key];
|
|
8
|
+
};
|
|
4
9
|
const createMetadataStore = (initialValue) => {
|
|
5
|
-
const key = Symbol();
|
|
10
|
+
const key = /* @__PURE__ */ Symbol();
|
|
6
11
|
const get = (target) => {
|
|
7
|
-
|
|
12
|
+
const tc39 = getTC39ClassMetadata(target, key);
|
|
13
|
+
if (tc39 !== void 0) return tc39;
|
|
14
|
+
return typeof Reflect.hasMetadata === "function" && Reflect.hasMetadata(key, target) ? Reflect.getMetadata(key, target) : initialValue;
|
|
8
15
|
};
|
|
9
16
|
return {
|
|
10
17
|
get,
|
|
11
|
-
update: (target, generator) => {
|
|
18
|
+
update: (target, generator, context) => {
|
|
12
19
|
const current = get(target);
|
|
13
20
|
const newMetadata = generator(current);
|
|
14
|
-
Reflect.defineMetadata
|
|
21
|
+
if (typeof Reflect.defineMetadata === "function") {
|
|
22
|
+
Reflect.defineMetadata(key, newMetadata, target);
|
|
23
|
+
}
|
|
24
|
+
if (context) {
|
|
25
|
+
context.metadata[key] = newMetadata;
|
|
26
|
+
}
|
|
15
27
|
}
|
|
16
28
|
};
|
|
17
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataStore.cjs","sources":["../../../../../packages/schema-definition/src/utils/MetadataStore.ts"],"sourcesContent":["import 'reflect-metadata'\n\nexport interface MetadataStore<V> {\n\tget(target: Object): V\n\tupdate(target: Object, generator: (current: V) => V): void\n}\n\nexport const createMetadataStore = <V>(initialValue: V): MetadataStore<V> => {\n\tconst key = Symbol()\n\tconst get = (target: Object): V => {\n\t\treturn Reflect.hasMetadata(key, target)\n\t\t\t? Reflect.getMetadata(key, target)\n\t\t\t: initialValue\n\t}\n\treturn {\n\t\tget,\n\t\tupdate: (target, generator) => {\n\t\t\tconst current = get(target)\n\t\t\tconst newMetadata = generator(current)\n\t\t\tReflect.defineMetadata(key, newMetadata, target)\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"MetadataStore.cjs","sources":["../../../../../packages/schema-definition/src/utils/MetadataStore.ts"],"sourcesContent":["import 'reflect-metadata'\n\nexport interface MetadataStore<V> {\n\tget(target: Object): V\n\tupdate(target: Object, generator: (current: V) => V, context?: ClassDecoratorContext): void\n}\n\nconst getTC39ClassMetadata = (target: Object, key: symbol): unknown => {\n\tconst metaSymbol: symbol | undefined = Symbol.metadata\n\t\t?? Reflect.ownKeys(target).find((k): k is symbol => typeof k === 'symbol' && String(k) === 'Symbol(Symbol.metadata)')\n\tif (!metaSymbol) return undefined\n\treturn (target as any)[metaSymbol]?.[key]\n}\n\nexport const createMetadataStore = <V>(initialValue: V): MetadataStore<V> => {\n\tconst key = Symbol()\n\tconst get = (target: Object): V => {\n\t\tconst tc39 = getTC39ClassMetadata(target, key)\n\t\tif (tc39 !== undefined) return tc39 as V\n\t\treturn typeof Reflect.hasMetadata === 'function' && Reflect.hasMetadata(key, target)\n\t\t\t? Reflect.getMetadata(key, target)\n\t\t\t: initialValue\n\t}\n\treturn {\n\t\tget,\n\t\tupdate: (target, generator, context?) => {\n\t\t\tconst current = get(target)\n\t\t\tconst newMetadata = generator(current)\n\t\t\tif (typeof Reflect.defineMetadata === 'function') {\n\t\t\t\tReflect.defineMetadata(key, newMetadata, target)\n\t\t\t}\n\t\t\tif (context) {\n\t\t\t\tcontext.metadata[key] = newMetadata\n\t\t\t}\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";;;AAOA,MAAM,uBAAuB,CAAC,QAAgB,QAAyB;AACtE,QAAM,aAAiC,OAAO,YAC1C,QAAQ,QAAQ,MAAM,EAAE,KAAK,CAAC,MAAmB,OAAO,MAAM,YAAY,OAAO,CAAC,MAAM,yBAAyB;AACrH,MAAI,CAAC,WAAY,QAAO;AACxB,SAAQ,OAAe,UAAU,IAAI,GAAG;AACzC;AAEO,MAAM,sBAAsB,CAAI,iBAAsC;AAC5E,QAAM,MAAM,uBAAA;AACZ,QAAM,MAAM,CAAC,WAAsB;AAClC,UAAM,OAAO,qBAAqB,QAAQ,GAAG;AAC7C,QAAI,SAAS,OAAW,QAAO;AAC/B,WAAO,OAAO,QAAQ,gBAAgB,cAAc,QAAQ,YAAY,KAAK,MAAM,IAChF,QAAQ,YAAY,KAAK,MAAM,IAC/B;AAAA,EACJ;AACA,SAAO;AAAA,IACN;AAAA,IACA,QAAQ,CAAC,QAAQ,WAAW,YAAa;AACxC,YAAM,UAAU,IAAI,MAAM;AAC1B,YAAM,cAAc,UAAU,OAAO;AACrC,UAAI,OAAO,QAAQ,mBAAmB,YAAY;AACjD,gBAAQ,eAAe,KAAK,aAAa,MAAM;AAAA,MAChD;AACA,UAAI,SAAS;AACZ,gBAAQ,SAAS,GAAG,IAAI;AAAA,MACzB;AAAA,IACD;AAAA,EAAA;AAEF;;"}
|
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
|
+
const getTC39ClassMetadata = (target, key) => {
|
|
3
|
+
const metaSymbol = Symbol.metadata ?? Reflect.ownKeys(target).find((k) => typeof k === "symbol" && String(k) === "Symbol(Symbol.metadata)");
|
|
4
|
+
if (!metaSymbol) return void 0;
|
|
5
|
+
return target[metaSymbol]?.[key];
|
|
6
|
+
};
|
|
2
7
|
const createMetadataStore = (initialValue) => {
|
|
3
|
-
const key = Symbol();
|
|
8
|
+
const key = /* @__PURE__ */ Symbol();
|
|
4
9
|
const get = (target) => {
|
|
5
|
-
|
|
10
|
+
const tc39 = getTC39ClassMetadata(target, key);
|
|
11
|
+
if (tc39 !== void 0) return tc39;
|
|
12
|
+
return typeof Reflect.hasMetadata === "function" && Reflect.hasMetadata(key, target) ? Reflect.getMetadata(key, target) : initialValue;
|
|
6
13
|
};
|
|
7
14
|
return {
|
|
8
15
|
get,
|
|
9
|
-
update: (target, generator) => {
|
|
16
|
+
update: (target, generator, context) => {
|
|
10
17
|
const current = get(target);
|
|
11
18
|
const newMetadata = generator(current);
|
|
12
|
-
Reflect.defineMetadata
|
|
19
|
+
if (typeof Reflect.defineMetadata === "function") {
|
|
20
|
+
Reflect.defineMetadata(key, newMetadata, target);
|
|
21
|
+
}
|
|
22
|
+
if (context) {
|
|
23
|
+
context.metadata[key] = newMetadata;
|
|
24
|
+
}
|
|
13
25
|
}
|
|
14
26
|
};
|
|
15
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataStore.js","sources":["../../../../../packages/schema-definition/src/utils/MetadataStore.ts"],"sourcesContent":["import 'reflect-metadata'\n\nexport interface MetadataStore<V> {\n\tget(target: Object): V\n\tupdate(target: Object, generator: (current: V) => V): void\n}\n\nexport const createMetadataStore = <V>(initialValue: V): MetadataStore<V> => {\n\tconst key = Symbol()\n\tconst get = (target: Object): V => {\n\t\treturn Reflect.hasMetadata(key, target)\n\t\t\t? Reflect.getMetadata(key, target)\n\t\t\t: initialValue\n\t}\n\treturn {\n\t\tget,\n\t\tupdate: (target, generator) => {\n\t\t\tconst current = get(target)\n\t\t\tconst newMetadata = generator(current)\n\t\t\tReflect.defineMetadata(key, newMetadata, target)\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"MetadataStore.js","sources":["../../../../../packages/schema-definition/src/utils/MetadataStore.ts"],"sourcesContent":["import 'reflect-metadata'\n\nexport interface MetadataStore<V> {\n\tget(target: Object): V\n\tupdate(target: Object, generator: (current: V) => V, context?: ClassDecoratorContext): void\n}\n\nconst getTC39ClassMetadata = (target: Object, key: symbol): unknown => {\n\tconst metaSymbol: symbol | undefined = Symbol.metadata\n\t\t?? Reflect.ownKeys(target).find((k): k is symbol => typeof k === 'symbol' && String(k) === 'Symbol(Symbol.metadata)')\n\tif (!metaSymbol) return undefined\n\treturn (target as any)[metaSymbol]?.[key]\n}\n\nexport const createMetadataStore = <V>(initialValue: V): MetadataStore<V> => {\n\tconst key = Symbol()\n\tconst get = (target: Object): V => {\n\t\tconst tc39 = getTC39ClassMetadata(target, key)\n\t\tif (tc39 !== undefined) return tc39 as V\n\t\treturn typeof Reflect.hasMetadata === 'function' && Reflect.hasMetadata(key, target)\n\t\t\t? Reflect.getMetadata(key, target)\n\t\t\t: initialValue\n\t}\n\treturn {\n\t\tget,\n\t\tupdate: (target, generator, context?) => {\n\t\t\tconst current = get(target)\n\t\t\tconst newMetadata = generator(current)\n\t\t\tif (typeof Reflect.defineMetadata === 'function') {\n\t\t\t\tReflect.defineMetadata(key, newMetadata, target)\n\t\t\t}\n\t\t\tif (context) {\n\t\t\t\tcontext.metadata[key] = newMetadata\n\t\t\t}\n\t\t},\n\t}\n}\n"],"names":[],"mappings":";AAOA,MAAM,uBAAuB,CAAC,QAAgB,QAAyB;AACtE,QAAM,aAAiC,OAAO,YAC1C,QAAQ,QAAQ,MAAM,EAAE,KAAK,CAAC,MAAmB,OAAO,MAAM,YAAY,OAAO,CAAC,MAAM,yBAAyB;AACrH,MAAI,CAAC,WAAY,QAAO;AACxB,SAAQ,OAAe,UAAU,IAAI,GAAG;AACzC;AAEO,MAAM,sBAAsB,CAAI,iBAAsC;AAC5E,QAAM,MAAM,uBAAA;AACZ,QAAM,MAAM,CAAC,WAAsB;AAClC,UAAM,OAAO,qBAAqB,QAAQ,GAAG;AAC7C,QAAI,SAAS,OAAW,QAAO;AAC/B,WAAO,OAAO,QAAQ,gBAAgB,cAAc,QAAQ,YAAY,KAAK,MAAM,IAChF,QAAQ,YAAY,KAAK,MAAM,IAC/B;AAAA,EACJ;AACA,SAAO;AAAA,IACN;AAAA,IACA,QAAQ,CAAC,QAAQ,WAAW,YAAa;AACxC,YAAM,UAAU,IAAI,MAAM;AAC1B,YAAM,cAAc,UAAU,OAAO;AACrC,UAAI,OAAO,QAAQ,mBAAmB,YAAY;AACjD,gBAAQ,eAAe,KAAK,aAAa,MAAM;AAAA,MAChD;AACA,UAAI,SAAS;AACZ,gBAAQ,SAAS,GAAG,IAAI;AAAA,MACzB;AAAA,IACD;AAAA,EAAA;AAEF;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertNever.cjs","sources":["../../../../../packages/schema-definition/src/utils/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":";;AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"assertNever.cjs","sources":["../../../../../packages/schema-definition/src/utils/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":";;AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAA;AACX;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assertNever.js","sources":["../../../../../packages/schema-definition/src/utils/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"assertNever.js","sources":["../../../../../packages/schema-definition/src/utils/assertNever.ts"],"sourcesContent":["export function assertNever(_: never): never {\n\tthrow new Error()\n}\n"],"names":[],"mappings":"AAAO,SAAS,YAAY,GAAiB;AAC5C,QAAM,IAAI,MAAA;AACX;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterEntityDefinition.cjs","sources":["../../../../../packages/schema-definition/src/utils/filterEntityDefinition.ts"],"sourcesContent":["import { EntityConstructor } from './decorators'\n\nexport const filterEntityDefinition = (definitions: Record<string, unknown>): [string, EntityConstructor][]
|
|
1
|
+
{"version":3,"file":"filterEntityDefinition.cjs","sources":["../../../../../packages/schema-definition/src/utils/filterEntityDefinition.ts"],"sourcesContent":["import { EntityConstructor } from './decorators'\n\nexport const filterEntityDefinition = (definitions: Record<string, unknown>): [string, EntityConstructor][] =>\n\tObject.entries(definitions)\n\t\t.filter((it): it is [string, EntityConstructor] => isEntityConstructor(it[1]))\n\nexport const isEntityConstructor = (it: unknown): it is EntityConstructor => {\n\treturn typeof it === 'function' && 'constructor' in it && 'prototype' in it\n}\n"],"names":[],"mappings":";;AAEO,MAAM,yBAAyB,CAAC,gBACtC,OAAO,QAAQ,WAAW,EACxB,OAAO,CAAC,OAA0C,oBAAoB,GAAG,CAAC,CAAC,CAAC;AAExE,MAAM,sBAAsB,CAAC,OAAyC;AAC5E,SAAO,OAAO,OAAO,cAAc,iBAAiB,MAAM,eAAe;AAC1E;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterEntityDefinition.js","sources":["../../../../../packages/schema-definition/src/utils/filterEntityDefinition.ts"],"sourcesContent":["import { EntityConstructor } from './decorators'\n\nexport const filterEntityDefinition = (definitions: Record<string, unknown>): [string, EntityConstructor][]
|
|
1
|
+
{"version":3,"file":"filterEntityDefinition.js","sources":["../../../../../packages/schema-definition/src/utils/filterEntityDefinition.ts"],"sourcesContent":["import { EntityConstructor } from './decorators'\n\nexport const filterEntityDefinition = (definitions: Record<string, unknown>): [string, EntityConstructor][] =>\n\tObject.entries(definitions)\n\t\t.filter((it): it is [string, EntityConstructor] => isEntityConstructor(it[1]))\n\nexport const isEntityConstructor = (it: unknown): it is EntityConstructor => {\n\treturn typeof it === 'function' && 'constructor' in it && 'prototype' in it\n}\n"],"names":[],"mappings":"AAEO,MAAM,yBAAyB,CAAC,gBACtC,OAAO,QAAQ,WAAW,EACxB,OAAO,CAAC,OAA0C,oBAAoB,GAAG,CAAC,CAAC,CAAC;AAExE,MAAM,sBAAsB,CAAC,OAAyC;AAC5E,SAAO,OAAO,OAAO,cAAc,iBAAiB,MAAM,eAAe;AAC1E;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.cjs","sources":["../../../../../packages/schema-definition/src/utils/tuple.ts"],"sourcesContent":["export const tuple = <T extends unknown[]>(...args: T) => args\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"tuple.cjs","sources":["../../../../../packages/schema-definition/src/utils/tuple.ts"],"sourcesContent":["export const tuple = <T extends unknown[]>(...args: T) => args\n"],"names":[],"mappings":";;AAAO,MAAM,QAAQ,IAAyB,SAAY;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.js","sources":["../../../../../packages/schema-definition/src/utils/tuple.ts"],"sourcesContent":["export const tuple = <T extends unknown[]>(...args: T) => args\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tuple.js","sources":["../../../../../packages/schema-definition/src/utils/tuple.ts"],"sourcesContent":["export const tuple = <T extends unknown[]>(...args: T) => args\n"],"names":[],"mappings":"AAAO,MAAM,QAAQ,IAAyB,SAAY;"}
|
|
@@ -27,14 +27,27 @@ const ArgumentFactory = {
|
|
|
27
27
|
}),
|
|
28
28
|
literal: (value) => ({ type: schema.Validation.ArgumentType.literal, value })
|
|
29
29
|
};
|
|
30
|
-
const RuleMetaKey = Symbol("Rule");
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
const RuleMetaKey = /* @__PURE__ */ Symbol("Rule");
|
|
31
|
+
const isLegacyDecorator = (target) => typeof target === "object" && target !== null || typeof target === "function";
|
|
32
|
+
function addRuleToMetadata(target, propertyKeyOrContext, ...rule) {
|
|
33
|
+
if (isLegacyDecorator(target)) {
|
|
34
|
+
const propertyKey = propertyKeyOrContext;
|
|
35
|
+
const hasExisting = Reflect.hasMetadata(RuleMetaKey, target, propertyKey);
|
|
36
|
+
const existing = hasExisting ? Reflect.getMetadata(RuleMetaKey, target, propertyKey) : [];
|
|
37
|
+
Reflect.defineMetadata(RuleMetaKey, [...rule, ...existing], target, propertyKey);
|
|
38
|
+
} else {
|
|
39
|
+
const context = propertyKeyOrContext;
|
|
40
|
+
const name = String(context.name);
|
|
41
|
+
const allRules = context.metadata[RuleMetaKey] ?? {};
|
|
42
|
+
allRules[name] = [...rule, ...allRules[name] ?? []];
|
|
43
|
+
context.metadata[RuleMetaKey] = allRules;
|
|
44
|
+
}
|
|
35
45
|
}
|
|
36
|
-
function
|
|
37
|
-
|
|
46
|
+
function getTC39Metadata(cls) {
|
|
47
|
+
const metaSymbol = Symbol.metadata ?? Reflect.ownKeys(cls).find((k) => typeof k === "symbol" && String(k) === "Symbol(Symbol.metadata)");
|
|
48
|
+
if (!metaSymbol) return void 0;
|
|
49
|
+
const meta = cls[metaSymbol];
|
|
50
|
+
return meta?.[RuleMetaKey];
|
|
38
51
|
}
|
|
39
52
|
function fluent() {
|
|
40
53
|
return new RuleBranch([], []);
|
|
@@ -59,8 +72,8 @@ class RuleBranch {
|
|
|
59
72
|
const messageParsed = typeof message === "string" ? { text: message } : message;
|
|
60
73
|
const newRules = [...this.branchRules, { validator, message: messageParsed }];
|
|
61
74
|
const branch = new RuleBranch(this.conditions, newRules);
|
|
62
|
-
const propertyDecorator = (target,
|
|
63
|
-
addRuleToMetadata(target,
|
|
75
|
+
const propertyDecorator = (target, propertyKeyOrContext) => {
|
|
76
|
+
addRuleToMetadata(target, propertyKeyOrContext, ...branch.buildRules());
|
|
64
77
|
};
|
|
65
78
|
return Object.assign(propertyDecorator, branch);
|
|
66
79
|
});
|
|
@@ -157,16 +170,17 @@ const assertNotEmpty = (message) => fluent().assertNotEmpty(message);
|
|
|
157
170
|
const assertPattern = (pattern, message) => fluent().assertPattern(pattern, message);
|
|
158
171
|
const assertMinLength = (min, message) => fluent().assertMinLength(min, message);
|
|
159
172
|
const assertMaxLength = (min, message) => fluent().assertMaxLength(min, message);
|
|
160
|
-
const combine = (...decorators) => (target,
|
|
173
|
+
const combine = (...decorators) => (target, propertyKeyOrContext) => decorators.forEach((it) => it(target, propertyKeyOrContext));
|
|
161
174
|
function parseDefinition(definitions) {
|
|
162
175
|
return filterEntityDefinition.filterEntityDefinition(definitions).map(([name, definition]) => {
|
|
163
176
|
const target = definition.prototype;
|
|
164
177
|
const defInstance = new definition();
|
|
165
178
|
const fields = Object.keys(defInstance);
|
|
179
|
+
const tc39Rules = getTC39Metadata(definition);
|
|
166
180
|
return tuple.tuple(
|
|
167
181
|
name,
|
|
168
182
|
fields.map((field) => {
|
|
169
|
-
const fieldRules = Reflect.getMetadata(RuleMetaKey, target, field);
|
|
183
|
+
const fieldRules = tc39Rules?.[field] ?? (typeof Reflect.getMetadata === "function" ? Reflect.getMetadata(RuleMetaKey, target, field) : void 0);
|
|
170
184
|
if (fieldRules === void 0) {
|
|
171
185
|
return tuple.tuple(field, []);
|
|
172
186
|
}
|