@contember/schema-definition 2.1.0-alpha.37 → 2.1.0-alpha.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/index.cjs +123 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +118 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js +120 -0
- package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
- package/dist/development/src/acl/builder/EntitySelector.cjs +32 -0
- package/dist/development/src/acl/builder/EntitySelector.cjs.map +1 -0
- package/dist/development/src/acl/builder/EntitySelector.js +33 -0
- package/dist/development/src/acl/builder/EntitySelector.js.map +1 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js +60 -0
- package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
- package/dist/development/src/acl/builder/FieldSelector.cjs +26 -0
- package/dist/development/src/acl/builder/FieldSelector.cjs.map +1 -0
- package/dist/development/src/acl/builder/FieldSelector.js +27 -0
- package/dist/development/src/acl/builder/FieldSelector.js.map +1 -0
- package/dist/development/src/acl/builder/PermissionOverrider.cjs +37 -0
- package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -0
- package/dist/development/src/acl/builder/PermissionOverrider.js +38 -0
- package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs +56 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.js +56 -0
- package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -0
- package/dist/development/src/acl/builder/PredicateReference.cjs +43 -0
- package/dist/development/src/acl/builder/PredicateReference.cjs.map +1 -0
- package/dist/development/src/acl/builder/PredicateReference.js +43 -0
- package/dist/development/src/acl/builder/PredicateReference.js.map +1 -0
- package/dist/development/src/acl/definition/aclExtensions.cjs +16 -0
- package/dist/development/src/acl/definition/aclExtensions.cjs.map +1 -0
- package/dist/development/src/acl/definition/aclExtensions.js +16 -0
- package/dist/development/src/acl/definition/aclExtensions.js.map +1 -0
- package/dist/development/src/acl/definition/customPrimary.cjs +13 -0
- package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -0
- package/dist/development/src/acl/definition/customPrimary.js +13 -0
- package/dist/development/src/acl/definition/customPrimary.js.map +1 -0
- package/dist/development/src/acl/definition/index.cjs +27 -0
- package/dist/development/src/acl/definition/index.cjs.map +1 -0
- package/dist/development/src/acl/definition/index.js +27 -0
- package/dist/development/src/acl/definition/index.js.map +1 -0
- package/dist/development/src/acl/definition/internal/AclFactory.cjs +133 -0
- package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/AclFactory.js +133 -0
- package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
- package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.cjs +8 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.js +8 -0
- package/dist/development/src/acl/definition/internal/createPredicateName.js.map +1 -0
- package/dist/development/src/acl/definition/internal/stores.cjs +6 -0
- package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -0
- package/dist/development/src/acl/definition/internal/stores.js +6 -0
- package/dist/development/src/acl/definition/internal/stores.js.map +1 -0
- package/dist/development/src/acl/definition/permissions.cjs +15 -0
- package/dist/development/src/acl/definition/permissions.cjs.map +1 -0
- package/dist/development/src/acl/definition/permissions.js +15 -0
- package/dist/development/src/acl/definition/permissions.js.map +1 -0
- package/dist/development/src/acl/definition/references.cjs +26 -0
- package/dist/development/src/acl/definition/references.cjs.map +1 -0
- package/dist/development/src/acl/definition/references.js +26 -0
- package/dist/development/src/acl/definition/references.js.map +1 -0
- package/dist/development/src/acl/definition/roles.cjs +14 -0
- package/dist/development/src/acl/definition/roles.cjs.map +1 -0
- package/dist/development/src/acl/definition/roles.js +14 -0
- package/dist/development/src/acl/definition/roles.js.map +1 -0
- package/dist/development/src/acl/definition/variables.cjs +36 -0
- package/dist/development/src/acl/definition/variables.cjs.map +1 -0
- package/dist/development/src/acl/definition/variables.js +36 -0
- package/dist/development/src/acl/definition/variables.js.map +1 -0
- package/dist/development/src/actions/definition/index.cjs +15 -0
- package/dist/development/src/actions/definition/index.cjs.map +1 -0
- package/dist/development/src/actions/definition/index.js +15 -0
- package/dist/development/src/actions/definition/index.js.map +1 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs +180 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.js +180 -0
- package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -0
- package/dist/development/src/actions/definition/internal/store.cjs +6 -0
- package/dist/development/src/actions/definition/internal/store.cjs.map +1 -0
- package/dist/development/src/actions/definition/internal/store.js +6 -0
- package/dist/development/src/actions/definition/internal/store.js.map +1 -0
- package/dist/development/src/actions/definition/targets.cjs +15 -0
- package/dist/development/src/actions/definition/targets.cjs.map +1 -0
- package/dist/development/src/actions/definition/targets.js +15 -0
- package/dist/development/src/actions/definition/targets.js.map +1 -0
- package/dist/development/src/actions/definition/triggers.cjs +12 -0
- package/dist/development/src/actions/definition/triggers.cjs.map +1 -0
- package/dist/development/src/actions/definition/triggers.js +12 -0
- package/dist/development/src/actions/definition/triggers.js.map +1 -0
- package/dist/development/src/createSchema.cjs +29 -0
- package/dist/development/src/createSchema.cjs.map +1 -0
- package/dist/development/src/createSchema.js +29 -0
- package/dist/development/src/createSchema.js.map +1 -0
- package/dist/development/src/model/builder/ColumnBuilder.cjs +38 -0
- package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/ColumnBuilder.js +39 -0
- package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -0
- package/dist/development/src/model/builder/EntityBuilder.cjs +69 -0
- package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/EntityBuilder.js +70 -0
- package/dist/development/src/model/builder/EntityBuilder.js.map +1 -0
- package/dist/development/src/model/builder/FieldBuilder.cjs +14 -0
- package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/FieldBuilder.js +15 -0
- package/dist/development/src/model/builder/FieldBuilder.js.map +1 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs +35 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.js +36 -0
- package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs +36 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.js +37 -0
- package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs +44 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.js +45 -0
- package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs +46 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.js +47 -0
- package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilder.cjs +40 -0
- package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilder.js +40 -0
- package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderError.cjs +6 -0
- package/dist/development/src/model/builder/SchemaBuilderError.cjs.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderError.js +6 -0
- package/dist/development/src/model/builder/SchemaBuilderError.js.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs +153 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.js +154 -0
- package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs +34 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.js +35 -0
- package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
- package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
- package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js +45 -0
- package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js +51 -0
- package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
- package/dist/development/src/model/definition/EnumDefinition.cjs +13 -0
- package/dist/development/src/model/definition/EnumDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/EnumDefinition.js +13 -0
- package/dist/development/src/model/definition/EnumDefinition.js.map +1 -0
- package/dist/development/src/model/definition/EventLogDefinition.cjs +9 -0
- package/dist/development/src/model/definition/EventLogDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/EventLogDefinition.js +9 -0
- package/dist/development/src/model/definition/EventLogDefinition.js.map +1 -0
- package/dist/development/src/model/definition/IndexDefinition.cjs +17 -0
- package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/IndexDefinition.js +17 -0
- package/dist/development/src/model/definition/IndexDefinition.js.map +1 -0
- package/dist/development/src/model/definition/OrderByDefinition.cjs +32 -0
- package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/OrderByDefinition.js +32 -0
- package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -0
- package/dist/development/src/model/definition/UniqueDefinition.cjs +17 -0
- package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/UniqueDefinition.js +17 -0
- package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -0
- package/dist/development/src/model/definition/ViewDefinition.cjs +27 -0
- package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/ViewDefinition.js +27 -0
- package/dist/development/src/model/definition/ViewDefinition.js.map +1 -0
- package/dist/development/src/model/definition/extensions.cjs +16 -0
- package/dist/development/src/model/definition/extensions.cjs.map +1 -0
- package/dist/development/src/model/definition/extensions.js +16 -0
- package/dist/development/src/model/definition/extensions.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +151 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +151 -0
- package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +9 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +9 -0
- package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +57 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +57 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +36 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +36 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +60 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +60 -0
- package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +36 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +36 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +64 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +64 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +35 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +35 -0
- package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
- package/dist/development/src/model/definition/index.cjs +80 -0
- package/dist/development/src/model/definition/index.cjs.map +1 -0
- package/dist/development/src/model/definition/index.js +81 -0
- package/dist/development/src/model/definition/index.js.map +1 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs +29 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.js +29 -0
- package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs +29 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.js +29 -0
- package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs +101 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.js +101 -0
- package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -0
- package/dist/development/src/presets.cjs +46 -0
- package/dist/development/src/presets.cjs.map +1 -0
- package/dist/development/src/presets.js +46 -0
- package/dist/development/src/presets.js.map +1 -0
- package/dist/development/src/strict.cjs +33 -0
- package/dist/development/src/strict.cjs.map +1 -0
- package/dist/development/src/strict.js +33 -0
- package/dist/development/src/strict.js.map +1 -0
- package/dist/development/src/utils/MetadataStore.cjs +31 -0
- package/dist/development/src/utils/MetadataStore.cjs.map +1 -0
- package/dist/development/src/utils/MetadataStore.js +31 -0
- package/dist/development/src/utils/MetadataStore.js.map +1 -0
- package/dist/development/src/utils/assertNever.cjs +7 -0
- package/dist/development/src/utils/assertNever.cjs.map +1 -0
- package/dist/development/src/utils/assertNever.js +7 -0
- package/dist/development/src/utils/assertNever.js.map +1 -0
- package/dist/development/src/utils/filterEntityDefinition.cjs +9 -0
- package/dist/development/src/utils/filterEntityDefinition.cjs.map +1 -0
- package/dist/development/src/utils/filterEntityDefinition.js +9 -0
- package/dist/development/src/utils/filterEntityDefinition.js.map +1 -0
- package/dist/development/src/utils/tuple.cjs +5 -0
- package/dist/development/src/utils/tuple.cjs.map +1 -0
- package/dist/development/src/utils/tuple.js +5 -0
- package/dist/development/src/utils/tuple.js.map +1 -0
- package/dist/development/src/validation/index.cjs +213 -0
- package/dist/development/src/validation/index.cjs.map +1 -0
- package/dist/development/src/validation/index.js +213 -0
- package/dist/development/src/validation/index.js.map +1 -0
- package/dist/production/index.cjs +123 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +118 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js +120 -0
- package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
- package/dist/production/src/acl/builder/EntitySelector.cjs +32 -0
- package/dist/production/src/acl/builder/EntitySelector.cjs.map +1 -0
- package/dist/production/src/acl/builder/EntitySelector.js +33 -0
- package/dist/production/src/acl/builder/EntitySelector.js.map +1 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js +60 -0
- package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
- package/dist/production/src/acl/builder/FieldSelector.cjs +26 -0
- package/dist/production/src/acl/builder/FieldSelector.cjs.map +1 -0
- package/dist/production/src/acl/builder/FieldSelector.js +27 -0
- package/dist/production/src/acl/builder/FieldSelector.js.map +1 -0
- package/dist/production/src/acl/builder/PermissionOverrider.cjs +37 -0
- package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -0
- package/dist/production/src/acl/builder/PermissionOverrider.js +38 -0
- package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs +56 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.js +56 -0
- package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -0
- package/dist/production/src/acl/builder/PredicateReference.cjs +43 -0
- package/dist/production/src/acl/builder/PredicateReference.cjs.map +1 -0
- package/dist/production/src/acl/builder/PredicateReference.js +43 -0
- package/dist/production/src/acl/builder/PredicateReference.js.map +1 -0
- package/dist/production/src/acl/definition/aclExtensions.cjs +16 -0
- package/dist/production/src/acl/definition/aclExtensions.cjs.map +1 -0
- package/dist/production/src/acl/definition/aclExtensions.js +16 -0
- package/dist/production/src/acl/definition/aclExtensions.js.map +1 -0
- package/dist/production/src/acl/definition/customPrimary.cjs +13 -0
- package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -0
- package/dist/production/src/acl/definition/customPrimary.js +13 -0
- package/dist/production/src/acl/definition/customPrimary.js.map +1 -0
- package/dist/production/src/acl/definition/index.cjs +27 -0
- package/dist/production/src/acl/definition/index.cjs.map +1 -0
- package/dist/production/src/acl/definition/index.js +27 -0
- package/dist/production/src/acl/definition/index.js.map +1 -0
- package/dist/production/src/acl/definition/internal/AclFactory.cjs +133 -0
- package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/AclFactory.js +133 -0
- package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
- package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.cjs +8 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.js +8 -0
- package/dist/production/src/acl/definition/internal/createPredicateName.js.map +1 -0
- package/dist/production/src/acl/definition/internal/stores.cjs +6 -0
- package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -0
- package/dist/production/src/acl/definition/internal/stores.js +6 -0
- package/dist/production/src/acl/definition/internal/stores.js.map +1 -0
- package/dist/production/src/acl/definition/permissions.cjs +15 -0
- package/dist/production/src/acl/definition/permissions.cjs.map +1 -0
- package/dist/production/src/acl/definition/permissions.js +15 -0
- package/dist/production/src/acl/definition/permissions.js.map +1 -0
- package/dist/production/src/acl/definition/references.cjs +26 -0
- package/dist/production/src/acl/definition/references.cjs.map +1 -0
- package/dist/production/src/acl/definition/references.js +26 -0
- package/dist/production/src/acl/definition/references.js.map +1 -0
- package/dist/production/src/acl/definition/roles.cjs +14 -0
- package/dist/production/src/acl/definition/roles.cjs.map +1 -0
- package/dist/production/src/acl/definition/roles.js +14 -0
- package/dist/production/src/acl/definition/roles.js.map +1 -0
- package/dist/production/src/acl/definition/variables.cjs +36 -0
- package/dist/production/src/acl/definition/variables.cjs.map +1 -0
- package/dist/production/src/acl/definition/variables.js +36 -0
- package/dist/production/src/acl/definition/variables.js.map +1 -0
- package/dist/production/src/actions/definition/index.cjs +15 -0
- package/dist/production/src/actions/definition/index.cjs.map +1 -0
- package/dist/production/src/actions/definition/index.js +15 -0
- package/dist/production/src/actions/definition/index.js.map +1 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs +180 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.js +180 -0
- package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -0
- package/dist/production/src/actions/definition/internal/store.cjs +6 -0
- package/dist/production/src/actions/definition/internal/store.cjs.map +1 -0
- package/dist/production/src/actions/definition/internal/store.js +6 -0
- package/dist/production/src/actions/definition/internal/store.js.map +1 -0
- package/dist/production/src/actions/definition/targets.cjs +15 -0
- package/dist/production/src/actions/definition/targets.cjs.map +1 -0
- package/dist/production/src/actions/definition/targets.js +15 -0
- package/dist/production/src/actions/definition/targets.js.map +1 -0
- package/dist/production/src/actions/definition/triggers.cjs +12 -0
- package/dist/production/src/actions/definition/triggers.cjs.map +1 -0
- package/dist/production/src/actions/definition/triggers.js +12 -0
- package/dist/production/src/actions/definition/triggers.js.map +1 -0
- package/dist/production/src/createSchema.cjs +29 -0
- package/dist/production/src/createSchema.cjs.map +1 -0
- package/dist/production/src/createSchema.js +29 -0
- package/dist/production/src/createSchema.js.map +1 -0
- package/dist/production/src/model/builder/ColumnBuilder.cjs +38 -0
- package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/ColumnBuilder.js +39 -0
- package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -0
- package/dist/production/src/model/builder/EntityBuilder.cjs +69 -0
- package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/EntityBuilder.js +70 -0
- package/dist/production/src/model/builder/EntityBuilder.js.map +1 -0
- package/dist/production/src/model/builder/FieldBuilder.cjs +14 -0
- package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/FieldBuilder.js +15 -0
- package/dist/production/src/model/builder/FieldBuilder.js.map +1 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs +35 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.js +36 -0
- package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs +36 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.js +37 -0
- package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs +44 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.js +45 -0
- package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs +46 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.js +47 -0
- package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilder.cjs +40 -0
- package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilder.js +40 -0
- package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderError.cjs +6 -0
- package/dist/production/src/model/builder/SchemaBuilderError.cjs.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderError.js +6 -0
- package/dist/production/src/model/builder/SchemaBuilderError.js.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs +153 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.js +154 -0
- package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs +34 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.js +35 -0
- package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
- package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
- package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js +45 -0
- package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js +51 -0
- package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
- package/dist/production/src/model/definition/EnumDefinition.cjs +13 -0
- package/dist/production/src/model/definition/EnumDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/EnumDefinition.js +13 -0
- package/dist/production/src/model/definition/EnumDefinition.js.map +1 -0
- package/dist/production/src/model/definition/EventLogDefinition.cjs +9 -0
- package/dist/production/src/model/definition/EventLogDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/EventLogDefinition.js +9 -0
- package/dist/production/src/model/definition/EventLogDefinition.js.map +1 -0
- package/dist/production/src/model/definition/IndexDefinition.cjs +17 -0
- package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/IndexDefinition.js +17 -0
- package/dist/production/src/model/definition/IndexDefinition.js.map +1 -0
- package/dist/production/src/model/definition/OrderByDefinition.cjs +32 -0
- package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/OrderByDefinition.js +32 -0
- package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -0
- package/dist/production/src/model/definition/UniqueDefinition.cjs +17 -0
- package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/UniqueDefinition.js +17 -0
- package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -0
- package/dist/production/src/model/definition/ViewDefinition.cjs +27 -0
- package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/ViewDefinition.js +27 -0
- package/dist/production/src/model/definition/ViewDefinition.js.map +1 -0
- package/dist/production/src/model/definition/extensions.cjs +16 -0
- package/dist/production/src/model/definition/extensions.cjs.map +1 -0
- package/dist/production/src/model/definition/extensions.js +16 -0
- package/dist/production/src/model/definition/extensions.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +151 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +151 -0
- package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +9 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +9 -0
- package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +57 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +57 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +36 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +36 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +60 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +60 -0
- package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +36 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +36 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +64 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +64 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +35 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +35 -0
- package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
- package/dist/production/src/model/definition/index.cjs +80 -0
- package/dist/production/src/model/definition/index.cjs.map +1 -0
- package/dist/production/src/model/definition/index.js +81 -0
- package/dist/production/src/model/definition/index.js.map +1 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs +29 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.js +29 -0
- package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs +29 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.js +29 -0
- package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs +101 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.js +101 -0
- package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -0
- package/dist/production/src/presets.cjs +46 -0
- package/dist/production/src/presets.cjs.map +1 -0
- package/dist/production/src/presets.js +46 -0
- package/dist/production/src/presets.js.map +1 -0
- package/dist/production/src/strict.cjs +33 -0
- package/dist/production/src/strict.cjs.map +1 -0
- package/dist/production/src/strict.js +33 -0
- package/dist/production/src/strict.js.map +1 -0
- package/dist/production/src/utils/MetadataStore.cjs +31 -0
- package/dist/production/src/utils/MetadataStore.cjs.map +1 -0
- package/dist/production/src/utils/MetadataStore.js +31 -0
- package/dist/production/src/utils/MetadataStore.js.map +1 -0
- package/dist/production/src/utils/assertNever.cjs +7 -0
- package/dist/production/src/utils/assertNever.cjs.map +1 -0
- package/dist/production/src/utils/assertNever.js +7 -0
- package/dist/production/src/utils/assertNever.js.map +1 -0
- package/dist/production/src/utils/filterEntityDefinition.cjs +9 -0
- package/dist/production/src/utils/filterEntityDefinition.cjs.map +1 -0
- package/dist/production/src/utils/filterEntityDefinition.js +9 -0
- package/dist/production/src/utils/filterEntityDefinition.js.map +1 -0
- package/dist/production/src/utils/tuple.cjs +5 -0
- package/dist/production/src/utils/tuple.cjs.map +1 -0
- package/dist/production/src/utils/tuple.js +5 -0
- package/dist/production/src/utils/tuple.js.map +1 -0
- package/dist/production/src/validation/index.cjs +213 -0
- package/dist/production/src/validation/index.cjs.map +1 -0
- package/dist/production/src/validation/index.js +213 -0
- package/dist/production/src/validation/index.js.map +1 -0
- package/dist/tests/cases/unit/createSchema.test.d.ts +2 -0
- package/dist/tests/cases/unit/createSchema.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/extendEntity.test.d.ts +2 -0
- package/dist/tests/cases/unit/extendEntity.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/orderBy.test.d.ts +2 -0
- package/dist/tests/cases/unit/orderBy.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/readAclDefinitions.test.d.ts +2 -0
- package/dist/tests/cases/unit/readAclDefinitions.test.d.ts.map +1 -0
- package/dist/tests/cases/unit/readActions.test.d.ts +2 -0
- package/dist/tests/cases/unit/readActions.test.d.ts.map +1 -0
- package/dist/tests/tsconfig.tsbuildinfo +1 -0
- package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts +28 -0
- package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts.map +1 -0
- package/dist/types/acl/builder/EntitySelector.d.ts +14 -0
- package/dist/types/acl/builder/EntitySelector.d.ts.map +1 -0
- package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts +23 -0
- package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts.map +1 -0
- package/dist/types/acl/builder/FieldSelector.d.ts +14 -0
- package/dist/types/acl/builder/FieldSelector.d.ts.map +1 -0
- package/dist/types/acl/builder/PermissionOverrider.d.ts +6 -0
- package/dist/types/acl/builder/PermissionOverrider.d.ts.map +1 -0
- package/dist/types/acl/builder/PermissionsBuilder.d.ts +24 -0
- package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +1 -0
- package/dist/types/acl/builder/PredicateReference.d.ts +7 -0
- package/dist/types/acl/builder/PredicateReference.d.ts.map +1 -0
- package/dist/types/acl/definition/aclExtensions.d.ts +12 -0
- package/dist/types/acl/definition/aclExtensions.d.ts.map +1 -0
- package/dist/types/acl/definition/customPrimary.d.ts +4 -0
- package/dist/types/acl/definition/customPrimary.d.ts.map +1 -0
- package/dist/types/acl/definition/index.d.ts +8 -0
- package/dist/types/acl/definition/index.d.ts.map +1 -0
- package/dist/types/acl/definition/internal/AclFactory.d.ts +19 -0
- package/dist/types/acl/definition/internal/AclFactory.d.ts.map +1 -0
- package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts +16 -0
- package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts.map +1 -0
- package/dist/types/acl/definition/internal/createPredicateName.d.ts +3 -0
- package/dist/types/acl/definition/internal/createPredicateName.d.ts.map +1 -0
- package/dist/types/acl/definition/internal/stores.d.ts +8 -0
- package/dist/types/acl/definition/internal/stores.d.ts.map +1 -0
- package/dist/types/acl/definition/permissions.d.ts +23 -0
- package/dist/types/acl/definition/permissions.d.ts.map +1 -0
- package/dist/types/acl/definition/references.d.ts +10 -0
- package/dist/types/acl/definition/references.d.ts.map +1 -0
- package/dist/types/acl/definition/roles.d.ts +11 -0
- package/dist/types/acl/definition/roles.d.ts.map +1 -0
- package/dist/types/acl/definition/variables.d.ts +12 -0
- package/dist/types/acl/definition/variables.d.ts.map +1 -0
- package/dist/types/actions/definition/index.d.ts +5 -0
- package/dist/types/actions/definition/index.d.ts.map +1 -0
- package/dist/types/actions/definition/internal/ActionsFactory.d.ts +10 -0
- package/dist/types/actions/definition/internal/ActionsFactory.d.ts.map +1 -0
- package/dist/types/actions/definition/internal/store.d.ts +11 -0
- package/dist/types/actions/definition/internal/store.d.ts.map +1 -0
- package/dist/types/actions/definition/targets.d.ts +10 -0
- package/dist/types/actions/definition/targets.d.ts.map +1 -0
- package/dist/types/actions/definition/triggers.d.ts +31 -0
- package/dist/types/actions/definition/triggers.d.ts.map +1 -0
- package/dist/types/createSchema.d.ts +7 -0
- package/dist/types/createSchema.d.ts.map +1 -0
- package/dist/types/index.d.ts +88 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/model/builder/ColumnBuilder.d.ts +31 -0
- package/dist/types/model/builder/ColumnBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/EntityBuilder.d.ts +39 -0
- package/dist/types/model/builder/EntityBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/FieldBuilder.d.ts +38 -0
- package/dist/types/model/builder/FieldBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/ManyHasManyBuilder.d.ts +25 -0
- package/dist/types/model/builder/ManyHasManyBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/ManyHasOneBuilder.d.ts +26 -0
- package/dist/types/model/builder/ManyHasOneBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/OneHasManyBuilder.d.ts +29 -0
- package/dist/types/model/builder/OneHasManyBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/OneHasOneBuilder.d.ts +32 -0
- package/dist/types/model/builder/OneHasOneBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/SchemaBuilder.d.ts +14 -0
- package/dist/types/model/builder/SchemaBuilder.d.ts.map +1 -0
- package/dist/types/model/builder/SchemaBuilderError.d.ts +3 -0
- package/dist/types/model/builder/SchemaBuilderError.d.ts.map +1 -0
- package/dist/types/model/builder/SchemaBuilderInternal.d.ts +22 -0
- package/dist/types/model/builder/SchemaBuilderInternal.d.ts.map +1 -0
- package/dist/types/model/builder/internal/ColumnProcessor.d.ts +10 -0
- package/dist/types/model/builder/internal/ColumnProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/internal/FieldProcessor.d.ts +9 -0
- package/dist/types/model/builder/internal/FieldProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts +11 -0
- package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts +11 -0
- package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts +11 -0
- package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts +11 -0
- package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts.map +1 -0
- package/dist/types/model/builder/types.d.ts +4 -0
- package/dist/types/model/builder/types.d.ts.map +1 -0
- package/dist/types/model/definition/EnumDefinition.d.ts +6 -0
- package/dist/types/model/definition/EnumDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/EventLogDefinition.d.ts +2 -0
- package/dist/types/model/definition/EventLogDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/IndexDefinition.d.ts +9 -0
- package/dist/types/model/definition/IndexDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/OrderByDefinition.d.ts +11 -0
- package/dist/types/model/definition/OrderByDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/UniqueDefinition.d.ts +15 -0
- package/dist/types/model/definition/UniqueDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/ViewDefinition.d.ts +9 -0
- package/dist/types/model/definition/ViewDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/context.d.ts +13 -0
- package/dist/types/model/definition/context.d.ts.map +1 -0
- package/dist/types/model/definition/extensions.d.ts +15 -0
- package/dist/types/model/definition/extensions.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +55 -0
- package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +15 -0
- package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +19 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +16 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +23 -0
- package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +16 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +25 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +17 -0
- package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -0
- package/dist/types/model/definition/fieldDefinitions/index.d.ts +9 -0
- package/dist/types/model/definition/fieldDefinitions/index.d.ts.map +1 -0
- package/dist/types/model/definition/index.d.ts +27 -0
- package/dist/types/model/definition/index.d.ts.map +1 -0
- package/dist/types/model/definition/internal/EntityRegistry.d.ts +8 -0
- package/dist/types/model/definition/internal/EntityRegistry.d.ts.map +1 -0
- package/dist/types/model/definition/internal/EnumRegistry.d.ts +8 -0
- package/dist/types/model/definition/internal/EnumRegistry.d.ts.map +1 -0
- package/dist/types/model/definition/internal/SchemaBuilder.d.ts +22 -0
- package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +1 -0
- package/dist/types/model/definition/internal/index.d.ts +4 -0
- package/dist/types/model/definition/internal/index.d.ts.map +1 -0
- package/dist/types/model/definition/types.d.ts +6 -0
- package/dist/types/model/definition/types.d.ts.map +1 -0
- package/dist/types/model/index.d.ts +10 -0
- package/dist/types/model/index.d.ts.map +1 -0
- package/dist/types/presets.d.ts +9 -0
- package/dist/types/presets.d.ts.map +1 -0
- package/dist/types/strict.d.ts +22 -0
- package/dist/types/strict.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/utils/MetadataStore.d.ts +7 -0
- package/dist/types/utils/MetadataStore.d.ts.map +1 -0
- package/dist/types/utils/assertNever.d.ts +2 -0
- package/dist/types/utils/assertNever.d.ts.map +1 -0
- package/dist/types/utils/decorators.d.ts +5 -0
- package/dist/types/utils/decorators.d.ts.map +1 -0
- package/dist/types/utils/filterEntityDefinition.d.ts +4 -0
- package/dist/types/utils/filterEntityDefinition.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +6 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/tuple.d.ts +2 -0
- package/dist/types/utils/tuple.d.ts.map +1 -0
- package/dist/types/validation/index.d.ts +56 -0
- package/dist/types/validation/index.d.ts.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const assertNever = require("../../../utils/assertNever.cjs");
|
|
4
|
+
const filterEntityDefinition = require("../../../utils/filterEntityDefinition.cjs");
|
|
5
|
+
require("reflect-metadata");
|
|
6
|
+
const store = require("./store.cjs");
|
|
7
|
+
const targets = require("../targets.cjs");
|
|
8
|
+
const graphql = require("graphql");
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
12
|
+
class ActionsFactory {
|
|
13
|
+
create(exportedDefinitions) {
|
|
14
|
+
const entityLikeDefinition = filterEntityDefinition.filterEntityDefinition(exportedDefinitions);
|
|
15
|
+
const targetsRegistry = new ActionsTargetRegistry();
|
|
16
|
+
for (const [exportedAs, def] of Object.entries(exportedDefinitions)) {
|
|
17
|
+
if (!(def instanceof targets.ActionsTarget)) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
const name = def.name ?? exportedAs;
|
|
21
|
+
targetsRegistry.register(name, def.definition);
|
|
22
|
+
}
|
|
23
|
+
const triggersDef = entityLikeDefinition.flatMap(
|
|
24
|
+
([, entity]) => store.triggersStore.get(entity).map((it) => ({
|
|
25
|
+
...it,
|
|
26
|
+
entity
|
|
27
|
+
}))
|
|
28
|
+
);
|
|
29
|
+
const triggerNames = triggersDef.map((it) => it.definition.name).filter((it) => !!it);
|
|
30
|
+
triggerNames.forEach((it, index, arr) => {
|
|
31
|
+
if (arr.indexOf(it) !== index) {
|
|
32
|
+
throw `Duplicate trigger name ${it}.`;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
const triggers = {};
|
|
36
|
+
for (const { definition, entity, type } of triggersDef) {
|
|
37
|
+
const name = definition.name;
|
|
38
|
+
const target = this.resolveTarget(name, definition, targetsRegistry);
|
|
39
|
+
let trigger;
|
|
40
|
+
if (type === "basic") {
|
|
41
|
+
trigger = {
|
|
42
|
+
target,
|
|
43
|
+
...this.createBasicTrigger(name, entity.name, definition)
|
|
44
|
+
};
|
|
45
|
+
} else if (type === "watch") {
|
|
46
|
+
trigger = {
|
|
47
|
+
target,
|
|
48
|
+
...this.createWatchTrigger(name, entity.name, definition)
|
|
49
|
+
};
|
|
50
|
+
} else {
|
|
51
|
+
assertNever.assertNever();
|
|
52
|
+
}
|
|
53
|
+
triggers[name] = trigger;
|
|
54
|
+
}
|
|
55
|
+
return { triggers, targets: targetsRegistry.getTargets() };
|
|
56
|
+
}
|
|
57
|
+
resolveTarget(triggerName, targetDefinition, targetRegistry) {
|
|
58
|
+
const generatedName = `${triggerName}_target`;
|
|
59
|
+
if ("target" in targetDefinition) {
|
|
60
|
+
if (targetDefinition.target instanceof targets.ActionsTarget) {
|
|
61
|
+
const registeredName = targetRegistry.getName(targetDefinition.target.definition);
|
|
62
|
+
if (!registeredName) {
|
|
63
|
+
throw `Target of ${triggerName} trigger is not registered. Have you exported it?`;
|
|
64
|
+
}
|
|
65
|
+
return registeredName;
|
|
66
|
+
} else {
|
|
67
|
+
const { name, ...def } = targetDefinition.target;
|
|
68
|
+
const resolvedName = name ?? generatedName;
|
|
69
|
+
targetRegistry.register(resolvedName, { name: generatedName, ...def });
|
|
70
|
+
return resolvedName;
|
|
71
|
+
}
|
|
72
|
+
} else if ("webhook" in targetDefinition) {
|
|
73
|
+
if (typeof targetDefinition.webhook === "string") {
|
|
74
|
+
targetRegistry.register(generatedName, {
|
|
75
|
+
type: "webhook",
|
|
76
|
+
url: targetDefinition.webhook
|
|
77
|
+
});
|
|
78
|
+
} else {
|
|
79
|
+
targetRegistry.register(generatedName, {
|
|
80
|
+
type: "webhook",
|
|
81
|
+
...targetDefinition.webhook
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
return generatedName;
|
|
85
|
+
}
|
|
86
|
+
return assertNever.assertNever();
|
|
87
|
+
}
|
|
88
|
+
createWatchTrigger(name, entity, trigger) {
|
|
89
|
+
return {
|
|
90
|
+
type: "watch",
|
|
91
|
+
entity,
|
|
92
|
+
name,
|
|
93
|
+
watch: this.parseSelection(trigger.watch),
|
|
94
|
+
selection: trigger.selection ? this.parseSelection(trigger.selection) : void 0,
|
|
95
|
+
priority: trigger.priority,
|
|
96
|
+
..."withNodes" in trigger ? { withNodes: trigger.withNodes } : {}
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
createBasicTrigger(name, entity, trigger) {
|
|
100
|
+
return {
|
|
101
|
+
type: "basic",
|
|
102
|
+
entity,
|
|
103
|
+
name,
|
|
104
|
+
create: trigger.create ?? false,
|
|
105
|
+
delete: trigger.delete ?? false,
|
|
106
|
+
update: trigger.update ?? false,
|
|
107
|
+
selection: trigger.selection ? this.parseSelection(trigger.selection) : void 0,
|
|
108
|
+
priority: trigger.priority
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
parseSelection(selection) {
|
|
112
|
+
if (typeof selection !== "string") {
|
|
113
|
+
return selection;
|
|
114
|
+
}
|
|
115
|
+
const result = graphql.parse(`{
|
|
116
|
+
${selection}
|
|
117
|
+
}`);
|
|
118
|
+
for (const def of result.definitions) {
|
|
119
|
+
if (def.kind === "OperationDefinition") {
|
|
120
|
+
return this.processSelectionSet(def.selectionSet.selections);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
throw new Error();
|
|
124
|
+
}
|
|
125
|
+
processSelectionSet(selectionSet) {
|
|
126
|
+
return selectionSet.map((it) => {
|
|
127
|
+
if (it.kind !== "Field") {
|
|
128
|
+
throw `${it.kind} is not supported.`;
|
|
129
|
+
}
|
|
130
|
+
if (it.arguments?.length === 0 && it.selectionSet === void 0) {
|
|
131
|
+
return it.name.value;
|
|
132
|
+
}
|
|
133
|
+
const args = Object.fromEntries(it.arguments?.map((it2) => [it2.name, parseArguments(it2.value)]) ?? []);
|
|
134
|
+
return [it.name.value, args, it.selectionSet ? this.processSelectionSet(it.selectionSet.selections) : []];
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
class ActionsTargetRegistry {
|
|
139
|
+
constructor() {
|
|
140
|
+
__publicField(this, "targets", {});
|
|
141
|
+
__publicField(this, "targetsInverseMap", /* @__PURE__ */ new Map());
|
|
142
|
+
}
|
|
143
|
+
register(name, target) {
|
|
144
|
+
if (this.targets[name]) {
|
|
145
|
+
throw `Duplicate trigger target name ${name}`;
|
|
146
|
+
}
|
|
147
|
+
this.targets[name] = { name, ...target };
|
|
148
|
+
this.targetsInverseMap.set(target, name);
|
|
149
|
+
}
|
|
150
|
+
getName(target) {
|
|
151
|
+
return this.targetsInverseMap.get(target);
|
|
152
|
+
}
|
|
153
|
+
getTargets() {
|
|
154
|
+
return this.targets;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
const parseArguments = (ast) => {
|
|
158
|
+
switch (ast.kind) {
|
|
159
|
+
case graphql.Kind.STRING:
|
|
160
|
+
return ast.value;
|
|
161
|
+
case graphql.Kind.BOOLEAN:
|
|
162
|
+
return ast.value;
|
|
163
|
+
case graphql.Kind.FLOAT:
|
|
164
|
+
return parseFloat(ast.value);
|
|
165
|
+
case graphql.Kind.INT:
|
|
166
|
+
return Number(ast.value);
|
|
167
|
+
case graphql.Kind.LIST:
|
|
168
|
+
return ast.values.map((it) => parseArguments(it));
|
|
169
|
+
case graphql.Kind.OBJECT:
|
|
170
|
+
return Object.fromEntries(ast.fields.map((it) => [it.name.value, parseArguments(it.value)]));
|
|
171
|
+
case graphql.Kind.ENUM:
|
|
172
|
+
return ast.value;
|
|
173
|
+
case graphql.Kind.NULL:
|
|
174
|
+
return null;
|
|
175
|
+
case graphql.Kind.VARIABLE:
|
|
176
|
+
throw `Variables are not supported here.`;
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
exports.ActionsFactory = ActionsFactory;
|
|
180
|
+
//# sourceMappingURL=ActionsFactory.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionsFactory.cjs","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\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]) =>\n\t\t\ttriggersStore.get(entity).map(it => ({\n\t\t\t\t...it,\n\t\t\t\tentity,\n\t\t\t}))\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\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\t...('withNodes' in trigger ? { withNodes: trigger.withNodes } : {}),\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":["filterEntityDefinition","ActionsTarget","triggersStore","assertNever","parse","it","Kind"],"mappings":"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"}
|
|
@@ -0,0 +1,180 @@
|
|
|
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
|
+
create(exportedDefinitions) {
|
|
12
|
+
const entityLikeDefinition = filterEntityDefinition(exportedDefinitions);
|
|
13
|
+
const targetsRegistry = new ActionsTargetRegistry();
|
|
14
|
+
for (const [exportedAs, def] of Object.entries(exportedDefinitions)) {
|
|
15
|
+
if (!(def instanceof ActionsTarget)) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const name = def.name ?? exportedAs;
|
|
19
|
+
targetsRegistry.register(name, def.definition);
|
|
20
|
+
}
|
|
21
|
+
const triggersDef = entityLikeDefinition.flatMap(
|
|
22
|
+
([, entity]) => triggersStore.get(entity).map((it) => ({
|
|
23
|
+
...it,
|
|
24
|
+
entity
|
|
25
|
+
}))
|
|
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
|
+
..."withNodes" in trigger ? { withNodes: trigger.withNodes } : {}
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
createBasicTrigger(name, entity, trigger) {
|
|
98
|
+
return {
|
|
99
|
+
type: "basic",
|
|
100
|
+
entity,
|
|
101
|
+
name,
|
|
102
|
+
create: trigger.create ?? false,
|
|
103
|
+
delete: trigger.delete ?? false,
|
|
104
|
+
update: trigger.update ?? false,
|
|
105
|
+
selection: trigger.selection ? this.parseSelection(trigger.selection) : void 0,
|
|
106
|
+
priority: trigger.priority
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
parseSelection(selection) {
|
|
110
|
+
if (typeof selection !== "string") {
|
|
111
|
+
return selection;
|
|
112
|
+
}
|
|
113
|
+
const result = parse(`{
|
|
114
|
+
${selection}
|
|
115
|
+
}`);
|
|
116
|
+
for (const def of result.definitions) {
|
|
117
|
+
if (def.kind === "OperationDefinition") {
|
|
118
|
+
return this.processSelectionSet(def.selectionSet.selections);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
throw new Error();
|
|
122
|
+
}
|
|
123
|
+
processSelectionSet(selectionSet) {
|
|
124
|
+
return selectionSet.map((it) => {
|
|
125
|
+
if (it.kind !== "Field") {
|
|
126
|
+
throw `${it.kind} is not supported.`;
|
|
127
|
+
}
|
|
128
|
+
if (it.arguments?.length === 0 && it.selectionSet === void 0) {
|
|
129
|
+
return it.name.value;
|
|
130
|
+
}
|
|
131
|
+
const args = Object.fromEntries(it.arguments?.map((it2) => [it2.name, parseArguments(it2.value)]) ?? []);
|
|
132
|
+
return [it.name.value, args, it.selectionSet ? this.processSelectionSet(it.selectionSet.selections) : []];
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
class ActionsTargetRegistry {
|
|
137
|
+
constructor() {
|
|
138
|
+
__publicField(this, "targets", {});
|
|
139
|
+
__publicField(this, "targetsInverseMap", /* @__PURE__ */ new Map());
|
|
140
|
+
}
|
|
141
|
+
register(name, target) {
|
|
142
|
+
if (this.targets[name]) {
|
|
143
|
+
throw `Duplicate trigger target name ${name}`;
|
|
144
|
+
}
|
|
145
|
+
this.targets[name] = { name, ...target };
|
|
146
|
+
this.targetsInverseMap.set(target, name);
|
|
147
|
+
}
|
|
148
|
+
getName(target) {
|
|
149
|
+
return this.targetsInverseMap.get(target);
|
|
150
|
+
}
|
|
151
|
+
getTargets() {
|
|
152
|
+
return this.targets;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
const parseArguments = (ast) => {
|
|
156
|
+
switch (ast.kind) {
|
|
157
|
+
case Kind.STRING:
|
|
158
|
+
return ast.value;
|
|
159
|
+
case Kind.BOOLEAN:
|
|
160
|
+
return ast.value;
|
|
161
|
+
case Kind.FLOAT:
|
|
162
|
+
return parseFloat(ast.value);
|
|
163
|
+
case Kind.INT:
|
|
164
|
+
return Number(ast.value);
|
|
165
|
+
case Kind.LIST:
|
|
166
|
+
return ast.values.map((it) => parseArguments(it));
|
|
167
|
+
case Kind.OBJECT:
|
|
168
|
+
return Object.fromEntries(ast.fields.map((it) => [it.name.value, parseArguments(it.value)]));
|
|
169
|
+
case Kind.ENUM:
|
|
170
|
+
return ast.value;
|
|
171
|
+
case Kind.NULL:
|
|
172
|
+
return null;
|
|
173
|
+
case Kind.VARIABLE:
|
|
174
|
+
throw `Variables are not supported here.`;
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
export {
|
|
178
|
+
ActionsFactory
|
|
179
|
+
};
|
|
180
|
+
//# 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\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]) =>\n\t\t\ttriggersStore.get(entity).map(it => ({\n\t\t\t\t...it,\n\t\t\t\tentity,\n\t\t\t}))\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\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\t...('withNodes' in trigger ? { withNodes: trigger.withNodes } : {}),\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,EACpB,OACN,qBACiB;AACjB,UAAM,uBAAuB,uBAAuB,mBAAmB;AAEvE,UAAM,kBAAkB,IAAI,sBAAA;AAC5B,eAAW,CAAC,YAAY,GAAG,KAAK,OAAO,QAAQ,mBAAmB,GAAG;AACpE,UAAI,EAAE,eAAe,gBAAgB;AACpC;AAAA,MACD;AACA,YAAM,OAAO,IAAI,QAAQ;AACzB,sBAAgB,SAAS,MAAM,IAAI,UAAU;AAAA,IAC9C;AAEA,UAAM,cAAc,qBAAqB;AAAA,MAAQ,CAAC,CAAA,EAAG,MAAM,MAC1D,cAAc,IAAI,MAAM,EAAE,IAAI,CAAA,QAAO;AAAA,QACpC,GAAG;AAAA,QACH;AAAA,MAAA,EACC;AAAA,IAAA;AAGH,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,IACD,CAAC;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;AACnE,UAAI;AACJ,UAAI,SAAS,SAAS;AACrB,kBAAU;AAAA,UACT;AAAA,UACA,GAAG,KAAK,mBAAmB,MAAM,OAAO,MAAM,UAAU;AAAA,QAAA;AAAA,MAE1D,WAAW,SAAS,SAAS;AAC5B,kBAAU;AAAA,UACT;AAAA,UACA,GAAG,KAAK,mBAAmB,MAAM,OAAO,MAAM,UAAU;AAAA,QAAA;AAAA,MAE1D,OAAO;AACN,oBAAgB;AAAA,MACjB;AACA,eAAS,IAAI,IAAI;AAAA,IAClB;AAEA,WAAO,EAAE,UAAU,SAAS,gBAAgB,aAAW;AAAA,EACxD;AAAA,EAEQ,cAAc,aAAqB,kBAAoC,gBAA+C;AAC7H,UAAM,gBAAgB,GAAG,WAAW;AACpC,QAAI,YAAY,kBAAkB;AACjC,UAAI,iBAAiB,kBAAkB,eAAe;AACrD,cAAM,iBAAiB,eAAe,QAAQ,iBAAiB,OAAO,UAAU;AAChF,YAAI,CAAC,gBAAgB;AACpB,gBAAM,aAAa,WAAW;AAAA,QAC/B;AACA,eAAO;AAAA,MACR,OAAO;AACN,cAAM,EAAE,MAAM,GAAG,IAAA,IAAQ,iBAAiB;AAC1C,cAAM,eAAe,QAAQ;AAC7B,uBAAe,SAAS,cAAc,EAAE,MAAM,eAAe,GAAG,KAAK;AACrE,eAAO;AAAA,MACR;AAAA,IACD,WAAW,aAAa,kBAAkB;AACzC,UAAI,OAAO,iBAAiB,YAAY,UAAU;AACjD,uBAAe,SAAS,eAAe;AAAA,UACtC,MAAM;AAAA,UACN,KAAK,iBAAiB;AAAA,QAAA,CACtB;AAAA,MACF,OAAO;AACN,uBAAe,SAAS,eAAe;AAAA,UACtC,MAAM;AAAA,UACN,GAAG,iBAAiB;AAAA,QAAA,CACpB;AAAA,MACF;AACA,aAAO;AAAA,IACR;AACA,WAAO,YAA4B;AAAA,EACpC;AAAA,EAEQ,mBAAmB,MAAc,QAAgB,SAAuE;AAC/H,WAAO;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,MAClB,GAAI,eAAe,UAAU,EAAE,WAAW,QAAQ,UAAA,IAAc,CAAA;AAAA,IAAC;AAAA,EAEnE;AAAA,EAEQ,mBAAmB,MAAc,QAAgB,SAAuE;AAC/H,WAAO;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;AACxF,QAAI,OAAO,cAAc,UAAU;AAClC,aAAO;AAAA,IACR;AACA,UAAM,SAAS,MAAM;AAAA,KAClB,SAAS;AAAA,IACV;AACF,eAAW,OAAO,OAAO,aAAa;AACrC,UAAI,IAAI,SAAS,uBAAuB;AACvC,eAAO,KAAK,oBAAoB,IAAI,aAAa,UAAU;AAAA,MAC5D;AAAA,IACD;AACA,UAAM,IAAI,MAAA;AAAA,EACX;AAAA,EAEQ,oBAAoB,cAA+D;AAC1F,WAAO,aAAa,IAAI,CAAA,OAAM;AAC7B,UAAI,GAAG,SAAS,SAAS;AACxB,cAAM,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,EAAE;AAClG,aAAO,CAAC,GAAG,KAAK,OAAO,MAAM,GAAG,eAAe,KAAK,oBAAoB,GAAG,aAAa,UAAU,IAAI,CAAA,CAAE;AAAA,IACzG,CAAC;AAAA,EACF;AACD;AAEA,MAAM,sBAAsB;AAAA,EAA5B,cAAA;AACC,kBAAA,MAAQ,WAA6C,EAAC;AACtD,kBAAA,MAAQ,yCAAwB,IAAA,CAA6C;AAAA,EAAA;AAAA,EAEtE,SAAS,MAAc,QAAmE;AAChG,QAAI,KAAK,QAAQ,IAAI,GAAG;AACvB,YAAM,iCAAiC,IAAI;AAAA,IAC5C;AACA,SAAK,QAAQ,IAAI,IAAI,EAAE,MAAM,GAAG,OAAA;AAChC,SAAK,kBAAkB,IAAI,QAAQ,IAAI;AAAA,EACxC;AAAA,EAEO,QAAQ,QAA6D;AAC3E,WAAO,KAAK,kBAAkB,IAAI,MAAM;AAAA,EACzC;AAAA,EAEO,aAAa;AACnB,WAAO,KAAK;AAAA,EACb;AACD;AAEA,MAAM,iBAAiB,CAAC,QAAwB;AAC/C,UAAQ,IAAI,MAAA;AAAA,IACX,KAAK,KAAK;AACT,aAAO,IAAI;AAAA,IACZ,KAAK,KAAK;AACT,aAAO,IAAI;AAAA,IACZ,KAAK,KAAK;AACT,aAAO,WAAW,IAAI,KAAK;AAAA,IAC5B,KAAK,KAAK;AACT,aAAO,OAAO,IAAI,KAAK;AAAA,IACxB,KAAK,KAAK;AACT,aAAO,IAAI,OAAO,IAAI,CAAA,OAAM,eAAe,EAAE,CAAC;AAAA,IAC/C,KAAK,KAAK;AACT,aAAO,OAAO,YAAY,IAAI,OAAO,IAAI,CAAA,OAAM,CAAC,GAAG,KAAK,OAAO,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC;AAAA,IAC1F,KAAK,KAAK;AACT,aAAO,IAAI;AAAA,IACZ,KAAK,KAAK;AACT,aAAO;AAAA,IACR,KAAK,KAAK;AACT,YAAM;AAAA,EAAA;AAET;"}
|
|
@@ -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":";;;AAOO,MAAM,gBAAgBA,cAAAA,oBAAqC,CAAA,CAAE;;"}
|
|
@@ -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":";AAOO,MAAM,gBAAgB,oBAAqC,CAAA,CAAE;"}
|
|
@@ -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\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":";;AAEO,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\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":"AAEO,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, context) => {
|
|
5
|
+
store.triggersStore.update(entity, (it) => [...it, { type: "basic", definition }], context);
|
|
6
|
+
};
|
|
7
|
+
const watch = (definition) => (entity, context) => {
|
|
8
|
+
store.triggersStore.update(entity, (it) => [...it, { type: "watch", definition }], context);
|
|
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\treadonly withNodes?: boolean\n\t}\n\t& CommonTriggerDefinition\n\t& TargetDefinition\n\nexport const trigger =\n\t<T>(definition: BasicTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>, context?: ClassDecoratorContext) => {\n\t\ttriggersStore.update(entity, it => [...it, { type: 'basic', definition }], context)\n\t}\n\nexport const watch =\n\t<T>(definition: WatchTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>, context?: ClassDecoratorContext) => {\n\t\ttriggersStore.update(entity, it => [...it, { type: 'watch', definition }], context)\n\t}\n"],"names":["triggersStore"],"mappings":";;;AA0CO,MAAM,UACZ,CAAI,eAA6D,CAAC,QAA8B,YAAoC;AACnIA,QAAAA,cAAc,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAA,CAAY,GAAG,OAAO;AACnF;AAEM,MAAM,QACZ,CAAI,eAA6D,CAAC,QAA8B,YAAoC;AACnIA,QAAAA,cAAc,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAA,CAAY,GAAG,OAAO;AACnF;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { triggersStore } from "./internal/store.js";
|
|
2
|
+
const trigger = (definition) => (entity, context) => {
|
|
3
|
+
triggersStore.update(entity, (it) => [...it, { type: "basic", definition }], context);
|
|
4
|
+
};
|
|
5
|
+
const watch = (definition) => (entity, context) => {
|
|
6
|
+
triggersStore.update(entity, (it) => [...it, { type: "watch", definition }], context);
|
|
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\treadonly withNodes?: boolean\n\t}\n\t& CommonTriggerDefinition\n\t& TargetDefinition\n\nexport const trigger =\n\t<T>(definition: BasicTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>, context?: ClassDecoratorContext) => {\n\t\ttriggersStore.update(entity, it => [...it, { type: 'basic', definition }], context)\n\t}\n\nexport const watch =\n\t<T>(definition: WatchTriggerDefinition): DecoratorFunction<T> => (entity: EntityConstructor<T>, context?: ClassDecoratorContext) => {\n\t\ttriggersStore.update(entity, it => [...it, { type: 'watch', definition }], context)\n\t}\n"],"names":[],"mappings":";AA0CO,MAAM,UACZ,CAAI,eAA6D,CAAC,QAA8B,YAAoC;AACnI,gBAAc,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAA,CAAY,GAAG,OAAO;AACnF;AAEM,MAAM,QACZ,CAAI,eAA6D,CAAC,QAA8B,YAAoC;AACnI,gBAAc,OAAO,QAAQ,CAAA,OAAM,CAAC,GAAG,IAAI,EAAE,MAAM,SAAS,WAAA,CAAY,GAAG,OAAO;AACnF;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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, {
|
|
15
|
+
strictDefinitionValidator,
|
|
16
|
+
defaultCollation: options?.defaultCollation
|
|
17
|
+
});
|
|
18
|
+
const validation = index$1.parseDefinition(definitions);
|
|
19
|
+
const acl = index$2.createAcl(definitions, model);
|
|
20
|
+
const actions = index$3.createActions(definitions);
|
|
21
|
+
const schema = { ...schemaUtils.emptySchema, model, validation, acl, actions };
|
|
22
|
+
if (strictDefinitionValidator.warnings.length > 0) {
|
|
23
|
+
throw `Strict schema validation failed:
|
|
24
|
+
${strictDefinitionValidator.warnings.map((it) => `- ${it.message}`).join("\n")}`;
|
|
25
|
+
}
|
|
26
|
+
return modifyCallback ? modifyCallback(schema) : schema;
|
|
27
|
+
};
|
|
28
|
+
exports.createSchema = createSchema;
|
|
29
|
+
//# 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 { Model, Schema } from '@contember/schema'\nimport { emptySchema } from '@contember/schema-utils'\nimport { allStrict, StrictDefinitionValidator, StrictOptions } from './strict'\n\nexport const createSchema = (definitions: Record<string, any>, modifyCallback?: (schema: Schema) => Schema, options?: {\n\tstrict?: boolean | StrictOptions\n\tdefaultCollation?: Model.Collation\n}): Schema => {\n\tconst strictOptions = options?.strict === true ? allStrict : (options?.strict || {})\n\tconst strictDefinitionValidator = new StrictDefinitionValidator(strictOptions)\n\n\tconst model = SchemaDefinition.createModel(definitions, {\n\t\tstrictDefinitionValidator: strictDefinitionValidator,\n\t\tdefaultCollation: options?.defaultCollation,\n\t})\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,YAG9F;AACb,QAAM,gBAAgB,SAAS,WAAW,OAAOA,mBAAa,SAAS,UAAU,CAAA;AACjF,QAAM,4BAA4B,IAAIC,OAAAA,0BAA0B,aAAa;AAE7E,QAAM,QAAQC,MAAAA,YAA6B,aAAa;AAAA,IACvD;AAAA,IACA,kBAAkB,SAAS;AAAA,EAAA,CAC3B;AACD,QAAM,aAAaC,QAAAA,gBAAgC,WAAW;AAC9D,QAAM,MAAMC,QAAAA,UAAwB,aAAa,KAAK;AACtD,QAAM,UAAUC,QAAAA,cAAgC,WAAW;AAC3D,QAAM,SAAS,EAAE,GAAGC,YAAAA,aAAa,OAAO,YAAY,KAAK,QAAA;AAEzD,MAAI,0BAA0B,SAAS,SAAS,GAAG;AAClD,UAAM;AAAA,EAAsC,0BAA0B,SAAS,IAAI,CAAA,OAAM,KAAK,GAAG,OAAO,EAAE,EAAE,KAAK,IAAI,CAAC;AAAA,EACvH;AAEA,SAAO,iBAAiB,eAAe,MAAM,IAAI;AAClD;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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, {
|
|
13
|
+
strictDefinitionValidator,
|
|
14
|
+
defaultCollation: options?.defaultCollation
|
|
15
|
+
});
|
|
16
|
+
const validation = parseDefinition(definitions);
|
|
17
|
+
const acl = createAcl(definitions, model);
|
|
18
|
+
const actions = createActions(definitions);
|
|
19
|
+
const schema = { ...emptySchema, model, validation, acl, actions };
|
|
20
|
+
if (strictDefinitionValidator.warnings.length > 0) {
|
|
21
|
+
throw `Strict schema validation failed:
|
|
22
|
+
${strictDefinitionValidator.warnings.map((it) => `- ${it.message}`).join("\n")}`;
|
|
23
|
+
}
|
|
24
|
+
return modifyCallback ? modifyCallback(schema) : schema;
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
createSchema
|
|
28
|
+
};
|
|
29
|
+
//# 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 { Model, Schema } from '@contember/schema'\nimport { emptySchema } from '@contember/schema-utils'\nimport { allStrict, StrictDefinitionValidator, StrictOptions } from './strict'\n\nexport const createSchema = (definitions: Record<string, any>, modifyCallback?: (schema: Schema) => Schema, options?: {\n\tstrict?: boolean | StrictOptions\n\tdefaultCollation?: Model.Collation\n}): Schema => {\n\tconst strictOptions = options?.strict === true ? allStrict : (options?.strict || {})\n\tconst strictDefinitionValidator = new StrictDefinitionValidator(strictOptions)\n\n\tconst model = SchemaDefinition.createModel(definitions, {\n\t\tstrictDefinitionValidator: strictDefinitionValidator,\n\t\tdefaultCollation: options?.defaultCollation,\n\t})\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,YAG9F;AACb,QAAM,gBAAgB,SAAS,WAAW,OAAO,YAAa,SAAS,UAAU,CAAA;AACjF,QAAM,4BAA4B,IAAI,0BAA0B,aAAa;AAE7E,QAAM,QAAQA,YAA6B,aAAa;AAAA,IACvD;AAAA,IACA,kBAAkB,SAAS;AAAA,EAAA,CAC3B;AACD,QAAM,aAAaC,gBAAgC,WAAW;AAC9D,QAAM,MAAMC,UAAwB,aAAa,KAAK;AACtD,QAAM,UAAUC,cAAgC,WAAW;AAC3D,QAAM,SAAS,EAAE,GAAG,aAAa,OAAO,YAAY,KAAK,QAAA;AAEzD,MAAI,0BAA0B,SAAS,SAAS,GAAG;AAClD,UAAM;AAAA,EAAsC,0BAA0B,SAAS,IAAI,CAAA,OAAM,KAAK,GAAG,OAAO,EAAE,EAAE,KAAK,IAAI,CAAC;AAAA,EACvH;AAEA,SAAO,iBAAiB,eAAe,MAAM,IAAI;AAClD;"}
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
{
|
|
12
|
+
...this.options,
|
|
13
|
+
type,
|
|
14
|
+
...typeOptions
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
nullable() {
|
|
19
|
+
return new ColumnBuilder({ ...this.options, nullable: true });
|
|
20
|
+
}
|
|
21
|
+
notNull() {
|
|
22
|
+
return new ColumnBuilder({ ...this.options, nullable: false });
|
|
23
|
+
}
|
|
24
|
+
unique() {
|
|
25
|
+
return new ColumnBuilder({ ...this.options, unique: true });
|
|
26
|
+
}
|
|
27
|
+
primary() {
|
|
28
|
+
return new ColumnBuilder({ ...this.options, primary: true });
|
|
29
|
+
}
|
|
30
|
+
typeAlias(typeAlias) {
|
|
31
|
+
return new ColumnBuilder({ ...this.options, typeAlias });
|
|
32
|
+
}
|
|
33
|
+
getOption() {
|
|
34
|
+
return this.options;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
module.exports = ColumnBuilder;
|
|
38
|
+
//# 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{\n\t\t\t\t...(this.options as object),\n\t\t\t\ttype: type,\n\t\t\t\t...typeOptions,\n\t\t\t} as O & PartialColumnOptions<'type'>,\n\t\t)\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;AAAA,MACV;AAAA,QACC,GAAI,KAAK;AAAA,QACT;AAAA,QACA,GAAG;AAAA,MAAA;AAAA,IACJ;AAAA,EAEF;AAAA,EAEO,WAA6B;AACnC,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,UAAU,MAAW;AAAA,EACjF;AAAA,EAEO,UAA4B;AAClC,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,UAAU,OAAY;AAAA,EAClF;AAAA,EAEO,SAA2B;AACjC,WAAO,IAAI,cAAiB,EAAE,GAAI,KAAK,SAAoB,QAAQ,MAAW;AAAA,EAC/E;AAAA,EAEO,UAA4B;AAClC,WAAO,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;;"}
|