@contember/schema-definition 1.4.0-rc.8 → 2.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/index.cjs +122 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +117 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js +120 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
- package/dist/development/src/acl/builder/EntitySelector.cjs +32 -0
- package/dist/development/src/acl/builder/EntitySelector.cjs.map +1 -0
- package/dist/development/src/acl/builder/EntitySelector.js +33 -0
- package/dist/development/src/acl/builder/EntitySelector.js.map +1 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js +60 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
- package/dist/development/src/acl/builder/FieldSelector.cjs +26 -0
- package/dist/development/src/acl/builder/FieldSelector.cjs.map +1 -0
- package/dist/development/src/acl/builder/FieldSelector.js +27 -0
- package/dist/development/src/acl/builder/FieldSelector.js.map +1 -0
- package/dist/development/src/acl/builder/PermissionOverrider.cjs +31 -0
- package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -0
- package/dist/development/src/acl/builder/PermissionOverrider.js +32 -0
- package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs +58 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.js +58 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -0
- package/dist/development/src/acl/builder/PredicateReference.cjs +43 -0
- package/dist/development/src/acl/builder/PredicateReference.cjs.map +1 -0
- package/dist/development/src/acl/builder/PredicateReference.js +43 -0
- package/dist/development/src/acl/builder/PredicateReference.js.map +1 -0
- package/dist/development/src/acl/definition/customPrimary.cjs +14 -0
- package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -0
- package/dist/development/src/acl/definition/customPrimary.js +14 -0
- package/dist/development/src/acl/definition/customPrimary.js.map +1 -0
- package/dist/development/src/acl/definition/index.cjs +27 -0
- package/dist/development/src/acl/definition/index.cjs.map +1 -0
- package/dist/development/src/acl/definition/index.js +27 -0
- package/dist/development/src/acl/definition/index.js.map +1 -0
- package/dist/development/src/acl/definition/internal/AclFactory.cjs +103 -0
- package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/AclFactory.js +103 -0
- package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.cjs +8 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.js +8 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.js.map +1 -0
- package/dist/development/src/acl/definition/internal/stores.cjs +10 -0
- package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/stores.js +10 -0
- package/dist/development/src/acl/definition/internal/stores.js.map +1 -0
- package/dist/development/src/acl/definition/permissions.cjs +12 -0
- package/dist/development/src/acl/definition/permissions.cjs.map +1 -0
- package/dist/development/src/acl/definition/permissions.js +12 -0
- package/dist/development/src/acl/definition/permissions.js.map +1 -0
- package/dist/development/src/acl/definition/references.cjs +26 -0
- package/dist/development/src/acl/definition/references.cjs.map +1 -0
- package/dist/development/src/acl/definition/references.js +26 -0
- package/dist/development/src/acl/definition/references.js.map +1 -0
- package/dist/development/src/acl/definition/roles.cjs +14 -0
- package/dist/development/src/acl/definition/roles.cjs.map +1 -0
- package/dist/development/src/acl/definition/roles.js +14 -0
- package/dist/development/src/acl/definition/roles.js.map +1 -0
- package/dist/development/src/acl/definition/variables.cjs +36 -0
- package/dist/development/src/acl/definition/variables.cjs.map +1 -0
- package/dist/development/src/acl/definition/variables.js +36 -0
- package/dist/development/src/acl/definition/variables.js.map +1 -0
- package/dist/development/src/actions/definition/index.cjs +15 -0
- package/dist/development/src/actions/definition/index.cjs.map +1 -0
- package/dist/development/src/actions/definition/index.js +15 -0
- package/dist/development/src/actions/definition/index.js.map +1 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs +179 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.js +179 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -0
- package/dist/development/src/actions/definition/internal/store.cjs +6 -0
- package/dist/development/src/actions/definition/internal/store.cjs.map +1 -0
- package/dist/development/src/actions/definition/internal/store.js +6 -0
- package/dist/development/src/actions/definition/internal/store.js.map +1 -0
- package/dist/development/src/actions/definition/targets.cjs +15 -0
- package/dist/development/src/actions/definition/targets.cjs.map +1 -0
- package/dist/development/src/actions/definition/targets.js +15 -0
- package/dist/development/src/actions/definition/targets.js.map +1 -0
- package/dist/development/src/actions/definition/triggers.cjs +12 -0
- package/dist/development/src/actions/definition/triggers.cjs.map +1 -0
- package/dist/development/src/actions/definition/triggers.js +12 -0
- package/dist/development/src/actions/definition/triggers.js.map +1 -0
- package/dist/development/src/createSchema.cjs +26 -0
- package/dist/development/src/createSchema.cjs.map +1 -0
- package/dist/development/src/createSchema.js +26 -0
- package/dist/development/src/createSchema.js.map +1 -0
- package/dist/development/src/model/builder/ColumnBuilder.cjs +36 -0
- package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/ColumnBuilder.js +37 -0
- package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -0
- package/dist/development/src/model/builder/EntityBuilder.cjs +69 -0
- package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/EntityBuilder.js +70 -0
- package/dist/development/src/model/builder/EntityBuilder.js.map +1 -0
- package/dist/development/src/model/builder/FieldBuilder.cjs +14 -0
- package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/FieldBuilder.js +15 -0
- package/dist/development/src/model/builder/FieldBuilder.js.map +1 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs +35 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.js +36 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs +36 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.js +37 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs +44 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.js +45 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs +46 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.js +47 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilder.cjs +40 -0
- package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilder.js +40 -0
- package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderError.cjs +6 -0
- package/dist/development/src/model/builder/SchemaBuilderError.cjs.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderError.js +6 -0
- package/dist/development/src/model/builder/SchemaBuilderError.js.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs +153 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.js +154 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs +34 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.js +35 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js +45 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js +51 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
- package/dist/development/src/model/definition/EnumDefinition.cjs +13 -0
- package/dist/development/src/model/definition/EnumDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/EnumDefinition.js +13 -0
- package/dist/development/src/model/definition/EnumDefinition.js.map +1 -0
- package/dist/development/src/model/definition/EventLogDefinition.cjs +9 -0
- package/dist/development/src/model/definition/EventLogDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/EventLogDefinition.js +9 -0
- package/dist/development/src/model/definition/EventLogDefinition.js.map +1 -0
- package/dist/development/src/model/definition/IndexDefinition.cjs +17 -0
- package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/IndexDefinition.js +17 -0
- package/dist/development/src/model/definition/IndexDefinition.js.map +1 -0
- package/dist/development/src/model/definition/OrderByDefinition.cjs +30 -0
- package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/OrderByDefinition.js +30 -0
- package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -0
- package/dist/development/src/model/definition/UniqueDefinition.cjs +17 -0
- package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/UniqueDefinition.js +17 -0
- package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -0
- package/dist/development/src/model/definition/ViewDefinition.cjs +25 -0
- package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/ViewDefinition.js +25 -0
- package/dist/development/src/model/definition/ViewDefinition.js.map +1 -0
- package/dist/development/src/model/definition/extensions.cjs +16 -0
- package/dist/development/src/model/definition/extensions.cjs.map +1 -0
- package/dist/development/src/model/definition/extensions.js +16 -0
- package/dist/development/src/model/definition/extensions.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +118 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +118 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +12 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +12 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +54 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +54 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +37 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +37 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +57 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +57 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +33 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +33 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +61 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +61 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +36 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +36 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
- package/dist/development/src/model/definition/index.cjs +80 -0
- package/dist/development/src/model/definition/index.cjs.map +1 -0
- package/dist/development/src/model/definition/index.js +81 -0
- package/dist/development/src/model/definition/index.js.map +1 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs +29 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.js +29 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs +29 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.js +29 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs +92 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.js +92 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -0
- package/dist/development/src/presets.cjs +25 -0
- package/dist/development/src/presets.cjs.map +1 -0
- package/dist/development/src/presets.js +25 -0
- package/dist/development/src/presets.js.map +1 -0
- package/dist/development/src/strict.cjs +31 -0
- package/dist/development/src/strict.cjs.map +1 -0
- package/dist/development/src/strict.js +31 -0
- package/dist/development/src/strict.js.map +1 -0
- package/dist/development/src/utils/MetadataStore.cjs +19 -0
- package/dist/development/src/utils/MetadataStore.cjs.map +1 -0
- package/dist/development/src/utils/MetadataStore.js +19 -0
- package/dist/development/src/utils/MetadataStore.js.map +1 -0
- package/dist/development/src/utils/assertNever.cjs +7 -0
- package/dist/development/src/utils/assertNever.cjs.map +1 -0
- package/dist/development/src/utils/assertNever.js +7 -0
- package/dist/development/src/utils/assertNever.js.map +1 -0
- package/dist/development/src/utils/filterEntityDefinition.cjs +9 -0
- package/dist/development/src/utils/filterEntityDefinition.cjs.map +1 -0
- package/dist/development/src/utils/filterEntityDefinition.js +9 -0
- package/dist/development/src/utils/filterEntityDefinition.js.map +1 -0
- package/dist/development/src/utils/tuple.cjs +5 -0
- package/dist/development/src/utils/tuple.cjs.map +1 -0
- package/dist/development/src/utils/tuple.js +5 -0
- package/dist/development/src/utils/tuple.js.map +1 -0
- package/dist/development/src/validation/index.cjs +199 -0
- package/dist/development/src/validation/index.cjs.map +1 -0
- package/dist/development/src/validation/index.js +199 -0
- package/dist/development/src/validation/index.js.map +1 -0
- package/dist/production/index.cjs +122 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +117 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js +120 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
- package/dist/production/src/acl/builder/EntitySelector.cjs +32 -0
- package/dist/production/src/acl/builder/EntitySelector.cjs.map +1 -0
- package/dist/production/src/acl/builder/EntitySelector.js +33 -0
- package/dist/production/src/acl/builder/EntitySelector.js.map +1 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js +60 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
- package/dist/production/src/acl/builder/FieldSelector.cjs +26 -0
- package/dist/production/src/acl/builder/FieldSelector.cjs.map +1 -0
- package/dist/production/src/acl/builder/FieldSelector.js +27 -0
- package/dist/production/src/acl/builder/FieldSelector.js.map +1 -0
- package/dist/production/src/acl/builder/PermissionOverrider.cjs +31 -0
- package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -0
- package/dist/production/src/acl/builder/PermissionOverrider.js +32 -0
- package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs +58 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.js +58 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -0
- package/dist/production/src/acl/builder/PredicateReference.cjs +43 -0
- package/dist/production/src/acl/builder/PredicateReference.cjs.map +1 -0
- package/dist/production/src/acl/builder/PredicateReference.js +43 -0
- package/dist/production/src/acl/builder/PredicateReference.js.map +1 -0
- package/dist/production/src/acl/definition/customPrimary.cjs +14 -0
- package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -0
- package/dist/production/src/acl/definition/customPrimary.js +14 -0
- package/dist/production/src/acl/definition/customPrimary.js.map +1 -0
- package/dist/production/src/acl/definition/index.cjs +27 -0
- package/dist/production/src/acl/definition/index.cjs.map +1 -0
- package/dist/production/src/acl/definition/index.js +27 -0
- package/dist/production/src/acl/definition/index.js.map +1 -0
- package/dist/production/src/acl/definition/internal/AclFactory.cjs +103 -0
- package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/AclFactory.js +103 -0
- package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.cjs +8 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.js +8 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.js.map +1 -0
- package/dist/production/src/acl/definition/internal/stores.cjs +10 -0
- package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/stores.js +10 -0
- package/dist/production/src/acl/definition/internal/stores.js.map +1 -0
- package/dist/production/src/acl/definition/permissions.cjs +12 -0
- package/dist/production/src/acl/definition/permissions.cjs.map +1 -0
- package/dist/production/src/acl/definition/permissions.js +12 -0
- package/dist/production/src/acl/definition/permissions.js.map +1 -0
- package/dist/production/src/acl/definition/references.cjs +26 -0
- package/dist/production/src/acl/definition/references.cjs.map +1 -0
- package/dist/production/src/acl/definition/references.js +26 -0
- package/dist/production/src/acl/definition/references.js.map +1 -0
- package/dist/production/src/acl/definition/roles.cjs +14 -0
- package/dist/production/src/acl/definition/roles.cjs.map +1 -0
- package/dist/production/src/acl/definition/roles.js +14 -0
- package/dist/production/src/acl/definition/roles.js.map +1 -0
- package/dist/production/src/acl/definition/variables.cjs +36 -0
- package/dist/production/src/acl/definition/variables.cjs.map +1 -0
- package/dist/production/src/acl/definition/variables.js +36 -0
- package/dist/production/src/acl/definition/variables.js.map +1 -0
- package/dist/production/src/actions/definition/index.cjs +15 -0
- package/dist/production/src/actions/definition/index.cjs.map +1 -0
- package/dist/production/src/actions/definition/index.js +15 -0
- package/dist/production/src/actions/definition/index.js.map +1 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs +179 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.js +179 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -0
- package/dist/production/src/actions/definition/internal/store.cjs +6 -0
- package/dist/production/src/actions/definition/internal/store.cjs.map +1 -0
- package/dist/production/src/actions/definition/internal/store.js +6 -0
- package/dist/production/src/actions/definition/internal/store.js.map +1 -0
- package/dist/production/src/actions/definition/targets.cjs +15 -0
- package/dist/production/src/actions/definition/targets.cjs.map +1 -0
- package/dist/production/src/actions/definition/targets.js +15 -0
- package/dist/production/src/actions/definition/targets.js.map +1 -0
- package/dist/production/src/actions/definition/triggers.cjs +12 -0
- package/dist/production/src/actions/definition/triggers.cjs.map +1 -0
- package/dist/production/src/actions/definition/triggers.js +12 -0
- package/dist/production/src/actions/definition/triggers.js.map +1 -0
- package/dist/production/src/createSchema.cjs +26 -0
- package/dist/production/src/createSchema.cjs.map +1 -0
- package/dist/production/src/createSchema.js +26 -0
- package/dist/production/src/createSchema.js.map +1 -0
- package/dist/production/src/model/builder/ColumnBuilder.cjs +36 -0
- package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/ColumnBuilder.js +37 -0
- package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -0
- package/dist/production/src/model/builder/EntityBuilder.cjs +69 -0
- package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/EntityBuilder.js +70 -0
- package/dist/production/src/model/builder/EntityBuilder.js.map +1 -0
- package/dist/production/src/model/builder/FieldBuilder.cjs +14 -0
- package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/FieldBuilder.js +15 -0
- package/dist/production/src/model/builder/FieldBuilder.js.map +1 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs +35 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.js +36 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs +36 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.js +37 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs +44 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.js +45 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs +46 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.js +47 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilder.cjs +40 -0
- package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilder.js +40 -0
- package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderError.cjs +6 -0
- package/dist/production/src/model/builder/SchemaBuilderError.cjs.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderError.js +6 -0
- package/dist/production/src/model/builder/SchemaBuilderError.js.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs +153 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.js +154 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs +34 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.js +35 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js +45 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js +51 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
- package/dist/production/src/model/definition/EnumDefinition.cjs +13 -0
- package/dist/production/src/model/definition/EnumDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/EnumDefinition.js +13 -0
- package/dist/production/src/model/definition/EnumDefinition.js.map +1 -0
- package/dist/production/src/model/definition/EventLogDefinition.cjs +9 -0
- package/dist/production/src/model/definition/EventLogDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/EventLogDefinition.js +9 -0
- package/dist/production/src/model/definition/EventLogDefinition.js.map +1 -0
- package/dist/production/src/model/definition/IndexDefinition.cjs +17 -0
- package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/IndexDefinition.js +17 -0
- package/dist/production/src/model/definition/IndexDefinition.js.map +1 -0
- package/dist/production/src/model/definition/OrderByDefinition.cjs +30 -0
- package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/OrderByDefinition.js +30 -0
- package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -0
- package/dist/production/src/model/definition/UniqueDefinition.cjs +17 -0
- package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/UniqueDefinition.js +17 -0
- package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -0
- package/dist/production/src/model/definition/ViewDefinition.cjs +25 -0
- package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/ViewDefinition.js +25 -0
- package/dist/production/src/model/definition/ViewDefinition.js.map +1 -0
- package/dist/production/src/model/definition/extensions.cjs +16 -0
- package/dist/production/src/model/definition/extensions.cjs.map +1 -0
- package/dist/production/src/model/definition/extensions.js +16 -0
- package/dist/production/src/model/definition/extensions.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +118 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +118 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +12 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +12 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +54 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +54 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +37 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +37 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +57 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +57 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +33 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +33 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +61 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +61 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +36 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +36 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
- package/dist/production/src/model/definition/index.cjs +80 -0
- package/dist/production/src/model/definition/index.cjs.map +1 -0
- package/dist/production/src/model/definition/index.js +81 -0
- package/dist/production/src/model/definition/index.js.map +1 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs +29 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.js +29 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs +29 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.js +29 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs +92 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.js +92 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -0
- package/dist/production/src/presets.cjs +25 -0
- package/dist/production/src/presets.cjs.map +1 -0
- package/dist/production/src/presets.js +25 -0
- package/dist/production/src/presets.js.map +1 -0
- package/dist/production/src/strict.cjs +31 -0
- package/dist/production/src/strict.cjs.map +1 -0
- package/dist/production/src/strict.js +31 -0
- package/dist/production/src/strict.js.map +1 -0
- package/dist/production/src/utils/MetadataStore.cjs +19 -0
- package/dist/production/src/utils/MetadataStore.cjs.map +1 -0
- package/dist/production/src/utils/MetadataStore.js +19 -0
- package/dist/production/src/utils/MetadataStore.js.map +1 -0
- package/dist/production/src/utils/assertNever.cjs +7 -0
- package/dist/production/src/utils/assertNever.cjs.map +1 -0
- package/dist/production/src/utils/assertNever.js +7 -0
- package/dist/production/src/utils/assertNever.js.map +1 -0
- package/dist/production/src/utils/filterEntityDefinition.cjs +9 -0
- package/dist/production/src/utils/filterEntityDefinition.cjs.map +1 -0
- package/dist/production/src/utils/filterEntityDefinition.js +9 -0
- package/dist/production/src/utils/filterEntityDefinition.js.map +1 -0
- package/dist/production/src/utils/tuple.cjs +5 -0
- package/dist/production/src/utils/tuple.cjs.map +1 -0
- package/dist/production/src/utils/tuple.js +5 -0
- package/dist/production/src/utils/tuple.js.map +1 -0
- package/dist/production/src/validation/index.cjs +199 -0
- package/dist/production/src/validation/index.cjs.map +1 -0
- package/dist/production/src/validation/index.js +199 -0
- package/dist/production/src/validation/index.js.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +1 -0
- package/dist/types/acl/builder/PredicateReference.d.ts.map +1 -0
- package/dist/types/acl/definition/customPrimary.d.ts.map +1 -0
- package/dist/types/acl/definition/index.d.ts.map +1 -0
- package/dist/types/acl/definition/permissions.d.ts.map +1 -0
- package/dist/types/acl/definition/references.d.ts.map +1 -0
- package/dist/types/acl/definition/roles.d.ts.map +1 -0
- package/dist/types/acl/definition/variables.d.ts.map +1 -0
- package/dist/types/actions/definition/index.d.ts.map +1 -0
- package/dist/types/actions/definition/targets.d.ts +10 -0
- package/dist/types/actions/definition/targets.d.ts.map +1 -0
- package/dist/types/actions/definition/triggers.d.ts.map +1 -0
- package/dist/types/createSchema.d.ts +6 -0
- package/dist/types/createSchema.d.ts.map +1 -0
- package/dist/types/index.d.ts +85 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/model/definition/ViewDefinition.d.ts +5 -0
- package/dist/types/model/definition/ViewDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/extensions.d.ts.map +1 -0
- package/dist/types/model/definition/index.d.ts +27 -0
- package/dist/types/model/definition/index.d.ts.map +1 -0
- package/dist/types/model/definition/types.d.ts +9 -0
- package/dist/types/model/definition/types.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/utils/MetadataStore.d.ts.map +1 -0
- package/dist/types/utils/filterEntityDefinition.d.ts.map +1 -0
- package/dist/types/utils/tuple.d.ts.map +1 -0
- package/dist/types/validation/index.d.ts.map +1 -0
- package/package.json +23 -11
- package/src/model/definition/index.ts +1 -1
- package/src/model/definition/types.ts +1 -1
- package/src/tsconfig.json +1 -1
- package/vitest.config.ts +3 -0
- package/dist/src/acl/builder/EntityPermissionsBuilder.js +0 -102
- package/dist/src/acl/builder/EntityPermissionsBuilder.js.map +0 -1
- package/dist/src/acl/builder/EntitySelector.js +0 -32
- package/dist/src/acl/builder/EntitySelector.js.map +0 -1
- package/dist/src/acl/builder/FieldPermissionsBuilder.js +0 -60
- package/dist/src/acl/builder/FieldPermissionsBuilder.js.map +0 -1
- package/dist/src/acl/builder/FieldSelector.js +0 -27
- package/dist/src/acl/builder/FieldSelector.js.map +0 -1
- package/dist/src/acl/builder/PermissionOverrider.js +0 -38
- package/dist/src/acl/builder/PermissionOverrider.js.map +0 -1
- package/dist/src/acl/builder/PermissionsBuilder.d.ts.map +0 -1
- package/dist/src/acl/builder/PermissionsBuilder.js +0 -58
- package/dist/src/acl/builder/PermissionsBuilder.js.map +0 -1
- package/dist/src/acl/builder/PredicateReference.d.ts.map +0 -1
- package/dist/src/acl/builder/PredicateReference.js +0 -36
- package/dist/src/acl/builder/PredicateReference.js.map +0 -1
- package/dist/src/acl/definition/customPrimary.d.ts.map +0 -1
- package/dist/src/acl/definition/customPrimary.js +0 -16
- package/dist/src/acl/definition/customPrimary.js.map +0 -1
- package/dist/src/acl/definition/index.d.ts.map +0 -1
- package/dist/src/acl/definition/index.js +0 -29
- package/dist/src/acl/definition/index.js.map +0 -1
- package/dist/src/acl/definition/internal/AclFactory.js +0 -106
- package/dist/src/acl/definition/internal/AclFactory.js.map +0 -1
- package/dist/src/acl/definition/internal/EntityPredicateResolver.js +0 -153
- package/dist/src/acl/definition/internal/EntityPredicateResolver.js.map +0 -1
- package/dist/src/acl/definition/internal/createPredicateName.js +0 -9
- package/dist/src/acl/definition/internal/createPredicateName.js.map +0 -1
- package/dist/src/acl/definition/internal/stores.js +0 -8
- package/dist/src/acl/definition/internal/stores.js.map +0 -1
- package/dist/src/acl/definition/permissions.d.ts.map +0 -1
- package/dist/src/acl/definition/permissions.js +0 -13
- package/dist/src/acl/definition/permissions.js.map +0 -1
- package/dist/src/acl/definition/references.d.ts.map +0 -1
- package/dist/src/acl/definition/references.js +0 -27
- package/dist/src/acl/definition/references.js.map +0 -1
- package/dist/src/acl/definition/roles.d.ts.map +0 -1
- package/dist/src/acl/definition/roles.js +0 -15
- package/dist/src/acl/definition/roles.js.map +0 -1
- package/dist/src/acl/definition/variables.d.ts.map +0 -1
- package/dist/src/acl/definition/variables.js +0 -25
- package/dist/src/acl/definition/variables.js.map +0 -1
- package/dist/src/actions/definition/index.d.ts.map +0 -1
- package/dist/src/actions/definition/index.js +0 -26
- package/dist/src/actions/definition/index.js.map +0 -1
- package/dist/src/actions/definition/internal/ActionsFactory.js +0 -183
- package/dist/src/actions/definition/internal/ActionsFactory.js.map +0 -1
- package/dist/src/actions/definition/internal/store.js +0 -6
- package/dist/src/actions/definition/internal/store.js.map +0 -1
- package/dist/src/actions/definition/targets.d.ts +0 -10
- package/dist/src/actions/definition/targets.d.ts.map +0 -1
- package/dist/src/actions/definition/targets.js +0 -13
- package/dist/src/actions/definition/targets.js.map +0 -1
- package/dist/src/actions/definition/triggers.d.ts.map +0 -1
- package/dist/src/actions/definition/triggers.js +0 -13
- package/dist/src/actions/definition/triggers.js.map +0 -1
- package/dist/src/createSchema.d.ts +0 -6
- package/dist/src/createSchema.d.ts.map +0 -1
- package/dist/src/createSchema.js +0 -24
- package/dist/src/createSchema.js.map +0 -1
- package/dist/src/index.d.ts +0 -85
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -95
- package/dist/src/index.js.map +0 -1
- package/dist/src/model/builder/ColumnBuilder.js +0 -37
- package/dist/src/model/builder/ColumnBuilder.js.map +0 -1
- package/dist/src/model/builder/EntityBuilder.js +0 -61
- package/dist/src/model/builder/EntityBuilder.js.map +0 -1
- package/dist/src/model/builder/FieldBuilder.js +0 -15
- package/dist/src/model/builder/FieldBuilder.js.map +0 -1
- package/dist/src/model/builder/ManyHasManyBuilder.js +0 -33
- package/dist/src/model/builder/ManyHasManyBuilder.js.map +0 -1
- package/dist/src/model/builder/ManyHasOneBuilder.js +0 -34
- package/dist/src/model/builder/ManyHasOneBuilder.js.map +0 -1
- package/dist/src/model/builder/OneHasManyBuilder.js +0 -42
- package/dist/src/model/builder/OneHasManyBuilder.js.map +0 -1
- package/dist/src/model/builder/OneHasOneBuilder.js +0 -44
- package/dist/src/model/builder/OneHasOneBuilder.js.map +0 -1
- package/dist/src/model/builder/SchemaBuilder.js +0 -52
- package/dist/src/model/builder/SchemaBuilder.js.map +0 -1
- package/dist/src/model/builder/SchemaBuilderError.js +0 -7
- package/dist/src/model/builder/SchemaBuilderError.js.map +0 -1
- package/dist/src/model/builder/SchemaBuilderInternal.js +0 -146
- package/dist/src/model/builder/SchemaBuilderInternal.js.map +0 -1
- package/dist/src/model/builder/internal/ColumnProcessor.js +0 -32
- package/dist/src/model/builder/internal/ColumnProcessor.js.map +0 -1
- package/dist/src/model/builder/internal/FieldProcessor.js +0 -3
- package/dist/src/model/builder/internal/FieldProcessor.js.map +0 -1
- package/dist/src/model/builder/internal/ManyHasManyProcessor.js +0 -46
- package/dist/src/model/builder/internal/ManyHasManyProcessor.js.map +0 -1
- package/dist/src/model/builder/internal/ManyHasOneProcessor.js +0 -39
- package/dist/src/model/builder/internal/ManyHasOneProcessor.js.map +0 -1
- package/dist/src/model/builder/internal/OneHasManyProcessor.js +0 -41
- package/dist/src/model/builder/internal/OneHasManyProcessor.js.map +0 -1
- package/dist/src/model/builder/internal/OneHasOneProcessor.js +0 -40
- package/dist/src/model/builder/internal/OneHasOneProcessor.js.map +0 -1
- package/dist/src/model/builder/types.js +0 -3
- package/dist/src/model/builder/types.js.map +0 -1
- package/dist/src/model/definition/EnumDefinition.js +0 -14
- package/dist/src/model/definition/EnumDefinition.js.map +0 -1
- package/dist/src/model/definition/EventLogDefinition.js +0 -10
- package/dist/src/model/definition/EventLogDefinition.js.map +0 -1
- package/dist/src/model/definition/IndexDefinition.js +0 -18
- package/dist/src/model/definition/IndexDefinition.js.map +0 -1
- package/dist/src/model/definition/OrderByDefinition.js +0 -33
- package/dist/src/model/definition/OrderByDefinition.js.map +0 -1
- package/dist/src/model/definition/UniqueDefinition.js +0 -20
- package/dist/src/model/definition/UniqueDefinition.js.map +0 -1
- package/dist/src/model/definition/ViewDefinition.d.ts +0 -5
- package/dist/src/model/definition/ViewDefinition.d.ts.map +0 -1
- package/dist/src/model/definition/ViewDefinition.js +0 -26
- package/dist/src/model/definition/ViewDefinition.js.map +0 -1
- package/dist/src/model/definition/context.js +0 -3
- package/dist/src/model/definition/context.js.map +0 -1
- package/dist/src/model/definition/extensions.d.ts.map +0 -1
- package/dist/src/model/definition/extensions.js +0 -14
- package/dist/src/model/definition/extensions.js.map +0 -1
- package/dist/src/model/definition/fieldDefinitions/ColumnDefinition.js +0 -117
- package/dist/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +0 -1
- package/dist/src/model/definition/fieldDefinitions/FieldDefinition.js +0 -13
- package/dist/src/model/definition/fieldDefinitions/FieldDefinition.js.map +0 -1
- package/dist/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +0 -47
- package/dist/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +0 -1
- package/dist/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +0 -36
- package/dist/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +0 -1
- package/dist/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +0 -55
- package/dist/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +0 -1
- package/dist/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +0 -31
- package/dist/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +0 -1
- package/dist/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +0 -59
- package/dist/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +0 -1
- package/dist/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +0 -35
- package/dist/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +0 -1
- package/dist/src/model/definition/fieldDefinitions/index.js +0 -25
- package/dist/src/model/definition/fieldDefinitions/index.js.map +0 -1
- package/dist/src/model/definition/index.d.ts +0 -27
- package/dist/src/model/definition/index.d.ts.map +0 -1
- package/dist/src/model/definition/index.js +0 -53
- package/dist/src/model/definition/index.js.map +0 -1
- package/dist/src/model/definition/internal/EntityRegistry.js +0 -27
- package/dist/src/model/definition/internal/EntityRegistry.js.map +0 -1
- package/dist/src/model/definition/internal/EnumRegistry.js +0 -27
- package/dist/src/model/definition/internal/EnumRegistry.js.map +0 -1
- package/dist/src/model/definition/internal/SchemaBuilder.js +0 -92
- package/dist/src/model/definition/internal/SchemaBuilder.js.map +0 -1
- package/dist/src/model/definition/internal/index.js +0 -20
- package/dist/src/model/definition/internal/index.js.map +0 -1
- package/dist/src/model/definition/types.d.ts +0 -9
- package/dist/src/model/definition/types.d.ts.map +0 -1
- package/dist/src/model/definition/types.js +0 -3
- package/dist/src/model/definition/types.js.map +0 -1
- package/dist/src/model/index.js +0 -20
- package/dist/src/model/index.js.map +0 -1
- package/dist/src/presets.js +0 -23
- package/dist/src/presets.js.map +0 -1
- package/dist/src/strict.js +0 -28
- package/dist/src/strict.js.map +0 -1
- package/dist/src/tsconfig.tsbuildinfo +0 -1
- package/dist/src/utils/MetadataStore.d.ts.map +0 -1
- package/dist/src/utils/MetadataStore.js +0 -22
- package/dist/src/utils/MetadataStore.js.map +0 -1
- package/dist/src/utils/assertNever.js +0 -8
- package/dist/src/utils/assertNever.js.map +0 -1
- package/dist/src/utils/decorators.js +0 -3
- package/dist/src/utils/decorators.js.map +0 -1
- package/dist/src/utils/filterEntityDefinition.d.ts.map +0 -1
- package/dist/src/utils/filterEntityDefinition.js +0 -11
- package/dist/src/utils/filterEntityDefinition.js.map +0 -1
- package/dist/src/utils/index.js +0 -22
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/utils/tuple.d.ts.map +0 -1
- package/dist/src/utils/tuple.js +0 -6
- package/dist/src/utils/tuple.js.map +0 -1
- package/dist/src/validation/index.d.ts.map +0 -1
- package/dist/src/validation/index.js +0 -190
- package/dist/src/validation/index.js.map +0 -1
- package/dist/tests/cases/unit/createSchema.test.js +0 -137
- package/dist/tests/cases/unit/createSchema.test.js.map +0 -1
- package/dist/tests/cases/unit/extendEntity.test.js +0 -40
- package/dist/tests/cases/unit/extendEntity.test.js.map +0 -1
- package/dist/tests/cases/unit/orderBy.test.js +0 -102
- package/dist/tests/cases/unit/orderBy.test.js.map +0 -1
- package/dist/tests/cases/unit/readAclDefinitions.test.js +0 -629
- package/dist/tests/cases/unit/readAclDefinitions.test.js.map +0 -1
- package/dist/tests/cases/unit/readActions.test.js +0 -109
- package/dist/tests/cases/unit/readActions.test.js.map +0 -1
- /package/dist/{src → types}/acl/builder/EntityPermissionsBuilder.d.ts +0 -0
- /package/dist/{src → types}/acl/builder/EntityPermissionsBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/acl/builder/EntitySelector.d.ts +0 -0
- /package/dist/{src → types}/acl/builder/EntitySelector.d.ts.map +0 -0
- /package/dist/{src → types}/acl/builder/FieldPermissionsBuilder.d.ts +0 -0
- /package/dist/{src → types}/acl/builder/FieldPermissionsBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/acl/builder/FieldSelector.d.ts +0 -0
- /package/dist/{src → types}/acl/builder/FieldSelector.d.ts.map +0 -0
- /package/dist/{src → types}/acl/builder/PermissionOverrider.d.ts +0 -0
- /package/dist/{src → types}/acl/builder/PermissionOverrider.d.ts.map +0 -0
- /package/dist/{src → types}/acl/builder/PermissionsBuilder.d.ts +0 -0
- /package/dist/{src → types}/acl/builder/PredicateReference.d.ts +0 -0
- /package/dist/{src → types}/acl/definition/customPrimary.d.ts +0 -0
- /package/dist/{src → types}/acl/definition/index.d.ts +0 -0
- /package/dist/{src → types}/acl/definition/internal/AclFactory.d.ts +0 -0
- /package/dist/{src → types}/acl/definition/internal/AclFactory.d.ts.map +0 -0
- /package/dist/{src → types}/acl/definition/internal/EntityPredicateResolver.d.ts +0 -0
- /package/dist/{src → types}/acl/definition/internal/EntityPredicateResolver.d.ts.map +0 -0
- /package/dist/{src → types}/acl/definition/internal/createPredicateName.d.ts +0 -0
- /package/dist/{src → types}/acl/definition/internal/createPredicateName.d.ts.map +0 -0
- /package/dist/{src → types}/acl/definition/internal/stores.d.ts +0 -0
- /package/dist/{src → types}/acl/definition/internal/stores.d.ts.map +0 -0
- /package/dist/{src → types}/acl/definition/permissions.d.ts +0 -0
- /package/dist/{src → types}/acl/definition/references.d.ts +0 -0
- /package/dist/{src → types}/acl/definition/roles.d.ts +0 -0
- /package/dist/{src → types}/acl/definition/variables.d.ts +0 -0
- /package/dist/{src → types}/actions/definition/index.d.ts +0 -0
- /package/dist/{src → types}/actions/definition/internal/ActionsFactory.d.ts +0 -0
- /package/dist/{src → types}/actions/definition/internal/ActionsFactory.d.ts.map +0 -0
- /package/dist/{src → types}/actions/definition/internal/store.d.ts +0 -0
- /package/dist/{src → types}/actions/definition/internal/store.d.ts.map +0 -0
- /package/dist/{src → types}/actions/definition/triggers.d.ts +0 -0
- /package/dist/{src → types}/model/builder/ColumnBuilder.d.ts +0 -0
- /package/dist/{src → types}/model/builder/ColumnBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/EntityBuilder.d.ts +0 -0
- /package/dist/{src → types}/model/builder/EntityBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/FieldBuilder.d.ts +0 -0
- /package/dist/{src → types}/model/builder/FieldBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/ManyHasManyBuilder.d.ts +0 -0
- /package/dist/{src → types}/model/builder/ManyHasManyBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/ManyHasOneBuilder.d.ts +0 -0
- /package/dist/{src → types}/model/builder/ManyHasOneBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/OneHasManyBuilder.d.ts +0 -0
- /package/dist/{src → types}/model/builder/OneHasManyBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/OneHasOneBuilder.d.ts +0 -0
- /package/dist/{src → types}/model/builder/OneHasOneBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/SchemaBuilder.d.ts +0 -0
- /package/dist/{src → types}/model/builder/SchemaBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/SchemaBuilderError.d.ts +0 -0
- /package/dist/{src → types}/model/builder/SchemaBuilderError.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/SchemaBuilderInternal.d.ts +0 -0
- /package/dist/{src → types}/model/builder/SchemaBuilderInternal.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/internal/ColumnProcessor.d.ts +0 -0
- /package/dist/{src → types}/model/builder/internal/ColumnProcessor.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/internal/FieldProcessor.d.ts +0 -0
- /package/dist/{src → types}/model/builder/internal/FieldProcessor.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/internal/ManyHasManyProcessor.d.ts +0 -0
- /package/dist/{src → types}/model/builder/internal/ManyHasManyProcessor.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/internal/ManyHasOneProcessor.d.ts +0 -0
- /package/dist/{src → types}/model/builder/internal/ManyHasOneProcessor.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/internal/OneHasManyProcessor.d.ts +0 -0
- /package/dist/{src → types}/model/builder/internal/OneHasManyProcessor.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/internal/OneHasOneProcessor.d.ts +0 -0
- /package/dist/{src → types}/model/builder/internal/OneHasOneProcessor.d.ts.map +0 -0
- /package/dist/{src → types}/model/builder/types.d.ts +0 -0
- /package/dist/{src → types}/model/builder/types.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/EnumDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/EnumDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/EventLogDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/EventLogDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/IndexDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/IndexDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/OrderByDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/OrderByDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/UniqueDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/UniqueDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/context.d.ts +0 -0
- /package/dist/{src → types}/model/definition/context.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/extensions.d.ts +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/ColumnDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/FieldDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/index.d.ts +0 -0
- /package/dist/{src → types}/model/definition/fieldDefinitions/index.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/internal/EntityRegistry.d.ts +0 -0
- /package/dist/{src → types}/model/definition/internal/EntityRegistry.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/internal/EnumRegistry.d.ts +0 -0
- /package/dist/{src → types}/model/definition/internal/EnumRegistry.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/internal/SchemaBuilder.d.ts +0 -0
- /package/dist/{src → types}/model/definition/internal/SchemaBuilder.d.ts.map +0 -0
- /package/dist/{src → types}/model/definition/internal/index.d.ts +0 -0
- /package/dist/{src → types}/model/definition/internal/index.d.ts.map +0 -0
- /package/dist/{src → types}/model/index.d.ts +0 -0
- /package/dist/{src → types}/model/index.d.ts.map +0 -0
- /package/dist/{src → types}/presets.d.ts +0 -0
- /package/dist/{src → types}/presets.d.ts.map +0 -0
- /package/dist/{src → types}/strict.d.ts +0 -0
- /package/dist/{src → types}/strict.d.ts.map +0 -0
- /package/dist/{src → types}/utils/MetadataStore.d.ts +0 -0
- /package/dist/{src → types}/utils/assertNever.d.ts +0 -0
- /package/dist/{src → types}/utils/assertNever.d.ts.map +0 -0
- /package/dist/{src → types}/utils/decorators.d.ts +0 -0
- /package/dist/{src → types}/utils/decorators.d.ts.map +0 -0
- /package/dist/{src → types}/utils/filterEntityDefinition.d.ts +0 -0
- /package/dist/{src → types}/utils/index.d.ts +0 -0
- /package/dist/{src → types}/utils/index.d.ts.map +0 -0
- /package/dist/{src → types}/utils/tuple.d.ts +0 -0
- /package/dist/{src → types}/validation/index.d.ts +0 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { assertNever } from "../../../utils/assertNever.js";
|
|
2
|
+
import { filterEntityDefinition } from "../../../utils/filterEntityDefinition.js";
|
|
3
|
+
import "reflect-metadata";
|
|
4
|
+
import { triggersStore } from "./store.js";
|
|
5
|
+
import { ActionsTarget } from "../targets.js";
|
|
6
|
+
import { parse, Kind } from "graphql";
|
|
7
|
+
var __defProp = Object.defineProperty;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
class ActionsFactory {
|
|
11
|
+
constructor() {
|
|
12
|
+
}
|
|
13
|
+
create(exportedDefinitions) {
|
|
14
|
+
const entityLikeDefinition = filterEntityDefinition(exportedDefinitions);
|
|
15
|
+
const targetsRegistry = new ActionsTargetRegistry();
|
|
16
|
+
for (const [exportedAs, def] of Object.entries(exportedDefinitions)) {
|
|
17
|
+
if (!(def instanceof ActionsTarget)) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
const name = def.name ?? exportedAs;
|
|
21
|
+
targetsRegistry.register(name, def.definition);
|
|
22
|
+
}
|
|
23
|
+
const triggersDef = entityLikeDefinition.flatMap(([, entity]) => triggersStore.get(entity).map((it) => ({
|
|
24
|
+
...it,
|
|
25
|
+
entity
|
|
26
|
+
})));
|
|
27
|
+
const triggerNames = triggersDef.map((it) => it.definition.name).filter((it) => !!it);
|
|
28
|
+
triggerNames.forEach((it, index, arr) => {
|
|
29
|
+
if (arr.indexOf(it) !== index) {
|
|
30
|
+
throw `Duplicate trigger name ${it}.`;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const triggers = {};
|
|
34
|
+
for (const { definition, entity, type } of triggersDef) {
|
|
35
|
+
const name = definition.name;
|
|
36
|
+
const target = this.resolveTarget(name, definition, targetsRegistry);
|
|
37
|
+
let trigger;
|
|
38
|
+
if (type === "basic") {
|
|
39
|
+
trigger = {
|
|
40
|
+
target,
|
|
41
|
+
...this.createBasicTrigger(name, entity.name, definition)
|
|
42
|
+
};
|
|
43
|
+
} else if (type === "watch") {
|
|
44
|
+
trigger = {
|
|
45
|
+
target,
|
|
46
|
+
...this.createWatchTrigger(name, entity.name, definition)
|
|
47
|
+
};
|
|
48
|
+
} else {
|
|
49
|
+
assertNever();
|
|
50
|
+
}
|
|
51
|
+
triggers[name] = trigger;
|
|
52
|
+
}
|
|
53
|
+
return { triggers, targets: targetsRegistry.getTargets() };
|
|
54
|
+
}
|
|
55
|
+
resolveTarget(triggerName, targetDefinition, targetRegistry) {
|
|
56
|
+
const generatedName = `${triggerName}_target`;
|
|
57
|
+
if ("target" in targetDefinition) {
|
|
58
|
+
if (targetDefinition.target instanceof ActionsTarget) {
|
|
59
|
+
const registeredName = targetRegistry.getName(targetDefinition.target.definition);
|
|
60
|
+
if (!registeredName) {
|
|
61
|
+
throw `Target of ${triggerName} trigger is not registered. Have you exported it?`;
|
|
62
|
+
}
|
|
63
|
+
return registeredName;
|
|
64
|
+
} else {
|
|
65
|
+
const { name, ...def } = targetDefinition.target;
|
|
66
|
+
const resolvedName = name ?? generatedName;
|
|
67
|
+
targetRegistry.register(resolvedName, { name: generatedName, ...def });
|
|
68
|
+
return resolvedName;
|
|
69
|
+
}
|
|
70
|
+
} else if ("webhook" in targetDefinition) {
|
|
71
|
+
if (typeof targetDefinition.webhook === "string") {
|
|
72
|
+
targetRegistry.register(generatedName, {
|
|
73
|
+
type: "webhook",
|
|
74
|
+
url: targetDefinition.webhook
|
|
75
|
+
});
|
|
76
|
+
} else {
|
|
77
|
+
targetRegistry.register(generatedName, {
|
|
78
|
+
type: "webhook",
|
|
79
|
+
...targetDefinition.webhook
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return generatedName;
|
|
83
|
+
}
|
|
84
|
+
return assertNever();
|
|
85
|
+
}
|
|
86
|
+
createWatchTrigger(name, entity, trigger) {
|
|
87
|
+
return {
|
|
88
|
+
type: "watch",
|
|
89
|
+
entity,
|
|
90
|
+
name,
|
|
91
|
+
watch: this.parseSelection(trigger.watch),
|
|
92
|
+
selection: trigger.selection ? this.parseSelection(trigger.selection) : void 0,
|
|
93
|
+
priority: trigger.priority
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
createBasicTrigger(name, entity, trigger) {
|
|
97
|
+
return {
|
|
98
|
+
type: "basic",
|
|
99
|
+
entity,
|
|
100
|
+
name,
|
|
101
|
+
create: trigger.create ?? false,
|
|
102
|
+
delete: trigger.delete ?? false,
|
|
103
|
+
update: trigger.update ?? false,
|
|
104
|
+
selection: trigger.selection ? this.parseSelection(trigger.selection) : void 0,
|
|
105
|
+
priority: trigger.priority
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
parseSelection(selection) {
|
|
109
|
+
if (typeof selection !== "string") {
|
|
110
|
+
return selection;
|
|
111
|
+
}
|
|
112
|
+
const result = parse(`{
|
|
113
|
+
${selection}
|
|
114
|
+
}`);
|
|
115
|
+
for (const def of result.definitions) {
|
|
116
|
+
if (def.kind === "OperationDefinition") {
|
|
117
|
+
return this.processSelectionSet(def.selectionSet.selections);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
throw new Error();
|
|
121
|
+
}
|
|
122
|
+
processSelectionSet(selectionSet) {
|
|
123
|
+
return selectionSet.map((it) => {
|
|
124
|
+
if (it.kind !== "Field") {
|
|
125
|
+
throw `${it.kind} is not supported.`;
|
|
126
|
+
}
|
|
127
|
+
if (it.arguments?.length === 0 && it.selectionSet === void 0) {
|
|
128
|
+
return it.name.value;
|
|
129
|
+
}
|
|
130
|
+
const args = Object.fromEntries(it.arguments?.map((it2) => [it2.name, parseArguments(it2.value)]) ?? []);
|
|
131
|
+
return [it.name.value, args, it.selectionSet ? this.processSelectionSet(it.selectionSet.selections) : []];
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
class ActionsTargetRegistry {
|
|
136
|
+
constructor() {
|
|
137
|
+
__publicField(this, "targets", {});
|
|
138
|
+
__publicField(this, "targetsInverseMap", /* @__PURE__ */ new Map());
|
|
139
|
+
}
|
|
140
|
+
register(name, target) {
|
|
141
|
+
if (this.targets[name]) {
|
|
142
|
+
throw `Duplicate trigger target name ${name}`;
|
|
143
|
+
}
|
|
144
|
+
this.targets[name] = { name, ...target };
|
|
145
|
+
this.targetsInverseMap.set(target, name);
|
|
146
|
+
}
|
|
147
|
+
getName(target) {
|
|
148
|
+
return this.targetsInverseMap.get(target);
|
|
149
|
+
}
|
|
150
|
+
getTargets() {
|
|
151
|
+
return this.targets;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const parseArguments = (ast) => {
|
|
155
|
+
switch (ast.kind) {
|
|
156
|
+
case Kind.STRING:
|
|
157
|
+
return ast.value;
|
|
158
|
+
case Kind.BOOLEAN:
|
|
159
|
+
return ast.value;
|
|
160
|
+
case Kind.FLOAT:
|
|
161
|
+
return parseFloat(ast.value);
|
|
162
|
+
case Kind.INT:
|
|
163
|
+
return Number(ast.value);
|
|
164
|
+
case Kind.LIST:
|
|
165
|
+
return ast.values.map((it) => parseArguments(it));
|
|
166
|
+
case Kind.OBJECT:
|
|
167
|
+
return Object.fromEntries(ast.fields.map((it) => [it.name.value, parseArguments(it.value)]));
|
|
168
|
+
case Kind.ENUM:
|
|
169
|
+
return ast.value;
|
|
170
|
+
case Kind.NULL:
|
|
171
|
+
return null;
|
|
172
|
+
case Kind.VARIABLE:
|
|
173
|
+
throw `Variables are not supported here.`;
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
export {
|
|
177
|
+
ActionsFactory
|
|
178
|
+
};
|
|
179
|
+
//# sourceMappingURL=ActionsFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsFactory.js","sources":["../../../../../../../packages/schema-definition/src/actions/definition/internal/ActionsFactory.ts"],"sourcesContent":["import { assertNever, filterEntityDefinition } from '../../../utils'\nimport { Actions } from '@contember/schema'\nimport { triggersStore } from './store'\nimport { BasicTriggerDefinition, TargetDefinition, WatchTriggerDefinition } from '../triggers'\nimport { ActionsTarget } from '../targets'\nimport { Kind, parse, SelectionNode, ValueNode } from 'graphql'\n\nexport class ActionsFactory {\n\tconstructor(\n\t) {\n\t}\n\n\tpublic create(\n\t\texportedDefinitions: Record<string, any>,\n\t): Actions.Schema {\n\t\tconst entityLikeDefinition = filterEntityDefinition(exportedDefinitions)\n\n\t\tconst targetsRegistry = new ActionsTargetRegistry()\n\t\tfor (const [exportedAs, def] of Object.entries(exportedDefinitions)) {\n\t\t\tif (!(def instanceof ActionsTarget)) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tconst name = def.name ?? exportedAs\n\t\t\ttargetsRegistry.register(name, def.definition)\n\t\t}\n\n\t\tconst triggersDef = entityLikeDefinition.flatMap(([, entity]) => triggersStore.get(entity).map(it => ({\n\t\t\t...it,\n\t\t\tentity,\n\t\t})))\n\n\t\tconst triggerNames = triggersDef.map(it => it.definition.name).filter((it): it is string => !!it)\n\t\ttriggerNames.forEach((it, index, arr) => {\n\t\t\tif (arr.indexOf(it) !== index) {\n\t\t\t\tthrow `Duplicate trigger name ${it}.`\n\t\t\t}\n\t\t})\n\n\t\tconst triggers: Record<string, Actions.AnyTrigger> = {}\n\t\tfor (const { definition, entity, type } of triggersDef) {\n\t\t\tconst name = definition.name\n\t\t\tconst target = this.resolveTarget(name, definition, targetsRegistry)\n\t\t\tlet trigger: Actions.AnyTrigger\n\t\t\tif (type === 'basic') {\n\t\t\t\ttrigger = {\n\t\t\t\t\ttarget,\n\t\t\t\t\t...this.createBasicTrigger(name, entity.name, definition),\n\t\t\t\t}\n\t\t\t} else if (type === 'watch') {\n\t\t\t\ttrigger = {\n\t\t\t\t\ttarget,\n\t\t\t\t\t...this.createWatchTrigger(name, entity.name, definition),\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tassertNever(type)\n\t\t\t}\n\t\t\ttriggers[name] = trigger\n\t\t}\n\n\n\t\treturn { triggers, targets: targetsRegistry.getTargets() }\n\t}\n\n\tprivate resolveTarget(triggerName: string, targetDefinition: TargetDefinition, targetRegistry: ActionsTargetRegistry): string {\n\t\tconst generatedName = `${triggerName}_target`\n\t\tif ('target' in targetDefinition) {\n\t\t\tif (targetDefinition.target instanceof ActionsTarget) {\n\t\t\t\tconst registeredName = targetRegistry.getName(targetDefinition.target.definition)\n\t\t\t\tif (!registeredName) {\n\t\t\t\t\tthrow `Target of ${triggerName} trigger is not registered. Have you exported it?`\n\t\t\t\t}\n\t\t\t\treturn registeredName\n\t\t\t} else {\n\t\t\t\tconst { name, ...def } = targetDefinition.target\n\t\t\t\tconst resolvedName = name ?? generatedName\n\t\t\t\ttargetRegistry.register(resolvedName, { name: generatedName, ...def })\n\t\t\t\treturn resolvedName\n\t\t\t}\n\t\t} else if ('webhook' in targetDefinition) {\n\t\t\tif (typeof targetDefinition.webhook === 'string') {\n\t\t\t\ttargetRegistry.register(generatedName, {\n\t\t\t\t\ttype: 'webhook',\n\t\t\t\t\turl: targetDefinition.webhook,\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\ttargetRegistry.register(generatedName, {\n\t\t\t\t\ttype: 'webhook',\n\t\t\t\t\t...targetDefinition.webhook,\n\t\t\t\t})\n\t\t\t}\n\t\t\treturn generatedName\n\t\t}\n\t\treturn assertNever(targetDefinition)\n\t}\n\n\tprivate createWatchTrigger(name: string, entity: string, trigger: WatchTriggerDefinition): Omit<Actions.WatchTrigger, 'target'> {\n\t\treturn {\n\t\t\ttype: 'watch',\n\t\t\tentity,\n\t\t\tname,\n\t\t\twatch: this.parseSelection(trigger.watch),\n\t\t\tselection: trigger.selection ? this.parseSelection(trigger.selection) : undefined,\n\t\t\tpriority: trigger.priority,\n\t\t}\n\t}\n\n\tprivate createBasicTrigger(name: string, entity: string, trigger: BasicTriggerDefinition): Omit<Actions.BasicTrigger, 'target'> {\n\t\treturn {\n\t\t\ttype: 'basic',\n\t\t\tentity,\n\t\t\tname,\n\t\t\tcreate: trigger.create ?? false,\n\t\t\tdelete: trigger.delete ?? false,\n\t\t\tupdate: trigger.update ?? false,\n\t\t\tselection: trigger.selection ? this.parseSelection(trigger.selection) : undefined,\n\t\t\tpriority: trigger.priority,\n\t\t}\n\t}\n\n\tprivate parseSelection(selection: Actions.SelectionNode | string): Actions.SelectionNode {\n\t\tif (typeof selection !== 'string') {\n\t\t\treturn selection\n\t\t}\n\t\tconst result = parse(`{\n\t\t\t${selection}\n\t\t}`)\n\t\tfor (const def of result.definitions) {\n\t\t\tif (def.kind === 'OperationDefinition') {\n\t\t\t\treturn this.processSelectionSet(def.selectionSet.selections)\n\t\t\t}\n\t\t}\n\t\tthrow new Error()\n\t}\n\n\tprivate processSelectionSet(selectionSet: readonly SelectionNode[]): Actions.SelectionNode {\n\t\treturn selectionSet.map(it => {\n\t\t\tif (it.kind !== 'Field') {\n\t\t\t\tthrow `${it.kind} is not supported.`\n\t\t\t}\n\t\t\tif (it.arguments?.length === 0 && it.selectionSet === undefined) {\n\t\t\t\treturn it.name.value\n\t\t\t}\n\t\t\tconst args = Object.fromEntries(it.arguments?.map(it => [it.name, parseArguments(it.value)]) ?? [])\n\t\t\treturn [it.name.value, args, it.selectionSet ? this.processSelectionSet(it.selectionSet.selections) : []]\n\t\t})\n\t}\n}\n\nclass ActionsTargetRegistry {\n\tprivate targets: Record<string, Actions.AnyTarget> = {}\n\tprivate targetsInverseMap = new Map<Omit<Actions.AnyTarget, 'name'>, string>()\n\n\tpublic register(name: string, target: Omit<Actions.AnyTarget, 'name'> & { name?: string }): void {\n\t\tif (this.targets[name]) {\n\t\t\tthrow `Duplicate trigger target name ${name}`\n\t\t}\n\t\tthis.targets[name] = { name, ...target }\n\t\tthis.targetsInverseMap.set(target, name)\n\t}\n\n\tpublic getName(target: Omit<Actions.AnyTarget, 'name'>): string | undefined {\n\t\treturn this.targetsInverseMap.get(target)\n\t}\n\n\tpublic getTargets() {\n\t\treturn this.targets\n\t}\n}\n\nconst parseArguments = (ast: ValueNode): any => {\n\tswitch (ast.kind) {\n\t\tcase Kind.STRING:\n\t\t\treturn ast.value\n\t\tcase Kind.BOOLEAN:\n\t\t\treturn ast.value\n\t\tcase Kind.FLOAT:\n\t\t\treturn parseFloat(ast.value)\n\t\tcase Kind.INT:\n\t\t\treturn Number(ast.value)\n\t\tcase Kind.LIST:\n\t\t\treturn ast.values.map(it => parseArguments(it))\n\t\tcase Kind.OBJECT:\n\t\t\treturn Object.fromEntries(ast.fields.map(it => [it.name.value, parseArguments(it.value)]))\n\t\tcase Kind.ENUM:\n\t\t\treturn ast.value\n\t\tcase Kind.NULL:\n\t\t\treturn null\n\t\tcase Kind.VARIABLE:\n\t\t\tthrow `Variables are not supported here.`\n\t}\n}\n"],"names":["it"],"mappings":";;;;;;;;;AAOO,MAAM,eAAe;AAAA,EAC3B,cACE;AAAA,EACF;AAAA,EAEO,OACN,qBACiB;AACX,UAAA,uBAAuB,uBAAuB,mBAAmB;AAEjE,UAAA,kBAAkB,IAAI;AAC5B,eAAW,CAAC,YAAY,GAAG,KAAK,OAAO,QAAQ,mBAAmB,GAAG;AAChE,UAAA,EAAE,eAAe,gBAAgB;AACpC;AAAA,MACD;AACM,YAAA,OAAO,IAAI,QAAQ;AACT,sBAAA,SAAS,MAAM,IAAI,UAAU;AAAA,IAC9C;AAEA,UAAM,cAAc,qBAAqB,QAAQ,CAAC,CAAA,EAAG,MAAM,MAAM,cAAc,IAAI,MAAM,EAAE,IAAI,CAAO,QAAA;AAAA,MACrG,GAAG;AAAA,MACH;AAAA,MACC,CAAC;AAEH,UAAM,eAAe,YAAY,IAAI,CAAA,OAAM,GAAG,WAAW,IAAI,EAAE,OAAO,CAAC,OAAqB,CAAC,CAAC,EAAE;AAChG,iBAAa,QAAQ,CAAC,IAAI,OAAO,QAAQ;AACxC,UAAI,IAAI,QAAQ,EAAE,MAAM,OAAO;AAC9B,cAAM,0BAA0B,EAAE;AAAA,MACnC;AAAA,IAAA,CACA;AAED,UAAM,WAA+C,CAAA;AACrD,eAAW,EAAE,YAAY,QAAQ,KAAA,KAAU,aAAa;AACvD,YAAM,OAAO,WAAW;AACxB,YAAM,SAAS,KAAK,cAAc,MAAM,YAAY,eAAe;AAC/D,UAAA;AACJ,UAAI,SAAS,SAAS;AACX,kBAAA;AAAA,UACT;AAAA,UACA,GAAG,KAAK,mBAAmB,MAAM,OAAO,MAAM,UAAU;AAAA,QAAA;AAAA,MACzD,WACU,SAAS,SAAS;AAClB,kBAAA;AAAA,UACT;AAAA,UACA,GAAG,KAAK,mBAAmB,MAAM,OAAO,MAAM,UAAU;AAAA,QAAA;AAAA,MACzD,OACM;AACN,oBAAgB;AAAA,MACjB;AACA,eAAS,IAAI,IAAI;AAAA,IAClB;AAGA,WAAO,EAAE,UAAU,SAAS,gBAAgB,WAAa,EAAA;AAAA,EAC1D;AAAA,EAEQ,cAAc,aAAqB,kBAAoC,gBAA+C;AACvH,UAAA,gBAAgB,GAAG,WAAW;AACpC,QAAI,YAAY,kBAAkB;AAC7B,UAAA,iBAAiB,kBAAkB,eAAe;AACrD,cAAM,iBAAiB,eAAe,QAAQ,iBAAiB,OAAO,UAAU;AAChF,YAAI,CAAC,gBAAgB;AACpB,gBAAM,aAAa,WAAW;AAAA,QAC/B;AACO,eAAA;AAAA,MAAA,OACD;AACN,cAAM,EAAE,MAAM,GAAG,IAAA,IAAQ,iBAAiB;AAC1C,cAAM,eAAe,QAAQ;AAC7B,uBAAe,SAAS,cAAc,EAAE,MAAM,eAAe,GAAG,KAAK;AAC9D,eAAA;AAAA,MACR;AAAA,IAAA,WACU,aAAa,kBAAkB;AACrC,UAAA,OAAO,iBAAiB,YAAY,UAAU;AACjD,uBAAe,SAAS,eAAe;AAAA,UACtC,MAAM;AAAA,UACN,KAAK,iBAAiB;AAAA,QAAA,CACtB;AAAA,MAAA,OACK;AACN,uBAAe,SAAS,eAAe;AAAA,UACtC,MAAM;AAAA,UACN,GAAG,iBAAiB;AAAA,QAAA,CACpB;AAAA,MACF;AACO,aAAA;AAAA,IACR;AACA,WAAO,YAA4B;AAAA,EACpC;AAAA,EAEQ,mBAAmB,MAAc,QAAgB,SAAuE;AACxH,WAAA;AAAA,MACN,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,OAAO,KAAK,eAAe,QAAQ,KAAK;AAAA,MACxC,WAAW,QAAQ,YAAY,KAAK,eAAe,QAAQ,SAAS,IAAI;AAAA,MACxE,UAAU,QAAQ;AAAA,IAAA;AAAA,EAEpB;AAAA,EAEQ,mBAAmB,MAAc,QAAgB,SAAuE;AACxH,WAAA;AAAA,MACN,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,QAAQ,QAAQ,UAAU;AAAA,MAC1B,QAAQ,QAAQ,UAAU;AAAA,MAC1B,QAAQ,QAAQ,UAAU;AAAA,MAC1B,WAAW,QAAQ,YAAY,KAAK,eAAe,QAAQ,SAAS,IAAI;AAAA,MACxE,UAAU,QAAQ;AAAA,IAAA;AAAA,EAEpB;AAAA,EAEQ,eAAe,WAAkE;AACpF,QAAA,OAAO,cAAc,UAAU;AAC3B,aAAA;AAAA,IACR;AACA,UAAM,SAAS,MAAM;AAAA,KAClB,SAAS;AAAA,IACV;AACS,eAAA,OAAO,OAAO,aAAa;AACjC,UAAA,IAAI,SAAS,uBAAuB;AACvC,eAAO,KAAK,oBAAoB,IAAI,aAAa,UAAU;AAAA,MAC5D;AAAA,IACD;AACA,UAAM,IAAI,MAAM;AAAA,EACjB;AAAA,EAEQ,oBAAoB,cAA+D;AACnF,WAAA,aAAa,IAAI,CAAM,OAAA;AACzB,UAAA,GAAG,SAAS,SAAS;AAClB,cAAA,GAAG,GAAG,IAAI;AAAA,MACjB;AACA,UAAI,GAAG,WAAW,WAAW,KAAK,GAAG,iBAAiB,QAAW;AAChE,eAAO,GAAG,KAAK;AAAA,MAChB;AACA,YAAM,OAAO,OAAO,YAAY,GAAG,WAAW,IAAI,CAAAA,QAAM,CAACA,IAAG,MAAM,eAAeA,IAAG,KAAK,CAAC,CAAC,KAAK,CAAA,CAAE;AAClG,aAAO,CAAC,GAAG,KAAK,OAAO,MAAM,GAAG,eAAe,KAAK,oBAAoB,GAAG,aAAa,UAAU,IAAI,CAAE,CAAA;AAAA,IAAA,CACxG;AAAA,EACF;AACD;AAEA,MAAM,sBAAsB;AAAA,EAA5B,cAAA;AACC,kBAAA,MAAQ,WAA6C,CAAA,CAAC;AAC9C,kBAAA,MAAA,yCAAwB,IAA6C,CAAA;AAAA,EAAA;AAAA,EAEtE,SAAS,MAAc,QAAmE;AAC5F,QAAA,KAAK,QAAQ,IAAI,GAAG;AACvB,YAAM,iCAAiC,IAAI;AAAA,IAC5C;AACA,SAAK,QAAQ,IAAI,IAAI,EAAE,MAAM,GAAG;AAC3B,SAAA,kBAAkB,IAAI,QAAQ,IAAI;AAAA,EACxC;AAAA,EAEO,QAAQ,QAA6D;AACpE,WAAA,KAAK,kBAAkB,IAAI,MAAM;AAAA,EACzC;AAAA,EAEO,aAAa;AACnB,WAAO,KAAK;AAAA,EACb;AACD;AAEA,MAAM,iBAAiB,CAAC,QAAwB;AAC/C,UAAQ,IAAI,MAAM;AAAA,IACjB,KAAK,KAAK;AACT,aAAO,IAAI;AAAA,IACZ,KAAK,KAAK;AACT,aAAO,IAAI;AAAA,IACZ,KAAK,KAAK;AACF,aAAA,WAAW,IAAI,KAAK;AAAA,IAC5B,KAAK,KAAK;AACF,aAAA,OAAO,IAAI,KAAK;AAAA,IACxB,KAAK,KAAK;AACT,aAAO,IAAI,OAAO,IAAI,CAAM,OAAA,eAAe,EAAE,CAAC;AAAA,IAC/C,KAAK,KAAK;AACT,aAAO,OAAO,YAAY,IAAI,OAAO,IAAI,CAAM,OAAA,CAAC,GAAG,KAAK,OAAO,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC;AAAA,IAC1F,KAAK,KAAK;AACT,aAAO,IAAI;AAAA,IACZ,KAAK,KAAK;AACF,aAAA;AAAA,IACR,KAAK,KAAK;AACH,YAAA;AAAA,EACR;AACD;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const MetadataStore = require("../../../utils/MetadataStore.cjs");
|
|
4
|
+
const triggersStore = MetadataStore.createMetadataStore([]);
|
|
5
|
+
exports.triggersStore = triggersStore;
|
|
6
|
+
//# sourceMappingURL=store.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.cjs","sources":["../../../../../../../packages/schema-definition/src/actions/definition/internal/store.ts"],"sourcesContent":["import { createMetadataStore } from '../../../utils'\nimport { BasicTriggerDefinition, WatchTriggerDefinition } from '../triggers'\n\ntype StoredTrigger =\n\t| { type: 'basic'; definition: BasicTriggerDefinition }\n\t| { type: 'watch'; definition: WatchTriggerDefinition }\n\nexport const triggersStore = createMetadataStore<StoredTrigger[]>([])\n"],"names":["createMetadataStore"],"mappings":";;;AAOa,MAAA,gBAAgBA,cAAqC,oBAAA,CAAE,CAAA;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sources":["../../../../../../../packages/schema-definition/src/actions/definition/internal/store.ts"],"sourcesContent":["import { createMetadataStore } from '../../../utils'\nimport { BasicTriggerDefinition, WatchTriggerDefinition } from '../triggers'\n\ntype StoredTrigger =\n\t| { type: 'basic'; definition: BasicTriggerDefinition }\n\t| { type: 'watch'; definition: WatchTriggerDefinition }\n\nexport const triggersStore = createMetadataStore<StoredTrigger[]>([])\n"],"names":[],"mappings":";AAOa,MAAA,gBAAgB,oBAAqC,CAAE,CAAA;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
class ActionsTarget {
|
|
4
|
+
constructor(name, definition) {
|
|
5
|
+
this.name = name;
|
|
6
|
+
this.definition = definition;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
const createTarget = ({
|
|
10
|
+
name,
|
|
11
|
+
...definition
|
|
12
|
+
}) => new ActionsTarget(name, definition);
|
|
13
|
+
exports.ActionsTarget = ActionsTarget;
|
|
14
|
+
exports.createTarget = createTarget;
|
|
15
|
+
//# sourceMappingURL=targets.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targets.cjs","sources":["../../../../../../packages/schema-definition/src/actions/definition/targets.ts"],"sourcesContent":["import { Actions } from '@contember/schema'\n\n\nexport class ActionsTarget {\n\tconstructor(\n\t\tpublic readonly name: string | undefined,\n\t\tpublic readonly definition: Omit<Actions.AnyTarget, 'name'>,\n\t) {\n\t}\n}\n\nexport const createTarget = ({\n\tname,\n\t...definition\n}: Actions.AnyTarget & { name?: string }) => new ActionsTarget(name, definition)\n"],"names":[],"mappings":";;AAGO,MAAM,cAAc;AAAA,EAC1B,YACiB,MACA,YACf;AAFe,SAAA,OAAA;AACA,SAAA,aAAA;AAAA,EAEjB;AACD;AAEO,MAAM,eAAe,CAAC;AAAA,EAC5B;AAAA,EACA,GAAG;AACJ,MAA6C,IAAI,cAAc,MAAM,UAAU;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
class ActionsTarget {
|
|
2
|
+
constructor(name, definition) {
|
|
3
|
+
this.name = name;
|
|
4
|
+
this.definition = definition;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
const createTarget = ({
|
|
8
|
+
name,
|
|
9
|
+
...definition
|
|
10
|
+
}) => new ActionsTarget(name, definition);
|
|
11
|
+
export {
|
|
12
|
+
ActionsTarget,
|
|
13
|
+
createTarget
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=targets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targets.js","sources":["../../../../../../packages/schema-definition/src/actions/definition/targets.ts"],"sourcesContent":["import { Actions } from '@contember/schema'\n\n\nexport class ActionsTarget {\n\tconstructor(\n\t\tpublic readonly name: string | undefined,\n\t\tpublic readonly definition: Omit<Actions.AnyTarget, 'name'>,\n\t) {\n\t}\n}\n\nexport const createTarget = ({\n\tname,\n\t...definition\n}: Actions.AnyTarget & { name?: string }) => new ActionsTarget(name, definition)\n"],"names":[],"mappings":"AAGO,MAAM,cAAc;AAAA,EAC1B,YACiB,MACA,YACf;AAFe,SAAA,OAAA;AACA,SAAA,aAAA;AAAA,EAEjB;AACD;AAEO,MAAM,eAAe,CAAC;AAAA,EAC5B;AAAA,EACA,GAAG;AACJ,MAA6C,IAAI,cAAc,MAAM,UAAU;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const store = require("./internal/store.cjs");
|
|
4
|
+
const trigger = (definition) => (entity) => {
|
|
5
|
+
store.triggersStore.update(entity, (it) => [...it, { type: "basic", definition }]);
|
|
6
|
+
};
|
|
7
|
+
const watch = (definition) => (entity) => {
|
|
8
|
+
store.triggersStore.update(entity, (it) => [...it, { type: "watch", definition }]);
|
|
9
|
+
};
|
|
10
|
+
exports.trigger = trigger;
|
|
11
|
+
exports.watch = watch;
|
|
12
|
+
//# sourceMappingURL=triggers.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triggers.cjs","sources":["../../../../../../packages/schema-definition/src/actions/definition/triggers.ts"],"sourcesContent":["import { DecoratorFunction, EntityConstructor } from '../../utils'\nimport { Actions } from '@contember/schema'\nimport { triggersStore } from './internal/store'\nimport { ActionsTarget } from './targets'\n\nexport type TriggerWebhookDefinition = {\n\twebhook:\n\t\t| string\n\t\t| Omit<Actions.WebhookTarget, 'type' | 'name'> & { name?: string }\n}\n\nexport type TriggerTargetDefinition = {\n\ttarget: (Omit<Actions.AnyTarget, 'name'> & { name?: string }) | ActionsTarget\n}\n\nexport type TargetDefinition =\n\t| TriggerWebhookDefinition\n\t| TriggerTargetDefinition\n\nexport type CommonTriggerDefinition = {\n\treadonly name: string\n\treadonly selection?: Actions.SelectionNode | string\n\treadonly priority?: number\n}\n\nexport type BasicTriggerDefinition =\n\t& {\n\t\treadonly create?: boolean\n\t\treadonly delete?: boolean\n\t\treadonly update?: boolean | readonly string[]\n\t}\n\t& CommonTriggerDefinition\n\t& TargetDefinition\n\nexport type WatchTriggerDefinition =\n\t& {\n\t\treadonly watch: Actions.SelectionNode | string\n\t}\n\t& CommonTriggerDefinition\n\t& TargetDefinition\n\nexport const trigger = <T>(definition: BasicTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>) => {\n\ttriggersStore.update(entity, it => [...it, { type: 'basic', definition }])\n}\n\nexport const watch = <T>(definition: WatchTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>) => {\n\ttriggersStore.update(entity, it => [...it, { type: 'watch', definition }])\n}\n\n"],"names":["triggersStore"],"mappings":";;;AAyCO,MAAM,UAAU,CAAI,eAA6D,CAAC,WAAiC;AAC3GA,QAAAA,cAAA,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAW,CAAC,CAAC;AAC1E;AAEO,MAAM,QAAQ,CAAI,eAA6D,CAAC,WAAiC;AACzGA,QAAAA,cAAA,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAW,CAAC,CAAC;AAC1E;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { triggersStore } from "./internal/store.js";
|
|
2
|
+
const trigger = (definition) => (entity) => {
|
|
3
|
+
triggersStore.update(entity, (it) => [...it, { type: "basic", definition }]);
|
|
4
|
+
};
|
|
5
|
+
const watch = (definition) => (entity) => {
|
|
6
|
+
triggersStore.update(entity, (it) => [...it, { type: "watch", definition }]);
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
trigger,
|
|
10
|
+
watch
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=triggers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triggers.js","sources":["../../../../../../packages/schema-definition/src/actions/definition/triggers.ts"],"sourcesContent":["import { DecoratorFunction, EntityConstructor } from '../../utils'\nimport { Actions } from '@contember/schema'\nimport { triggersStore } from './internal/store'\nimport { ActionsTarget } from './targets'\n\nexport type TriggerWebhookDefinition = {\n\twebhook:\n\t\t| string\n\t\t| Omit<Actions.WebhookTarget, 'type' | 'name'> & { name?: string }\n}\n\nexport type TriggerTargetDefinition = {\n\ttarget: (Omit<Actions.AnyTarget, 'name'> & { name?: string }) | ActionsTarget\n}\n\nexport type TargetDefinition =\n\t| TriggerWebhookDefinition\n\t| TriggerTargetDefinition\n\nexport type CommonTriggerDefinition = {\n\treadonly name: string\n\treadonly selection?: Actions.SelectionNode | string\n\treadonly priority?: number\n}\n\nexport type BasicTriggerDefinition =\n\t& {\n\t\treadonly create?: boolean\n\t\treadonly delete?: boolean\n\t\treadonly update?: boolean | readonly string[]\n\t}\n\t& CommonTriggerDefinition\n\t& TargetDefinition\n\nexport type WatchTriggerDefinition =\n\t& {\n\t\treadonly watch: Actions.SelectionNode | string\n\t}\n\t& CommonTriggerDefinition\n\t& TargetDefinition\n\nexport const trigger = <T>(definition: BasicTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>) => {\n\ttriggersStore.update(entity, it => [...it, { type: 'basic', definition }])\n}\n\nexport const watch = <T>(definition: WatchTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>) => {\n\ttriggersStore.update(entity, it => [...it, { type: 'watch', definition }])\n}\n\n"],"names":[],"mappings":";AAyCO,MAAM,UAAU,CAAI,eAA6D,CAAC,WAAiC;AAC3G,gBAAA,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAW,CAAC,CAAC;AAC1E;AAEO,MAAM,QAAQ,CAAI,eAA6D,CAAC,WAAiC;AACzG,gBAAA,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAW,CAAC,CAAC;AAC1E;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
require("./model/builder/FieldBuilder.cjs");
|
|
4
|
+
require("@contember/schema");
|
|
5
|
+
const schemaUtils = require("@contember/schema-utils");
|
|
6
|
+
const index = require("./model/definition/index.cjs");
|
|
7
|
+
const index$1 = require("./validation/index.cjs");
|
|
8
|
+
const index$2 = require("./acl/definition/index.cjs");
|
|
9
|
+
const index$3 = require("./actions/definition/index.cjs");
|
|
10
|
+
const strict = require("./strict.cjs");
|
|
11
|
+
const createSchema = (definitions, modifyCallback, options) => {
|
|
12
|
+
const strictOptions = options?.strict === true ? strict.allStrict : options?.strict || {};
|
|
13
|
+
const strictDefinitionValidator = new strict.StrictDefinitionValidator(strictOptions);
|
|
14
|
+
const model = index.createModel(definitions, { strictDefinitionValidator });
|
|
15
|
+
const validation = index$1.parseDefinition(definitions);
|
|
16
|
+
const acl = index$2.createAcl(definitions, model);
|
|
17
|
+
const actions = index$3.createActions(definitions);
|
|
18
|
+
const schema = { ...schemaUtils.emptySchema, model, validation, acl, actions };
|
|
19
|
+
if (strictDefinitionValidator.warnings.length > 0) {
|
|
20
|
+
throw `Strict schema validation failed:
|
|
21
|
+
${strictDefinitionValidator.warnings.map((it) => `- ${it.message}`).join("\n")}`;
|
|
22
|
+
}
|
|
23
|
+
return modifyCallback ? modifyCallback(schema) : schema;
|
|
24
|
+
};
|
|
25
|
+
exports.createSchema = createSchema;
|
|
26
|
+
//# sourceMappingURL=createSchema.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSchema.cjs","sources":["../../../../packages/schema-definition/src/createSchema.ts"],"sourcesContent":["import { SchemaDefinition } from './model'\nimport * as InputValidation from './validation'\nimport * as AclDefinition from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport { Schema } from '@contember/schema'\nimport { emptySchema } from '@contember/schema-utils'\nimport { allStrict, StrictOptions, StrictDefinitionValidator } from './strict'\n\nexport const createSchema = (definitions: Record<string, any>, modifyCallback?: (schema: Schema) => Schema, options?: {\n\tstrict?: boolean | StrictOptions\n}): Schema => {\n\tconst strictOptions = options?.strict === true ? allStrict : (options?.strict || {})\n\tconst strictDefinitionValidator = new StrictDefinitionValidator(strictOptions)\n\n\tconst model = SchemaDefinition.createModel(definitions, { strictDefinitionValidator: strictDefinitionValidator })\n\tconst validation = InputValidation.parseDefinition(definitions)\n\tconst acl = AclDefinition.createAcl(definitions, model)\n\tconst actions = ActionsDefinition.createActions(definitions)\n\tconst schema = { ...emptySchema, model, validation, acl, actions }\n\n\tif (strictDefinitionValidator.warnings.length > 0) {\n\t\tthrow `Strict schema validation failed: \\n${strictDefinitionValidator.warnings.map(it => `- ${it.message}`).join('\\n')}`\n\t}\n\n\treturn modifyCallback ? modifyCallback(schema) : schema\n}\n"],"names":["allStrict","StrictDefinitionValidator","SchemaDefinition.createModel","InputValidation.parseDefinition","AclDefinition.createAcl","ActionsDefinition.createActions","emptySchema"],"mappings":";;;;;;;;;;AAQO,MAAM,eAAe,CAAC,aAAkC,gBAA6C,YAE9F;AACb,QAAM,gBAAgB,SAAS,WAAW,OAAOA,OAAAA,YAAa,SAAS,UAAU;AAC3E,QAAA,4BAA4B,IAAIC,iCAA0B,aAAa;AAE7E,QAAM,QAAQC,MAAiB,YAAY,aAAa,EAAE,0BAAsD,CAAA;AAC1G,QAAA,aAAaC,wBAAgC,WAAW;AAC9D,QAAM,MAAMC,QAAAA,UAAwB,aAAa,KAAK;AAChD,QAAA,UAAUC,sBAAgC,WAAW;AAC3D,QAAM,SAAS,EAAE,GAAGC,yBAAa,OAAO,YAAY,KAAK;AAErD,MAAA,0BAA0B,SAAS,SAAS,GAAG;AAC5C,UAAA;AAAA,EAAsC,0BAA0B,SAAS,IAAI,CAAM,OAAA,KAAK,GAAG,OAAO,EAAE,EAAE,KAAK,IAAI,CAAC;AAAA,EACvH;AAEO,SAAA,iBAAiB,eAAe,MAAM,IAAI;AAClD;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import "./model/builder/FieldBuilder.js";
|
|
2
|
+
import "@contember/schema";
|
|
3
|
+
import { emptySchema } from "@contember/schema-utils";
|
|
4
|
+
import { createModel } from "./model/definition/index.js";
|
|
5
|
+
import { parseDefinition } from "./validation/index.js";
|
|
6
|
+
import { createAcl } from "./acl/definition/index.js";
|
|
7
|
+
import { createActions } from "./actions/definition/index.js";
|
|
8
|
+
import { allStrict, StrictDefinitionValidator } from "./strict.js";
|
|
9
|
+
const createSchema = (definitions, modifyCallback, options) => {
|
|
10
|
+
const strictOptions = options?.strict === true ? allStrict : options?.strict || {};
|
|
11
|
+
const strictDefinitionValidator = new StrictDefinitionValidator(strictOptions);
|
|
12
|
+
const model = createModel(definitions, { strictDefinitionValidator });
|
|
13
|
+
const validation = parseDefinition(definitions);
|
|
14
|
+
const acl = createAcl(definitions, model);
|
|
15
|
+
const actions = createActions(definitions);
|
|
16
|
+
const schema = { ...emptySchema, model, validation, acl, actions };
|
|
17
|
+
if (strictDefinitionValidator.warnings.length > 0) {
|
|
18
|
+
throw `Strict schema validation failed:
|
|
19
|
+
${strictDefinitionValidator.warnings.map((it) => `- ${it.message}`).join("\n")}`;
|
|
20
|
+
}
|
|
21
|
+
return modifyCallback ? modifyCallback(schema) : schema;
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
createSchema
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=createSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSchema.js","sources":["../../../../packages/schema-definition/src/createSchema.ts"],"sourcesContent":["import { SchemaDefinition } from './model'\nimport * as InputValidation from './validation'\nimport * as AclDefinition from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport { Schema } from '@contember/schema'\nimport { emptySchema } from '@contember/schema-utils'\nimport { allStrict, StrictOptions, StrictDefinitionValidator } from './strict'\n\nexport const createSchema = (definitions: Record<string, any>, modifyCallback?: (schema: Schema) => Schema, options?: {\n\tstrict?: boolean | StrictOptions\n}): Schema => {\n\tconst strictOptions = options?.strict === true ? allStrict : (options?.strict || {})\n\tconst strictDefinitionValidator = new StrictDefinitionValidator(strictOptions)\n\n\tconst model = SchemaDefinition.createModel(definitions, { strictDefinitionValidator: strictDefinitionValidator })\n\tconst validation = InputValidation.parseDefinition(definitions)\n\tconst acl = AclDefinition.createAcl(definitions, model)\n\tconst actions = ActionsDefinition.createActions(definitions)\n\tconst schema = { ...emptySchema, model, validation, acl, actions }\n\n\tif (strictDefinitionValidator.warnings.length > 0) {\n\t\tthrow `Strict schema validation failed: \\n${strictDefinitionValidator.warnings.map(it => `- ${it.message}`).join('\\n')}`\n\t}\n\n\treturn modifyCallback ? modifyCallback(schema) : schema\n}\n"],"names":["SchemaDefinition.createModel","InputValidation.parseDefinition","AclDefinition.createAcl","ActionsDefinition.createActions"],"mappings":";;;;;;;;AAQO,MAAM,eAAe,CAAC,aAAkC,gBAA6C,YAE9F;AACb,QAAM,gBAAgB,SAAS,WAAW,OAAO,YAAa,SAAS,UAAU;AAC3E,QAAA,4BAA4B,IAAI,0BAA0B,aAAa;AAE7E,QAAM,QAAQA,YAA6B,aAAa,EAAE,0BAAsD,CAAA;AAC1G,QAAA,aAAaC,gBAAgC,WAAW;AAC9D,QAAM,MAAMC,UAAwB,aAAa,KAAK;AAChD,QAAA,UAAUC,cAAgC,WAAW;AAC3D,QAAM,SAAS,EAAE,GAAG,aAAa,OAAO,YAAY,KAAK;AAErD,MAAA,0BAA0B,SAAS,SAAS,GAAG;AAC5C,UAAA;AAAA,EAAsC,0BAA0B,SAAS,IAAI,CAAM,OAAA,KAAK,GAAG,OAAO,EAAE,EAAE,KAAK,IAAI,CAAC;AAAA,EACvH;AAEO,SAAA,iBAAiB,eAAe,MAAM,IAAI;AAClD;"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
class ColumnBuilder {
|
|
3
|
+
constructor(options) {
|
|
4
|
+
this.options = options;
|
|
5
|
+
}
|
|
6
|
+
columnName(columnName) {
|
|
7
|
+
return new ColumnBuilder({ ...this.options, columnName });
|
|
8
|
+
}
|
|
9
|
+
type(type, typeOptions = {}) {
|
|
10
|
+
return new ColumnBuilder({
|
|
11
|
+
...this.options,
|
|
12
|
+
type,
|
|
13
|
+
...typeOptions
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
nullable() {
|
|
17
|
+
return new ColumnBuilder({ ...this.options, nullable: true });
|
|
18
|
+
}
|
|
19
|
+
notNull() {
|
|
20
|
+
return new ColumnBuilder({ ...this.options, nullable: false });
|
|
21
|
+
}
|
|
22
|
+
unique() {
|
|
23
|
+
return new ColumnBuilder({ ...this.options, unique: true });
|
|
24
|
+
}
|
|
25
|
+
primary() {
|
|
26
|
+
return new ColumnBuilder({ ...this.options, primary: true });
|
|
27
|
+
}
|
|
28
|
+
typeAlias(typeAlias) {
|
|
29
|
+
return new ColumnBuilder({ ...this.options, typeAlias });
|
|
30
|
+
}
|
|
31
|
+
getOption() {
|
|
32
|
+
return this.options;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
module.exports = ColumnBuilder;
|
|
36
|
+
//# sourceMappingURL=ColumnBuilder.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnBuilder.cjs","sources":["../../../../../../packages/schema-definition/src/model/builder/ColumnBuilder.ts"],"sourcesContent":["import FieldBuilder from './FieldBuilder'\nimport { Model } from '@contember/schema'\n\ntype PartialColumnOptions<K extends keyof ColumnBuilder.Options> =\n\t& Partial<ColumnBuilder.Options>\n\t& Pick<ColumnBuilder.Options, K>\n\nclass ColumnBuilder<O extends PartialColumnOptions<never> = PartialColumnOptions<never>> implements FieldBuilder<O> {\n\tconstructor(private readonly options: O) {}\n\n\tpublic columnName(columnName: string): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), columnName } as O)\n\t}\n\n\tpublic type(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnBuilder.TypeOptions = {},\n\t): ColumnBuilder<O & PartialColumnOptions<'type'>> {\n\t\treturn new ColumnBuilder<O & PartialColumnOptions<'type'>>({\n\t\t\t...(this.options as object),\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t} as O & PartialColumnOptions<'type'>)\n\t}\n\n\tpublic nullable(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), nullable: true } as O)\n\t}\n\n\tpublic notNull(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), nullable: false } as O)\n\t}\n\n\tpublic unique(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), unique: true } as O)\n\t}\n\n\tpublic primary(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), primary: true } as O)\n\t}\n\n\tpublic typeAlias(typeAlias: string): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), typeAlias } as O)\n\t}\n\n\tgetOption(): O {\n\t\treturn this.options\n\t}\n}\n\nnamespace ColumnBuilder {\n\texport type TypeOptions = {\n\t\tenumName?: string\n\t}\n\n\texport type Options = {\n\t\ttype: Model.ColumnType\n\t\tenumName?: string\n\t\tcolumnName?: string\n\t\tunique?: boolean\n\t\tnullable?: boolean\n\t\tprimary?: boolean\n\t\ttypeAlias?: string\n\t}\n}\n\nexport default ColumnBuilder\n"],"names":[],"mappings":";AAOA,MAAM,cAA8G;AAAA,EACnH,YAA6B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAAa;AAAA,EAEnC,WAAW,YAAsC;AACvD,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,YAAiB;AAAA,EAC7E;AAAA,EAEO,KACN,MACA,cAAyC,IACS;AAClD,WAAO,IAAI,cAAgD;AAAA,MAC1D,GAAI,KAAK;AAAA,MACT;AAAA,MACA,GAAG;AAAA,IAAA,CACiC;AAAA,EACtC;AAAA,EAEO,WAA6B;AAC5B,WAAA,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,UAAU,MAAW;AAAA,EACjF;AAAA,EAEO,UAA4B;AAC3B,WAAA,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,UAAU,OAAY;AAAA,EAClF;AAAA,EAEO,SAA2B;AAC1B,WAAA,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,QAAQ,MAAW;AAAA,EAC/E;AAAA,EAEO,UAA4B;AAC3B,WAAA,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,SAAS,MAAW;AAAA,EAChF;AAAA,EAEO,UAAU,WAAqC;AACrD,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,WAAgB;AAAA,EAC5E;AAAA,EAEA,YAAe;AACd,WAAO,KAAK;AAAA,EACb;AACD;;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
class ColumnBuilder {
|
|
2
|
+
constructor(options) {
|
|
3
|
+
this.options = options;
|
|
4
|
+
}
|
|
5
|
+
columnName(columnName) {
|
|
6
|
+
return new ColumnBuilder({ ...this.options, columnName });
|
|
7
|
+
}
|
|
8
|
+
type(type, typeOptions = {}) {
|
|
9
|
+
return new ColumnBuilder({
|
|
10
|
+
...this.options,
|
|
11
|
+
type,
|
|
12
|
+
...typeOptions
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
nullable() {
|
|
16
|
+
return new ColumnBuilder({ ...this.options, nullable: true });
|
|
17
|
+
}
|
|
18
|
+
notNull() {
|
|
19
|
+
return new ColumnBuilder({ ...this.options, nullable: false });
|
|
20
|
+
}
|
|
21
|
+
unique() {
|
|
22
|
+
return new ColumnBuilder({ ...this.options, unique: true });
|
|
23
|
+
}
|
|
24
|
+
primary() {
|
|
25
|
+
return new ColumnBuilder({ ...this.options, primary: true });
|
|
26
|
+
}
|
|
27
|
+
typeAlias(typeAlias) {
|
|
28
|
+
return new ColumnBuilder({ ...this.options, typeAlias });
|
|
29
|
+
}
|
|
30
|
+
getOption() {
|
|
31
|
+
return this.options;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
ColumnBuilder as default
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=ColumnBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnBuilder.js","sources":["../../../../../../packages/schema-definition/src/model/builder/ColumnBuilder.ts"],"sourcesContent":["import FieldBuilder from './FieldBuilder'\nimport { Model } from '@contember/schema'\n\ntype PartialColumnOptions<K extends keyof ColumnBuilder.Options> =\n\t& Partial<ColumnBuilder.Options>\n\t& Pick<ColumnBuilder.Options, K>\n\nclass ColumnBuilder<O extends PartialColumnOptions<never> = PartialColumnOptions<never>> implements FieldBuilder<O> {\n\tconstructor(private readonly options: O) {}\n\n\tpublic columnName(columnName: string): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), columnName } as O)\n\t}\n\n\tpublic type(\n\t\ttype: Model.ColumnType,\n\t\ttypeOptions: ColumnBuilder.TypeOptions = {},\n\t): ColumnBuilder<O & PartialColumnOptions<'type'>> {\n\t\treturn new ColumnBuilder<O & PartialColumnOptions<'type'>>({\n\t\t\t...(this.options as object),\n\t\t\ttype: type,\n\t\t\t...typeOptions,\n\t\t} as O & PartialColumnOptions<'type'>)\n\t}\n\n\tpublic nullable(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), nullable: true } as O)\n\t}\n\n\tpublic notNull(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), nullable: false } as O)\n\t}\n\n\tpublic unique(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), unique: true } as O)\n\t}\n\n\tpublic primary(): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), primary: true } as O)\n\t}\n\n\tpublic typeAlias(typeAlias: string): ColumnBuilder<O> {\n\t\treturn new ColumnBuilder<O>({ ...(this.options as object), typeAlias } as O)\n\t}\n\n\tgetOption(): O {\n\t\treturn this.options\n\t}\n}\n\nnamespace ColumnBuilder {\n\texport type TypeOptions = {\n\t\tenumName?: string\n\t}\n\n\texport type Options = {\n\t\ttype: Model.ColumnType\n\t\tenumName?: string\n\t\tcolumnName?: string\n\t\tunique?: boolean\n\t\tnullable?: boolean\n\t\tprimary?: boolean\n\t\ttypeAlias?: string\n\t}\n}\n\nexport default ColumnBuilder\n"],"names":[],"mappings":"AAOA,MAAM,cAA8G;AAAA,EACnH,YAA6B,SAAY;AAAZ,SAAA,UAAA;AAAA,EAAa;AAAA,EAEnC,WAAW,YAAsC;AACvD,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,YAAiB;AAAA,EAC7E;AAAA,EAEO,KACN,MACA,cAAyC,IACS;AAClD,WAAO,IAAI,cAAgD;AAAA,MAC1D,GAAI,KAAK;AAAA,MACT;AAAA,MACA,GAAG;AAAA,IAAA,CACiC;AAAA,EACtC;AAAA,EAEO,WAA6B;AAC5B,WAAA,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,UAAU,MAAW;AAAA,EACjF;AAAA,EAEO,UAA4B;AAC3B,WAAA,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,UAAU,OAAY;AAAA,EAClF;AAAA,EAEO,SAA2B;AAC1B,WAAA,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,QAAQ,MAAW;AAAA,EAC/E;AAAA,EAEO,UAA4B;AAC3B,WAAA,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,SAAS,MAAW;AAAA,EAChF;AAAA,EAEO,UAAU,WAAqC;AACrD,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,WAAgB;AAAA,EAC5E;AAAA,EAEA,YAAe;AACd,WAAO,KAAK;AAAA,EACb;AACD;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const FieldBuilder = require("./FieldBuilder.cjs");
|
|
3
|
+
const ColumnBuilder = require("./ColumnBuilder.cjs");
|
|
4
|
+
const OneHasOneBuilder = require("./OneHasOneBuilder.cjs");
|
|
5
|
+
const ManyHasManyBuilder = require("./ManyHasManyBuilder.cjs");
|
|
6
|
+
const OneHasManyBuilder = require("./OneHasManyBuilder.cjs");
|
|
7
|
+
const ManyHasOneBuilder = require("./ManyHasOneBuilder.cjs");
|
|
8
|
+
const schema = require("@contember/schema");
|
|
9
|
+
class EntityBuilder {
|
|
10
|
+
constructor(options, fields = {}, addEntity) {
|
|
11
|
+
this.options = options;
|
|
12
|
+
this.fields = fields;
|
|
13
|
+
this.addEntity = addEntity;
|
|
14
|
+
}
|
|
15
|
+
tableName(tableName) {
|
|
16
|
+
return new EntityBuilder({ ...this.options, tableName }, this.fields, this.addEntity);
|
|
17
|
+
}
|
|
18
|
+
unique(fields) {
|
|
19
|
+
return new EntityBuilder(
|
|
20
|
+
{ ...this.options, unique: [...this.options.unique || [], { fields }] },
|
|
21
|
+
this.fields,
|
|
22
|
+
this.addEntity
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
column(name, configurator) {
|
|
26
|
+
const options = configurator ? configurator(new ColumnBuilder({})).getOption() : { type: schema.Model.ColumnType.String };
|
|
27
|
+
const fields = { ...this.fields, [name]: { type: FieldBuilder.Type.Column, options } };
|
|
28
|
+
return new EntityBuilder(this.options, fields, this.addEntity);
|
|
29
|
+
}
|
|
30
|
+
oneHasOne(name, configurator) {
|
|
31
|
+
const options = configurator(new OneHasOneBuilder({}, this.addEntity)).getOption();
|
|
32
|
+
return new EntityBuilder(
|
|
33
|
+
this.options,
|
|
34
|
+
{ ...this.fields, [name]: { type: FieldBuilder.Type.OneHasOne, options } },
|
|
35
|
+
this.addEntity
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
manyHasMany(name, configurator) {
|
|
39
|
+
const options = configurator(new ManyHasManyBuilder({}, this.addEntity)).getOption();
|
|
40
|
+
const fields = { ...this.fields, [name]: { type: FieldBuilder.Type.ManyHasMany, options } };
|
|
41
|
+
return new EntityBuilder(this.options, fields, this.addEntity);
|
|
42
|
+
}
|
|
43
|
+
oneHasMany(name, configurator) {
|
|
44
|
+
const options = configurator(new OneHasManyBuilder({}, this.addEntity)).getOption();
|
|
45
|
+
const fields = { ...this.fields, [name]: { type: FieldBuilder.Type.OneHasMany, options } };
|
|
46
|
+
return new EntityBuilder(this.options, fields, this.addEntity);
|
|
47
|
+
}
|
|
48
|
+
manyHasOne(name, configurator) {
|
|
49
|
+
const options = configurator(new ManyHasOneBuilder({}, this.addEntity)).getOption();
|
|
50
|
+
const fields = { ...this.fields, [name]: { type: FieldBuilder.Type.ManyHasOne, options } };
|
|
51
|
+
return new EntityBuilder(this.options, fields, this.addEntity);
|
|
52
|
+
}
|
|
53
|
+
getOptions() {
|
|
54
|
+
return this.options;
|
|
55
|
+
}
|
|
56
|
+
getFields() {
|
|
57
|
+
return this.fields;
|
|
58
|
+
}
|
|
59
|
+
orderBy(field, direction = schema.Model.OrderDirection.asc) {
|
|
60
|
+
const path = typeof field === "string" ? [field] : field;
|
|
61
|
+
return new EntityBuilder(
|
|
62
|
+
{ ...this.options, orderBy: [...this.options.orderBy ?? [], { path, direction }] },
|
|
63
|
+
this.fields,
|
|
64
|
+
this.addEntity
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
module.exports = EntityBuilder;
|
|
69
|
+
//# sourceMappingURL=EntityBuilder.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityBuilder.cjs","sources":["../../../../../../packages/schema-definition/src/model/builder/EntityBuilder.ts"],"sourcesContent":["import FieldBuilder from './FieldBuilder'\nimport ColumnBuilder from './ColumnBuilder'\nimport OneHasOneBuilder from './OneHasOneBuilder'\nimport ManyHasManyBuilder from './ManyHasManyBuilder'\nimport OneHasManyBuilder from './OneHasManyBuilder'\nimport ManyHasOneBuilder from './ManyHasOneBuilder'\nimport { Model } from '@contember/schema'\nimport { AddEntityCallback } from './types'\n\nclass EntityBuilder {\n\tconstructor(\n\t\tprivate readonly options: Partial<EntityBuilder.EntityOptions>,\n\t\tprivate readonly fields: FieldBuilder.Map = {},\n\t\tprivate readonly addEntity: AddEntityCallback,\n\t) {}\n\n\ttableName(tableName: string): EntityBuilder {\n\t\treturn new EntityBuilder({ ...this.options, tableName }, this.fields, this.addEntity)\n\t}\n\n\tunique(fields: string[]): EntityBuilder {\n\t\treturn new EntityBuilder(\n\t\t\t{ ...this.options, unique: [...(this.options.unique || []), { fields: fields }] },\n\t\t\tthis.fields,\n\t\t\tthis.addEntity,\n\t\t)\n\t}\n\n\tcolumn(\n\t\tname: string,\n\t\tconfigurator?: EntityBuilder.FieldConfigurator<ColumnBuilder, ColumnBuilder.Options>,\n\t): EntityBuilder {\n\t\tconst options: ColumnBuilder.Options = configurator\n\t\t\t? configurator(new ColumnBuilder({})).getOption()\n\t\t\t: { type: Model.ColumnType.String }\n\n\t\tconst fields: FieldBuilder.Map = { ...this.fields, [name]: { type: FieldBuilder.Type.Column, options: options } }\n\n\t\treturn new EntityBuilder(this.options, fields, this.addEntity)\n\t}\n\n\toneHasOne(\n\t\tname: string,\n\t\tconfigurator: EntityBuilder.FieldConfigurator<OneHasOneBuilder, OneHasOneBuilder.Options>,\n\t): EntityBuilder {\n\t\tconst options = configurator(new OneHasOneBuilder({}, this.addEntity)).getOption()\n\n\t\treturn new EntityBuilder(\n\t\t\tthis.options,\n\t\t\t{ ...this.fields, [name]: { type: FieldBuilder.Type.OneHasOne, options } },\n\t\t\tthis.addEntity,\n\t\t)\n\t}\n\n\tmanyHasMany(\n\t\tname: string,\n\t\tconfigurator: EntityBuilder.FieldConfigurator<ManyHasManyBuilder, ManyHasManyBuilder.Options>,\n\t): EntityBuilder {\n\t\tconst options = configurator(new ManyHasManyBuilder({}, this.addEntity)).getOption()\n\t\tconst fields: FieldBuilder.Map = { ...this.fields, [name]: { type: FieldBuilder.Type.ManyHasMany, options } }\n\n\t\treturn new EntityBuilder(this.options, fields, this.addEntity)\n\t}\n\n\toneHasMany(\n\t\tname: string,\n\t\tconfigurator: EntityBuilder.FieldConfigurator<OneHasManyBuilder, OneHasManyBuilder.Options>,\n\t): EntityBuilder {\n\t\tconst options = configurator(new OneHasManyBuilder({}, this.addEntity)).getOption()\n\t\tconst fields: FieldBuilder.Map = { ...this.fields, [name]: { type: FieldBuilder.Type.OneHasMany, options } }\n\n\t\treturn new EntityBuilder(this.options, fields, this.addEntity)\n\t}\n\n\tmanyHasOne(\n\t\tname: string,\n\t\tconfigurator: EntityBuilder.FieldConfigurator<ManyHasOneBuilder, ManyHasOneBuilder.Options>,\n\t): EntityBuilder {\n\t\tconst options = configurator(new ManyHasOneBuilder({}, this.addEntity)).getOption()\n\t\tconst fields: FieldBuilder.Map = { ...this.fields, [name]: { type: FieldBuilder.Type.ManyHasOne, options } }\n\n\t\treturn new EntityBuilder(this.options, fields, this.addEntity)\n\t}\n\n\tgetOptions(): EntityBuilder.EntityOptions {\n\t\treturn this.options\n\t}\n\n\tgetFields(): FieldBuilder.Map {\n\t\treturn this.fields\n\t}\n\n\torderBy(field: string | string[], direction: Model.OrderDirection = Model.OrderDirection.asc): EntityBuilder {\n\t\tconst path = typeof field === 'string' ? [field] : field\n\n\t\treturn new EntityBuilder(\n\t\t\t{ ...this.options, orderBy: [...(this.options.orderBy ?? []), { path, direction }] },\n\t\t\tthis.fields,\n\t\t\tthis.addEntity,\n\t\t)\n\t}\n}\n\nnamespace EntityBuilder {\n\texport type FieldConfigurator<B, O> = (builder: B) => FieldBuilder<O>\n\n\texport type UniqueOptions = {\n\t\tfields: string[]\n\t\tname?: string\n\t}\n\n\texport type EntityOptions = {\n\t\tprimary?: string\n\t\ttableName?: string\n\t\torderBy?: Model.OrderBy[]\n\t\tunique?: UniqueOptions[]\n\t}\n}\n\nexport default EntityBuilder\n"],"names":["Model"],"mappings":";;;;;;;;AASA,MAAM,cAAc;AAAA,EACnB,YACkB,SACA,SAA2B,CAAA,GAC3B,WAChB;AAHgB,SAAA,UAAA;AACA,SAAA,SAAA;AACA,SAAA,YAAA;AAAA,EACf;AAAA,EAEH,UAAU,WAAkC;AACpC,WAAA,IAAI,cAAc,EAAE,GAAG,KAAK,SAAS,UAAa,GAAA,KAAK,QAAQ,KAAK,SAAS;AAAA,EACrF;AAAA,EAEA,OAAO,QAAiC;AACvC,WAAO,IAAI;AAAA,MACV,EAAE,GAAG,KAAK,SAAS,QAAQ,CAAC,GAAI,KAAK,QAAQ,UAAU,CAAA,GAAK,EAAE,OAAgB,CAAA,EAAE;AAAA,MAChF,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEP;AAAA,EAEA,OACC,MACA,cACgB;AAChB,UAAM,UAAiC,eACpC,aAAa,IAAI,cAAc,CAAA,CAAE,CAAC,EAAE,cACpC,EAAE,MAAMA,OAAA,MAAM,WAAW,OAAO;AAEnC,UAAM,SAA2B,EAAE,GAAG,KAAK,QAAQ,CAAC,IAAI,GAAG,EAAE,MAAM,aAAa,KAAK,QAAQ,QAAmB,EAAA;AAEhH,WAAO,IAAI,cAAc,KAAK,SAAS,QAAQ,KAAK,SAAS;AAAA,EAC9D;AAAA,EAEA,UACC,MACA,cACgB;AACV,UAAA,UAAU,aAAa,IAAI,iBAAiB,CAAA,GAAI,KAAK,SAAS,CAAC,EAAE;AAEvE,WAAO,IAAI;AAAA,MACV,KAAK;AAAA,MACL,EAAE,GAAG,KAAK,QAAQ,CAAC,IAAI,GAAG,EAAE,MAAM,aAAa,KAAK,WAAW,UAAU;AAAA,MACzE,KAAK;AAAA,IAAA;AAAA,EAEP;AAAA,EAEA,YACC,MACA,cACgB;AACV,UAAA,UAAU,aAAa,IAAI,mBAAmB,CAAA,GAAI,KAAK,SAAS,CAAC,EAAE;AACzE,UAAM,SAA2B,EAAE,GAAG,KAAK,QAAQ,CAAC,IAAI,GAAG,EAAE,MAAM,aAAa,KAAK,aAAa,QAAU,EAAA;AAE5G,WAAO,IAAI,cAAc,KAAK,SAAS,QAAQ,KAAK,SAAS;AAAA,EAC9D;AAAA,EAEA,WACC,MACA,cACgB;AACV,UAAA,UAAU,aAAa,IAAI,kBAAkB,CAAA,GAAI,KAAK,SAAS,CAAC,EAAE;AACxE,UAAM,SAA2B,EAAE,GAAG,KAAK,QAAQ,CAAC,IAAI,GAAG,EAAE,MAAM,aAAa,KAAK,YAAY,QAAU,EAAA;AAE3G,WAAO,IAAI,cAAc,KAAK,SAAS,QAAQ,KAAK,SAAS;AAAA,EAC9D;AAAA,EAEA,WACC,MACA,cACgB;AACV,UAAA,UAAU,aAAa,IAAI,kBAAkB,CAAA,GAAI,KAAK,SAAS,CAAC,EAAE;AACxE,UAAM,SAA2B,EAAE,GAAG,KAAK,QAAQ,CAAC,IAAI,GAAG,EAAE,MAAM,aAAa,KAAK,YAAY,QAAU,EAAA;AAE3G,WAAO,IAAI,cAAc,KAAK,SAAS,QAAQ,KAAK,SAAS;AAAA,EAC9D;AAAA,EAEA,aAA0C;AACzC,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,YAA8B;AAC7B,WAAO,KAAK;AAAA,EACb;AAAA,EAEA,QAAQ,OAA0B,YAAkCA,OAAAA,MAAM,eAAe,KAAoB;AAC5G,UAAM,OAAO,OAAO,UAAU,WAAW,CAAC,KAAK,IAAI;AAEnD,WAAO,IAAI;AAAA,MACV,EAAE,GAAG,KAAK,SAAS,SAAS,CAAC,GAAI,KAAK,QAAQ,WAAW,CAAA,GAAK,EAAE,MAAM,UAAW,CAAA,EAAE;AAAA,MACnF,KAAK;AAAA,MACL,KAAK;AAAA,IAAA;AAAA,EAEP;AACD;;"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import FieldBuilder from "./FieldBuilder.js";
|
|
2
|
+
import ColumnBuilder from "./ColumnBuilder.js";
|
|
3
|
+
import OneHasOneBuilder from "./OneHasOneBuilder.js";
|
|
4
|
+
import ManyHasManyBuilder from "./ManyHasManyBuilder.js";
|
|
5
|
+
import OneHasManyBuilder from "./OneHasManyBuilder.js";
|
|
6
|
+
import ManyHasOneBuilder from "./ManyHasOneBuilder.js";
|
|
7
|
+
import { Model } from "@contember/schema";
|
|
8
|
+
class EntityBuilder {
|
|
9
|
+
constructor(options, fields = {}, addEntity) {
|
|
10
|
+
this.options = options;
|
|
11
|
+
this.fields = fields;
|
|
12
|
+
this.addEntity = addEntity;
|
|
13
|
+
}
|
|
14
|
+
tableName(tableName) {
|
|
15
|
+
return new EntityBuilder({ ...this.options, tableName }, this.fields, this.addEntity);
|
|
16
|
+
}
|
|
17
|
+
unique(fields) {
|
|
18
|
+
return new EntityBuilder(
|
|
19
|
+
{ ...this.options, unique: [...this.options.unique || [], { fields }] },
|
|
20
|
+
this.fields,
|
|
21
|
+
this.addEntity
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
column(name, configurator) {
|
|
25
|
+
const options = configurator ? configurator(new ColumnBuilder({})).getOption() : { type: Model.ColumnType.String };
|
|
26
|
+
const fields = { ...this.fields, [name]: { type: FieldBuilder.Type.Column, options } };
|
|
27
|
+
return new EntityBuilder(this.options, fields, this.addEntity);
|
|
28
|
+
}
|
|
29
|
+
oneHasOne(name, configurator) {
|
|
30
|
+
const options = configurator(new OneHasOneBuilder({}, this.addEntity)).getOption();
|
|
31
|
+
return new EntityBuilder(
|
|
32
|
+
this.options,
|
|
33
|
+
{ ...this.fields, [name]: { type: FieldBuilder.Type.OneHasOne, options } },
|
|
34
|
+
this.addEntity
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
manyHasMany(name, configurator) {
|
|
38
|
+
const options = configurator(new ManyHasManyBuilder({}, this.addEntity)).getOption();
|
|
39
|
+
const fields = { ...this.fields, [name]: { type: FieldBuilder.Type.ManyHasMany, options } };
|
|
40
|
+
return new EntityBuilder(this.options, fields, this.addEntity);
|
|
41
|
+
}
|
|
42
|
+
oneHasMany(name, configurator) {
|
|
43
|
+
const options = configurator(new OneHasManyBuilder({}, this.addEntity)).getOption();
|
|
44
|
+
const fields = { ...this.fields, [name]: { type: FieldBuilder.Type.OneHasMany, options } };
|
|
45
|
+
return new EntityBuilder(this.options, fields, this.addEntity);
|
|
46
|
+
}
|
|
47
|
+
manyHasOne(name, configurator) {
|
|
48
|
+
const options = configurator(new ManyHasOneBuilder({}, this.addEntity)).getOption();
|
|
49
|
+
const fields = { ...this.fields, [name]: { type: FieldBuilder.Type.ManyHasOne, options } };
|
|
50
|
+
return new EntityBuilder(this.options, fields, this.addEntity);
|
|
51
|
+
}
|
|
52
|
+
getOptions() {
|
|
53
|
+
return this.options;
|
|
54
|
+
}
|
|
55
|
+
getFields() {
|
|
56
|
+
return this.fields;
|
|
57
|
+
}
|
|
58
|
+
orderBy(field, direction = Model.OrderDirection.asc) {
|
|
59
|
+
const path = typeof field === "string" ? [field] : field;
|
|
60
|
+
return new EntityBuilder(
|
|
61
|
+
{ ...this.options, orderBy: [...this.options.orderBy ?? [], { path, direction }] },
|
|
62
|
+
this.fields,
|
|
63
|
+
this.addEntity
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export {
|
|
68
|
+
EntityBuilder as default
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=EntityBuilder.js.map
|