@contember/binding-common 2.0.0-alpha.17
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/api-extractor.json +3 -0
- package/dist/development/index.cjs +110 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +98 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/src/BindingError.cjs +10 -0
- package/dist/development/src/BindingError.cjs.map +1 -0
- package/dist/development/src/BindingError.js +10 -0
- package/dist/development/src/BindingError.js.map +1 -0
- package/dist/development/src/DataBindingExtendAborted.cjs +5 -0
- package/dist/development/src/DataBindingExtendAborted.cjs.map +1 -0
- package/dist/development/src/DataBindingExtendAborted.js +5 -0
- package/dist/development/src/DataBindingExtendAborted.js.map +1 -0
- package/dist/development/src/LocalizedBindingError.cjs +14 -0
- package/dist/development/src/LocalizedBindingError.cjs.map +1 -0
- package/dist/development/src/LocalizedBindingError.js +14 -0
- package/dist/development/src/LocalizedBindingError.js.map +1 -0
- package/dist/development/src/RuntimeId.cjs +61 -0
- package/dist/development/src/RuntimeId.cjs.map +1 -0
- package/dist/development/src/RuntimeId.js +61 -0
- package/dist/development/src/RuntimeId.js.map +1 -0
- package/dist/development/src/consts.cjs +9 -0
- package/dist/development/src/consts.cjs.map +1 -0
- package/dist/development/src/consts.js +9 -0
- package/dist/development/src/consts.js.map +1 -0
- package/dist/development/src/environment/Environment.cjs +216 -0
- package/dist/development/src/environment/Environment.cjs.map +1 -0
- package/dist/development/src/environment/Environment.js +216 -0
- package/dist/development/src/environment/Environment.js.map +1 -0
- package/dist/development/src/environment/TreeNodeEnvironmentFactory.cjs +89 -0
- package/dist/development/src/environment/TreeNodeEnvironmentFactory.cjs.map +1 -0
- package/dist/development/src/environment/TreeNodeEnvironmentFactory.js +89 -0
- package/dist/development/src/environment/TreeNodeEnvironmentFactory.js.map +1 -0
- package/dist/development/src/environment/VariableFieldValue.cjs +9 -0
- package/dist/development/src/environment/VariableFieldValue.cjs.map +1 -0
- package/dist/development/src/environment/VariableFieldValue.js +9 -0
- package/dist/development/src/environment/VariableFieldValue.js.map +1 -0
- package/dist/development/src/environment/VariableInputTransformer.cjs +24 -0
- package/dist/development/src/environment/VariableInputTransformer.cjs.map +1 -0
- package/dist/development/src/environment/VariableInputTransformer.js +24 -0
- package/dist/development/src/environment/VariableInputTransformer.js.map +1 -0
- package/dist/development/src/markers/EntityFieldMarkersContainer.cjs +11 -0
- package/dist/development/src/markers/EntityFieldMarkersContainer.cjs.map +1 -0
- package/dist/development/src/markers/EntityFieldMarkersContainer.js +11 -0
- package/dist/development/src/markers/EntityFieldMarkersContainer.js.map +1 -0
- package/dist/development/src/markers/EntityFieldsWithHoistablesMarker.cjs +11 -0
- package/dist/development/src/markers/EntityFieldsWithHoistablesMarker.cjs.map +1 -0
- package/dist/development/src/markers/EntityFieldsWithHoistablesMarker.js +11 -0
- package/dist/development/src/markers/EntityFieldsWithHoistablesMarker.js.map +1 -0
- package/dist/development/src/markers/EntityListSubTreeMarker.cjs +20 -0
- package/dist/development/src/markers/EntityListSubTreeMarker.cjs.map +1 -0
- package/dist/development/src/markers/EntityListSubTreeMarker.js +20 -0
- package/dist/development/src/markers/EntityListSubTreeMarker.js.map +1 -0
- package/dist/development/src/markers/EntitySubTreeMarker.cjs +20 -0
- package/dist/development/src/markers/EntitySubTreeMarker.cjs.map +1 -0
- package/dist/development/src/markers/EntitySubTreeMarker.js +20 -0
- package/dist/development/src/markers/EntitySubTreeMarker.js.map +1 -0
- package/dist/development/src/markers/FieldMarker.cjs +24 -0
- package/dist/development/src/markers/FieldMarker.cjs.map +1 -0
- package/dist/development/src/markers/FieldMarker.js +24 -0
- package/dist/development/src/markers/FieldMarker.js.map +1 -0
- package/dist/development/src/markers/HasManyRelationMarker.cjs +26 -0
- package/dist/development/src/markers/HasManyRelationMarker.cjs.map +1 -0
- package/dist/development/src/markers/HasManyRelationMarker.js +26 -0
- package/dist/development/src/markers/HasManyRelationMarker.js.map +1 -0
- package/dist/development/src/markers/HasOneRelationMarker.cjs +20 -0
- package/dist/development/src/markers/HasOneRelationMarker.cjs.map +1 -0
- package/dist/development/src/markers/HasOneRelationMarker.js +20 -0
- package/dist/development/src/markers/HasOneRelationMarker.js.map +1 -0
- package/dist/development/src/markers/MarkerComparator.cjs +79 -0
- package/dist/development/src/markers/MarkerComparator.cjs.map +1 -0
- package/dist/development/src/markers/MarkerComparator.js +79 -0
- package/dist/development/src/markers/MarkerComparator.js.map +1 -0
- package/dist/development/src/markers/MarkerMerger.cjs +254 -0
- package/dist/development/src/markers/MarkerMerger.cjs.map +1 -0
- package/dist/development/src/markers/MarkerMerger.js +254 -0
- package/dist/development/src/markers/MarkerMerger.js.map +1 -0
- package/dist/development/src/markers/MarkerTreeRoot.cjs +10 -0
- package/dist/development/src/markers/MarkerTreeRoot.cjs.map +1 -0
- package/dist/development/src/markers/MarkerTreeRoot.js +10 -0
- package/dist/development/src/markers/MarkerTreeRoot.js.map +1 -0
- package/dist/development/src/markers/PlaceholderGenerator.cjs +23 -0
- package/dist/development/src/markers/PlaceholderGenerator.cjs.map +1 -0
- package/dist/development/src/markers/PlaceholderGenerator.js +23 -0
- package/dist/development/src/markers/PlaceholderGenerator.js.map +1 -0
- package/dist/development/src/markers/PlaceholderParametersGenerator.cjs +62 -0
- package/dist/development/src/markers/PlaceholderParametersGenerator.cjs.map +1 -0
- package/dist/development/src/markers/PlaceholderParametersGenerator.js +62 -0
- package/dist/development/src/markers/PlaceholderParametersGenerator.js.map +1 -0
- package/dist/development/src/queryLanguage/CacheStore.cjs +44 -0
- package/dist/development/src/queryLanguage/CacheStore.cjs.map +1 -0
- package/dist/development/src/queryLanguage/CacheStore.js +44 -0
- package/dist/development/src/queryLanguage/CacheStore.js.map +1 -0
- package/dist/development/src/queryLanguage/MarkerFactory.cjs +200 -0
- package/dist/development/src/queryLanguage/MarkerFactory.cjs.map +1 -0
- package/dist/development/src/queryLanguage/MarkerFactory.js +200 -0
- package/dist/development/src/queryLanguage/MarkerFactory.js.map +1 -0
- package/dist/development/src/queryLanguage/Parser.cjs +724 -0
- package/dist/development/src/queryLanguage/Parser.cjs.map +1 -0
- package/dist/development/src/queryLanguage/Parser.js +724 -0
- package/dist/development/src/queryLanguage/Parser.js.map +1 -0
- package/dist/development/src/queryLanguage/QueryLanguage.cjs +536 -0
- package/dist/development/src/queryLanguage/QueryLanguage.cjs.map +1 -0
- package/dist/development/src/queryLanguage/QueryLanguage.js +536 -0
- package/dist/development/src/queryLanguage/QueryLanguage.js.map +1 -0
- package/dist/development/src/queryLanguage/QueryLanguageError.cjs +6 -0
- package/dist/development/src/queryLanguage/QueryLanguageError.cjs.map +1 -0
- package/dist/development/src/queryLanguage/QueryLanguageError.js +6 -0
- package/dist/development/src/queryLanguage/QueryLanguageError.js.map +1 -0
- package/dist/development/src/queryLanguage/tokenList.cjs +151 -0
- package/dist/development/src/queryLanguage/tokenList.cjs.map +1 -0
- package/dist/development/src/queryLanguage/tokenList.js +152 -0
- package/dist/development/src/queryLanguage/tokenList.js.map +1 -0
- package/dist/development/src/schema/Schema.cjs +36 -0
- package/dist/development/src/schema/Schema.cjs.map +1 -0
- package/dist/development/src/schema/Schema.js +36 -0
- package/dist/development/src/schema/Schema.js.map +1 -0
- package/dist/development/src/schema/SchemaLoader.cjs +25 -0
- package/dist/development/src/schema/SchemaLoader.cjs.map +1 -0
- package/dist/development/src/schema/SchemaLoader.js +25 -0
- package/dist/development/src/schema/SchemaLoader.js.map +1 -0
- package/dist/development/src/schema/SchemaPreprocessor.cjs +38 -0
- package/dist/development/src/schema/SchemaPreprocessor.cjs.map +1 -0
- package/dist/development/src/schema/SchemaPreprocessor.js +38 -0
- package/dist/development/src/schema/SchemaPreprocessor.js.map +1 -0
- package/dist/development/src/treeParameters/EventListenersStore.cjs +93 -0
- package/dist/development/src/treeParameters/EventListenersStore.cjs.map +1 -0
- package/dist/development/src/treeParameters/EventListenersStore.js +93 -0
- package/dist/development/src/treeParameters/EventListenersStore.js.map +1 -0
- package/dist/development/src/treeParameters/TreeParameterMerger.cjs +282 -0
- package/dist/development/src/treeParameters/TreeParameterMerger.cjs.map +1 -0
- package/dist/development/src/treeParameters/TreeParameterMerger.js +282 -0
- package/dist/development/src/treeParameters/TreeParameterMerger.js.map +1 -0
- package/dist/development/src/treeParameters/defaults.cjs +24 -0
- package/dist/development/src/treeParameters/defaults.cjs.map +1 -0
- package/dist/development/src/treeParameters/defaults.js +24 -0
- package/dist/development/src/treeParameters/defaults.js.map +1 -0
- package/dist/development/src/treeParameters/helpers/wrapFilterInHasOnes.cjs +22 -0
- package/dist/development/src/treeParameters/helpers/wrapFilterInHasOnes.cjs.map +1 -0
- package/dist/development/src/treeParameters/helpers/wrapFilterInHasOnes.js +22 -0
- package/dist/development/src/treeParameters/helpers/wrapFilterInHasOnes.js.map +1 -0
- package/dist/development/src/types/EntityAccessor.cjs +5 -0
- package/dist/development/src/types/EntityAccessor.cjs.map +1 -0
- package/dist/development/src/types/EntityAccessor.js +5 -0
- package/dist/development/src/types/EntityAccessor.js.map +1 -0
- package/dist/development/src/types/EntityListAccessor.cjs +5 -0
- package/dist/development/src/types/EntityListAccessor.cjs.map +1 -0
- package/dist/development/src/types/EntityListAccessor.js +5 -0
- package/dist/development/src/types/EntityListAccessor.js.map +1 -0
- package/dist/development/src/types/ErrorAccessor.cjs +11 -0
- package/dist/development/src/types/ErrorAccessor.cjs.map +1 -0
- package/dist/development/src/types/ErrorAccessor.js +12 -0
- package/dist/development/src/types/ErrorAccessor.js.map +1 -0
- package/dist/development/src/types/FieldAccessor.cjs +5 -0
- package/dist/development/src/types/FieldAccessor.cjs.map +1 -0
- package/dist/development/src/types/FieldAccessor.js +5 -0
- package/dist/development/src/types/FieldAccessor.js.map +1 -0
- package/dist/development/src/types/TreeRootAccessor.cjs +14 -0
- package/dist/development/src/types/TreeRootAccessor.cjs.map +1 -0
- package/dist/development/src/types/TreeRootAccessor.js +14 -0
- package/dist/development/src/types/TreeRootAccessor.js.map +1 -0
- package/dist/development/src/utils/Hashing.cjs +22 -0
- package/dist/development/src/utils/Hashing.cjs.map +1 -0
- package/dist/development/src/utils/Hashing.js +22 -0
- package/dist/development/src/utils/Hashing.js.map +1 -0
- package/dist/development/src/utils/TreeNodeUtils.cjs +77 -0
- package/dist/development/src/utils/TreeNodeUtils.cjs.map +1 -0
- package/dist/development/src/utils/TreeNodeUtils.js +77 -0
- package/dist/development/src/utils/TreeNodeUtils.js.map +1 -0
- package/dist/development/src/utils/assertNever.cjs +10 -0
- package/dist/development/src/utils/assertNever.cjs.map +1 -0
- package/dist/development/src/utils/assertNever.js +10 -0
- package/dist/development/src/utils/assertNever.js.map +1 -0
- package/dist/development/src/utils/createQueryBuilder.cjs +32 -0
- package/dist/development/src/utils/createQueryBuilder.cjs.map +1 -0
- package/dist/development/src/utils/createQueryBuilder.js +32 -0
- package/dist/development/src/utils/createQueryBuilder.js.map +1 -0
- package/dist/development/src/utils/generateEnumerabilityPreventingEntropy.cjs +7 -0
- package/dist/development/src/utils/generateEnumerabilityPreventingEntropy.cjs.map +1 -0
- package/dist/development/src/utils/generateEnumerabilityPreventingEntropy.js +7 -0
- package/dist/development/src/utils/generateEnumerabilityPreventingEntropy.js.map +1 -0
- package/dist/production/index.cjs +110 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +98 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/src/BindingError.cjs +10 -0
- package/dist/production/src/BindingError.cjs.map +1 -0
- package/dist/production/src/BindingError.js +10 -0
- package/dist/production/src/BindingError.js.map +1 -0
- package/dist/production/src/DataBindingExtendAborted.cjs +5 -0
- package/dist/production/src/DataBindingExtendAborted.cjs.map +1 -0
- package/dist/production/src/DataBindingExtendAborted.js +5 -0
- package/dist/production/src/DataBindingExtendAborted.js.map +1 -0
- package/dist/production/src/LocalizedBindingError.cjs +14 -0
- package/dist/production/src/LocalizedBindingError.cjs.map +1 -0
- package/dist/production/src/LocalizedBindingError.js +14 -0
- package/dist/production/src/LocalizedBindingError.js.map +1 -0
- package/dist/production/src/RuntimeId.cjs +61 -0
- package/dist/production/src/RuntimeId.cjs.map +1 -0
- package/dist/production/src/RuntimeId.js +61 -0
- package/dist/production/src/RuntimeId.js.map +1 -0
- package/dist/production/src/consts.cjs +9 -0
- package/dist/production/src/consts.cjs.map +1 -0
- package/dist/production/src/consts.js +9 -0
- package/dist/production/src/consts.js.map +1 -0
- package/dist/production/src/environment/Environment.cjs +216 -0
- package/dist/production/src/environment/Environment.cjs.map +1 -0
- package/dist/production/src/environment/Environment.js +216 -0
- package/dist/production/src/environment/Environment.js.map +1 -0
- package/dist/production/src/environment/TreeNodeEnvironmentFactory.cjs +89 -0
- package/dist/production/src/environment/TreeNodeEnvironmentFactory.cjs.map +1 -0
- package/dist/production/src/environment/TreeNodeEnvironmentFactory.js +89 -0
- package/dist/production/src/environment/TreeNodeEnvironmentFactory.js.map +1 -0
- package/dist/production/src/environment/VariableFieldValue.cjs +9 -0
- package/dist/production/src/environment/VariableFieldValue.cjs.map +1 -0
- package/dist/production/src/environment/VariableFieldValue.js +9 -0
- package/dist/production/src/environment/VariableFieldValue.js.map +1 -0
- package/dist/production/src/environment/VariableInputTransformer.cjs +24 -0
- package/dist/production/src/environment/VariableInputTransformer.cjs.map +1 -0
- package/dist/production/src/environment/VariableInputTransformer.js +24 -0
- package/dist/production/src/environment/VariableInputTransformer.js.map +1 -0
- package/dist/production/src/markers/EntityFieldMarkersContainer.cjs +11 -0
- package/dist/production/src/markers/EntityFieldMarkersContainer.cjs.map +1 -0
- package/dist/production/src/markers/EntityFieldMarkersContainer.js +11 -0
- package/dist/production/src/markers/EntityFieldMarkersContainer.js.map +1 -0
- package/dist/production/src/markers/EntityFieldsWithHoistablesMarker.cjs +11 -0
- package/dist/production/src/markers/EntityFieldsWithHoistablesMarker.cjs.map +1 -0
- package/dist/production/src/markers/EntityFieldsWithHoistablesMarker.js +11 -0
- package/dist/production/src/markers/EntityFieldsWithHoistablesMarker.js.map +1 -0
- package/dist/production/src/markers/EntityListSubTreeMarker.cjs +20 -0
- package/dist/production/src/markers/EntityListSubTreeMarker.cjs.map +1 -0
- package/dist/production/src/markers/EntityListSubTreeMarker.js +20 -0
- package/dist/production/src/markers/EntityListSubTreeMarker.js.map +1 -0
- package/dist/production/src/markers/EntitySubTreeMarker.cjs +20 -0
- package/dist/production/src/markers/EntitySubTreeMarker.cjs.map +1 -0
- package/dist/production/src/markers/EntitySubTreeMarker.js +20 -0
- package/dist/production/src/markers/EntitySubTreeMarker.js.map +1 -0
- package/dist/production/src/markers/FieldMarker.cjs +24 -0
- package/dist/production/src/markers/FieldMarker.cjs.map +1 -0
- package/dist/production/src/markers/FieldMarker.js +24 -0
- package/dist/production/src/markers/FieldMarker.js.map +1 -0
- package/dist/production/src/markers/HasManyRelationMarker.cjs +20 -0
- package/dist/production/src/markers/HasManyRelationMarker.cjs.map +1 -0
- package/dist/production/src/markers/HasManyRelationMarker.js +20 -0
- package/dist/production/src/markers/HasManyRelationMarker.js.map +1 -0
- package/dist/production/src/markers/HasOneRelationMarker.cjs +20 -0
- package/dist/production/src/markers/HasOneRelationMarker.cjs.map +1 -0
- package/dist/production/src/markers/HasOneRelationMarker.js +20 -0
- package/dist/production/src/markers/HasOneRelationMarker.js.map +1 -0
- package/dist/production/src/markers/MarkerComparator.cjs +79 -0
- package/dist/production/src/markers/MarkerComparator.cjs.map +1 -0
- package/dist/production/src/markers/MarkerComparator.js +79 -0
- package/dist/production/src/markers/MarkerComparator.js.map +1 -0
- package/dist/production/src/markers/MarkerMerger.cjs +254 -0
- package/dist/production/src/markers/MarkerMerger.cjs.map +1 -0
- package/dist/production/src/markers/MarkerMerger.js +254 -0
- package/dist/production/src/markers/MarkerMerger.js.map +1 -0
- package/dist/production/src/markers/MarkerTreeRoot.cjs +10 -0
- package/dist/production/src/markers/MarkerTreeRoot.cjs.map +1 -0
- package/dist/production/src/markers/MarkerTreeRoot.js +10 -0
- package/dist/production/src/markers/MarkerTreeRoot.js.map +1 -0
- package/dist/production/src/markers/PlaceholderGenerator.cjs +23 -0
- package/dist/production/src/markers/PlaceholderGenerator.cjs.map +1 -0
- package/dist/production/src/markers/PlaceholderGenerator.js +23 -0
- package/dist/production/src/markers/PlaceholderGenerator.js.map +1 -0
- package/dist/production/src/markers/PlaceholderParametersGenerator.cjs +62 -0
- package/dist/production/src/markers/PlaceholderParametersGenerator.cjs.map +1 -0
- package/dist/production/src/markers/PlaceholderParametersGenerator.js +62 -0
- package/dist/production/src/markers/PlaceholderParametersGenerator.js.map +1 -0
- package/dist/production/src/queryLanguage/CacheStore.cjs +44 -0
- package/dist/production/src/queryLanguage/CacheStore.cjs.map +1 -0
- package/dist/production/src/queryLanguage/CacheStore.js +44 -0
- package/dist/production/src/queryLanguage/CacheStore.js.map +1 -0
- package/dist/production/src/queryLanguage/MarkerFactory.cjs +200 -0
- package/dist/production/src/queryLanguage/MarkerFactory.cjs.map +1 -0
- package/dist/production/src/queryLanguage/MarkerFactory.js +200 -0
- package/dist/production/src/queryLanguage/MarkerFactory.js.map +1 -0
- package/dist/production/src/queryLanguage/Parser.cjs +721 -0
- package/dist/production/src/queryLanguage/Parser.cjs.map +1 -0
- package/dist/production/src/queryLanguage/Parser.js +721 -0
- package/dist/production/src/queryLanguage/Parser.js.map +1 -0
- package/dist/production/src/queryLanguage/QueryLanguage.cjs +533 -0
- package/dist/production/src/queryLanguage/QueryLanguage.cjs.map +1 -0
- package/dist/production/src/queryLanguage/QueryLanguage.js +533 -0
- package/dist/production/src/queryLanguage/QueryLanguage.js.map +1 -0
- package/dist/production/src/queryLanguage/QueryLanguageError.cjs +6 -0
- package/dist/production/src/queryLanguage/QueryLanguageError.cjs.map +1 -0
- package/dist/production/src/queryLanguage/QueryLanguageError.js +6 -0
- package/dist/production/src/queryLanguage/QueryLanguageError.js.map +1 -0
- package/dist/production/src/queryLanguage/tokenList.cjs +151 -0
- package/dist/production/src/queryLanguage/tokenList.cjs.map +1 -0
- package/dist/production/src/queryLanguage/tokenList.js +152 -0
- package/dist/production/src/queryLanguage/tokenList.js.map +1 -0
- package/dist/production/src/schema/Schema.cjs +36 -0
- package/dist/production/src/schema/Schema.cjs.map +1 -0
- package/dist/production/src/schema/Schema.js +36 -0
- package/dist/production/src/schema/Schema.js.map +1 -0
- package/dist/production/src/schema/SchemaLoader.cjs +25 -0
- package/dist/production/src/schema/SchemaLoader.cjs.map +1 -0
- package/dist/production/src/schema/SchemaLoader.js +25 -0
- package/dist/production/src/schema/SchemaLoader.js.map +1 -0
- package/dist/production/src/schema/SchemaPreprocessor.cjs +38 -0
- package/dist/production/src/schema/SchemaPreprocessor.cjs.map +1 -0
- package/dist/production/src/schema/SchemaPreprocessor.js +38 -0
- package/dist/production/src/schema/SchemaPreprocessor.js.map +1 -0
- package/dist/production/src/treeParameters/EventListenersStore.cjs +93 -0
- package/dist/production/src/treeParameters/EventListenersStore.cjs.map +1 -0
- package/dist/production/src/treeParameters/EventListenersStore.js +93 -0
- package/dist/production/src/treeParameters/EventListenersStore.js.map +1 -0
- package/dist/production/src/treeParameters/TreeParameterMerger.cjs +282 -0
- package/dist/production/src/treeParameters/TreeParameterMerger.cjs.map +1 -0
- package/dist/production/src/treeParameters/TreeParameterMerger.js +282 -0
- package/dist/production/src/treeParameters/TreeParameterMerger.js.map +1 -0
- package/dist/production/src/treeParameters/defaults.cjs +24 -0
- package/dist/production/src/treeParameters/defaults.cjs.map +1 -0
- package/dist/production/src/treeParameters/defaults.js +24 -0
- package/dist/production/src/treeParameters/defaults.js.map +1 -0
- package/dist/production/src/treeParameters/helpers/wrapFilterInHasOnes.cjs +22 -0
- package/dist/production/src/treeParameters/helpers/wrapFilterInHasOnes.cjs.map +1 -0
- package/dist/production/src/treeParameters/helpers/wrapFilterInHasOnes.js +22 -0
- package/dist/production/src/treeParameters/helpers/wrapFilterInHasOnes.js.map +1 -0
- package/dist/production/src/types/EntityAccessor.cjs +5 -0
- package/dist/production/src/types/EntityAccessor.cjs.map +1 -0
- package/dist/production/src/types/EntityAccessor.js +5 -0
- package/dist/production/src/types/EntityAccessor.js.map +1 -0
- package/dist/production/src/types/EntityListAccessor.cjs +5 -0
- package/dist/production/src/types/EntityListAccessor.cjs.map +1 -0
- package/dist/production/src/types/EntityListAccessor.js +5 -0
- package/dist/production/src/types/EntityListAccessor.js.map +1 -0
- package/dist/production/src/types/ErrorAccessor.cjs +11 -0
- package/dist/production/src/types/ErrorAccessor.cjs.map +1 -0
- package/dist/production/src/types/ErrorAccessor.js +12 -0
- package/dist/production/src/types/ErrorAccessor.js.map +1 -0
- package/dist/production/src/types/FieldAccessor.cjs +5 -0
- package/dist/production/src/types/FieldAccessor.cjs.map +1 -0
- package/dist/production/src/types/FieldAccessor.js +5 -0
- package/dist/production/src/types/FieldAccessor.js.map +1 -0
- package/dist/production/src/types/TreeRootAccessor.cjs +14 -0
- package/dist/production/src/types/TreeRootAccessor.cjs.map +1 -0
- package/dist/production/src/types/TreeRootAccessor.js +14 -0
- package/dist/production/src/types/TreeRootAccessor.js.map +1 -0
- package/dist/production/src/utils/Hashing.cjs +22 -0
- package/dist/production/src/utils/Hashing.cjs.map +1 -0
- package/dist/production/src/utils/Hashing.js +22 -0
- package/dist/production/src/utils/Hashing.js.map +1 -0
- package/dist/production/src/utils/TreeNodeUtils.cjs +77 -0
- package/dist/production/src/utils/TreeNodeUtils.cjs.map +1 -0
- package/dist/production/src/utils/TreeNodeUtils.js +77 -0
- package/dist/production/src/utils/TreeNodeUtils.js.map +1 -0
- package/dist/production/src/utils/assertNever.cjs +10 -0
- package/dist/production/src/utils/assertNever.cjs.map +1 -0
- package/dist/production/src/utils/assertNever.js +10 -0
- package/dist/production/src/utils/assertNever.js.map +1 -0
- package/dist/production/src/utils/createQueryBuilder.cjs +32 -0
- package/dist/production/src/utils/createQueryBuilder.cjs.map +1 -0
- package/dist/production/src/utils/createQueryBuilder.js +32 -0
- package/dist/production/src/utils/createQueryBuilder.js.map +1 -0
- package/dist/production/src/utils/generateEnumerabilityPreventingEntropy.cjs +7 -0
- package/dist/production/src/utils/generateEnumerabilityPreventingEntropy.cjs.map +1 -0
- package/dist/production/src/utils/generateEnumerabilityPreventingEntropy.js +7 -0
- package/dist/production/src/utils/generateEnumerabilityPreventingEntropy.js.map +1 -0
- package/dist/types/BindingError.d.ts +4 -0
- package/dist/types/BindingError.d.ts.map +1 -0
- package/dist/types/DataBindingExtendAborted.d.ts +2 -0
- package/dist/types/DataBindingExtendAborted.d.ts.map +1 -0
- package/dist/types/LocalizedBindingError.d.ts +8 -0
- package/dist/types/LocalizedBindingError.d.ts.map +1 -0
- package/dist/types/RuntimeId.d.ts +35 -0
- package/dist/types/RuntimeId.d.ts.map +1 -0
- package/dist/types/consts.d.ts +4 -0
- package/dist/types/consts.d.ts.map +1 -0
- package/dist/types/environment/Environment.d.ts +108 -0
- package/dist/types/environment/Environment.d.ts.map +1 -0
- package/dist/types/environment/TreeNodeEnvironmentFactory.d.ts +15 -0
- package/dist/types/environment/TreeNodeEnvironmentFactory.d.ts.map +1 -0
- package/dist/types/environment/VariableFieldValue.d.ts +5 -0
- package/dist/types/environment/VariableFieldValue.d.ts.map +1 -0
- package/dist/types/environment/VariableInputTransformer.d.ts +8 -0
- package/dist/types/environment/VariableInputTransformer.d.ts.map +1 -0
- package/dist/types/environment/index.d.ts +5 -0
- package/dist/types/environment/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/markers/EntityFieldMarkers.d.ts +7 -0
- package/dist/types/markers/EntityFieldMarkers.d.ts.map +1 -0
- package/dist/types/markers/EntityFieldMarkersContainer.d.ts +10 -0
- package/dist/types/markers/EntityFieldMarkersContainer.d.ts.map +1 -0
- package/dist/types/markers/EntityFieldPlaceholders.d.ts +3 -0
- package/dist/types/markers/EntityFieldPlaceholders.d.ts.map +1 -0
- package/dist/types/markers/EntityFieldsWithHoistablesMarker.d.ts +10 -0
- package/dist/types/markers/EntityFieldsWithHoistablesMarker.d.ts.map +1 -0
- package/dist/types/markers/EntityListSubTreeMarker.d.ts +12 -0
- package/dist/types/markers/EntityListSubTreeMarker.d.ts.map +1 -0
- package/dist/types/markers/EntitySubTreeMarker.d.ts +12 -0
- package/dist/types/markers/EntitySubTreeMarker.d.ts.map +1 -0
- package/dist/types/markers/FieldMarker.d.ts +15 -0
- package/dist/types/markers/FieldMarker.d.ts.map +1 -0
- package/dist/types/markers/HasManyRelationMarker.d.ts +12 -0
- package/dist/types/markers/HasManyRelationMarker.d.ts.map +1 -0
- package/dist/types/markers/HasOneRelationMarker.d.ts +12 -0
- package/dist/types/markers/HasOneRelationMarker.d.ts.map +1 -0
- package/dist/types/markers/MarkerComparator.d.ts +8 -0
- package/dist/types/markers/MarkerComparator.d.ts.map +1 -0
- package/dist/types/markers/MarkerMerger.d.ts +22 -0
- package/dist/types/markers/MarkerMerger.d.ts.map +1 -0
- package/dist/types/markers/MarkerTreeRoot.d.ts +8 -0
- package/dist/types/markers/MarkerTreeRoot.d.ts.map +1 -0
- package/dist/types/markers/MeaningfulMarker.d.ts +7 -0
- package/dist/types/markers/MeaningfulMarker.d.ts.map +1 -0
- package/dist/types/markers/PlaceholderGenerator.d.ts +10 -0
- package/dist/types/markers/PlaceholderGenerator.d.ts.map +1 -0
- package/dist/types/markers/PlaceholderParametersGenerator.d.ts +9 -0
- package/dist/types/markers/PlaceholderParametersGenerator.d.ts.map +1 -0
- package/dist/types/markers/SubTreeMarkers.d.ts +5 -0
- package/dist/types/markers/SubTreeMarkers.d.ts.map +1 -0
- package/dist/types/markers/index.d.ts +17 -0
- package/dist/types/markers/index.d.ts.map +1 -0
- package/dist/types/queryLanguage/CacheStore.d.ts +9 -0
- package/dist/types/queryLanguage/CacheStore.d.ts.map +1 -0
- package/dist/types/queryLanguage/MarkerFactory.d.ts +21 -0
- package/dist/types/queryLanguage/MarkerFactory.d.ts.map +1 -0
- package/dist/types/queryLanguage/Parser.d.ts +83 -0
- package/dist/types/queryLanguage/Parser.d.ts.map +1 -0
- package/dist/types/queryLanguage/ParserResults.d.ts +63 -0
- package/dist/types/queryLanguage/ParserResults.d.ts.map +1 -0
- package/dist/types/queryLanguage/QueryLanguage.d.ts +42 -0
- package/dist/types/queryLanguage/QueryLanguage.d.ts.map +1 -0
- package/dist/types/queryLanguage/QueryLanguageError.d.ts +3 -0
- package/dist/types/queryLanguage/QueryLanguageError.d.ts.map +1 -0
- package/dist/types/queryLanguage/index.d.ts +6 -0
- package/dist/types/queryLanguage/index.d.ts.map +1 -0
- package/dist/types/queryLanguage/tokenList.d.ts +36 -0
- package/dist/types/queryLanguage/tokenList.d.ts.map +1 -0
- package/dist/types/schema/RawSchema.d.ts +7 -0
- package/dist/types/schema/RawSchema.d.ts.map +1 -0
- package/dist/types/schema/RawSchemaEntity.d.ts +13 -0
- package/dist/types/schema/RawSchemaEntity.d.ts.map +1 -0
- package/dist/types/schema/RawSchemaEnum.d.ts +6 -0
- package/dist/types/schema/RawSchemaEnum.d.ts.map +1 -0
- package/dist/types/schema/Schema.d.ts +20 -0
- package/dist/types/schema/Schema.d.ts.map +1 -0
- package/dist/types/schema/SchemaColumn.d.ts +12 -0
- package/dist/types/schema/SchemaColumn.d.ts.map +1 -0
- package/dist/types/schema/SchemaColumnType.d.ts +3 -0
- package/dist/types/schema/SchemaColumnType.d.ts.map +1 -0
- package/dist/types/schema/SchemaEntities.d.ts +4 -0
- package/dist/types/schema/SchemaEntities.d.ts.map +1 -0
- package/dist/types/schema/SchemaEntity.d.ts +10 -0
- package/dist/types/schema/SchemaEntity.d.ts.map +1 -0
- package/dist/types/schema/SchemaEnums.d.ts +4 -0
- package/dist/types/schema/SchemaEnums.d.ts.map +1 -0
- package/dist/types/schema/SchemaField.d.ts +4 -0
- package/dist/types/schema/SchemaField.d.ts.map +1 -0
- package/dist/types/schema/SchemaFields.d.ts +4 -0
- package/dist/types/schema/SchemaFields.d.ts.map +1 -0
- package/dist/types/schema/SchemaLoader.d.ts +8 -0
- package/dist/types/schema/SchemaLoader.d.ts.map +1 -0
- package/dist/types/schema/SchemaPreprocessor.d.ts +9 -0
- package/dist/types/schema/SchemaPreprocessor.d.ts.map +1 -0
- package/dist/types/schema/SchemaRelation.d.ts +24 -0
- package/dist/types/schema/SchemaRelation.d.ts.map +1 -0
- package/dist/types/schema/SchemaRelationOrderBy.d.ts +5 -0
- package/dist/types/schema/SchemaRelationOrderBy.d.ts.map +1 -0
- package/dist/types/schema/SchemaStore.d.ts +7 -0
- package/dist/types/schema/SchemaStore.d.ts.map +1 -0
- package/dist/types/schema/SchemaUniqueConstraint.d.ts +5 -0
- package/dist/types/schema/SchemaUniqueConstraint.d.ts.map +1 -0
- package/dist/types/schema/index.d.ts +16 -0
- package/dist/types/schema/index.d.ts.map +1 -0
- package/dist/types/treeParameters/EventListenersStore.d.ts +36 -0
- package/dist/types/treeParameters/EventListenersStore.d.ts.map +1 -0
- package/dist/types/treeParameters/Normalized.d.ts +113 -0
- package/dist/types/treeParameters/Normalized.d.ts.map +1 -0
- package/dist/types/treeParameters/Sugared.d.ts +139 -0
- package/dist/types/treeParameters/Sugared.d.ts.map +1 -0
- package/dist/types/treeParameters/TreeParameterMerger.d.ts +17 -0
- package/dist/types/treeParameters/TreeParameterMerger.d.ts.map +1 -0
- package/dist/types/treeParameters/defaults.d.ts +16 -0
- package/dist/types/treeParameters/defaults.d.ts.map +1 -0
- package/dist/types/treeParameters/helpers/index.d.ts +2 -0
- package/dist/types/treeParameters/helpers/index.d.ts.map +1 -0
- package/dist/types/treeParameters/helpers/wrapFilterInHasOnes.d.ts +3 -0
- package/dist/types/treeParameters/helpers/wrapFilterInHasOnes.d.ts.map +1 -0
- package/dist/types/treeParameters/index.d.ts +12 -0
- package/dist/types/treeParameters/index.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/Alias.d.ts +2 -0
- package/dist/types/treeParameters/primitives/Alias.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/EntityId.d.ts +2 -0
- package/dist/types/treeParameters/primitives/EntityId.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/EntityName.d.ts +2 -0
- package/dist/types/treeParameters/primitives/EntityName.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/EntityRealmKey.d.ts +2 -0
- package/dist/types/treeParameters/primitives/EntityRealmKey.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/ExpectedEntityCount.d.ts +2 -0
- package/dist/types/treeParameters/primitives/ExpectedEntityCount.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/ExpectedQualifiedEntityMutation.d.ts +2 -0
- package/dist/types/treeParameters/primitives/ExpectedQualifiedEntityMutation.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/ExpectedRelationMutation.d.ts +2 -0
- package/dist/types/treeParameters/primitives/ExpectedRelationMutation.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/FieldName.d.ts +2 -0
- package/dist/types/treeParameters/primitives/FieldName.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/FieldValue.d.ts +5 -0
- package/dist/types/treeParameters/primitives/FieldValue.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/Filter.d.ts +4 -0
- package/dist/types/treeParameters/primitives/Filter.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/Json.d.ts +7 -0
- package/dist/types/treeParameters/primitives/Json.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/Limit.d.ts +2 -0
- package/dist/types/treeParameters/primitives/Limit.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/Offset.d.ts +2 -0
- package/dist/types/treeParameters/primitives/Offset.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/OrderBy.d.ts +4 -0
- package/dist/types/treeParameters/primitives/OrderBy.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/PlaceholderName.d.ts +2 -0
- package/dist/types/treeParameters/primitives/PlaceholderName.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/RemovalType.d.ts +2 -0
- package/dist/types/treeParameters/primitives/RemovalType.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/Scalar.d.ts +2 -0
- package/dist/types/treeParameters/primitives/Scalar.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/SetOnCreate.d.ts +4 -0
- package/dist/types/treeParameters/primitives/SetOnCreate.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/TreeRootId.d.ts +2 -0
- package/dist/types/treeParameters/primitives/TreeRootId.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/UniqueWhere.d.ts +4 -0
- package/dist/types/treeParameters/primitives/UniqueWhere.d.ts.map +1 -0
- package/dist/types/treeParameters/primitives/index.d.ts +21 -0
- package/dist/types/treeParameters/primitives/index.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -0
- package/dist/types/types/AsyncBatchUpdatesOptions.d.ts +8 -0
- package/dist/types/types/AsyncBatchUpdatesOptions.d.ts.map +1 -0
- package/dist/types/types/BatchUpdatesOptions.d.ts +9 -0
- package/dist/types/types/BatchUpdatesOptions.d.ts.map +1 -0
- package/dist/types/types/BindingOperations.d.ts +24 -0
- package/dist/types/types/BindingOperations.d.ts.map +1 -0
- package/dist/types/types/DataBindingTransactionResult.d.ts +4 -0
- package/dist/types/types/DataBindingTransactionResult.d.ts.map +1 -0
- package/dist/types/types/EntityAccessor.d.ts +77 -0
- package/dist/types/types/EntityAccessor.d.ts.map +1 -0
- package/dist/types/types/EntityListAccessor.d.ts +84 -0
- package/dist/types/types/EntityListAccessor.d.ts.map +1 -0
- package/dist/types/types/ErrorAccessor.d.ts +30 -0
- package/dist/types/types/ErrorAccessor.d.ts.map +1 -0
- package/dist/types/types/Errorable.d.ts +5 -0
- package/dist/types/types/Errorable.d.ts.map +1 -0
- package/dist/types/types/ExtendTree.d.ts +9 -0
- package/dist/types/types/ExtendTree.d.ts.map +1 -0
- package/dist/types/types/FieldAccessor.d.ts +49 -0
- package/dist/types/types/FieldAccessor.d.ts.map +1 -0
- package/dist/types/types/GetEntityByKey.d.ts +3 -0
- package/dist/types/types/GetEntityByKey.d.ts.map +1 -0
- package/dist/types/types/GetEntityListSubTree.d.ts +5 -0
- package/dist/types/types/GetEntityListSubTree.d.ts.map +1 -0
- package/dist/types/types/GetEntitySubTree.d.ts +5 -0
- package/dist/types/types/GetEntitySubTree.d.ts.map +1 -0
- package/dist/types/types/Persist.d.ts +10 -0
- package/dist/types/types/Persist.d.ts.map +1 -0
- package/dist/types/types/PersistErrorOptions.d.ts +4 -0
- package/dist/types/types/PersistErrorOptions.d.ts.map +1 -0
- package/dist/types/types/PersistResult.d.ts +23 -0
- package/dist/types/types/PersistResult.d.ts.map +1 -0
- package/dist/types/types/PersistSuccessOptions.d.ts +5 -0
- package/dist/types/types/PersistSuccessOptions.d.ts.map +1 -0
- package/dist/types/types/QueryRequestResponse.d.ts +20 -0
- package/dist/types/types/QueryRequestResponse.d.ts.map +1 -0
- package/dist/types/types/TreeRootAccessor.d.ts +11 -0
- package/dist/types/types/TreeRootAccessor.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +20 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/utils/Hashing.d.ts +5 -0
- package/dist/types/utils/Hashing.d.ts.map +1 -0
- package/dist/types/utils/TreeNodeUtils.d.ts +13 -0
- package/dist/types/utils/TreeNodeUtils.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/createQueryBuilder.d.ts +4 -0
- package/dist/types/utils/createQueryBuilder.d.ts.map +1 -0
- package/dist/types/utils/generateEnumerabilityPreventingEntropy.d.ts +2 -0
- package/dist/types/utils/generateEnumerabilityPreventingEntropy.d.ts.map +1 -0
- package/package.json +50 -0
- package/src/BindingError.ts +5 -0
- package/src/DataBindingExtendAborted.ts +1 -0
- package/src/LocalizedBindingError.ts +20 -0
- package/src/RuntimeId.ts +70 -0
- package/src/consts.ts +3 -0
- package/src/environment/Environment.ts +346 -0
- package/src/environment/TreeNodeEnvironmentFactory.ts +137 -0
- package/src/environment/VariableFieldValue.ts +3 -0
- package/src/environment/VariableInputTransformer.ts +27 -0
- package/src/environment/index.ts +4 -0
- package/src/index.ts +17 -0
- package/src/markers/EntityFieldMarkers.ts +7 -0
- package/src/markers/EntityFieldMarkersContainer.ts +10 -0
- package/src/markers/EntityFieldPlaceholders.ts +3 -0
- package/src/markers/EntityFieldsWithHoistablesMarker.ts +11 -0
- package/src/markers/EntityListSubTreeMarker.ts +20 -0
- package/src/markers/EntitySubTreeMarker.ts +20 -0
- package/src/markers/FieldMarker.ts +29 -0
- package/src/markers/HasManyRelationMarker.ts +27 -0
- package/src/markers/HasOneRelationMarker.ts +21 -0
- package/src/markers/MarkerComparator.ts +102 -0
- package/src/markers/MarkerMerger.ts +300 -0
- package/src/markers/MarkerTreeRoot.ts +9 -0
- package/src/markers/MeaningfulMarker.ts +12 -0
- package/src/markers/PlaceholderGenerator.ts +40 -0
- package/src/markers/PlaceholderParametersGenerator.ts +79 -0
- package/src/markers/SubTreeMarkers.ts +5 -0
- package/src/markers/index.ts +17 -0
- package/src/queryLanguage/CacheStore.ts +57 -0
- package/src/queryLanguage/MarkerFactory.ts +319 -0
- package/src/queryLanguage/Parser.ts +911 -0
- package/src/queryLanguage/ParserResults.ts +81 -0
- package/src/queryLanguage/QueryLanguage.ts +751 -0
- package/src/queryLanguage/QueryLanguageError.ts +1 -0
- package/src/queryLanguage/index.ts +5 -0
- package/src/queryLanguage/tokenList.ts +177 -0
- package/src/schema/RawSchema.ts +7 -0
- package/src/schema/RawSchemaEntity.ts +12 -0
- package/src/schema/RawSchemaEnum.ts +6 -0
- package/src/schema/Schema.ts +46 -0
- package/src/schema/SchemaColumn.ts +15 -0
- package/src/schema/SchemaColumnType.ts +3 -0
- package/src/schema/SchemaEntities.ts +4 -0
- package/src/schema/SchemaEntity.ts +10 -0
- package/src/schema/SchemaEnums.ts +3 -0
- package/src/schema/SchemaField.ts +4 -0
- package/src/schema/SchemaFields.ts +4 -0
- package/src/schema/SchemaLoader.ts +64 -0
- package/src/schema/SchemaPreprocessor.ts +51 -0
- package/src/schema/SchemaRelation.ts +29 -0
- package/src/schema/SchemaRelationOrderBy.ts +4 -0
- package/src/schema/SchemaStore.ts +8 -0
- package/src/schema/SchemaUniqueConstraint.ts +5 -0
- package/src/schema/index.ts +15 -0
- package/src/treeParameters/EventListenersStore.ts +105 -0
- package/src/treeParameters/Normalized.ts +168 -0
- package/src/treeParameters/Sugared.ts +228 -0
- package/src/treeParameters/TreeParameterMerger.ts +352 -0
- package/src/treeParameters/defaults.ts +33 -0
- package/src/treeParameters/helpers/index.ts +1 -0
- package/src/treeParameters/helpers/wrapFilterInHasOnes.ts +21 -0
- package/src/treeParameters/index.ts +14 -0
- package/src/treeParameters/primitives/Alias.ts +1 -0
- package/src/treeParameters/primitives/EntityId.ts +2 -0
- package/src/treeParameters/primitives/EntityName.ts +4 -0
- package/src/treeParameters/primitives/EntityRealmKey.ts +2 -0
- package/src/treeParameters/primitives/ExpectedEntityCount.ts +1 -0
- package/src/treeParameters/primitives/ExpectedQualifiedEntityMutation.ts +1 -0
- package/src/treeParameters/primitives/ExpectedRelationMutation.ts +1 -0
- package/src/treeParameters/primitives/FieldName.ts +7 -0
- package/src/treeParameters/primitives/FieldValue.ts +6 -0
- package/src/treeParameters/primitives/Filter.ts +7 -0
- package/src/treeParameters/primitives/Json.ts +7 -0
- package/src/treeParameters/primitives/Limit.ts +1 -0
- package/src/treeParameters/primitives/Offset.ts +1 -0
- package/src/treeParameters/primitives/OrderBy.ts +6 -0
- package/src/treeParameters/primitives/PlaceholderName.ts +4 -0
- package/src/treeParameters/primitives/RemovalType.ts +1 -0
- package/src/treeParameters/primitives/Scalar.ts +1 -0
- package/src/treeParameters/primitives/SetOnCreate.ts +8 -0
- package/src/treeParameters/primitives/TreeRootId.ts +1 -0
- package/src/treeParameters/primitives/UniqueWhere.ts +7 -0
- package/src/treeParameters/primitives/index.ts +20 -0
- package/src/tsconfig.json +14 -0
- package/src/types/AsyncBatchUpdatesOptions.ts +8 -0
- package/src/types/BatchUpdatesOptions.ts +9 -0
- package/src/types/BindingOperations.ts +26 -0
- package/src/types/DataBindingTransactionResult.ts +4 -0
- package/src/types/EntityAccessor.ts +126 -0
- package/src/types/EntityListAccessor.ts +123 -0
- package/src/types/ErrorAccessor.ts +43 -0
- package/src/types/Errorable.ts +5 -0
- package/src/types/ExtendTree.ts +10 -0
- package/src/types/FieldAccessor.ts +74 -0
- package/src/types/GetEntityByKey.ts +3 -0
- package/src/types/GetEntityListSubTree.ts +14 -0
- package/src/types/GetEntitySubTree.ts +14 -0
- package/src/types/Persist.ts +11 -0
- package/src/types/PersistErrorOptions.ts +5 -0
- package/src/types/PersistResult.ts +28 -0
- package/src/types/PersistSuccessOptions.ts +5 -0
- package/src/types/QueryRequestResponse.ts +23 -0
- package/src/types/TreeRootAccessor.ts +14 -0
- package/src/types/index.ts +19 -0
- package/src/utils/Hashing.ts +20 -0
- package/src/utils/TreeNodeUtils.ts +92 -0
- package/src/utils/assertNever.ts +7 -0
- package/src/utils/createQueryBuilder.ts +31 -0
- package/src/utils/generateEnumerabilityPreventingEntropy.ts +3 -0
- package/tests/cases/unit/queryLanguage/filter.spec.tsx +100 -0
- package/tests/cases/unit/queryLanguage/general.spec.tsx +59 -0
- package/tests/cases/unit/queryLanguage/orderBy.spec.tsx +48 -0
- package/tests/cases/unit/queryLanguage/qualifiedEntityList.spec.tsx +30 -0
- package/tests/cases/unit/queryLanguage/qualifiedFieldList.spec.tsx +29 -0
- package/tests/cases/unit/queryLanguage/relativeEntityList.spec.tsx +49 -0
- package/tests/cases/unit/queryLanguage/singleRelativeField.spec.tsx +132 -0
- package/tests/cases/unit/queryLanguage/taggedMap.spec.tsx +41 -0
- package/tests/tsconfig.json +10 -0
- package/tsconfig.json +8 -0
- package/tsdoc.json +6 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ContentQueryBuilder, SchemaEntityNames, SchemaNames } from '@contember/client-content'
|
|
2
|
+
import { Schema, SchemaRelation } from '../schema'
|
|
3
|
+
|
|
4
|
+
export const createQueryBuilder = (schema: Schema) => {
|
|
5
|
+
const schemaNames: SchemaNames = {
|
|
6
|
+
entities: Object.fromEntries(schema.getEntityNames().map((it): [string, SchemaEntityNames<string>] => {
|
|
7
|
+
const entity = schema.getEntity(it)
|
|
8
|
+
return [it, {
|
|
9
|
+
name: it,
|
|
10
|
+
scalars: Array.from(entity.fields.values()).filter(it => it.__typename === '_Column').map(it => it.name),
|
|
11
|
+
fields: Object.fromEntries(Array.from(entity.fields.values()).map(it => {
|
|
12
|
+
if (it.__typename === '_Column') {
|
|
13
|
+
return [it.name, { type: 'column' }]
|
|
14
|
+
}
|
|
15
|
+
if (it.__typename === '_Relation') {
|
|
16
|
+
return [
|
|
17
|
+
it.name,
|
|
18
|
+
{
|
|
19
|
+
type: it.type === 'ManyHasMany' || it.type === 'OneHasMany' ? 'many' : 'one',
|
|
20
|
+
entity: (it as SchemaRelation).targetEntity,
|
|
21
|
+
},
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
throw new Error()
|
|
25
|
+
})),
|
|
26
|
+
}]
|
|
27
|
+
})),
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return new ContentQueryBuilder(schemaNames)
|
|
31
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { expect, it, describe } from 'vitest'
|
|
2
|
+
import { Environment } from '../../../../src/environment'
|
|
3
|
+
import { Parser } from '../../../../src/queryLanguage'
|
|
4
|
+
|
|
5
|
+
const parse = (input: string, environment: Environment = Environment.create()) => {
|
|
6
|
+
return Parser.parseQueryLanguageExpression(input, 'filter', environment)
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
describe('filter QueryLanguage parser', () => {
|
|
10
|
+
it('should parse simple filters', () => {
|
|
11
|
+
expect(parse('[foo > 123]')).toEqual({ foo: { gt: 123 } })
|
|
12
|
+
expect(parse('[foo = 456]')).toEqual({ foo: { eq: 456 } })
|
|
13
|
+
expect(parse('[foo != 456]')).toEqual({ foo: { notEq: 456 } })
|
|
14
|
+
expect(parse('[foo <= 789]')).toEqual({ foo: { lte: 789 } })
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it('should parse variable filters', () => {
|
|
18
|
+
const myEnv = Environment.create().withVariables({
|
|
19
|
+
myFilter: { foo: { eq: 123 } },
|
|
20
|
+
})
|
|
21
|
+
expect(parse('[$myFilter]', myEnv)).toEqual({ foo: { eq: 123 } })
|
|
22
|
+
expect(parse('[!$myFilter]', myEnv)).toEqual({ not: { foo: { eq: 123 } } })
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
it('should parse filter sub expressions', () => {
|
|
26
|
+
const myEnv = Environment.create().withVariables({
|
|
27
|
+
myFilter: { foo: { eq: 123 } },
|
|
28
|
+
})
|
|
29
|
+
expect(parse('[!($myFilter || x < 456)]', myEnv)).toEqual({
|
|
30
|
+
not: {
|
|
31
|
+
or: [{ foo: { eq: 123 } }, { x: { lt: 456 } }],
|
|
32
|
+
},
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
it('should parse complex filter conditions', () => {
|
|
37
|
+
expect(parse('[a < 1 || b = 2 && c != 3 || d > 4]')).toEqual({
|
|
38
|
+
or: [
|
|
39
|
+
{ a: { lt: 1 } },
|
|
40
|
+
{
|
|
41
|
+
and: [{ b: { eq: 2 } }, { c: { notEq: 3 } }],
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
d: { gt: 4 },
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
})
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
it('should parse conditions with nested fields', () => {
|
|
51
|
+
expect(parse('[a.b.c < 123 && a.d = 456]')).toEqual({
|
|
52
|
+
and: [{ a: { b: { c: { lt: 123 } } } }, { a: { d: { eq: 456 } } }],
|
|
53
|
+
})
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
it('should parse conditions with sub-filters', () => {
|
|
57
|
+
expect(parse(`[tags[name = 'foo' && isPublished = true]]`)).toEqual({
|
|
58
|
+
tags: {
|
|
59
|
+
and: [
|
|
60
|
+
{ name: { eq: 'foo' } },
|
|
61
|
+
{ isPublished: { eq: true } },
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
it('should parse conditions with quantifiers', () => {
|
|
68
|
+
expect(parse(`[tags:none[name = 'foo' && isPublished = true]]`)).toEqual({
|
|
69
|
+
not: {
|
|
70
|
+
tags: {
|
|
71
|
+
and: [
|
|
72
|
+
{ name: { eq: 'foo' } },
|
|
73
|
+
{ isPublished: { eq: true } },
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
})
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
it('should parse conditions with quantifiers', () => {
|
|
82
|
+
expect(parse(`[tags:all[isPublished = true]]`)).toEqual({
|
|
83
|
+
not: {
|
|
84
|
+
tags: {
|
|
85
|
+
not: { isPublished: { eq: true } },
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
})
|
|
89
|
+
})
|
|
90
|
+
|
|
91
|
+
it('should parse conditions with quantifiers without subfilter', () => {
|
|
92
|
+
expect(parse(`[tags:all.isPublished = true]`)).toEqual({
|
|
93
|
+
not: {
|
|
94
|
+
tags: {
|
|
95
|
+
not: { isPublished: { eq: true } },
|
|
96
|
+
},
|
|
97
|
+
},
|
|
98
|
+
})
|
|
99
|
+
})
|
|
100
|
+
})
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { expect, it, describe } from 'vitest'
|
|
2
|
+
import { GraphQlBuilder } from '@contember/client'
|
|
3
|
+
import { Environment } from '../../../../src/environment'
|
|
4
|
+
import { Parser } from '../../../../src/queryLanguage'
|
|
5
|
+
|
|
6
|
+
describe('query language parser', () => {
|
|
7
|
+
it('shoud parse column value', () => {
|
|
8
|
+
const env = Environment.create()
|
|
9
|
+
expect(Parser.parseQueryLanguageExpression('123', 'columnValue', env)).toEqual(123)
|
|
10
|
+
expect(Parser.parseQueryLanguageExpression('123.456', 'columnValue', env)).toEqual(123.456)
|
|
11
|
+
expect(Parser.parseQueryLanguageExpression('true', 'columnValue', env)).toEqual(true)
|
|
12
|
+
expect(Parser.parseQueryLanguageExpression('false', 'columnValue', env)).toEqual(false)
|
|
13
|
+
expect(Parser.parseQueryLanguageExpression('null', 'columnValue', env)).toEqual(null)
|
|
14
|
+
expect(Parser.parseQueryLanguageExpression("'foo'", 'columnValue', env)).toEqual('foo')
|
|
15
|
+
expect(Parser.parseQueryLanguageExpression(`'foo\\'bar'`, 'columnValue', env)).toEqual("foo'bar")
|
|
16
|
+
expect(Parser.parseQueryLanguageExpression(`'foo"bar'`, 'columnValue', env)).toEqual(`foo"bar`)
|
|
17
|
+
expect(Parser.parseQueryLanguageExpression(`'foo\\"bar'`, 'columnValue', env)).toEqual(`foo"bar`)
|
|
18
|
+
expect(Parser.parseQueryLanguageExpression('"foo"', 'columnValue', env)).toEqual('foo')
|
|
19
|
+
expect(Parser.parseQueryLanguageExpression(`"foo\\"bar"`, 'columnValue', env)).toEqual('foo"bar')
|
|
20
|
+
expect(Parser.parseQueryLanguageExpression(`"foo\\'bar"`, 'columnValue', env)).toEqual("foo'bar")
|
|
21
|
+
expect(Parser.parseQueryLanguageExpression(`"foo'bar"`, 'columnValue', env)).toEqual("foo'bar")
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
it('should resolve variables adhering to the principle maximal munch', () => {
|
|
25
|
+
const environment = Environment.create().withVariables({
|
|
26
|
+
ab: 456,
|
|
27
|
+
a: 123,
|
|
28
|
+
x: 'x',
|
|
29
|
+
lit: new GraphQlBuilder.GraphQlLiteral('lit'),
|
|
30
|
+
literal: new GraphQlBuilder.GraphQlLiteral('literal'),
|
|
31
|
+
})
|
|
32
|
+
expect(
|
|
33
|
+
Parser.parseQueryLanguageExpression(
|
|
34
|
+
'a(a=$a).field(ab = $ab, literalColumn = $literal).x(x = truecolor).foo',
|
|
35
|
+
'relativeSingleField',
|
|
36
|
+
environment,
|
|
37
|
+
),
|
|
38
|
+
).toEqual({
|
|
39
|
+
field: 'foo',
|
|
40
|
+
hasOneRelationPath: [
|
|
41
|
+
{
|
|
42
|
+
field: 'a',
|
|
43
|
+
filter: undefined,
|
|
44
|
+
reducedBy: { a: 123 },
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
field: 'field',
|
|
48
|
+
filter: undefined,
|
|
49
|
+
reducedBy: { ab: 456, literalColumn: 'literal' },
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
field: 'x',
|
|
53
|
+
filter: undefined,
|
|
54
|
+
reducedBy: { x: 'truecolor' },
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
})
|
|
58
|
+
})
|
|
59
|
+
})
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { expect, it, describe } from 'vitest'
|
|
2
|
+
import { GraphQlBuilder } from '@contember/client'
|
|
3
|
+
import { Environment } from '../../../../src/environment'
|
|
4
|
+
import { Parser } from '../../../../src/queryLanguage'
|
|
5
|
+
|
|
6
|
+
const parse = (input: string) => {
|
|
7
|
+
return Parser.parseQueryLanguageExpression(input, 'orderBy', Environment.create())
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
describe('orderBy QueryLanguage parser', () => {
|
|
11
|
+
it('should parse single field names', () => {
|
|
12
|
+
expect(parse('fooName')).toEqual([{ fooName: 'asc' }])
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
it('should parse nested field names', () => {
|
|
16
|
+
expect(parse('fooName.barName.bazName')).toEqual([
|
|
17
|
+
{ fooName: { barName: { bazName: 'asc' } } },
|
|
18
|
+
])
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
it('should parse multiple field names', () => {
|
|
22
|
+
expect(parse('foo.bar, baz, x.y.z')).toEqual([
|
|
23
|
+
{ foo: { bar: 'asc' } },
|
|
24
|
+
{ baz: 'asc' },
|
|
25
|
+
{ x: { y: { z: 'asc' } } },
|
|
26
|
+
])
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
it('should parse order directions', () => {
|
|
30
|
+
expect(parse('foo asc, bar desc')).toEqual([
|
|
31
|
+
{ foo: 'asc' },
|
|
32
|
+
{ bar: 'desc' },
|
|
33
|
+
])
|
|
34
|
+
|
|
35
|
+
expect(parse('foo.bar asc, a.b.c desc')).toEqual([
|
|
36
|
+
{ foo: { bar: 'asc' } },
|
|
37
|
+
{ a: { b: { c: 'desc' } } },
|
|
38
|
+
])
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
it('should parse order with odd whitespace use', () => {
|
|
42
|
+
expect(parse(' \t foo.bar ,baz desc, \t x.y.z\t \t desc ')).toEqual([
|
|
43
|
+
{ foo: { bar: 'asc' } },
|
|
44
|
+
{ baz: 'desc' },
|
|
45
|
+
{ x: { y: { z: 'desc' } } },
|
|
46
|
+
])
|
|
47
|
+
})
|
|
48
|
+
})
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { expect, it, describe } from 'vitest'
|
|
2
|
+
import { Environment } from '../../../../src/environment'
|
|
3
|
+
import { Parser } from '../../../../src/queryLanguage'
|
|
4
|
+
|
|
5
|
+
const parse = (input: string) => {
|
|
6
|
+
return Parser.parseQueryLanguageExpression(input, 'qualifiedEntityList', Environment.create())
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
describe('qualified entity list QueryLanguage parser', () => {
|
|
10
|
+
it('Should parse just the entity name', () => {
|
|
11
|
+
expect(parse('Author')).toEqual({
|
|
12
|
+
entityName: 'Author',
|
|
13
|
+
filter: undefined,
|
|
14
|
+
hasOneRelationPath: [],
|
|
15
|
+
})
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
it('should parse a qualified field list up to an entity', () => {
|
|
19
|
+
expect(parse(`Author[age > 20 && homeTown = 'Prague'].son.sisters(name = 'Jane')`)).toEqual({
|
|
20
|
+
entityName: 'Author',
|
|
21
|
+
filter: {
|
|
22
|
+
and: [{ age: { gt: 20 } }, { homeTown: { eq: 'Prague' } }],
|
|
23
|
+
},
|
|
24
|
+
hasOneRelationPath: [
|
|
25
|
+
{ field: 'son', filter: undefined, reducedBy: undefined },
|
|
26
|
+
{ field: 'sisters', filter: undefined, reducedBy: { name: 'Jane' } },
|
|
27
|
+
],
|
|
28
|
+
})
|
|
29
|
+
})
|
|
30
|
+
})
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { expect, it, describe } from 'vitest'
|
|
2
|
+
import { Environment } from '../../../../src/environment'
|
|
3
|
+
import { Parser } from '../../../../src/queryLanguage'
|
|
4
|
+
|
|
5
|
+
const parse = (input: string) => {
|
|
6
|
+
return Parser.parseQueryLanguageExpression(input, 'qualifiedFieldList', Environment.create())
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
describe('qualified field list QueryLanguage parser', () => {
|
|
10
|
+
it('should parse a qualified field list in its simplest form', () => {
|
|
11
|
+
expect(parse('Author.name')).toEqual({
|
|
12
|
+
entityName: 'Author',
|
|
13
|
+
filter: undefined,
|
|
14
|
+
hasOneRelationPath: [],
|
|
15
|
+
field: 'name',
|
|
16
|
+
})
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
it('should parse a complete qualified field list', () => {
|
|
20
|
+
expect(parse('Author[age > 20].son.name')).toEqual({
|
|
21
|
+
entityName: 'Author',
|
|
22
|
+
filter: {
|
|
23
|
+
age: { gt: 20 },
|
|
24
|
+
},
|
|
25
|
+
hasOneRelationPath: [{ field: 'son', filter: undefined, reducedBy: undefined }],
|
|
26
|
+
field: 'name',
|
|
27
|
+
})
|
|
28
|
+
})
|
|
29
|
+
})
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { expect, it, describe } from 'vitest'
|
|
2
|
+
import { Environment } from '../../../../src/environment'
|
|
3
|
+
import { Parser } from '../../../../src/queryLanguage'
|
|
4
|
+
import type { ParsedRelativeEntityList } from '../../../../src/queryLanguage/ParserResults'
|
|
5
|
+
|
|
6
|
+
const parse = (input: string): ParsedRelativeEntityList => {
|
|
7
|
+
return Parser.parseQueryLanguageExpression(input, 'relativeEntityList', Environment.create())
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
describe('relative entity list QueryLanguage parser', () => {
|
|
11
|
+
it('should parse unconstrained fields', () => {
|
|
12
|
+
expect(parse('foo.bar.baz')).toEqual({
|
|
13
|
+
hasOneRelationPath: [
|
|
14
|
+
{ field: 'foo', filter: undefined, reducedBy: undefined },
|
|
15
|
+
{ field: 'bar', filter: undefined, reducedBy: undefined },
|
|
16
|
+
],
|
|
17
|
+
hasManyRelation: {
|
|
18
|
+
field: 'baz',
|
|
19
|
+
filter: undefined,
|
|
20
|
+
},
|
|
21
|
+
})
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
it('should parse simple conditions', () => {
|
|
25
|
+
expect(parse('foo[bar = 123]')).toEqual({
|
|
26
|
+
hasOneRelationPath: [],
|
|
27
|
+
hasManyRelation: {
|
|
28
|
+
field: 'foo',
|
|
29
|
+
filter: {
|
|
30
|
+
bar: { eq: 123 },
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
it('should parse multiple filter conditions', () => {
|
|
37
|
+
const expected = {
|
|
38
|
+
hasOneRelationPath: [],
|
|
39
|
+
hasManyRelation: {
|
|
40
|
+
field: 'foo',
|
|
41
|
+
filter: {
|
|
42
|
+
and: [{ bar: { eq: 'value' } }, { baz: { gte: 456 } }],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
}
|
|
46
|
+
expect(parse("foo[bar = 'value'][baz >= 456]")).toEqual(expected)
|
|
47
|
+
expect(parse("foo[bar = 'value' && baz >= 456]")).toEqual(expected)
|
|
48
|
+
})
|
|
49
|
+
})
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { expect, it, describe } from 'vitest'
|
|
2
|
+
import { GraphQlLiteral } from '@contember/client'
|
|
3
|
+
import { Environment } from '../../../../src/environment'
|
|
4
|
+
import { Parser } from '../../../../src/queryLanguage'
|
|
5
|
+
|
|
6
|
+
const parse = (input: string) => {
|
|
7
|
+
return Parser.parseQueryLanguageExpression(input, 'relativeSingleField', Environment.create())
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
describe('single relative fields QueryLanguage parser', () => {
|
|
11
|
+
it('should parse single field names', () => {
|
|
12
|
+
expect(parse('fooName')).toEqual({
|
|
13
|
+
field: 'fooName',
|
|
14
|
+
hasOneRelationPath: [],
|
|
15
|
+
})
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
it('should parse single relation with a name', () => {
|
|
19
|
+
expect(parse('fooRelation.fooName')).toEqual({
|
|
20
|
+
field: 'fooName',
|
|
21
|
+
hasOneRelationPath: [
|
|
22
|
+
{
|
|
23
|
+
field: 'fooRelation',
|
|
24
|
+
filter: undefined,
|
|
25
|
+
reducedBy: undefined,
|
|
26
|
+
},
|
|
27
|
+
],
|
|
28
|
+
})
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
it('should parse a chain of fields without wheres', () => {
|
|
32
|
+
expect(parse('foo.bar.baz.name')).toEqual({
|
|
33
|
+
field: 'name',
|
|
34
|
+
hasOneRelationPath: [
|
|
35
|
+
{
|
|
36
|
+
field: 'foo',
|
|
37
|
+
filter: undefined,
|
|
38
|
+
reducedBy: undefined,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
field: 'bar',
|
|
42
|
+
filter: undefined,
|
|
43
|
+
reducedBy: undefined,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
field: 'baz',
|
|
47
|
+
filter: undefined,
|
|
48
|
+
reducedBy: undefined,
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
})
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
it('should parse unique where', () => {
|
|
55
|
+
expect(parse("foo.bar(a='b').name")).toEqual({
|
|
56
|
+
field: 'name',
|
|
57
|
+
hasOneRelationPath: [
|
|
58
|
+
{
|
|
59
|
+
field: 'foo',
|
|
60
|
+
filter: undefined,
|
|
61
|
+
reducedBy: undefined,
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
field: 'bar',
|
|
65
|
+
filter: undefined,
|
|
66
|
+
reducedBy: {
|
|
67
|
+
a: 'b',
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
})
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
it('should parse composite unique where', () => {
|
|
75
|
+
expect(parse("foo(a='b', bar = Literal).name")).toEqual({
|
|
76
|
+
field: 'name',
|
|
77
|
+
hasOneRelationPath: [
|
|
78
|
+
{
|
|
79
|
+
field: 'foo',
|
|
80
|
+
filter: undefined,
|
|
81
|
+
reducedBy: {
|
|
82
|
+
a: 'b',
|
|
83
|
+
bar: 'Literal',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
],
|
|
87
|
+
})
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
it('should reject duplicate fields in unique where', () => {
|
|
91
|
+
expect(() => parse("foo(a='b', a = 123).name")).toThrowError(/duplicate/i)
|
|
92
|
+
})
|
|
93
|
+
|
|
94
|
+
it('should reject relation fields at the end', () => {
|
|
95
|
+
expect(() => parse("foo(a='b')")).toThrowError(/relation/i)
|
|
96
|
+
})
|
|
97
|
+
|
|
98
|
+
it('should parse nested unique where', () => {
|
|
99
|
+
expect(parse('foo(nested.structure.is.deep = 123, nested.structure.be.indeed.not.shallow = baz).name')).toEqual({
|
|
100
|
+
field: 'name',
|
|
101
|
+
hasOneRelationPath: [
|
|
102
|
+
{
|
|
103
|
+
field: 'foo',
|
|
104
|
+
filter: undefined,
|
|
105
|
+
reducedBy: {
|
|
106
|
+
nested: {
|
|
107
|
+
structure: {
|
|
108
|
+
is: {
|
|
109
|
+
deep: 123,
|
|
110
|
+
},
|
|
111
|
+
be: {
|
|
112
|
+
indeed: {
|
|
113
|
+
not: {
|
|
114
|
+
shallow: 'baz',
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
],
|
|
123
|
+
})
|
|
124
|
+
})
|
|
125
|
+
|
|
126
|
+
it('should reject malformed nested unique where', () => {
|
|
127
|
+
expect(() => parse('foo(nested.field = 123, nested.field.treated.as.relation = baz).name')).toThrowError(
|
|
128
|
+
/'nested\.field'/i,
|
|
129
|
+
)
|
|
130
|
+
expect(() => parse('foo(nested.field = 123, nested.field = baz).name')).toThrowError(/'nested\.field'/i)
|
|
131
|
+
})
|
|
132
|
+
})
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { expect, it, describe } from 'vitest'
|
|
2
|
+
import { Environment } from '../../../../src/environment'
|
|
3
|
+
import { Parser } from '../../../../src/queryLanguage'
|
|
4
|
+
import type { ParsedTaggedMap } from '../../../../src/queryLanguage/ParserResults'
|
|
5
|
+
|
|
6
|
+
const parse = (input: string): ParsedTaggedMap => {
|
|
7
|
+
return Parser.parseQueryLanguageExpression(input, 'taggedMap', Environment.create())
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
describe('tagged map QueryLanguage parser', () => {
|
|
11
|
+
it('should parse literal parameters', () => {
|
|
12
|
+
expect(parse("foo(bar: 'lorem')")).toEqual({
|
|
13
|
+
name: 'foo',
|
|
14
|
+
entries: [
|
|
15
|
+
{
|
|
16
|
+
key: 'bar',
|
|
17
|
+
value: {
|
|
18
|
+
type: 'literal',
|
|
19
|
+
value: 'lorem',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
|
|
24
|
+
})
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
it('should parse variable parameters', () => {
|
|
28
|
+
expect(parse('foo(bar: $lorem.ipsum)')).toEqual({
|
|
29
|
+
name: 'foo',
|
|
30
|
+
entries: [
|
|
31
|
+
{
|
|
32
|
+
key: 'bar',
|
|
33
|
+
value: {
|
|
34
|
+
type: 'variable',
|
|
35
|
+
value: 'lorem.ipsum',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
})
|
|
40
|
+
})
|
|
41
|
+
})
|
package/tsconfig.json
ADDED