@baseplate-dev/project-builder-lib 0.5.3 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +69 -0
- package/dist/definition/index.d.ts +0 -1
- package/dist/definition/index.d.ts.map +1 -1
- package/dist/definition/index.js +0 -1
- package/dist/definition/index.js.map +1 -1
- package/dist/definition/model/model-field-utils.js +2 -2
- package/dist/definition/model/model-field-utils.js.map +1 -1
- package/dist/definition/model/model-utils.d.ts.map +1 -1
- package/dist/definition/model/model-utils.js +2 -2
- package/dist/definition/model/model-utils.js.map +1 -1
- package/dist/definition/project-definition-container.d.ts +21 -12
- package/dist/definition/project-definition-container.d.ts.map +1 -1
- package/dist/definition/project-definition-container.js +42 -23
- package/dist/definition/project-definition-container.js.map +1 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +6 -0
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/migration-024-graphql-object-type-field-auth.d.ts +30 -0
- package/dist/migrations/migration-024-graphql-object-type-field-auth.d.ts.map +1 -0
- package/dist/migrations/migration-024-graphql-object-type-field-auth.js +54 -0
- package/dist/migrations/migration-024-graphql-object-type-field-auth.js.map +1 -0
- package/dist/migrations/migration-025-service-method-auth.d.ts +44 -0
- package/dist/migrations/migration-025-service-method-auth.d.ts.map +1 -0
- package/dist/migrations/migration-025-service-method-auth.js +62 -0
- package/dist/migrations/migration-025-service-method-auth.js.map +1 -0
- package/dist/migrations/migration-026-query-shared-roles.d.ts +32 -0
- package/dist/migrations/migration-026-query-shared-roles.d.ts.map +1 -0
- package/dist/migrations/migration-026-query-shared-roles.js +48 -0
- package/dist/migrations/migration-026-query-shared-roles.js.map +1 -0
- package/dist/parser/apply-definition-fixes.d.ts +13 -0
- package/dist/parser/apply-definition-fixes.d.ts.map +1 -0
- package/dist/parser/apply-definition-fixes.js +25 -0
- package/dist/parser/apply-definition-fixes.js.map +1 -0
- package/dist/parser/clean-default-values.d.ts +14 -0
- package/dist/parser/clean-default-values.d.ts.map +1 -0
- package/dist/parser/clean-default-values.js +24 -0
- package/dist/parser/clean-default-values.js.map +1 -0
- package/dist/parser/collect-definition-issues.d.ts +36 -0
- package/dist/parser/collect-definition-issues.d.ts.map +1 -0
- package/dist/parser/collect-definition-issues.js +94 -0
- package/dist/parser/collect-definition-issues.js.map +1 -0
- package/dist/parser/collect-expression-issues.d.ts +17 -0
- package/dist/parser/collect-expression-issues.d.ts.map +1 -0
- package/dist/parser/collect-expression-issues.js +33 -0
- package/dist/parser/collect-expression-issues.js.map +1 -0
- package/dist/parser/definition-issue-checkers/mutation-roles-checker.d.ts +11 -0
- package/dist/parser/definition-issue-checkers/mutation-roles-checker.d.ts.map +1 -0
- package/dist/parser/definition-issue-checkers/mutation-roles-checker.js +41 -0
- package/dist/parser/definition-issue-checkers/mutation-roles-checker.js.map +1 -0
- package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.d.ts +10 -0
- package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.d.ts.map +1 -0
- package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js +36 -0
- package/dist/parser/definition-issue-checkers/relation-type-mismatch-checker.js.map +1 -0
- package/dist/parser/definition-issue-utils.d.ts +23 -0
- package/dist/parser/definition-issue-utils.d.ts.map +1 -0
- package/dist/parser/definition-issue-utils.js +33 -0
- package/dist/parser/definition-issue-utils.js.map +1 -0
- package/dist/parser/index.d.ts +9 -0
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +8 -0
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/parser.d.ts.map +1 -1
- package/dist/parser/parser.js +7 -2
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/schema-structure.d.ts +53 -0
- package/dist/parser/schema-structure.d.ts.map +1 -0
- package/dist/parser/schema-structure.js +171 -0
- package/dist/parser/schema-structure.js.map +1 -0
- package/dist/parser/transform-data-with-schema.d.ts +35 -0
- package/dist/parser/transform-data-with-schema.d.ts.map +1 -0
- package/dist/parser/transform-data-with-schema.js +140 -0
- package/dist/parser/transform-data-with-schema.js.map +1 -0
- package/dist/parser/types.d.ts +6 -3
- package/dist/parser/types.d.ts.map +1 -1
- package/dist/parser/walk-data-with-schema.d.ts +46 -0
- package/dist/parser/walk-data-with-schema.d.ts.map +1 -0
- package/dist/parser/walk-data-with-schema.js +140 -0
- package/dist/parser/walk-data-with-schema.js.map +1 -0
- package/dist/parser/walk-schema-structure.d.ts +60 -0
- package/dist/parser/walk-schema-structure.d.ts.map +1 -0
- package/dist/parser/walk-schema-structure.js +163 -0
- package/dist/parser/walk-schema-structure.js.map +1 -0
- package/dist/plugins/imports/loader.d.ts +1 -1
- package/dist/plugins/imports/loader.d.ts.map +1 -1
- package/dist/plugins/imports/loader.js +2 -2
- package/dist/plugins/imports/loader.js.map +1 -1
- package/dist/plugins/imports/types.d.ts +1 -1
- package/dist/plugins/imports/types.d.ts.map +1 -1
- package/dist/plugins/metadata/types.d.ts +1 -1
- package/dist/plugins/metadata/types.js +1 -1
- package/dist/plugins/plugins.test-utils.d.ts +15 -0
- package/dist/plugins/plugins.test-utils.d.ts.map +1 -1
- package/dist/plugins/plugins.test-utils.js +24 -0
- package/dist/plugins/plugins.test-utils.js.map +1 -1
- package/dist/plugins/spec/config-spec.d.ts +1 -0
- package/dist/plugins/spec/config-spec.d.ts.map +1 -1
- package/dist/plugins/spec/config-spec.js +1 -0
- package/dist/plugins/spec/config-spec.js.map +1 -1
- package/dist/plugins/store/store.d.ts +6 -1
- package/dist/plugins/store/store.d.ts.map +1 -1
- package/dist/plugins/store/store.js +9 -1
- package/dist/plugins/store/store.js.map +1 -1
- package/dist/references/definition-ref-registry.d.ts +105 -0
- package/dist/references/definition-ref-registry.d.ts.map +1 -0
- package/dist/references/definition-ref-registry.js +40 -0
- package/dist/references/definition-ref-registry.js.map +1 -0
- package/dist/references/deserialize-schema.d.ts +4 -6
- package/dist/references/deserialize-schema.d.ts.map +1 -1
- package/dist/references/deserialize-schema.js +4 -5
- package/dist/references/deserialize-schema.js.map +1 -1
- package/dist/references/expression-types.d.ts +46 -14
- package/dist/references/expression-types.d.ts.map +1 -1
- package/dist/references/expression-types.js +17 -0
- package/dist/references/expression-types.js.map +1 -1
- package/dist/references/extend-parser-context-with-refs.d.ts +32 -2
- package/dist/references/extend-parser-context-with-refs.d.ts.map +1 -1
- package/dist/references/extend-parser-context-with-refs.js +123 -163
- package/dist/references/extend-parser-context-with-refs.js.map +1 -1
- package/dist/references/extract-definition-refs.d.ts +9 -8
- package/dist/references/extract-definition-refs.d.ts.map +1 -1
- package/dist/references/extract-definition-refs.js +110 -26
- package/dist/references/extract-definition-refs.js.map +1 -1
- package/dist/references/fix-ref-deletions.d.ts +6 -6
- package/dist/references/fix-ref-deletions.d.ts.map +1 -1
- package/dist/references/fix-ref-deletions.js +2 -2
- package/dist/references/fix-ref-deletions.js.map +1 -1
- package/dist/references/index.d.ts +3 -0
- package/dist/references/index.d.ts.map +1 -1
- package/dist/references/index.js +3 -0
- package/dist/references/index.js.map +1 -1
- package/dist/references/parse-schema-with-references.d.ts +8 -6
- package/dist/references/parse-schema-with-references.d.ts.map +1 -1
- package/dist/references/parse-schema-with-references.js +10 -12
- package/dist/references/parse-schema-with-references.js.map +1 -1
- package/dist/references/ref-schema-visitor.d.ts +33 -0
- package/dist/references/ref-schema-visitor.d.ts.map +1 -0
- package/dist/references/ref-schema-visitor.js +61 -0
- package/dist/references/ref-schema-visitor.js.map +1 -0
- package/dist/references/resolve-slots.d.ts +1 -1
- package/dist/references/resolve-slots.d.ts.map +1 -1
- package/dist/references/serialize-schema.d.ts +9 -2
- package/dist/references/serialize-schema.d.ts.map +1 -1
- package/dist/references/serialize-schema.js +20 -4
- package/dist/references/serialize-schema.js.map +1 -1
- package/dist/schema/apps/web/admin/admin.d.ts +22 -37
- package/dist/schema/apps/web/admin/admin.d.ts.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts +6 -15
- package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.d.ts.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js +3 -8
- package/dist/schema/apps/web/admin/sections/crud-actions/admin-crud-action.js.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts +6 -15
- package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.d.ts.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js +3 -8
- package/dist/schema/apps/web/admin/sections/crud-columns/admin-crud-column.js.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts +9 -15
- package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.d.ts.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js +3 -8
- package/dist/schema/apps/web/admin/sections/crud-form/admin-crud-input.js.map +1 -1
- package/dist/schema/apps/web/admin/sections/crud.d.ts +6 -6
- package/dist/schema/apps/web/web-app.d.ts +32 -47
- package/dist/schema/apps/web/web-app.d.ts.map +1 -1
- package/dist/schema/creator/definition-default-registry.d.ts +22 -0
- package/dist/schema/creator/definition-default-registry.d.ts.map +1 -0
- package/dist/schema/creator/definition-default-registry.js +18 -0
- package/dist/schema/creator/definition-default-registry.js.map +1 -0
- package/dist/schema/creator/definition-fix-registry.d.ts +45 -0
- package/dist/schema/creator/definition-fix-registry.d.ts.map +1 -0
- package/dist/schema/creator/definition-fix-registry.js +41 -0
- package/dist/schema/creator/definition-fix-registry.js.map +1 -0
- package/dist/schema/creator/definition-issue-checker-spec.d.ts +37 -0
- package/dist/schema/creator/definition-issue-checker-spec.d.ts.map +1 -0
- package/dist/schema/creator/definition-issue-checker-spec.js +28 -0
- package/dist/schema/creator/definition-issue-checker-spec.js.map +1 -0
- package/dist/schema/creator/definition-issue-checkers.d.ts +16 -0
- package/dist/schema/creator/definition-issue-checkers.d.ts.map +1 -0
- package/dist/schema/creator/definition-issue-checkers.js +35 -0
- package/dist/schema/creator/definition-issue-checkers.js.map +1 -0
- package/dist/schema/creator/definition-issue-registry.d.ts +54 -0
- package/dist/schema/creator/definition-issue-registry.d.ts.map +1 -0
- package/dist/schema/creator/definition-issue-registry.js +47 -0
- package/dist/schema/creator/definition-issue-registry.js.map +1 -0
- package/dist/schema/creator/definition-issue-types.d.ts +53 -0
- package/dist/schema/creator/definition-issue-types.d.ts.map +1 -0
- package/dist/schema/creator/definition-issue-types.js +2 -0
- package/dist/schema/creator/definition-issue-types.js.map +1 -0
- package/dist/schema/creator/extend-parser-context-with-defaults.d.ts +20 -4
- package/dist/schema/creator/extend-parser-context-with-defaults.d.ts.map +1 -1
- package/dist/schema/creator/extend-parser-context-with-defaults.js +24 -42
- package/dist/schema/creator/extend-parser-context-with-defaults.js.map +1 -1
- package/dist/schema/creator/index.d.ts +6 -0
- package/dist/schema/creator/index.d.ts.map +1 -1
- package/dist/schema/creator/index.js +5 -0
- package/dist/schema/creator/index.js.map +1 -1
- package/dist/schema/creator/schema-creator.d.ts.map +1 -1
- package/dist/schema/creator/schema-creator.js +18 -4
- package/dist/schema/creator/schema-creator.js.map +1 -1
- package/dist/schema/creator/types.d.ts +3 -30
- package/dist/schema/creator/types.d.ts.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.d.ts.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js +116 -25
- package/dist/schema/models/authorizer/authorizer-expression-acorn-parser.js.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts +82 -1
- package/dist/schema/models/authorizer/authorizer-expression-ast.d.ts.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-ast.js.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts +8 -9
- package/dist/schema/models/authorizer/authorizer-expression-parser.d.ts.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-parser.js +28 -35
- package/dist/schema/models/authorizer/authorizer-expression-parser.js.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts +42 -4
- package/dist/schema/models/authorizer/authorizer-expression-validator.d.ts.map +1 -1
- package/dist/schema/models/authorizer/authorizer-expression-validator.js +119 -18
- package/dist/schema/models/authorizer/authorizer-expression-validator.js.map +1 -1
- package/dist/schema/models/graphql.d.ts +42 -111
- package/dist/schema/models/graphql.d.ts.map +1 -1
- package/dist/schema/models/graphql.js +59 -19
- package/dist/schema/models/graphql.js.map +1 -1
- package/dist/schema/models/models.d.ts +1134 -343
- package/dist/schema/models/models.d.ts.map +1 -1
- package/dist/schema/models/models.js +258 -86
- package/dist/schema/models/models.js.map +1 -1
- package/dist/schema/plugins/definition.d.ts +2 -30
- package/dist/schema/plugins/definition.d.ts.map +1 -1
- package/dist/schema/plugins/definition.js +26 -15
- package/dist/schema/plugins/definition.js.map +1 -1
- package/dist/schema/project-definition.d.ts +532 -186
- package/dist/schema/project-definition.d.ts.map +1 -1
- package/dist/schema/project-definition.js +15 -3
- package/dist/schema/project-definition.js.map +1 -1
- package/dist/schema/settings/general.d.ts +1 -1
- package/dist/schema/settings/general.d.ts.map +1 -1
- package/dist/schema/settings/general.js +4 -1
- package/dist/schema/settings/general.js.map +1 -1
- package/dist/schema/settings/settings.d.ts +3 -3
- package/dist/schema/settings/theme.d.ts +3 -3
- package/dist/testing/definition-helpers.test-helper.d.ts +12 -0
- package/dist/testing/definition-helpers.test-helper.d.ts.map +1 -0
- package/dist/testing/definition-helpers.test-helper.js +77 -0
- package/dist/testing/definition-helpers.test-helper.js.map +1 -0
- package/dist/testing/expression-stub-parser.test-helper.d.ts +59 -0
- package/dist/testing/expression-stub-parser.test-helper.d.ts.map +1 -0
- package/dist/testing/expression-stub-parser.test-helper.js +79 -0
- package/dist/testing/expression-stub-parser.test-helper.js.map +1 -0
- package/dist/testing/expression-warning-parser.test-helper.d.ts +39 -0
- package/dist/testing/expression-warning-parser.test-helper.d.ts.map +1 -0
- package/dist/testing/expression-warning-parser.test-helper.js +62 -0
- package/dist/testing/expression-warning-parser.test-helper.js.map +1 -0
- package/dist/testing/index.d.ts +5 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +5 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/parser-context.test-helper.d.ts +8 -0
- package/dist/testing/parser-context.test-helper.d.ts.map +1 -0
- package/dist/testing/parser-context.test-helper.js +16 -0
- package/dist/testing/parser-context.test-helper.js.map +1 -0
- package/dist/{definition/project-definition-container.test-utils.d.ts → testing/project-definition-container.test-helper.d.ts} +4 -2
- package/dist/testing/project-definition-container.test-helper.d.ts.map +1 -0
- package/dist/{definition/project-definition-container.test-utils.js → testing/project-definition-container.test-helper.js} +11 -5
- package/dist/testing/project-definition-container.test-helper.js.map +1 -0
- package/dist/tools/assign-entity-ids.d.ts +17 -0
- package/dist/tools/assign-entity-ids.d.ts.map +1 -0
- package/dist/tools/assign-entity-ids.js +34 -0
- package/dist/tools/assign-entity-ids.js.map +1 -0
- package/dist/tools/entity-service/entity-navigation.d.ts +13 -0
- package/dist/tools/entity-service/entity-navigation.d.ts.map +1 -0
- package/dist/tools/entity-service/entity-navigation.js +84 -0
- package/dist/tools/entity-service/entity-navigation.js.map +1 -0
- package/dist/tools/entity-service/entity-read.d.ts +38 -0
- package/dist/tools/entity-service/entity-read.d.ts.map +1 -0
- package/dist/tools/entity-service/entity-read.js +56 -0
- package/dist/tools/entity-service/entity-read.js.map +1 -0
- package/dist/tools/entity-service/entity-type-map.d.ts +18 -0
- package/dist/tools/entity-service/entity-type-map.d.ts.map +1 -0
- package/dist/tools/entity-service/entity-type-map.js +75 -0
- package/dist/tools/entity-service/entity-type-map.js.map +1 -0
- package/dist/tools/entity-service/entity-write.d.ts +39 -0
- package/dist/tools/entity-service/entity-write.d.ts.map +1 -0
- package/dist/tools/entity-service/entity-write.js +99 -0
- package/dist/tools/entity-service/entity-write.js.map +1 -0
- package/dist/tools/entity-service/index.d.ts +5 -0
- package/dist/tools/entity-service/index.d.ts.map +1 -0
- package/dist/tools/entity-service/index.js +4 -0
- package/dist/tools/entity-service/index.js.map +1 -0
- package/dist/tools/entity-service/types.d.ts +41 -0
- package/dist/tools/entity-service/types.d.ts.map +1 -0
- package/dist/tools/entity-service/types.js +2 -0
- package/dist/tools/entity-service/types.js.map +1 -0
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/merge-schema/diff-definition.d.ts +74 -0
- package/dist/tools/merge-schema/diff-definition.d.ts.map +1 -0
- package/dist/tools/merge-schema/diff-definition.js +163 -0
- package/dist/tools/merge-schema/diff-definition.js.map +1 -0
- package/dist/tools/merge-schema/entity-utils.d.ts +18 -0
- package/dist/tools/merge-schema/entity-utils.d.ts.map +1 -0
- package/dist/tools/merge-schema/entity-utils.js +42 -0
- package/dist/tools/merge-schema/entity-utils.js.map +1 -0
- package/dist/tools/merge-schema/index.d.ts +10 -0
- package/dist/tools/merge-schema/index.d.ts.map +1 -0
- package/dist/tools/merge-schema/index.js +7 -0
- package/dist/tools/merge-schema/index.js.map +1 -0
- package/dist/tools/merge-schema/merge-data-with-schema.d.ts +21 -0
- package/dist/tools/merge-schema/merge-data-with-schema.d.ts.map +1 -0
- package/dist/tools/merge-schema/merge-data-with-schema.js +168 -0
- package/dist/tools/merge-schema/merge-data-with-schema.js.map +1 -0
- package/dist/tools/merge-schema/merge-definition.d.ts +42 -0
- package/dist/tools/merge-schema/merge-definition.d.ts.map +1 -0
- package/dist/tools/merge-schema/merge-definition.js +53 -0
- package/dist/tools/merge-schema/merge-definition.js.map +1 -0
- package/dist/tools/merge-schema/merge-rule-registry.d.ts +47 -0
- package/dist/tools/merge-schema/merge-rule-registry.d.ts.map +1 -0
- package/dist/tools/merge-schema/merge-rule-registry.js +53 -0
- package/dist/tools/merge-schema/merge-rule-registry.js.map +1 -0
- package/dist/tools/merge-schema/walk-schema.d.ts +26 -0
- package/dist/tools/merge-schema/walk-schema.d.ts.map +1 -0
- package/dist/tools/merge-schema/walk-schema.js +94 -0
- package/dist/tools/merge-schema/walk-schema.js.map +1 -0
- package/dist/utils/definition-diff/definition-diff.js.map +1 -1
- package/dist/web/components/definition-diff-alert.d.ts +9 -0
- package/dist/web/components/definition-diff-alert.d.ts.map +1 -0
- package/dist/web/components/definition-diff-alert.js +17 -0
- package/dist/web/components/definition-diff-alert.js.map +1 -0
- package/dist/web/components/index.d.ts +1 -1
- package/dist/web/components/index.d.ts.map +1 -1
- package/dist/web/components/index.js +1 -1
- package/dist/web/components/index.js.map +1 -1
- package/dist/web/hooks/use-project-definition.d.ts +10 -2
- package/dist/web/hooks/use-project-definition.d.ts.map +1 -1
- package/dist/web/hooks/use-project-definition.js.map +1 -1
- package/dist/web/specs/entity-type-url-web-spec.d.ts +68 -0
- package/dist/web/specs/entity-type-url-web-spec.d.ts.map +1 -0
- package/dist/web/specs/entity-type-url-web-spec.js +27 -0
- package/dist/web/specs/entity-type-url-web-spec.js.map +1 -0
- package/dist/web/specs/index.d.ts +1 -0
- package/dist/web/specs/index.d.ts.map +1 -1
- package/dist/web/specs/index.js +1 -0
- package/dist/web/specs/index.js.map +1 -1
- package/package.json +12 -11
- package/dist/definition/project-definition-container.test-utils.d.ts.map +0 -1
- package/dist/definition/project-definition-container.test-utils.js.map +0 -1
- package/dist/references/collect-refs.d.ts +0 -24
- package/dist/references/collect-refs.d.ts.map +0 -1
- package/dist/references/collect-refs.js +0 -86
- package/dist/references/collect-refs.js.map +0 -1
- package/dist/references/markers.d.ts +0 -59
- package/dist/references/markers.d.ts.map +0 -1
- package/dist/references/markers.js +0 -29
- package/dist/references/markers.js.map +0 -1
- package/dist/references/strip-ref-markers.d.ts +0 -7
- package/dist/references/strip-ref-markers.d.ts.map +0 -1
- package/dist/references/strip-ref-markers.js +0 -25
- package/dist/references/strip-ref-markers.js.map +0 -1
- package/dist/schema/models/mocks.d.ts +0 -6
- package/dist/schema/models/mocks.d.ts.map +0 -1
- package/dist/schema/models/mocks.js +0 -55
- package/dist/schema/models/mocks.js.map +0 -1
- package/dist/tools/model-merger/index.d.ts +0 -2
- package/dist/tools/model-merger/index.d.ts.map +0 -1
- package/dist/tools/model-merger/index.js +0 -2
- package/dist/tools/model-merger/index.js.map +0 -1
- package/dist/tools/model-merger/model-merger.d.ts +0 -569
- package/dist/tools/model-merger/model-merger.d.ts.map +0 -1
- package/dist/tools/model-merger/model-merger.js +0 -319
- package/dist/tools/model-merger/model-merger.js.map +0 -1
- package/dist/web/components/model-merger-result-alert.d.ts +0 -8
- package/dist/web/components/model-merger-result-alert.d.ts.map +0 -1
- package/dist/web/components/model-merger-result-alert.js +0 -20
- package/dist/web/components/model-merger-result-alert.js.map +0 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import type { DefinitionEntityNameResolver } from './definition-ref-builder.js';
|
|
3
|
+
import type { ExpressionSlotMap, RefExpressionParser } from './expression-types.js';
|
|
4
|
+
import type { RefContextSlot } from './ref-context-slot.js';
|
|
5
|
+
import type { DefinitionEntityType, ReferenceOnDeleteAction, ReferencePath } from './types.js';
|
|
6
|
+
export interface EntitySchemaMeta {
|
|
7
|
+
readonly kind: 'entity';
|
|
8
|
+
readonly type: DefinitionEntityType;
|
|
9
|
+
readonly idPath: ReferencePath;
|
|
10
|
+
readonly getNameResolver?: (value: any) => DefinitionEntityNameResolver | string;
|
|
11
|
+
readonly parentSlot?: RefContextSlot;
|
|
12
|
+
readonly provides?: RefContextSlot;
|
|
13
|
+
}
|
|
14
|
+
export interface ReferenceSchemaMeta {
|
|
15
|
+
readonly kind: 'reference';
|
|
16
|
+
readonly type: DefinitionEntityType;
|
|
17
|
+
readonly onDelete: ReferenceOnDeleteAction;
|
|
18
|
+
readonly parentSlot?: RefContextSlot;
|
|
19
|
+
readonly provides?: RefContextSlot;
|
|
20
|
+
}
|
|
21
|
+
export interface ExpressionSchemaMeta {
|
|
22
|
+
readonly kind: 'expression';
|
|
23
|
+
readonly parser: RefExpressionParser<any, any, any>;
|
|
24
|
+
readonly slots?: ExpressionSlotMap<any>;
|
|
25
|
+
}
|
|
26
|
+
export interface RefContextSchemaMeta {
|
|
27
|
+
readonly kind: 'ref-context';
|
|
28
|
+
readonly slots: RefContextSlot[];
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* An entity annotation collected during the schema walk.
|
|
32
|
+
* Represents a single entity instance found in the parsed data.
|
|
33
|
+
*/
|
|
34
|
+
export interface DefinitionEntityAnnotation {
|
|
35
|
+
path: ReferencePath;
|
|
36
|
+
id: string;
|
|
37
|
+
idPath: ReferencePath;
|
|
38
|
+
type: DefinitionEntityType;
|
|
39
|
+
nameResolver: DefinitionEntityNameResolver | string;
|
|
40
|
+
parentSlot?: RefContextSlot;
|
|
41
|
+
provides?: RefContextSlot;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* A reference annotation collected during the schema walk.
|
|
45
|
+
*/
|
|
46
|
+
export interface DefinitionReferenceAnnotation {
|
|
47
|
+
path: ReferencePath;
|
|
48
|
+
type: DefinitionEntityType;
|
|
49
|
+
onDelete: ReferenceOnDeleteAction;
|
|
50
|
+
parentSlot?: RefContextSlot;
|
|
51
|
+
provides?: RefContextSlot;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* A slot annotation collected during the schema walk.
|
|
55
|
+
*/
|
|
56
|
+
export interface DefinitionSlotAnnotation {
|
|
57
|
+
path: ReferencePath;
|
|
58
|
+
slot: RefContextSlot;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* An expression annotation collected during the schema walk.
|
|
62
|
+
*/
|
|
63
|
+
export interface DefinitionExpressionAnnotation {
|
|
64
|
+
path: ReferencePath;
|
|
65
|
+
value: unknown;
|
|
66
|
+
parser: RefExpressionParser<any, any, any>;
|
|
67
|
+
slots?: ExpressionSlotMap<any>;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* All annotations collected during a single schema+data walk.
|
|
71
|
+
*/
|
|
72
|
+
export interface CollectedRefs {
|
|
73
|
+
entities: DefinitionEntityAnnotation[];
|
|
74
|
+
references: DefinitionReferenceAnnotation[];
|
|
75
|
+
slots: DefinitionSlotAnnotation[];
|
|
76
|
+
expressions: DefinitionExpressionAnnotation[];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Discriminated union of all Baseplate schema metadata types.
|
|
80
|
+
*
|
|
81
|
+
* New metadata types can be added by:
|
|
82
|
+
* 1. Adding a new interface with a unique `kind`
|
|
83
|
+
* 2. Adding it to this union
|
|
84
|
+
* 3. Implementing a `SchemaWalkerCollector` that handles the new kind
|
|
85
|
+
*/
|
|
86
|
+
export type DefinitionRefMeta = EntitySchemaMeta | ReferenceSchemaMeta | ExpressionSchemaMeta | RefContextSchemaMeta;
|
|
87
|
+
/**
|
|
88
|
+
* Global registry that stores Baseplate metadata on Zod schema instances.
|
|
89
|
+
*
|
|
90
|
+
* Uses a plain WeakMap to avoid Zod's `$replace<Meta, S>` type substitution
|
|
91
|
+
* which causes "type instantiation excessively deep" errors with complex unions.
|
|
92
|
+
*
|
|
93
|
+
* Stores an array of metadata per schema to support schemas that carry multiple
|
|
94
|
+
* annotations (e.g. a schema that is both an `entity` and a `ref-context`).
|
|
95
|
+
*
|
|
96
|
+
* Used by `withEnt`, `withRef`, `withExpression`, and `refContext` to attach
|
|
97
|
+
* metadata to schema nodes. The parallel schema+data walker reads this registry
|
|
98
|
+
* to extract entity/reference/expression information after validation.
|
|
99
|
+
*/
|
|
100
|
+
export declare const definitionRefRegistry: {
|
|
101
|
+
add(schema: z.ZodType, meta: DefinitionRefMeta): void;
|
|
102
|
+
getAll(schema: z.ZodType): DefinitionRefMeta[];
|
|
103
|
+
has(schema: z.ZodType): boolean;
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=definition-ref-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-ref-registry.d.ts","sourceRoot":"","sources":["../../src/references/definition-ref-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global registry that stores Baseplate metadata on Zod schema instances.
|
|
3
|
+
*
|
|
4
|
+
* Uses a plain WeakMap to avoid Zod's `$replace<Meta, S>` type substitution
|
|
5
|
+
* which causes "type instantiation excessively deep" errors with complex unions.
|
|
6
|
+
*
|
|
7
|
+
* Stores an array of metadata per schema to support schemas that carry multiple
|
|
8
|
+
* annotations (e.g. a schema that is both an `entity` and a `ref-context`).
|
|
9
|
+
*
|
|
10
|
+
* Used by `withEnt`, `withRef`, `withExpression`, and `refContext` to attach
|
|
11
|
+
* metadata to schema nodes. The parallel schema+data walker reads this registry
|
|
12
|
+
* to extract entity/reference/expression information after validation.
|
|
13
|
+
*/
|
|
14
|
+
export const definitionRefRegistry = (() => {
|
|
15
|
+
const map = new WeakMap();
|
|
16
|
+
return {
|
|
17
|
+
add(schema, meta) {
|
|
18
|
+
const existing = map.get(schema);
|
|
19
|
+
if (existing) {
|
|
20
|
+
if ((meta.kind === 'entity' || meta.kind === 'reference') &&
|
|
21
|
+
existing.some((e) => e.kind === meta.kind && e.type === meta.type)) {
|
|
22
|
+
throw new Error(`Duplicate definition ref metadata kind "${meta.kind}" for type "${meta.type.name}" on the same schema instance. ` +
|
|
23
|
+
`This usually means a shared/module-level schema was passed to withEnt/withRef multiple times. ` +
|
|
24
|
+
`Create a fresh schema instance instead.`);
|
|
25
|
+
}
|
|
26
|
+
existing.push(meta);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
map.set(schema, [meta]);
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
getAll(schema) {
|
|
33
|
+
return map.get(schema) ?? [];
|
|
34
|
+
},
|
|
35
|
+
has(schema) {
|
|
36
|
+
return map.has(schema);
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
//# sourceMappingURL=definition-ref-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition-ref-registry.js","sourceRoot":"","sources":["../../src/references/definition-ref-registry.ts"],"names":[],"mappings":"AA6HA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAI9B,CAAC,GAAG,EAAE;IACR,MAAM,GAAG,GAAG,IAAI,OAAO,EAAkC,CAAC;IAC1D,OAAO;QACL,GAAG,CAAC,MAAiB,EAAE,IAAuB;YAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,QAAQ,EAAE,CAAC;gBACb,IACE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;oBACrD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAClE,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI,iCAAiC;wBAChH,gGAAgG;wBAChG,yCAAyC,CAC5C,CAAC;gBACJ,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,CAAC,MAAiB;YACtB,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QACD,GAAG,CAAC,MAAiB;YACnB,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { def } from '#src/schema/index.js';
|
|
1
|
+
import type { z } from 'zod';
|
|
3
2
|
import type { ResolvedZodRefPayload } from './types.js';
|
|
4
3
|
/**
|
|
5
4
|
* Deserialize a schema with references using the new transform-based approach.
|
|
6
5
|
* This function converts human-readable names back to entity IDs.
|
|
7
6
|
*
|
|
8
|
-
* @template T - The schema
|
|
9
|
-
* @param
|
|
7
|
+
* @template T - The Zod schema type
|
|
8
|
+
* @param schema - The already-constructed Zod schema
|
|
10
9
|
* @param input - The input data with names instead of IDs
|
|
11
|
-
* @param options - Options for the schema creator (excluding transformReferences)
|
|
12
10
|
* @returns The resolved payload with IDs instead of names
|
|
13
11
|
*/
|
|
14
|
-
export declare function deserializeSchemaWithTransformedReferences<T extends
|
|
12
|
+
export declare function deserializeSchemaWithTransformedReferences<T extends z.ZodType>(schema: T, input: unknown): ResolvedZodRefPayload<z.output<T>>;
|
|
15
13
|
//# sourceMappingURL=deserialize-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserialize-schema.d.ts","sourceRoot":"","sources":["../../src/references/deserialize-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deserialize-schema.d.ts","sourceRoot":"","sources":["../../src/references/deserialize-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAM7B,OAAO,KAAK,EAAoB,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQ1E;;;;;;;;GAQG;AACH,wBAAgB,0CAA0C,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAC5E,MAAM,EAAE,CAAC,EACT,KAAK,EAAE,OAAO,GACb,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAOpC"}
|
|
@@ -9,14 +9,13 @@ function referenceToNameParentId(name, parentId) {
|
|
|
9
9
|
* Deserialize a schema with references using the new transform-based approach.
|
|
10
10
|
* This function converts human-readable names back to entity IDs.
|
|
11
11
|
*
|
|
12
|
-
* @template T - The schema
|
|
13
|
-
* @param
|
|
12
|
+
* @template T - The Zod schema type
|
|
13
|
+
* @param schema - The already-constructed Zod schema
|
|
14
14
|
* @param input - The input data with names instead of IDs
|
|
15
|
-
* @param options - Options for the schema creator (excluding transformReferences)
|
|
16
15
|
* @returns The resolved payload with IDs instead of names
|
|
17
16
|
*/
|
|
18
|
-
export function deserializeSchemaWithTransformedReferences(
|
|
19
|
-
const payload = parseSchemaWithTransformedReferences(
|
|
17
|
+
export function deserializeSchemaWithTransformedReferences(schema, input) {
|
|
18
|
+
const payload = parseSchemaWithTransformedReferences(schema, input, {
|
|
20
19
|
skipReferenceNameResolution: true,
|
|
21
20
|
});
|
|
22
21
|
// Use the same resolution logic as the original function
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserialize-schema.js","sourceRoot":"","sources":["../../src/references/deserialize-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deserialize-schema.js","sourceRoot":"","sources":["../../src/references/deserialize-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
+
import type { PluginSpecStore } from '#src/plugins/index.js';
|
|
2
3
|
import type { RefContextSlot } from './ref-context-slot.js';
|
|
3
4
|
import type { DefinitionEntityType, ReferencePath } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Context provided to expression parsers during validation.
|
|
7
|
+
* Contains the project definition data and plugin store needed for
|
|
8
|
+
* validating expressions against model fields, roles, etc.
|
|
9
|
+
*/
|
|
10
|
+
export interface ExpressionValidationContext {
|
|
11
|
+
/** The raw project definition data */
|
|
12
|
+
readonly definition: unknown;
|
|
13
|
+
/** The plugin spec store for accessing plugin-registered configuration */
|
|
14
|
+
readonly pluginStore: PluginSpecStore;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Result of parsing a ref expression.
|
|
18
|
+
* Success carries the parsed value; failure carries the error message.
|
|
19
|
+
*/
|
|
20
|
+
export type RefExpressionParseResult<T> = {
|
|
21
|
+
success: true;
|
|
22
|
+
value: T;
|
|
23
|
+
} | {
|
|
24
|
+
success: false;
|
|
25
|
+
error: string;
|
|
26
|
+
};
|
|
4
27
|
/**
|
|
5
28
|
* A warning from validating a ref expression.
|
|
6
29
|
* Warnings are non-blocking - they don't prevent loading the project definition.
|
|
@@ -84,32 +107,30 @@ export declare abstract class RefExpressionParser<TValue = unknown, TParseResult
|
|
|
84
107
|
/** Unique name for this parser type (used for serialization) */
|
|
85
108
|
abstract readonly name: string;
|
|
86
109
|
/**
|
|
87
|
-
* Zod schema for validating the expression value.
|
|
88
|
-
* This schema is used by `withExpression()` for input validation.
|
|
110
|
+
* Creates a new Zod schema instance for validating the expression value.
|
|
89
111
|
*
|
|
90
|
-
* @returns A Zod schema that validates the raw expression value
|
|
112
|
+
* @returns A fresh Zod schema that validates the raw expression value
|
|
91
113
|
*/
|
|
92
|
-
abstract
|
|
114
|
+
abstract createSchema(): z.ZodType<TValue>;
|
|
93
115
|
/**
|
|
94
116
|
* Parse the raw value and return the parse result.
|
|
95
117
|
* The result is cached on the marker for subsequent operations.
|
|
96
118
|
*
|
|
97
119
|
* @param value - The raw expression value
|
|
98
120
|
* @param projectDef - The project definition for context (typed as unknown to avoid circular reference)
|
|
99
|
-
* @returns
|
|
121
|
+
* @returns Success with parsed value, or failure with error message
|
|
100
122
|
*/
|
|
101
|
-
abstract parse(value: TValue, projectDef: unknown): TParseResult
|
|
123
|
+
abstract parse(value: TValue, projectDef: unknown): RefExpressionParseResult<TParseResult>;
|
|
102
124
|
/**
|
|
103
|
-
* Get validation warnings for
|
|
104
|
-
*
|
|
125
|
+
* Get validation warnings for a successfully parsed expression.
|
|
126
|
+
* Only called when parse() succeeds. Parse failures are handled by validate().
|
|
105
127
|
*
|
|
106
|
-
* @param
|
|
107
|
-
* @param
|
|
108
|
-
* @param projectDef - The project definition for validation context (typed as unknown to avoid circular reference)
|
|
128
|
+
* @param parseResult - The successfully parsed result
|
|
129
|
+
* @param context - Validation context with project definition and plugin store
|
|
109
130
|
* @param resolvedSlots - The resolved slot paths for this expression
|
|
110
131
|
* @returns Array of warnings (empty if valid)
|
|
111
132
|
*/
|
|
112
|
-
abstract getWarnings(
|
|
133
|
+
abstract getWarnings(parseResult: TParseResult, context: ExpressionValidationContext, resolvedSlots: ResolvedExpressionSlots<TRequiredSlots>): RefExpressionWarning[];
|
|
113
134
|
/**
|
|
114
135
|
* Get entity/field dependencies from the expression.
|
|
115
136
|
* Used for tracking what the expression references for rename handling.
|
|
@@ -118,7 +139,7 @@ export declare abstract class RefExpressionParser<TValue = unknown, TParseResult
|
|
|
118
139
|
* @param parseResult - The cached parse result
|
|
119
140
|
* @returns Array of dependencies
|
|
120
141
|
*/
|
|
121
|
-
abstract getDependencies(value: TValue, parseResult: TParseResult): RefExpressionDependency[];
|
|
142
|
+
abstract getDependencies(value: TValue, parseResult: RefExpressionParseResult<TParseResult>): RefExpressionDependency[];
|
|
122
143
|
/**
|
|
123
144
|
* Update the expression when dependencies are renamed.
|
|
124
145
|
*
|
|
@@ -127,7 +148,18 @@ export declare abstract class RefExpressionParser<TValue = unknown, TParseResult
|
|
|
127
148
|
* @param renames - Map of old entity ID to new name
|
|
128
149
|
* @returns The updated expression value
|
|
129
150
|
*/
|
|
130
|
-
abstract updateForRename(value: TValue, parseResult: TParseResult
|
|
151
|
+
abstract updateForRename(value: TValue, parseResult: RefExpressionParseResult<TParseResult>, renames: Map<string, string>): TValue;
|
|
152
|
+
/**
|
|
153
|
+
* Convenience method that combines parse() and getWarnings() into a single call.
|
|
154
|
+
* Parses the expression and returns all validation warnings (including parse errors).
|
|
155
|
+
*
|
|
156
|
+
* @param value - The raw expression value
|
|
157
|
+
* @param projectDef - The project definition for context
|
|
158
|
+
* @param context - Validation context with project definition and plugin store
|
|
159
|
+
* @param resolvedSlots - The resolved slot paths for this expression
|
|
160
|
+
* @returns Array of warnings (empty if valid)
|
|
161
|
+
*/
|
|
162
|
+
validate(value: TValue, projectDef: unknown, context: ExpressionValidationContext, resolvedSlots: ResolvedExpressionSlots<TRequiredSlots>): RefExpressionWarning[];
|
|
131
163
|
/**
|
|
132
164
|
* Phantom property for TRequiredSlots type inference.
|
|
133
165
|
* This is never actually used at runtime.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-types.d.ts","sourceRoot":"","sources":["../../src/references/expression-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,UAAU,EAAE,oBAAoB,CAAC;IACjC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAC3B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IACpE;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,uBAAuB,CACjC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IACpE;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa;CAC9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,8BAAsB,mBAAmB,CACvC,MAAM,GAAG,OAAO,EAChB,YAAY,GAAG,OAAO,EACtB,cAAc,SAAS,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM,CAClE,MAAM,EACN,KAAK,CACN;IAED,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B
|
|
1
|
+
{"version":3,"file":"expression-types.d.ts","sourceRoot":"","sources":["../../src/references/expression-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,23 @@
|
|
|
36
36
|
* ```
|
|
37
37
|
*/
|
|
38
38
|
export class RefExpressionParser {
|
|
39
|
+
/**
|
|
40
|
+
* Convenience method that combines parse() and getWarnings() into a single call.
|
|
41
|
+
* Parses the expression and returns all validation warnings (including parse errors).
|
|
42
|
+
*
|
|
43
|
+
* @param value - The raw expression value
|
|
44
|
+
* @param projectDef - The project definition for context
|
|
45
|
+
* @param context - Validation context with project definition and plugin store
|
|
46
|
+
* @param resolvedSlots - The resolved slot paths for this expression
|
|
47
|
+
* @returns Array of warnings (empty if valid)
|
|
48
|
+
*/
|
|
49
|
+
validate(value, projectDef, context, resolvedSlots) {
|
|
50
|
+
const parseResult = this.parse(value, projectDef);
|
|
51
|
+
if (!parseResult.success) {
|
|
52
|
+
return [{ message: parseResult.error }];
|
|
53
|
+
}
|
|
54
|
+
return this.getWarnings(parseResult.value, context, resolvedSlots);
|
|
55
|
+
}
|
|
39
56
|
/**
|
|
40
57
|
* Phantom property for TRequiredSlots type inference.
|
|
41
58
|
* This is never actually used at runtime.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-types.js","sourceRoot":"","sources":["../../src/references/expression-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expression-types.js","sourceRoot":"","sources":["../../src/references/expression-types.ts"],"names":[],"mappings":"AA6EA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,OAAgB,mBAAmB;IAyEvC;;;;;;;;;OASG;IACH,QAAQ,CACN,KAAa,EACb,UAAmB,EACnB,OAAoC,EACpC,aAAsD;QAEtD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACM,cAAc,CAAkB;CAC1C"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { TuplePaths } from '@baseplate-dev/utils';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import type { DefinitionEntityType } from '#src/index.js';
|
|
4
|
-
import type { DefinitionSchemaCreatorOptions } from '#src/schema/index.js';
|
|
5
4
|
import type { DefinitionEntityInput, DefinitionReferenceInput } from './definition-ref-builder.js';
|
|
6
5
|
import type { ExpressionSlotMap, RefExpressionParser } from './expression-types.js';
|
|
7
6
|
import type { RefContextSlotDefinition, RefContextSlotMap } from './ref-context-slot.js';
|
|
@@ -24,7 +23,38 @@ export interface WithExpressionType {
|
|
|
24
23
|
<TValue, TParseResult>(parser: RefExpressionParser<TValue, TParseResult>): z.ZodType<TValue, TValue>;
|
|
25
24
|
<TValue, TParseResult, TRequiredSlots extends Record<string, DefinitionEntityType>>(parser: RefExpressionParser<TValue, TParseResult, TRequiredSlots>, slots: ExpressionSlotMap<TRequiredSlots>): z.ZodType<TValue, TValue>;
|
|
26
25
|
}
|
|
27
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Creates a string schema annotated as a reference to another entity.
|
|
28
|
+
*
|
|
29
|
+
* Can be used standalone:
|
|
30
|
+
* ```typescript
|
|
31
|
+
* withRef({ type: modelEnumEntityType, onDelete: 'RESTRICT' })
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* Or on the parser context:
|
|
35
|
+
* ```typescript
|
|
36
|
+
* ctx.withRef({ type: modelEnumEntityType, onDelete: 'RESTRICT' })
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function withRef<TEntityType extends DefinitionEntityType>(reference: DefinitionReferenceInput<TEntityType>): z.ZodType<string, string>;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a schema decorator that marks a schema as defining an entity.
|
|
42
|
+
*
|
|
43
|
+
* Can be used with `.apply()`:
|
|
44
|
+
* ```typescript
|
|
45
|
+
* schema.apply(withEnt({ type: modelEntityType, provides: modelSlot }))
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* Or via the parser context (2-arg legacy form):
|
|
49
|
+
* ```typescript
|
|
50
|
+
* ctx.withEnt(schema, { type: modelEntityType, provides: modelSlot })
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @param entity - The entity definition input
|
|
54
|
+
* @returns A function that decorates a schema with entity metadata
|
|
55
|
+
*/
|
|
56
|
+
export declare function withEnt<TEntityType extends DefinitionEntityType>(entity: DefinitionEntityInput<unknown, TEntityType>): <TType extends z.ZodType>(schema: TType) => ZodTypeWithOptional<TType>;
|
|
57
|
+
export declare function extendParserContextWithRefs(): {
|
|
28
58
|
withRef: WithRefType;
|
|
29
59
|
withEnt: WithEntType;
|
|
30
60
|
refContext: RefContextType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extend-parser-context-with-refs.d.ts","sourceRoot":"","sources":["../../src/references/extend-parser-context-with-refs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"extend-parser-context-with-refs.d.ts","sourceRoot":"","sources":["../../src/references/extend-parser-context-with-refs.ts"],"names":[],"mappings":"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"}
|