@openforis/arena-core 2.3.32 → 2.3.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/appInfo.js.map +1 -1
- package/dist/app/index.js.map +1 -1
- package/dist/auth/authGroup.js.map +1 -1
- package/dist/auth/authGroups.js.map +1 -1
- package/dist/auth/authorizer.js +45 -0
- package/dist/auth/authorizer.js.map +1 -1
- package/dist/auth/factory.js.map +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/permission.js.map +1 -1
- package/dist/auth/user.js.map +1 -1
- package/dist/auth/userAuth.js.map +1 -1
- package/dist/auth/userAuthTokenService.d.ts +28 -0
- package/dist/auth/userAuthTokenService.js.map +1 -1
- package/dist/auth/userGroup.js.map +1 -1
- package/dist/auth/userService.js.map +1 -1
- package/dist/auth/users.js +1 -0
- package/dist/auth/users.js.map +1 -1
- package/dist/category/categories.js.map +1 -1
- package/dist/category/category.js.map +1 -1
- package/dist/category/categoryImportSummary.js.map +1 -1
- package/dist/category/categoryItemGenerator.js.map +1 -1
- package/dist/category/categoryItems.js.map +1 -1
- package/dist/category/factory.js.map +1 -1
- package/dist/category/index.js.map +1 -1
- package/dist/category/item.js.map +1 -1
- package/dist/category/itemService.js.map +1 -1
- package/dist/category/level.js.map +1 -1
- package/dist/category/levelService.js.map +1 -1
- package/dist/category/service.js.map +1 -1
- package/dist/chain/chain.js.map +1 -1
- package/dist/chain/chainFactory.js.map +1 -1
- package/dist/chain/chainNodeDef.js.map +1 -1
- package/dist/chain/chainNodeDefAggregate.js.map +1 -1
- package/dist/chain/chainNodeDefFactory.js.map +1 -1
- package/dist/chain/chainNodeDefService.js.map +1 -1
- package/dist/chain/chainService.js.map +1 -1
- package/dist/chain/index.js.map +1 -1
- package/dist/common/Dictionary.js.map +1 -1
- package/dist/common/factory.js.map +1 -1
- package/dist/common/i18n.js.map +1 -1
- package/dist/common/index.js.map +1 -1
- package/dist/dataExport/ArenaExportInfo.js.map +1 -1
- package/dist/dataExport/ArenaExportInfoFactory.js.map +1 -1
- package/dist/dataExport/FlatDataExportModel.js +3 -3
- package/dist/dataExport/FlatDataExportModel.js.map +1 -1
- package/dist/dataExport/FlatDataExportOptions.js.map +1 -1
- package/dist/dataExport/FlatDataFiles.js.map +1 -1
- package/dist/dataExport/UniqueFileNamesGenerator.d.ts +23 -0
- package/dist/dataExport/UniqueFileNamesGenerator.js +26 -1
- package/dist/dataExport/UniqueFileNamesGenerator.js.map +1 -1
- package/dist/dataExport/index.js.map +1 -1
- package/dist/dataQuery/dataQuery.js.map +1 -1
- package/dist/dataQuery/dataQuerySummaries.js +3 -0
- package/dist/dataQuery/dataQuerySummaries.js.map +1 -1
- package/dist/dataQuery/index.js.map +1 -1
- package/dist/error/SystemError.js +1 -0
- package/dist/error/SystemError.js.map +1 -1
- package/dist/error/index.js.map +1 -1
- package/dist/esm/app/appInfo.js.map +1 -1
- package/dist/esm/app/index.js.map +1 -1
- package/dist/esm/auth/authGroup.js.map +1 -1
- package/dist/esm/auth/authGroups.js.map +1 -1
- package/dist/esm/auth/authorizer.js +45 -0
- package/dist/esm/auth/authorizer.js.map +1 -1
- package/dist/esm/auth/factory.js.map +1 -1
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/permission.js.map +1 -1
- package/dist/esm/auth/user.js.map +1 -1
- package/dist/esm/auth/userAuth.js.map +1 -1
- package/dist/esm/auth/userAuthTokenService.js.map +1 -1
- package/dist/esm/auth/userGroup.js.map +1 -1
- package/dist/esm/auth/userService.js.map +1 -1
- package/dist/esm/auth/users.js +1 -0
- package/dist/esm/auth/users.js.map +1 -1
- package/dist/esm/category/categories.js.map +1 -1
- package/dist/esm/category/category.js.map +1 -1
- package/dist/esm/category/categoryImportSummary.js.map +1 -1
- package/dist/esm/category/categoryItemGenerator.js.map +1 -1
- package/dist/esm/category/categoryItems.js.map +1 -1
- package/dist/esm/category/factory.js.map +1 -1
- package/dist/esm/category/index.js.map +1 -1
- package/dist/esm/category/item.js.map +1 -1
- package/dist/esm/category/itemService.js.map +1 -1
- package/dist/esm/category/level.js.map +1 -1
- package/dist/esm/category/levelService.js.map +1 -1
- package/dist/esm/category/service.js.map +1 -1
- package/dist/esm/chain/chain.js.map +1 -1
- package/dist/esm/chain/chainFactory.js.map +1 -1
- package/dist/esm/chain/chainNodeDef.js.map +1 -1
- package/dist/esm/chain/chainNodeDefAggregate.js.map +1 -1
- package/dist/esm/chain/chainNodeDefFactory.js.map +1 -1
- package/dist/esm/chain/chainNodeDefService.js.map +1 -1
- package/dist/esm/chain/chainService.js.map +1 -1
- package/dist/esm/chain/index.js.map +1 -1
- package/dist/esm/common/Dictionary.js.map +1 -1
- package/dist/esm/common/factory.js.map +1 -1
- package/dist/esm/common/i18n.js.map +1 -1
- package/dist/esm/common/index.js.map +1 -1
- package/dist/esm/dataExport/ArenaExportInfo.js.map +1 -1
- package/dist/esm/dataExport/ArenaExportInfoFactory.js.map +1 -1
- package/dist/esm/dataExport/FlatDataExportModel.js +3 -3
- package/dist/esm/dataExport/FlatDataExportModel.js.map +1 -1
- package/dist/esm/dataExport/FlatDataExportOptions.js.map +1 -1
- package/dist/esm/dataExport/FlatDataFiles.js.map +1 -1
- package/dist/esm/dataExport/UniqueFileNamesGenerator.js +26 -1
- package/dist/esm/dataExport/UniqueFileNamesGenerator.js.map +1 -1
- package/dist/esm/dataExport/index.js.map +1 -1
- package/dist/esm/dataQuery/dataQuery.js.map +1 -1
- package/dist/esm/dataQuery/dataQuerySummaries.js +3 -0
- package/dist/esm/dataQuery/dataQuerySummaries.js.map +1 -1
- package/dist/esm/dataQuery/index.js.map +1 -1
- package/dist/esm/error/SystemError.js +1 -0
- package/dist/esm/error/SystemError.js.map +1 -1
- package/dist/esm/error/index.js.map +1 -1
- package/dist/esm/expression/context.js.map +1 -1
- package/dist/esm/expression/evaluator.js.map +1 -1
- package/dist/esm/expression/function.js.map +1 -1
- package/dist/esm/expression/index.js.map +1 -1
- package/dist/esm/expression/javascript/evaluator.js +3 -0
- package/dist/esm/expression/javascript/evaluator.js.map +1 -1
- package/dist/esm/expression/javascript/functionsDefault.js.map +1 -1
- package/dist/esm/expression/javascript/global.js.map +1 -1
- package/dist/esm/expression/javascript/node/array.js.map +1 -1
- package/dist/esm/expression/javascript/node/binary.js +23 -0
- package/dist/esm/expression/javascript/node/binary.js.map +1 -1
- package/dist/esm/expression/javascript/node/call.js +12 -0
- package/dist/esm/expression/javascript/node/call.js.map +1 -1
- package/dist/esm/expression/javascript/node/compound.js.map +1 -1
- package/dist/esm/expression/javascript/node/conditional.js.map +1 -1
- package/dist/esm/expression/javascript/node/identifier.js +7 -0
- package/dist/esm/expression/javascript/node/identifier.js.map +1 -1
- package/dist/esm/expression/javascript/node/literal.js.map +1 -1
- package/dist/esm/expression/javascript/node/member.js +5 -1
- package/dist/esm/expression/javascript/node/member.js.map +1 -1
- package/dist/esm/expression/javascript/node/sequence.js.map +1 -1
- package/dist/esm/expression/javascript/node/this.js.map +1 -1
- package/dist/esm/expression/javascript/node/unary.js +8 -0
- package/dist/esm/expression/javascript/node/unary.js.map +1 -1
- package/dist/esm/expression/javascript/parser/jsep.js +6 -2
- package/dist/esm/expression/javascript/parser/jsep.js.map +1 -1
- package/dist/esm/expression/javascript/parser/parser.js.map +1 -1
- package/dist/esm/expression/node.js.map +1 -1
- package/dist/esm/expression/parser.js.map +1 -1
- package/dist/esm/expression/variable.js.map +1 -1
- package/dist/esm/extraProp/extraProp.js.map +1 -1
- package/dist/esm/extraProp/extraProps.js.map +1 -1
- package/dist/esm/extraProp/extraPropsDataGenerator.js.map +1 -1
- package/dist/esm/extraProp/index.js.map +1 -1
- package/dist/esm/geo/index.js.map +1 -1
- package/dist/esm/geo/point.js.map +1 -1
- package/dist/esm/geo/pointFactory.js.map +1 -1
- package/dist/esm/geo/points/bearing.js +11 -0
- package/dist/esm/geo/points/bearing.js.map +1 -1
- package/dist/esm/geo/points/distance.js +9 -0
- package/dist/esm/geo/points/distance.js.map +1 -1
- package/dist/esm/geo/points/equals.js.map +1 -1
- package/dist/esm/geo/points/getSrs.js.map +1 -1
- package/dist/esm/geo/points/index.js.map +1 -1
- package/dist/esm/geo/points/isFilled.js.map +1 -1
- package/dist/esm/geo/points/isValid.js +1 -1
- package/dist/esm/geo/points/isValid.js.map +1 -1
- package/dist/esm/geo/points/parse.js +9 -0
- package/dist/esm/geo/points/parse.js.map +1 -1
- package/dist/esm/geo/points/pointAtDistance.js +10 -0
- package/dist/esm/geo/points/pointAtDistance.js.map +1 -1
- package/dist/esm/geo/points/toLatLong.js.map +1 -1
- package/dist/esm/geo/points/toString.js.map +1 -1
- package/dist/esm/geo/points/transform.js +12 -0
- package/dist/esm/geo/points/transform.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/job/JobBase.js +99 -0
- package/dist/esm/job/JobBase.js.map +1 -1
- package/dist/esm/job/index.js.map +1 -1
- package/dist/esm/job/job.js.map +1 -1
- package/dist/esm/job/jobContext.js.map +1 -1
- package/dist/esm/job/jobEvent.js.map +1 -1
- package/dist/esm/job/jobSerialized.js.map +1 -1
- package/dist/esm/job/status.js.map +1 -1
- package/dist/esm/language/index.js.map +1 -1
- package/dist/esm/language/labels.js.map +1 -1
- package/dist/esm/language/languageCode.js.map +1 -1
- package/dist/esm/language/languages.js.map +1 -1
- package/dist/esm/logger/index.js.map +1 -1
- package/dist/esm/logger/logger.js.map +1 -1
- package/dist/esm/message/index.js.map +1 -1
- package/dist/esm/message/message.js.map +1 -1
- package/dist/esm/message/messages.js +1 -0
- package/dist/esm/message/messages.js.map +1 -1
- package/dist/esm/node/factory.js.map +1 -1
- package/dist/esm/node/index.js.map +1 -1
- package/dist/esm/node/node.js.map +1 -1
- package/dist/esm/node/nodePointer.js.map +1 -1
- package/dist/esm/node/nodeValue/code.js.map +1 -1
- package/dist/esm/node/nodeValue/coordinate.js.map +1 -1
- package/dist/esm/node/nodeValue/file.js.map +1 -1
- package/dist/esm/node/nodeValue/index.js.map +1 -1
- package/dist/esm/node/nodeValue/nodeValueComposite.js.map +1 -1
- package/dist/esm/node/nodeValue/taxon.js.map +1 -1
- package/dist/esm/node/nodeValueFormatter.js +2 -0
- package/dist/esm/node/nodeValueFormatter.js.map +1 -1
- package/dist/esm/node/nodeValueProps.js.map +1 -1
- package/dist/esm/node/nodeValues.js +20 -0
- package/dist/esm/node/nodeValues.js.map +1 -1
- package/dist/esm/node/nodes.js +7 -0
- package/dist/esm/node/nodes.js.map +1 -1
- package/dist/esm/node/service.js.map +1 -1
- package/dist/esm/nodeDef/factory.js.map +1 -1
- package/dist/esm/nodeDef/index.js.map +1 -1
- package/dist/esm/nodeDef/nodeDef.js +1 -0
- package/dist/esm/nodeDef/nodeDef.js.map +1 -1
- package/dist/esm/nodeDef/nodeDefs.js +18 -0
- package/dist/esm/nodeDef/nodeDefs.js.map +1 -1
- package/dist/esm/nodeDef/service.js.map +1 -1
- package/dist/esm/nodeDef/types/boolean.js.map +1 -1
- package/dist/esm/nodeDef/types/code.js.map +1 -1
- package/dist/esm/nodeDef/types/coordinate.js.map +1 -1
- package/dist/esm/nodeDef/types/date.js.map +1 -1
- package/dist/esm/nodeDef/types/decimal.js.map +1 -1
- package/dist/esm/nodeDef/types/entity.js.map +1 -1
- package/dist/esm/nodeDef/types/file.js.map +1 -1
- package/dist/esm/nodeDef/types/formHeader.js.map +1 -1
- package/dist/esm/nodeDef/types/integer.js.map +1 -1
- package/dist/esm/nodeDef/types/taxon.js.map +1 -1
- package/dist/esm/nodeDef/types/text.js.map +1 -1
- package/dist/esm/nodeDef/types/time.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/context.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/functions.js +8 -1
- package/dist/esm/nodeDefExpressionEvaluator/functions.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/index.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js +28 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/member.js +15 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/member.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +3 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/validator.js.map +1 -1
- package/dist/esm/record/_records/recordCompletion.js +14 -0
- package/dist/esm/record/_records/recordCompletion.js.map +1 -1
- package/dist/esm/record/_records/recordGetters.js +19 -2
- package/dist/esm/record/_records/recordGetters.js.map +1 -1
- package/dist/esm/record/_records/recordNodesIndexReader.js.map +1 -1
- package/dist/esm/record/_records/recordNodesIndexUpdater.js +17 -0
- package/dist/esm/record/_records/recordNodesIndexUpdater.js.map +1 -1
- package/dist/esm/record/_records/recordPagesValidation.js +45 -0
- package/dist/esm/record/_records/recordPagesValidation.js.map +1 -1
- package/dist/esm/record/_records/recordUpdateOptions.js.map +1 -1
- package/dist/esm/record/_records/recordUpdater.js +2 -0
- package/dist/esm/record/_records/recordUpdater.js.map +1 -1
- package/dist/esm/record/_records/recordUtils.js.map +1 -1
- package/dist/esm/record/factory.js.map +1 -1
- package/dist/esm/record/index.js.map +1 -1
- package/dist/esm/record/nodePointers.js.map +1 -1
- package/dist/esm/record/record.js.map +1 -1
- package/dist/esm/record/recordCloner.js +10 -1
- package/dist/esm/record/recordCloner.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/context.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/functions.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/index.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js +14 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +6 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
- package/dist/esm/record/recordFixer.js +16 -0
- package/dist/esm/record/recordFixer.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/index.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +6 -0
- package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js +5 -0
- package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +20 -2
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +2 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +13 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +9 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +17 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +5 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +4 -2
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +8 -3
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js +10 -5
- package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js +7 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +2 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js +16 -2
- package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js +8 -0
- package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
- package/dist/esm/record/recordPrettyPrinter.js.map +1 -1
- package/dist/esm/record/recordStep.js.map +1 -1
- package/dist/esm/record/recordUpdater.js +1 -0
- package/dist/esm/record/recordUpdater.js.map +1 -1
- package/dist/esm/record/recordValidations.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeKeyValidator.js +3 -0
- package/dist/esm/record/recordValidator/attributeKeyValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeTypeValidator.js +3 -0
- package/dist/esm/record/recordValidator/attributeTypeValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeUniqueValidator.js +2 -0
- package/dist/esm/record/recordValidator/attributeUniqueValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeValidator.js +12 -1
- package/dist/esm/record/recordValidator/attributeValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/countVaildator.js +5 -0
- package/dist/esm/record/recordValidator/countVaildator.js.map +1 -1
- package/dist/esm/record/recordValidator/index.js.map +1 -1
- package/dist/esm/record/recordValidator/recordValidator.js +3 -0
- package/dist/esm/record/recordValidator/recordValidator.js.map +1 -1
- package/dist/esm/record/records.js +3 -0
- package/dist/esm/record/records.js.map +1 -1
- package/dist/esm/record/service.js.map +1 -1
- package/dist/esm/registry/index.js.map +1 -1
- package/dist/esm/registry/serviceRegistry.js.map +1 -1
- package/dist/esm/registry/serviceType.js.map +1 -1
- package/dist/esm/srs/factory.js.map +1 -1
- package/dist/esm/srs/index.js.map +1 -1
- package/dist/esm/srs/srs.js.map +1 -1
- package/dist/esm/survey/factory.js +1 -0
- package/dist/esm/survey/factory.js.map +1 -1
- package/dist/esm/survey/index.js.map +1 -1
- package/dist/esm/survey/nodeDefsFixer.js +1 -0
- package/dist/esm/survey/nodeDefsFixer.js.map +1 -1
- package/dist/esm/survey/refData/factory.js.map +1 -1
- package/dist/esm/survey/refData/index.js.map +1 -1
- package/dist/esm/survey/refData/refData.js.map +1 -1
- package/dist/esm/survey/service.js.map +1 -1
- package/dist/esm/survey/survey.js.map +1 -1
- package/dist/esm/survey/surveyDocImageFactory.js.map +1 -1
- package/dist/esm/survey/surveyDocImages.js.map +1 -1
- package/dist/esm/survey/surveyFileFactory.js.map +1 -1
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js +8 -0
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
- package/dist/esm/survey/surveys/dependencies.js +11 -2
- package/dist/esm/survey/surveys/dependencies.js.map +1 -1
- package/dist/esm/survey/surveys/index.js +6 -0
- package/dist/esm/survey/surveys/index.js.map +1 -1
- package/dist/esm/survey/surveys/nodeDefs.js +12 -0
- package/dist/esm/survey/surveys/nodeDefs.js.map +1 -1
- package/dist/esm/survey/surveys/refsData.js.map +1 -1
- package/dist/esm/survey/surveys/surveyGettersSecurity.js.map +1 -1
- package/dist/esm/survey/surveys/surveysGetters.js +3 -1
- package/dist/esm/survey/surveys/surveysGetters.js.map +1 -1
- package/dist/esm/survey/surveys/surveysUtils.js.map +1 -1
- package/dist/esm/taxonomy/factory.js.map +1 -1
- package/dist/esm/taxonomy/index.js.map +1 -1
- package/dist/esm/taxonomy/service.js.map +1 -1
- package/dist/esm/taxonomy/taxa.js.map +1 -1
- package/dist/esm/taxonomy/taxon.js.map +1 -1
- package/dist/esm/taxonomy/taxonGenerator.js.map +1 -1
- package/dist/esm/taxonomy/taxonService.js.map +1 -1
- package/dist/esm/taxonomy/taxonVernacularName.js.map +1 -1
- package/dist/esm/taxonomy/taxonomies.js.map +1 -1
- package/dist/esm/taxonomy/taxonomy.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js +2 -0
- package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/index.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/index.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
- package/dist/esm/utils/_objects/assoc.js.map +1 -1
- package/dist/esm/utils/_objects/assocPath.js +1 -0
- package/dist/esm/utils/_objects/assocPath.js.map +1 -1
- package/dist/esm/utils/_objects/camelize.js +9 -0
- package/dist/esm/utils/_objects/camelize.js.map +1 -1
- package/dist/esm/utils/_objects/deepMerge.js +10 -0
- package/dist/esm/utils/_objects/deepMerge.js.map +1 -1
- package/dist/esm/utils/_objects/deleteEmptyProps.js.map +1 -1
- package/dist/esm/utils/_objects/difference.js.map +1 -1
- package/dist/esm/utils/_objects/dissoc.js.map +1 -1
- package/dist/esm/utils/_objects/dissocPath.js +1 -0
- package/dist/esm/utils/_objects/dissocPath.js.map +1 -1
- package/dist/esm/utils/_objects/dissocPathIfEmpty.js.map +1 -1
- package/dist/esm/utils/_objects/fromPairs.js.map +1 -1
- package/dist/esm/utils/_objects/index.js.map +1 -1
- package/dist/esm/utils/_objects/isEmpty.js +8 -0
- package/dist/esm/utils/_objects/isEmpty.js.map +1 -1
- package/dist/esm/utils/_objects/isEqual.js.map +1 -1
- package/dist/esm/utils/_objects/isNil.js +6 -0
- package/dist/esm/utils/_objects/isNil.js.map +1 -1
- package/dist/esm/utils/_objects/isNotEmpty.js +6 -0
- package/dist/esm/utils/_objects/isNotEmpty.js.map +1 -1
- package/dist/esm/utils/_objects/parse.js +8 -0
- package/dist/esm/utils/_objects/parse.js.map +1 -1
- package/dist/esm/utils/_objects/path.js +7 -0
- package/dist/esm/utils/_objects/path.js.map +1 -1
- package/dist/esm/utils/_objects/propertyOf.js.map +1 -1
- package/dist/esm/utils/_objects/setInPath.js.map +1 -1
- package/dist/esm/utils/_objects/stringify.js +9 -0
- package/dist/esm/utils/_objects/stringify.js.map +1 -1
- package/dist/esm/utils/_objects/toPairs.js.map +1 -1
- package/dist/esm/utils/arrays.js.map +1 -1
- package/dist/esm/utils/dates.js +66 -15
- package/dist/esm/utils/dates.js.map +1 -1
- package/dist/esm/utils/fileNames.js.map +1 -1
- package/dist/esm/utils/fileProcessor.js +5 -1
- package/dist/esm/utils/fileProcessor.js.map +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/numbers.js +21 -0
- package/dist/esm/utils/numbers.js.map +1 -1
- package/dist/esm/utils/promises.js +15 -1
- package/dist/esm/utils/promises.js.map +1 -1
- package/dist/esm/utils/queue.js +9 -0
- package/dist/esm/utils/queue.js.map +1 -1
- package/dist/esm/utils/retryProcessor.js +5 -1
- package/dist/esm/utils/retryProcessor.js.map +1 -1
- package/dist/esm/utils/strings.js.map +1 -1
- package/dist/esm/utils/uuids.js.map +1 -1
- package/dist/esm/utils/versions.js +4 -0
- package/dist/esm/utils/versions.js.map +1 -1
- package/dist/esm/validation/factory.js.map +1 -1
- package/dist/esm/validation/fieldValidator.js.map +1 -1
- package/dist/esm/validation/fieldValidators/email.js +3 -0
- package/dist/esm/validation/fieldValidators/email.js.map +1 -1
- package/dist/esm/validation/fieldValidators/index.js.map +1 -1
- package/dist/esm/validation/fieldValidators/name.js +4 -0
- package/dist/esm/validation/fieldValidators/name.js.map +1 -1
- package/dist/esm/validation/fieldValidators/notKeyword.js.map +1 -1
- package/dist/esm/validation/fieldValidators/numeric.js.map +1 -1
- package/dist/esm/validation/fieldValidators/numericPositive.js.map +1 -1
- package/dist/esm/validation/fieldValidators/required.js.map +1 -1
- package/dist/esm/validation/index.js.map +1 -1
- package/dist/esm/validation/validation.js.map +1 -1
- package/dist/esm/validation/validationResults.js +1 -1
- package/dist/esm/validation/validationResults.js.map +1 -1
- package/dist/esm/validation/validations.js +17 -1
- package/dist/esm/validation/validations.js.map +1 -1
- package/dist/esm/validation/validator.js.map +1 -1
- package/dist/esm/validation/validatorErrorKeys.js.map +1 -1
- package/dist/expression/context.d.ts +6 -0
- package/dist/expression/context.js.map +1 -1
- package/dist/expression/evaluator.js.map +1 -1
- package/dist/expression/function.d.ts +13 -0
- package/dist/expression/function.js.map +1 -1
- package/dist/expression/index.js.map +1 -1
- package/dist/expression/javascript/evaluator.js +3 -0
- package/dist/expression/javascript/evaluator.js.map +1 -1
- package/dist/expression/javascript/functionsDefault.js.map +1 -1
- package/dist/expression/javascript/global.js.map +1 -1
- package/dist/expression/javascript/node/array.js.map +1 -1
- package/dist/expression/javascript/node/binary.js +23 -0
- package/dist/expression/javascript/node/binary.js.map +1 -1
- package/dist/expression/javascript/node/call.js +12 -0
- package/dist/expression/javascript/node/call.js.map +1 -1
- package/dist/expression/javascript/node/compound.js.map +1 -1
- package/dist/expression/javascript/node/conditional.js.map +1 -1
- package/dist/expression/javascript/node/identifier.d.ts +7 -0
- package/dist/expression/javascript/node/identifier.js +7 -0
- package/dist/expression/javascript/node/identifier.js.map +1 -1
- package/dist/expression/javascript/node/literal.js.map +1 -1
- package/dist/expression/javascript/node/member.js +5 -1
- package/dist/expression/javascript/node/member.js.map +1 -1
- package/dist/expression/javascript/node/sequence.js.map +1 -1
- package/dist/expression/javascript/node/this.js.map +1 -1
- package/dist/expression/javascript/node/unary.js +8 -0
- package/dist/expression/javascript/node/unary.js.map +1 -1
- package/dist/expression/javascript/parser/jsep.js +6 -2
- package/dist/expression/javascript/parser/jsep.js.map +1 -1
- package/dist/expression/javascript/parser/parser.js.map +1 -1
- package/dist/expression/node.js.map +1 -1
- package/dist/expression/parser.js.map +1 -1
- package/dist/expression/variable.js.map +1 -1
- package/dist/extraProp/extraProp.js.map +1 -1
- package/dist/extraProp/extraProps.js.map +1 -1
- package/dist/extraProp/extraPropsDataGenerator.js.map +1 -1
- package/dist/extraProp/index.js.map +1 -1
- package/dist/geo/index.js.map +1 -1
- package/dist/geo/point.js.map +1 -1
- package/dist/geo/pointFactory.js.map +1 -1
- package/dist/geo/points/bearing.d.ts +9 -0
- package/dist/geo/points/bearing.js +11 -0
- package/dist/geo/points/bearing.js.map +1 -1
- package/dist/geo/points/distance.d.ts +8 -0
- package/dist/geo/points/distance.js +9 -0
- package/dist/geo/points/distance.js.map +1 -1
- package/dist/geo/points/equals.js.map +1 -1
- package/dist/geo/points/getSrs.js.map +1 -1
- package/dist/geo/points/index.js.map +1 -1
- package/dist/geo/points/isFilled.js.map +1 -1
- package/dist/geo/points/isValid.js +1 -1
- package/dist/geo/points/isValid.js.map +1 -1
- package/dist/geo/points/parse.d.ts +9 -0
- package/dist/geo/points/parse.js +9 -0
- package/dist/geo/points/parse.js.map +1 -1
- package/dist/geo/points/pointAtDistance.d.ts +9 -0
- package/dist/geo/points/pointAtDistance.js +10 -0
- package/dist/geo/points/pointAtDistance.js.map +1 -1
- package/dist/geo/points/toLatLong.js.map +1 -1
- package/dist/geo/points/toString.js.map +1 -1
- package/dist/geo/points/transform.d.ts +8 -0
- package/dist/geo/points/transform.js +12 -0
- package/dist/geo/points/transform.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/job/JobBase.d.ts +81 -0
- package/dist/job/JobBase.js +99 -0
- package/dist/job/JobBase.js.map +1 -1
- package/dist/job/index.js.map +1 -1
- package/dist/job/job.d.ts +20 -0
- package/dist/job/job.js.map +1 -1
- package/dist/job/jobContext.js.map +1 -1
- package/dist/job/jobEvent.js.map +1 -1
- package/dist/job/jobSerialized.d.ts +3 -0
- package/dist/job/jobSerialized.js.map +1 -1
- package/dist/job/status.js.map +1 -1
- package/dist/language/index.js.map +1 -1
- package/dist/language/labels.js.map +1 -1
- package/dist/language/languageCode.js.map +1 -1
- package/dist/language/languages.js.map +1 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/logger.js.map +1 -1
- package/dist/message/index.js.map +1 -1
- package/dist/message/message.d.ts +3 -0
- package/dist/message/message.js.map +1 -1
- package/dist/message/messages.js +1 -0
- package/dist/message/messages.js.map +1 -1
- package/dist/node/factory.js.map +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/node.d.ts +38 -0
- package/dist/node/node.js.map +1 -1
- package/dist/node/nodePointer.js.map +1 -1
- package/dist/node/nodeValue/code.js.map +1 -1
- package/dist/node/nodeValue/coordinate.js.map +1 -1
- package/dist/node/nodeValue/file.js.map +1 -1
- package/dist/node/nodeValue/index.js.map +1 -1
- package/dist/node/nodeValue/nodeValueComposite.js.map +1 -1
- package/dist/node/nodeValue/taxon.js.map +1 -1
- package/dist/node/nodeValueFormatter.js +2 -0
- package/dist/node/nodeValueFormatter.js.map +1 -1
- package/dist/node/nodeValueProps.js.map +1 -1
- package/dist/node/nodeValues.d.ts +4 -0
- package/dist/node/nodeValues.js +20 -0
- package/dist/node/nodeValues.js.map +1 -1
- package/dist/node/nodes.js +7 -0
- package/dist/node/nodes.js.map +1 -1
- package/dist/node/service.js.map +1 -1
- package/dist/nodeDef/factory.js.map +1 -1
- package/dist/nodeDef/index.js.map +1 -1
- package/dist/nodeDef/nodeDef.js +1 -0
- package/dist/nodeDef/nodeDef.js.map +1 -1
- package/dist/nodeDef/nodeDefs.js +18 -0
- package/dist/nodeDef/nodeDefs.js.map +1 -1
- package/dist/nodeDef/service.js.map +1 -1
- package/dist/nodeDef/types/boolean.js.map +1 -1
- package/dist/nodeDef/types/code.js.map +1 -1
- package/dist/nodeDef/types/coordinate.js.map +1 -1
- package/dist/nodeDef/types/date.js.map +1 -1
- package/dist/nodeDef/types/decimal.js.map +1 -1
- package/dist/nodeDef/types/entity.d.ts +1 -0
- package/dist/nodeDef/types/entity.js.map +1 -1
- package/dist/nodeDef/types/file.js.map +1 -1
- package/dist/nodeDef/types/formHeader.js.map +1 -1
- package/dist/nodeDef/types/integer.js.map +1 -1
- package/dist/nodeDef/types/taxon.js.map +1 -1
- package/dist/nodeDef/types/text.js.map +1 -1
- package/dist/nodeDef/types/time.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/context.d.ts +3 -0
- package/dist/nodeDefExpressionEvaluator/context.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/functions.js +8 -1
- package/dist/nodeDefExpressionEvaluator/functions.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/index.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/identifier.d.ts +14 -0
- package/dist/nodeDefExpressionEvaluator/node/identifier.js +28 -0
- package/dist/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/member.js +15 -0
- package/dist/nodeDefExpressionEvaluator/node/member.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +3 -0
- package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/validator.js.map +1 -1
- package/dist/record/_records/recordCompletion.d.ts +12 -0
- package/dist/record/_records/recordCompletion.js +14 -0
- package/dist/record/_records/recordCompletion.js.map +1 -1
- package/dist/record/_records/recordGetters.d.ts +3 -0
- package/dist/record/_records/recordGetters.js +19 -2
- package/dist/record/_records/recordGetters.js.map +1 -1
- package/dist/record/_records/recordNodesIndexReader.js.map +1 -1
- package/dist/record/_records/recordNodesIndexUpdater.js +17 -0
- package/dist/record/_records/recordNodesIndexUpdater.js.map +1 -1
- package/dist/record/_records/recordPagesValidation.d.ts +39 -0
- package/dist/record/_records/recordPagesValidation.js +45 -0
- package/dist/record/_records/recordPagesValidation.js.map +1 -1
- package/dist/record/_records/recordUpdateOptions.js.map +1 -1
- package/dist/record/_records/recordUpdater.js +2 -0
- package/dist/record/_records/recordUpdater.js.map +1 -1
- package/dist/record/_records/recordUtils.js.map +1 -1
- package/dist/record/factory.js.map +1 -1
- package/dist/record/index.js.map +1 -1
- package/dist/record/nodePointers.js.map +1 -1
- package/dist/record/record.d.ts +12 -0
- package/dist/record/record.js.map +1 -1
- package/dist/record/recordCloner.js +10 -1
- package/dist/record/recordCloner.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/context.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/functions.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/index.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js +14 -0
- package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +6 -0
- package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
- package/dist/record/recordFixer.js +16 -0
- package/dist/record/recordFixer.js.map +1 -1
- package/dist/record/recordNodesUpdater/index.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.d.ts +6 -0
- package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +6 -0
- package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordExpressionValueConverter.js +5 -0
- package/dist/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +20 -2
- package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +2 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +13 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +9 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +17 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +5 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +4 -2
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +8 -3
- package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesCreator.js +10 -5
- package/dist/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesDeleter.js +7 -0
- package/dist/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +2 -0
- package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesUpdater.js +16 -2
- package/dist/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordUpdateResult.d.ts +8 -0
- package/dist/record/recordNodesUpdater/recordUpdateResult.js +8 -0
- package/dist/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
- package/dist/record/recordPrettyPrinter.js.map +1 -1
- package/dist/record/recordStep.js.map +1 -1
- package/dist/record/recordUpdater.js +1 -0
- package/dist/record/recordUpdater.js.map +1 -1
- package/dist/record/recordValidations.js.map +1 -1
- package/dist/record/recordValidator/attributeKeyValidator.d.ts +4 -0
- package/dist/record/recordValidator/attributeKeyValidator.js +3 -0
- package/dist/record/recordValidator/attributeKeyValidator.js.map +1 -1
- package/dist/record/recordValidator/attributeTypeValidator.js +3 -0
- package/dist/record/recordValidator/attributeTypeValidator.js.map +1 -1
- package/dist/record/recordValidator/attributeUniqueValidator.js +2 -0
- package/dist/record/recordValidator/attributeUniqueValidator.js.map +1 -1
- package/dist/record/recordValidator/attributeValidator.js +12 -1
- package/dist/record/recordValidator/attributeValidator.js.map +1 -1
- package/dist/record/recordValidator/countVaildator.js +5 -0
- package/dist/record/recordValidator/countVaildator.js.map +1 -1
- package/dist/record/recordValidator/index.js.map +1 -1
- package/dist/record/recordValidator/recordValidator.js +3 -0
- package/dist/record/recordValidator/recordValidator.js.map +1 -1
- package/dist/record/records.js +3 -0
- package/dist/record/records.js.map +1 -1
- package/dist/record/service.js.map +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/serviceRegistry.js.map +1 -1
- package/dist/registry/serviceType.js.map +1 -1
- package/dist/srs/factory.js.map +1 -1
- package/dist/srs/index.js.map +1 -1
- package/dist/srs/srs.js.map +1 -1
- package/dist/survey/factory.js +1 -0
- package/dist/survey/factory.js.map +1 -1
- package/dist/survey/index.js.map +1 -1
- package/dist/survey/nodeDefsFixer.js +1 -0
- package/dist/survey/nodeDefsFixer.js.map +1 -1
- package/dist/survey/refData/factory.js.map +1 -1
- package/dist/survey/refData/index.js.map +1 -1
- package/dist/survey/refData/refData.d.ts +15 -0
- package/dist/survey/refData/refData.js.map +1 -1
- package/dist/survey/service.js.map +1 -1
- package/dist/survey/survey.d.ts +9 -0
- package/dist/survey/survey.js.map +1 -1
- package/dist/survey/surveyDocImageFactory.js.map +1 -1
- package/dist/survey/surveyDocImages.js.map +1 -1
- package/dist/survey/surveyFileFactory.js.map +1 -1
- package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js +8 -0
- package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
- package/dist/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
- package/dist/survey/surveys/dependencies.js +11 -2
- package/dist/survey/surveys/dependencies.js.map +1 -1
- package/dist/survey/surveys/index.js +6 -0
- package/dist/survey/surveys/index.js.map +1 -1
- package/dist/survey/surveys/nodeDefs.js +12 -0
- package/dist/survey/surveys/nodeDefs.js.map +1 -1
- package/dist/survey/surveys/refsData.js.map +1 -1
- package/dist/survey/surveys/surveyGettersSecurity.js.map +1 -1
- package/dist/survey/surveys/surveysGetters.js +3 -1
- package/dist/survey/surveys/surveysGetters.js.map +1 -1
- package/dist/survey/surveys/surveysUtils.js.map +1 -1
- package/dist/taxonomy/factory.js.map +1 -1
- package/dist/taxonomy/index.js.map +1 -1
- package/dist/taxonomy/service.js.map +1 -1
- package/dist/taxonomy/taxa.js.map +1 -1
- package/dist/taxonomy/taxon.js.map +1 -1
- package/dist/taxonomy/taxonGenerator.js.map +1 -1
- package/dist/taxonomy/taxonService.js.map +1 -1
- package/dist/taxonomy/taxonVernacularName.js.map +1 -1
- package/dist/taxonomy/taxonomies.js.map +1 -1
- package/dist/taxonomy/taxonomy.js.map +1 -1
- package/dist/tests/builder/recordBuilder/attributeBuilder.js +2 -0
- package/dist/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
- package/dist/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
- package/dist/tests/builder/recordBuilder/index.js.map +1 -1
- package/dist/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
- package/dist/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/index.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
- package/dist/utils/_objects/assoc.js.map +1 -1
- package/dist/utils/_objects/assocPath.js +1 -0
- package/dist/utils/_objects/assocPath.js.map +1 -1
- package/dist/utils/_objects/camelize.d.ts +9 -0
- package/dist/utils/_objects/camelize.js +9 -0
- package/dist/utils/_objects/camelize.js.map +1 -1
- package/dist/utils/_objects/deepMerge.d.ts +5 -0
- package/dist/utils/_objects/deepMerge.js +10 -0
- package/dist/utils/_objects/deepMerge.js.map +1 -1
- package/dist/utils/_objects/deleteEmptyProps.js.map +1 -1
- package/dist/utils/_objects/difference.js.map +1 -1
- package/dist/utils/_objects/dissoc.js.map +1 -1
- package/dist/utils/_objects/dissocPath.js +1 -0
- package/dist/utils/_objects/dissocPath.js.map +1 -1
- package/dist/utils/_objects/dissocPathIfEmpty.js.map +1 -1
- package/dist/utils/_objects/fromPairs.js.map +1 -1
- package/dist/utils/_objects/index.js.map +1 -1
- package/dist/utils/_objects/isEmpty.d.ts +6 -0
- package/dist/utils/_objects/isEmpty.js +8 -0
- package/dist/utils/_objects/isEmpty.js.map +1 -1
- package/dist/utils/_objects/isEqual.js.map +1 -1
- package/dist/utils/_objects/isNil.d.ts +6 -0
- package/dist/utils/_objects/isNil.js +6 -0
- package/dist/utils/_objects/isNil.js.map +1 -1
- package/dist/utils/_objects/isNotEmpty.d.ts +6 -0
- package/dist/utils/_objects/isNotEmpty.js +6 -0
- package/dist/utils/_objects/isNotEmpty.js.map +1 -1
- package/dist/utils/_objects/parse.d.ts +8 -0
- package/dist/utils/_objects/parse.js +8 -0
- package/dist/utils/_objects/parse.js.map +1 -1
- package/dist/utils/_objects/path.d.ts +6 -0
- package/dist/utils/_objects/path.js +7 -0
- package/dist/utils/_objects/path.js.map +1 -1
- package/dist/utils/_objects/propertyOf.js.map +1 -1
- package/dist/utils/_objects/setInPath.js.map +1 -1
- package/dist/utils/_objects/stringify.d.ts +9 -0
- package/dist/utils/_objects/stringify.js +9 -0
- package/dist/utils/_objects/stringify.js.map +1 -1
- package/dist/utils/_objects/toPairs.js.map +1 -1
- package/dist/utils/arrays.js.map +1 -1
- package/dist/utils/dates.d.ts +1 -1
- package/dist/utils/dates.js +66 -15
- package/dist/utils/dates.js.map +1 -1
- package/dist/utils/fileNames.js.map +1 -1
- package/dist/utils/fileProcessor.js +5 -1
- package/dist/utils/fileProcessor.js.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/numbers.js +21 -0
- package/dist/utils/numbers.js.map +1 -1
- package/dist/utils/promises.js +15 -1
- package/dist/utils/promises.js.map +1 -1
- package/dist/utils/queue.d.ts +7 -0
- package/dist/utils/queue.js +9 -0
- package/dist/utils/queue.js.map +1 -1
- package/dist/utils/retryProcessor.js +5 -1
- package/dist/utils/retryProcessor.js.map +1 -1
- package/dist/utils/strings.js.map +1 -1
- package/dist/utils/uuids.js.map +1 -1
- package/dist/utils/versions.js +4 -0
- package/dist/utils/versions.js.map +1 -1
- package/dist/validation/factory.js.map +1 -1
- package/dist/validation/fieldValidator.js.map +1 -1
- package/dist/validation/fieldValidators/email.js +3 -0
- package/dist/validation/fieldValidators/email.js.map +1 -1
- package/dist/validation/fieldValidators/index.js.map +1 -1
- package/dist/validation/fieldValidators/name.js +4 -0
- package/dist/validation/fieldValidators/name.js.map +1 -1
- package/dist/validation/fieldValidators/notKeyword.js.map +1 -1
- package/dist/validation/fieldValidators/numeric.js.map +1 -1
- package/dist/validation/fieldValidators/numericPositive.js.map +1 -1
- package/dist/validation/fieldValidators/required.js.map +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/validation.js.map +1 -1
- package/dist/validation/validationResults.js +1 -1
- package/dist/validation/validationResults.js.map +1 -1
- package/dist/validation/validations.js +17 -1
- package/dist/validation/validations.js.map +1 -1
- package/dist/validation/validator.js.map +1 -1
- package/dist/validation/validatorErrorKeys.js.map +1 -1
- package/package.json +7 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataQuerySummaries.js","sourceRoot":"","sources":["../../../src/dataQuery/dataQuerySummaries.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dataQuerySummaries.js","sourceRoot":"","sources":["../../../src/dataQuery/dataQuerySummaries.ts"],"names":[],"mappings":"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","sourcesContent":["import { Labels, LanguageCode } from '../language'\nimport { Objects, UUIDs } from '../utils'\nimport { DataQuery, DataQuerySummary, DataQuerySummaryProps } from './dataQuery'\n\nconst PropKeys = {\n name: 'name',\n labels: 'labels',\n descriptions: 'descriptions',\n}\n\nconst Keys = {\n content: 'content',\n}\n\nconst create = (params: { props?: DataQuerySummaryProps; content?: DataQuery }): DataQuerySummary => {\n const { props, content } = params ?? {}\n return { uuid: UUIDs.v4(), content, props }\n}\n\nconst getUuid = (querySummary: DataQuerySummary): string => querySummary?.uuid ?? ''\n\nconst getName = (querySummary: DataQuerySummary): string => querySummary?.props?.name ?? ''\n\nconst getContent = (querySummary: DataQuerySummary): DataQuery | undefined => querySummary?.content\n\nconst getLabels = (querySummary: DataQuerySummary): Labels => querySummary?.props?.labels ?? {}\n\nconst getLabel =\n (lang: LanguageCode) =>\n (querySummary: DataQuerySummary): string =>\n getLabels(querySummary)[lang] ?? ''\n\nconst getDescriptions = (querySummary: DataQuerySummary): Labels => querySummary?.props?.descriptions ?? {}\n\nconst getDescription =\n (lang: LanguageCode) =>\n (querySummary: DataQuerySummary): string =>\n getDescriptions(querySummary)[lang] ?? ''\n\nconst assocProp =\n (prop: string, value: any) =>\n (obj: any): any =>\n Objects.assocPath({ obj, path: ['props', prop], value })\n\nconst assocName =\n (value: string) =>\n (querySummary: DataQuerySummary): DataQuerySummary =>\n assocProp(PropKeys.name, value)(querySummary)\n\nconst assocLabels =\n (value: Labels) =>\n (querySummary: DataQuerySummary): DataQuerySummary =>\n assocProp(PropKeys.labels, value)(querySummary)\n\nconst assocDescriptions =\n (value: Labels) =>\n (querySummary: DataQuerySummary): DataQuerySummary =>\n assocProp(PropKeys.descriptions, value)(querySummary)\n\nconst assocContent =\n (content: DataQuery) =>\n (querySummary: DataQuerySummary): DataQuerySummary =>\n Objects.assoc({ obj: querySummary, prop: Keys.content, value: content })\n\nexport const DataQuerySummaries = {\n // create\n create,\n // read\n getUuid,\n getName,\n getContent,\n getLabels,\n getLabel,\n getDescriptions,\n getDescription,\n // update\n assocName,\n assocLabels,\n assocDescriptions,\n assocContent,\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dataQuery/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dataQuery/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA","sourcesContent":["export type { DataQuery, DataQuerySummary, DataQuerySummaryProps } from './dataQuery'\nexport { DataQueryMode } from './dataQuery'\nexport { DataQuerySummaries } from './dataQuerySummaries'\n"]}
|
|
@@ -4,6 +4,7 @@ export class SystemError extends Error {
|
|
|
4
4
|
this.name = 'SystemError';
|
|
5
5
|
this._key = key;
|
|
6
6
|
this._params = params !== null && params !== void 0 ? params : {};
|
|
7
|
+
// Maintains proper stack trace (only available on V8)
|
|
7
8
|
if (Error.captureStackTrace) {
|
|
8
9
|
Error.captureStackTrace(this, SystemError);
|
|
9
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SystemError.js","sourceRoot":"","sources":["../../../src/error/SystemError.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAIpC,YAAY,GAAW,EAAE,MAAwB;QAC/C,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;QAEzB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"SystemError.js","sourceRoot":"","sources":["../../../src/error/SystemError.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAIpC,YAAY,GAAW,EAAE,MAAwB;QAC/C,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;QAEzB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;QAE3B,sDAAsD;QACtD,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAC5B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;QAC3C,MAAM,cAAc,GAClB,WAAW,IAAI,WAAW,YAAY,WAAW,CAAC,CAAC,iCAAM,MAAM,KAAE,KAAK,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE,IAAG,CAAC,CAAC,MAAM,CAAA;QAC1G,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IACxC,CAAC;CACF","sourcesContent":["import { Dictionary } from '../common'\n\nexport class SystemError extends Error {\n private readonly _key: string\n private readonly _params: Dictionary<any>\n\n constructor(key: string, params?: Dictionary<any>) {\n super(key)\n\n this.name = 'SystemError'\n\n this._key = key\n this._params = params ?? {}\n\n // Maintains proper stack trace (only available on V8)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, SystemError)\n }\n }\n\n get key(): string {\n return this._key\n }\n\n get params(): Dictionary<any> {\n return this._params\n }\n\n toJSON() {\n const { key, params } = this\n const { error: nestedError } = params ?? {}\n const paramsAdjusted: Dictionary<any> =\n nestedError && nestedError instanceof SystemError ? { ...params, error: nestedError?.toJSON() } : params\n return { key, params: paramsAdjusted }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/error/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA","sourcesContent":["export { SystemError } from './SystemError'\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/expression/context.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/expression/context.ts"],"names":[],"mappings":"","sourcesContent":["import { LanguageCode } from '../language'\n\nexport interface ExpressionContext {\n object?: any\n evaluateToNode?: boolean\n includeAnalysis?: boolean\n /**\n * client timezone offset in minutes as returned by the Date.getTimezoneOffset function\n */\n timezoneOffset?: number\n /**\n * language selected in the client app, used by language-aware expression functions (e.g. numberToWords)\n */\n lang?: LanguageCode\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/expression/evaluator.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../src/expression/evaluator.ts"],"names":[],"mappings":"","sourcesContent":["import { ExpressionContext } from './context'\nimport { ExpressionFunction } from './function'\nimport { ExpressionNode, ExpressionNodeType } from './node'\n\nexport interface ExpressionEvaluator<C extends ExpressionContext> {\n functions: { [functionName: string]: ExpressionFunction<C> }\n evaluate(expression: string, context?: C): Promise<any>\n evaluateNode(expression: ExpressionNode<ExpressionNodeType>, context: C): Promise<any>\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/expression/function.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../../src/expression/function.ts"],"names":[],"mappings":"","sourcesContent":["import { ExpressionContext } from './context'\n\nexport interface ExpressionFunction<C extends ExpressionContext> {\n minArity: number\n maxArity?: number\n /**\n * Returns the function implementation, bound to the specified context.\n * The implementation can return either the result value or a Promise resolving to it.\n */\n executor: (context: C) => (...args: any[]) => any\n /**\n * True if the arguments of the function must be evaluated as nodes.\n * @default false\n */\n evaluateArgsToNodes?: boolean\n /**\n * True if the result of the evaluation of the function must be a node,\n * otherwise it will be the node value.\n * @default false\n */\n evaluateToNode?: boolean\n}\n\nexport interface ExpressionFunctions<C extends ExpressionContext> {\n [name: string]: ExpressionFunction<C>\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/expression/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAA;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/expression/index.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAA;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAA","sourcesContent":["export type { ExpressionContext } from './context'\n\nexport type { ExpressionEvaluator } from './evaluator'\n\nexport type { ExpressionFunction, ExpressionFunctions } from './function'\n\nexport type {\n ExpressionNode,\n ExpressionNodeEvaluatorConstructor,\n ArrayExpression,\n BinaryExpression,\n CallExpression,\n CompoundExpression,\n ConditionalExpression,\n IdentifierExpression,\n LiteralExpression,\n MemberExpression,\n SequenceExpression,\n ThisExpression,\n UnaryExpression,\n} from './node'\nexport { ExpressionNodeType, ExpressionNodeEvaluator } from './node'\n\nexport { ExpressionVariable } from './variable'\n\nexport { JavascriptExpressionEvaluator } from './javascript/evaluator'\nexport { JavascriptExpressionParser } from './javascript/parser/parser'\n"]}
|
|
@@ -35,6 +35,8 @@ const defaultEvaluators = {
|
|
|
35
35
|
[ExpressionNodeType.This]: ThisEvaluator,
|
|
36
36
|
[ExpressionNodeType.Unary]: UnaryEvaluator,
|
|
37
37
|
};
|
|
38
|
+
// Parsed expressions cache: the same expressions are evaluated many times (e.g. for every node during a record update).
|
|
39
|
+
// The cached expression nodes are shared, so evaluators must never modify them.
|
|
38
40
|
const PARSED_EXPRESSIONS_CACHE_MAX_SIZE = 1000;
|
|
39
41
|
const parsedExpressionsCache = new Map();
|
|
40
42
|
const expressionParser = new JavascriptExpressionParser();
|
|
@@ -43,6 +45,7 @@ const parseExpression = (expression) => {
|
|
|
43
45
|
if (!expressionNode) {
|
|
44
46
|
expressionNode = expressionParser.parse(expression);
|
|
45
47
|
if (parsedExpressionsCache.size >= PARSED_EXPRESSIONS_CACHE_MAX_SIZE) {
|
|
48
|
+
// evict the oldest entry (Map keeps insertion order)
|
|
46
49
|
const oldestExpression = parsedExpressionsCache.keys().next().value;
|
|
47
50
|
if (oldestExpression !== undefined)
|
|
48
51
|
parsedExpressionsCache.delete(oldestExpression);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../../src/expression/javascript/evaluator.ts"],"names":[],"mappings":";;;;;;;;;AAGA,OAAO,EAAsD,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAA;AAM5D,MAAM,iBAAiB,GAAG;IACxB,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,cAAc;IAC1C,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,eAAe;IAC5C,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,aAAa;IACxC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,iBAAiB;IAChD,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,oBAAoB;IACtD,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,mBAAmB;IACpD,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,gBAAgB;IAC9C,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,eAAe;IAC5C,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,iBAAiB;IAChD,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,aAAa;IACxC,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,cAAc;CAC3C,CAAA;
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../../../src/expression/javascript/evaluator.ts"],"names":[],"mappings":"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","sourcesContent":["import { ExpressionContext } from '../context'\nimport { ExpressionEvaluator } from '../evaluator'\nimport { ExpressionFunctions } from '../function'\nimport { ExpressionNode, ExpressionNodeEvaluatorConstructor, ExpressionNodeType } from '../node'\nimport { SystemError } from '../../error'\n\nimport { functionsDefault } from './functionsDefault'\nimport { ArrayEvaluator } from './node/array'\nimport { BinaryEvaluator } from './node/binary'\nimport { CallEvaluator } from './node/call'\nimport { CompoundEvaluator } from './node/compound'\nimport { ConditionalEvaluator } from './node/conditional'\nimport { IdentifierEvaluator } from './node/identifier'\nimport { LiteralEvaluator } from './node/literal'\nimport { MemberEvaluator } from './node/member'\nimport { SequenceEvaluator } from './node/sequence'\nimport { ThisEvaluator } from './node/this'\nimport { UnaryEvaluator } from './node/unary'\nimport { JavascriptExpressionParser } from './parser/parser'\n\ntype Evaluators<C extends ExpressionContext> = {\n [nodeType in ExpressionNodeType]?: ExpressionNodeEvaluatorConstructor<C, ExpressionNode<ExpressionNodeType>>\n}\n\nconst defaultEvaluators = {\n [ExpressionNodeType.Array]: ArrayEvaluator,\n [ExpressionNodeType.Binary]: BinaryEvaluator,\n [ExpressionNodeType.Call]: CallEvaluator,\n [ExpressionNodeType.Compound]: CompoundEvaluator,\n [ExpressionNodeType.Conditional]: ConditionalEvaluator,\n [ExpressionNodeType.Identifier]: IdentifierEvaluator,\n [ExpressionNodeType.Literal]: LiteralEvaluator,\n [ExpressionNodeType.Member]: MemberEvaluator,\n [ExpressionNodeType.Sequence]: SequenceEvaluator,\n [ExpressionNodeType.This]: ThisEvaluator,\n [ExpressionNodeType.Unary]: UnaryEvaluator,\n}\n\n// Parsed expressions cache: the same expressions are evaluated many times (e.g. for every node during a record update).\n// The cached expression nodes are shared, so evaluators must never modify them.\nconst PARSED_EXPRESSIONS_CACHE_MAX_SIZE = 1000\nconst parsedExpressionsCache = new Map<string, ExpressionNode<ExpressionNodeType>>()\nconst expressionParser = new JavascriptExpressionParser()\n\nconst parseExpression = (expression: string): ExpressionNode<ExpressionNodeType> => {\n let expressionNode = parsedExpressionsCache.get(expression)\n if (!expressionNode) {\n expressionNode = expressionParser.parse(expression)\n if (parsedExpressionsCache.size >= PARSED_EXPRESSIONS_CACHE_MAX_SIZE) {\n // evict the oldest entry (Map keeps insertion order)\n const oldestExpression = parsedExpressionsCache.keys().next().value\n if (oldestExpression !== undefined) parsedExpressionsCache.delete(oldestExpression)\n }\n parsedExpressionsCache.set(expression, expressionNode)\n }\n return expressionNode\n}\n\nexport class JavascriptExpressionEvaluator<C extends ExpressionContext> implements ExpressionEvaluator<C> {\n functions: ExpressionFunctions<C>\n evaluators: Evaluators<C>\n\n constructor(functions: ExpressionFunctions<C> = {}, evaluators: Evaluators<C> = {}) {\n this.evaluators = { ...defaultEvaluators, ...evaluators }\n this.functions = { ...functionsDefault, ...functions }\n }\n\n async evaluate(expression: string, context?: C): Promise<any> {\n return this.evaluateNode(parseExpression(expression), context ?? ({} as C))\n }\n\n async evaluateNode(expressionNode: ExpressionNode<ExpressionNodeType>, context: C): Promise<any> {\n const { type } = expressionNode\n\n const NodeEvaluator = this.evaluators[type]\n if (!NodeEvaluator) {\n throw new SystemError('expression.unsupportedFunctionType', { type })\n }\n return new NodeEvaluator(this, context).evaluate(expressionNode)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functionsDefault.js","sourceRoot":"","sources":["../../../../src/expression/javascript/functionsDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAK5C,MAAM,CAAC,MAAM,gBAAgB,GAA6D;IACxF,OAAO,EAAE;QACP,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;KACvD;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;KAC1D;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;KACjC;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"functionsDefault.js","sourceRoot":"","sources":["../../../../src/expression/javascript/functionsDefault.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAK5C,MAAM,CAAC,MAAM,gBAAgB,GAA6D;IACxF,OAAO,EAAE;QACP,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;KACvD;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;KAC1D;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;KACjC;CACF,CAAA","sourcesContent":["import { Objects, UUIDs } from '../../utils'\nimport { ExpressionContext } from '../context'\n\nimport { ExpressionFunction } from '../function'\n\nexport const functionsDefault: { [key: string]: ExpressionFunction<ExpressionContext> } = {\n isEmpty: {\n minArity: 1,\n maxArity: 1,\n executor: () => (value: any) => Objects.isEmpty(value),\n },\n isNotEmpty: {\n minArity: 1,\n maxArity: 1,\n executor: () => (value: any) => Objects.isNotEmpty(value),\n },\n uuid: {\n minArity: 0,\n maxArity: 0,\n executor: () => () => UUIDs.v4(),\n },\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../../../src/expression/javascript/global.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,uBAAuB,GAAoB;IAC/C,KAAK;IACL,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;CACP,CAAA;AACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,MAAW,EAAO,EAAE;IACxE,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,IAAI,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAE7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,WAAW,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"global.js","sourceRoot":"","sources":["../../../../src/expression/javascript/global.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,uBAAuB,GAAoB;IAC/C,KAAK;IACL,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;CACP,CAAA;AACD,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,MAAW,EAAO,EAAE;IACxE,MAAM,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;IAClD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,IAAI,MAAM,IAAI,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAE7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,WAAW,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA","sourcesContent":["import { Dictionary } from '../../common'\nimport { SystemError } from '../../error'\n\nconst globalObjectsDictionary: Dictionary<any> = {\n Array,\n Boolean,\n Date,\n Math,\n Number,\n String,\n}\nconst globalObjectsArray = Object.values(globalObjectsDictionary)\n\nexport const getGlobalObjectProperty = (name: string, object: any): any => {\n const globalObject = globalObjectsDictionary[name]\n if (globalObject) {\n return globalObject\n }\n if (object && globalObjectsArray.includes(object)) {\n const property = object[name]\n\n if (!property) {\n throw new SystemError('expression.undefinedFunction', { name })\n }\n return property\n }\n return null\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAmB,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAErE,MAAM,OAAO,cAA4C,SAAQ,uBAA2C;IAC1G,QAAQ;QACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IACtF,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAmB,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAErE,MAAM,OAAO,cAA4C,SAAQ,uBAA2C;IAC1G,QAAQ;QACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IACtF,CAAC;CACF","sourcesContent":["import { SystemError } from '../../../error'\nimport { ExpressionContext } from '../../context'\nimport { ArrayExpression, ExpressionNodeEvaluator } from '../../node'\n\nexport class ArrayEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<C, ArrayExpression> {\n evaluate(): Promise<any> {\n return Promise.reject(new SystemError('expression.notSupported', { type: 'array' }))\n }\n}\n"]}
|
|
@@ -11,14 +11,20 @@ import { SystemError } from '../../../error';
|
|
|
11
11
|
import { Objects } from '../../../utils';
|
|
12
12
|
import { ExpressionNodeEvaluator } from '../../node';
|
|
13
13
|
const booleanOperators = {
|
|
14
|
+
// Short-circuiting operators (we coerce the output to bool)
|
|
14
15
|
'||': (a, b) => Boolean(a || b),
|
|
15
16
|
'&&': (a, b) => Boolean(a && b),
|
|
17
|
+
// Normal boolean operators:
|
|
16
18
|
'==': (a, b) => a === b,
|
|
17
19
|
'!=': (a, b) => a !== b,
|
|
18
20
|
'<': (a, b) => a < b,
|
|
19
21
|
'>': (a, b) => a > b,
|
|
20
22
|
'<=': (a, b) => a <= b,
|
|
21
23
|
'>=': (a, b) => a >= b,
|
|
24
|
+
// Only allow one kind of equalities.
|
|
25
|
+
// some hidden dependencies on === and !==...
|
|
26
|
+
// '===': (a, b) => a === b,
|
|
27
|
+
// '!==': (a, b) => a !== b,
|
|
22
28
|
};
|
|
23
29
|
const arithmeticOperators = {
|
|
24
30
|
'+': (a, b) => a + b,
|
|
@@ -27,6 +33,14 @@ const arithmeticOperators = {
|
|
|
27
33
|
'/': (a, b) => a / b,
|
|
28
34
|
'%': (a, b) => a % b,
|
|
29
35
|
'**': (a, b) => Math.pow(a, b),
|
|
36
|
+
// Don't allow bitwise operators:
|
|
37
|
+
// '|': (a, b) => a | b,
|
|
38
|
+
// '^': (a, b) => a ^ b,
|
|
39
|
+
// '&': (a, b) => a & b,
|
|
40
|
+
// Don't allow shifts either:
|
|
41
|
+
// '<<': (a, b) => a << b,
|
|
42
|
+
// '>>': (a, b) => a >> b,
|
|
43
|
+
// '>>>': (a, b) => a >>> b,
|
|
30
44
|
};
|
|
31
45
|
const stringOperators = {
|
|
32
46
|
'+': (a, b) => a + b,
|
|
@@ -44,15 +58,19 @@ export class BinaryEvaluator extends ExpressionNodeEvaluator {
|
|
|
44
58
|
}
|
|
45
59
|
const leftResult = yield this.evaluator.evaluateNode(left, this.context);
|
|
46
60
|
const rightResult = yield this.evaluator.evaluateNode(right, this.context);
|
|
61
|
+
// string operators
|
|
47
62
|
if (operator in stringOperators) {
|
|
48
63
|
if (isString(leftResult) || isString(rightResult)) {
|
|
64
|
+
// string concatenation with null or undefined gives null (like arithmetic operations with null)
|
|
49
65
|
if (Objects.isNil(leftResult) || Objects.isNil(rightResult)) {
|
|
50
66
|
return null;
|
|
51
67
|
}
|
|
52
68
|
const strFn = stringOperators[operator];
|
|
53
69
|
return strFn(leftResult, rightResult);
|
|
54
70
|
}
|
|
71
|
+
// operator can be in arithmeticOperators (+), do not return anything now
|
|
55
72
|
}
|
|
73
|
+
// Arithmetic operators will always return nulls for any non-numeric inputs
|
|
56
74
|
if (operator in arithmeticOperators) {
|
|
57
75
|
if (isNumber(leftResult) && isNumber(rightResult)) {
|
|
58
76
|
return fn(leftResult, rightResult);
|
|
@@ -60,6 +78,11 @@ export class BinaryEvaluator extends ExpressionNodeEvaluator {
|
|
|
60
78
|
return null;
|
|
61
79
|
}
|
|
62
80
|
const nullCount = [leftResult, rightResult].filter((result) => result === null || result === undefined).length;
|
|
81
|
+
// Boolean operators:
|
|
82
|
+
// Like ternary logic, but logical OR has special handling.
|
|
83
|
+
// The expression is boolean if either value is not null.
|
|
84
|
+
// Otherwise the result is null.
|
|
85
|
+
// All other operators return null if either operand is null
|
|
63
86
|
const isValid = (operator === '||' && nullCount < 2) || nullCount === 0;
|
|
64
87
|
return isValid ? fn(leftResult, rightResult) : null;
|
|
65
88
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/binary.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,OAAO,EAAoB,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEtE,MAAM,gBAAgB,GAAwD;
|
|
1
|
+
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/binary.ts"],"names":[],"mappings":"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","sourcesContent":["import { SystemError } from '../../../error'\nimport { Objects } from '../../../utils'\nimport { ExpressionContext } from '../../context'\nimport { BinaryExpression, ExpressionNodeEvaluator } from '../../node'\n\nconst booleanOperators: { [operator: string]: (a: any, b: any) => boolean } = {\n // Short-circuiting operators (we coerce the output to bool)\n '||': (a, b) => Boolean(a || b),\n '&&': (a, b) => Boolean(a && b),\n // Normal boolean operators:\n '==': (a, b) => a === b,\n '!=': (a, b) => a !== b,\n '<': (a, b) => a < b,\n '>': (a, b) => a > b,\n '<=': (a, b) => a <= b,\n '>=': (a, b) => a >= b,\n // Only allow one kind of equalities.\n // some hidden dependencies on === and !==...\n // '===': (a, b) => a === b,\n // '!==': (a, b) => a !== b,\n}\n\nconst arithmeticOperators: { [operator: string]: (a: number, b: number) => number } = {\n '+': (a, b) => a + b,\n '-': (a, b) => a - b,\n '*': (a, b) => a * b,\n '/': (a, b) => a / b,\n '%': (a, b) => a % b,\n '**': (a, b) => a ** b,\n // Don't allow bitwise operators:\n // '|': (a, b) => a | b,\n // '^': (a, b) => a ^ b,\n // '&': (a, b) => a & b,\n // Don't allow shifts either:\n // '<<': (a, b) => a << b,\n // '>>': (a, b) => a >> b,\n // '>>>': (a, b) => a >>> b,\n}\n\nconst stringOperators: { [operatos: string]: (a: string, b: string) => string } = {\n '+': (a, b) => a + b,\n}\n\nconst binaryOperators = {\n ...booleanOperators,\n ...arithmeticOperators,\n}\n\nconst isNumber = (value: any) => !Objects.isNil(value) && value.constructor === Number\nconst isString = (value: any) => !Objects.isNil(value) && value.constructor === String\n\nexport class BinaryEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<C, BinaryExpression> {\n async evaluate(expressionNode: BinaryExpression): Promise<any> {\n const { left, right, operator } = expressionNode\n\n const fn = binaryOperators[operator]\n if (!fn) {\n throw new SystemError('expression.booleanOperatorNotSupported', { operator })\n }\n\n const leftResult = await this.evaluator.evaluateNode(left, this.context)\n const rightResult = await this.evaluator.evaluateNode(right, this.context)\n\n // string operators\n if (operator in stringOperators) {\n if (isString(leftResult) || isString(rightResult)) {\n // string concatenation with null or undefined gives null (like arithmetic operations with null)\n if (Objects.isNil(leftResult) || Objects.isNil(rightResult)) {\n return null\n }\n const strFn = stringOperators[operator]\n return strFn(leftResult as string, rightResult as string)\n }\n // operator can be in arithmeticOperators (+), do not return anything now\n }\n\n // Arithmetic operators will always return nulls for any non-numeric inputs\n if (operator in arithmeticOperators) {\n if (isNumber(leftResult) && isNumber(rightResult)) {\n return fn(leftResult as number, rightResult as number)\n }\n return null\n }\n\n const nullCount = [leftResult, rightResult].filter((result) => result === null || result === undefined).length\n\n // Boolean operators:\n // Like ternary logic, but logical OR has special handling.\n // The expression is boolean if either value is not null.\n // Otherwise the result is null.\n // All other operators return null if either operand is null\n const isValid = (operator === '||' && nullCount < 2) || nullCount === 0\n\n return isValid ? fn(leftResult, rightResult) : null\n }\n}\n"]}
|
|
@@ -20,12 +20,15 @@ export class CallEvaluator extends ExpressionNodeEvaluator {
|
|
|
20
20
|
else if (callee.type === ExpressionNodeType.Identifier) {
|
|
21
21
|
return this.evaluateIdentifier(expressionNode);
|
|
22
22
|
}
|
|
23
|
+
// No complex expressions may be put in place of a function body.
|
|
24
|
+
// Only a plain identifier is allowed.
|
|
23
25
|
throw new SystemError('expression.invalidCalleeType', { type: callee.type });
|
|
24
26
|
});
|
|
25
27
|
}
|
|
26
28
|
evaluateMember(expressionNode) {
|
|
27
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
30
|
const { callee, arguments: exprArgs } = expressionNode;
|
|
31
|
+
// global function (e.g. Math.round(...))
|
|
29
32
|
const fn = yield this.evaluator.evaluateNode(callee, this.context);
|
|
30
33
|
if (fn) {
|
|
31
34
|
const { object: calleeObj } = callee;
|
|
@@ -39,15 +42,19 @@ export class CallEvaluator extends ExpressionNodeEvaluator {
|
|
|
39
42
|
}
|
|
40
43
|
evaluateIdentifier(expressionNode) {
|
|
41
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
// Arguments is a reserved word in strict mode
|
|
42
46
|
const { callee, arguments: exprArgs } = expressionNode;
|
|
43
47
|
const { object: contextObject } = this.context;
|
|
44
48
|
const { name: fnName } = callee;
|
|
45
49
|
const functionInfo = this.evaluator.functions[fnName];
|
|
46
50
|
if (functionInfo) {
|
|
51
|
+
// The function is among the custom functions.
|
|
47
52
|
return this.evaluateCustomIdentifier(expressionNode);
|
|
48
53
|
}
|
|
54
|
+
// identifier is a global object
|
|
49
55
|
const globalFn = getGlobalObjectProperty(fnName, contextObject);
|
|
50
56
|
if (globalFn !== null) {
|
|
57
|
+
// global functions like String, Number, must be invoked passing node value as argument, not the node itself
|
|
51
58
|
const contextArg = Object.assign(Object.assign({}, this.context), { evaluateToNode: false });
|
|
52
59
|
const args = yield Promise.all(exprArgs.map((arg) => this.evaluator.evaluateNode(arg, contextArg)));
|
|
53
60
|
return globalFn(...args);
|
|
@@ -57,6 +64,7 @@ export class CallEvaluator extends ExpressionNodeEvaluator {
|
|
|
57
64
|
}
|
|
58
65
|
evaluateCustomIdentifier(expressionNode) {
|
|
59
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
// Arguments is a reserved word in strict mode
|
|
60
68
|
const { callee, arguments: exprArgs } = expressionNode;
|
|
61
69
|
const { name: fnName } = callee;
|
|
62
70
|
const numArgs = exprArgs.length;
|
|
@@ -66,8 +74,12 @@ export class CallEvaluator extends ExpressionNodeEvaluator {
|
|
|
66
74
|
throw new SystemError('expression.functionHasTooFewArguments', { fnName, minArity, numArgs });
|
|
67
75
|
if (maxArity !== undefined && maxArity >= 0 && numArgs > maxArity)
|
|
68
76
|
throw new SystemError('expression.functionHasTooManyArguments', { fnName, maxArity, numArgs });
|
|
77
|
+
// evaluate arguments
|
|
69
78
|
const argsContext = Object.assign(Object.assign({}, this.context), { evaluateToNode: evaluateArgsToNodes });
|
|
70
79
|
const args = yield Promise.all(exprArgs.map((arg) => this.evaluator.evaluateNode(arg, argsContext)));
|
|
80
|
+
// Currently there are no side effects from function evaluation so it's
|
|
81
|
+
// safe to call the function even when we're just parsing the expression
|
|
82
|
+
// to find all identifiers being used.
|
|
71
83
|
return executor(this.context)(...args);
|
|
72
84
|
});
|
|
73
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/call.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAG5C,OAAO,EAAkB,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACxF,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,OAAO,aAA2C,SAAQ,uBAA0C;IAClG,QAAQ,CAAC,cAA8B;;YAC3C,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAA;YAEjC,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,CAAC,MAAM,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;YAC5C,CAAC;iBAAM,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,CAAC,UAAU,EAAE,CAAC;gBACzD,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;YAChD,CAAC;
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/call.ts"],"names":[],"mappings":"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","sourcesContent":["import { IdentifierExpression, MemberExpression } from '../..'\nimport { SystemError } from '../../../error'\nimport { ExpressionContext } from '../../context'\nimport { ExpressionFunction } from '../../function'\nimport { CallExpression, ExpressionNodeEvaluator, ExpressionNodeType } from '../../node'\nimport { getGlobalObjectProperty } from '../global'\n\nexport class CallEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<C, CallExpression> {\n async evaluate(expressionNode: CallExpression): Promise<any> {\n const { callee } = expressionNode\n\n if (callee.type === ExpressionNodeType.Member) {\n return this.evaluateMember(expressionNode)\n } else if (callee.type === ExpressionNodeType.Identifier) {\n return this.evaluateIdentifier(expressionNode)\n }\n\n // No complex expressions may be put in place of a function body.\n // Only a plain identifier is allowed.\n throw new SystemError('expression.invalidCalleeType', { type: callee.type })\n }\n\n async evaluateMember(expressionNode: CallExpression): Promise<any> {\n const { callee, arguments: exprArgs } = expressionNode\n\n // global function (e.g. Math.round(...))\n const fn = await this.evaluator.evaluateNode(callee, this.context)\n if (fn) {\n const { object: calleeObj } = callee as MemberExpression\n const fnObject = await this.evaluator.evaluateNode(calleeObj, this.context)\n const argsEvaluated = await Promise.all(exprArgs.map((arg) => this.evaluator.evaluateNode(arg, this.context)))\n const args = argsEvaluated.flat()\n return fn.call(fnObject, ...args)\n }\n return null\n }\n\n async evaluateIdentifier(expressionNode: CallExpression): Promise<any> {\n // Arguments is a reserved word in strict mode\n const { callee, arguments: exprArgs } = expressionNode\n const { object: contextObject } = this.context\n\n const { name: fnName } = callee as IdentifierExpression\n\n const functionInfo = this.evaluator.functions[fnName]\n if (functionInfo) {\n // The function is among the custom functions.\n return this.evaluateCustomIdentifier(expressionNode)\n }\n // identifier is a global object\n const globalFn = getGlobalObjectProperty(fnName, contextObject)\n if (globalFn !== null) {\n // global functions like String, Number, must be invoked passing node value as argument, not the node itself\n const contextArg = { ...this.context, evaluateToNode: false }\n const args = await Promise.all(exprArgs.map((arg) => this.evaluator.evaluateNode(arg, contextArg)))\n return globalFn(...args)\n }\n\n throw new SystemError('expression.undefinedFunction', { name: fnName })\n }\n\n async evaluateCustomIdentifier(expressionNode: CallExpression): Promise<any> {\n // Arguments is a reserved word in strict mode\n const { callee, arguments: exprArgs } = expressionNode\n\n const { name: fnName } = callee as IdentifierExpression\n const numArgs = exprArgs.length\n\n const expressionFunction: ExpressionFunction<C> = this.evaluator.functions[fnName]\n\n const { minArity, maxArity, evaluateArgsToNodes, executor } = expressionFunction\n\n if (numArgs < minArity)\n throw new SystemError('expression.functionHasTooFewArguments', { fnName, minArity, numArgs })\n if (maxArity !== undefined && maxArity >= 0 && numArgs > maxArity)\n throw new SystemError('expression.functionHasTooManyArguments', { fnName, maxArity, numArgs })\n\n // evaluate arguments\n const argsContext = { ...this.context, evaluateToNode: evaluateArgsToNodes }\n const args = await Promise.all(exprArgs.map((arg) => this.evaluator.evaluateNode(arg, argsContext)))\n\n // Currently there are no side effects from function evaluation so it's\n // safe to call the function even when we're just parsing the expression\n // to find all identifiers being used.\n return executor(this.context)(...args)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compound.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/compound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAsB,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAExE,MAAM,OAAO,iBAA+C,SAAQ,uBAA8C;IAChH,QAAQ;QACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;IACzF,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"compound.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/compound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAsB,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAExE,MAAM,OAAO,iBAA+C,SAAQ,uBAA8C;IAChH,QAAQ;QACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;IACzF,CAAC;CACF","sourcesContent":["import { SystemError } from '../../../error'\nimport { ExpressionContext } from '../../context'\nimport { CompoundExpression, ExpressionNodeEvaluator } from '../../node'\n\nexport class CompoundEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<C, CompoundExpression> {\n evaluate(): Promise<any> {\n return Promise.reject(new SystemError('expression.notSupported', { type: 'compound' }))\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/conditional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAyB,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAE3E,MAAM,OAAO,oBAAkD,SAAQ,uBAGtE;IACC,QAAQ;QACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAA;IAC5F,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"conditional.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/conditional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAyB,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAE3E,MAAM,OAAO,oBAAkD,SAAQ,uBAGtE;IACC,QAAQ;QACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAA;IAC5F,CAAC;CACF","sourcesContent":["import { SystemError } from '../../../error'\nimport { ExpressionContext } from '../../context'\nimport { ConditionalExpression, ExpressionNodeEvaluator } from '../../node'\n\nexport class ConditionalEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<\n C,\n ConditionalExpression\n> {\n evaluate(): Promise<any> {\n return Promise.reject(new SystemError('expression.notSupported', { type: 'conditional' }))\n }\n}\n"]}
|
|
@@ -9,6 +9,13 @@ const getNativeProperty = (name, object) => {
|
|
|
9
9
|
return typeof prop === 'function' ? prop.bind(object) : prop;
|
|
10
10
|
};
|
|
11
11
|
export class IdentifierEvaluator extends ExpressionNodeEvaluator {
|
|
12
|
+
/**
|
|
13
|
+
* Looks for the identifier among global or native properties, without throwing when it is not found
|
|
14
|
+
* (creating errors captures stack traces, which is expensive when it happens for every evaluated identifier).
|
|
15
|
+
*
|
|
16
|
+
* @param expressionNode - The identifier expression node.
|
|
17
|
+
* @returns The property value wrapped in an object, or null if the identifier has not been found.
|
|
18
|
+
*/
|
|
12
19
|
findGlobalOrNativeProperty(expressionNode) {
|
|
13
20
|
const { name } = expressionNode;
|
|
14
21
|
const { object: contextObject } = this.context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,uBAAuB,EAAwB,MAAM,YAAY,CAAA;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,MAAW,EAAE,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,IAAI,CAAC,CAAA;IAC3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,OAAO,mBAAiD,SAAQ,uBAAgD;
|
|
1
|
+
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/identifier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,uBAAuB,EAAwB,MAAM,YAAY,CAAA;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AAEnD,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,MAAW,EAAE,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,IAAI,CAAC,CAAA;IAC3B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAC9D,CAAC,CAAA;AAED,MAAM,OAAO,mBAAiD,SAAQ,uBAAgD;IACpH;;;;;;OAMG;IACO,0BAA0B,CAAC,cAAoC;QACvE,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAA;QAC/B,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAE9C,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;QAC/D,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;QAC9B,CAAC;QACD,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;QAC7D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,CAAA;QAClC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ,CAAC,cAAoC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAA;QAChE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,+BAA+B,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACxG,CAAC;CACF","sourcesContent":["import { SystemError } from '../../../error'\nimport { ExpressionContext } from '../../context'\nimport { ExpressionNodeEvaluator, IdentifierExpression } from '../../node'\nimport { getGlobalObjectProperty } from '../global'\n\nconst getNativeProperty = (name: string, object: any) => {\n const prop = object?.[name]\n if (prop === undefined) {\n return undefined\n }\n return typeof prop === 'function' ? prop.bind(object) : prop\n}\n\nexport class IdentifierEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<C, IdentifierExpression> {\n /**\n * Looks for the identifier among global or native properties, without throwing when it is not found\n * (creating errors captures stack traces, which is expensive when it happens for every evaluated identifier).\n *\n * @param expressionNode - The identifier expression node.\n * @returns The property value wrapped in an object, or null if the identifier has not been found.\n */\n protected findGlobalOrNativeProperty(expressionNode: IdentifierExpression): { value: any } | null {\n const { name } = expressionNode\n const { object: contextObject } = this.context\n\n const globalProp = getGlobalObjectProperty(name, contextObject)\n if (globalProp !== null) {\n return { value: globalProp }\n }\n const nativeProperty = getNativeProperty(name, contextObject)\n if (nativeProperty !== undefined) {\n return { value: nativeProperty }\n }\n return null\n }\n\n evaluate(expressionNode: IdentifierExpression): Promise<any> {\n const property = this.findGlobalOrNativeProperty(expressionNode)\n if (property) {\n return Promise.resolve(property.value)\n }\n return Promise.reject(new SystemError('expression.identifierNotFound', { name: expressionNode.name }))\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/literal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAqB,MAAM,YAAY,CAAA;AAEvE,MAAM,OAAO,gBAA8C,SAAQ,uBAA6C;IAC9G,QAAQ,CAAC,cAAiC;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"literal.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/literal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAqB,MAAM,YAAY,CAAA;AAEvE,MAAM,OAAO,gBAA8C,SAAQ,uBAA6C;IAC9G,QAAQ,CAAC,cAAiC;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC9C,CAAC;CACF","sourcesContent":["import { ExpressionContext } from '../../context'\nimport { ExpressionNodeEvaluator, LiteralExpression } from '../../node'\n\nexport class LiteralEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<C, LiteralExpression> {\n evaluate(expressionNode: LiteralExpression): Promise<any> {\n return Promise.resolve(expressionNode.value)\n }\n}\n"]}
|
|
@@ -11,15 +11,19 @@ import { ExpressionNodeEvaluator } from '../../node';
|
|
|
11
11
|
export class MemberEvaluator extends ExpressionNodeEvaluator {
|
|
12
12
|
evaluateComputedProperty(property, objectEval) {
|
|
13
13
|
return __awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
// expressions like plot[1] or plot[plot_id == 1]
|
|
14
15
|
const propertyEval = yield this.evaluator.evaluateNode(property, Object.assign(Object.assign({}, this.context), { object: this.context.object }));
|
|
15
16
|
if (typeof propertyEval === 'number') {
|
|
17
|
+
// expressions like plot[1]
|
|
16
18
|
return objectEval[propertyEval];
|
|
17
19
|
}
|
|
18
20
|
if (Array.isArray(objectEval)) {
|
|
21
|
+
// expressions where the member property is a filter function (e.g. plot[plot_id == 1])
|
|
19
22
|
const filtered = [];
|
|
20
23
|
for (const objectEvalItem of objectEval) {
|
|
21
24
|
const itemContext = Object.assign(Object.assign({}, this.context), { object: objectEvalItem, evaluateToNode: false });
|
|
22
|
-
|
|
25
|
+
// evaluate items sequentially, to avoid concurrent category item / taxon lookups on large node sets
|
|
26
|
+
const itemMatches = yield this.evaluator.evaluateNode(property, itemContext); // NOSONAR
|
|
23
27
|
if (itemMatches) {
|
|
24
28
|
filtered.push(objectEvalItem);
|
|
25
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/member.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAkB,uBAAuB,EAAoB,MAAM,YAAY,CAAA;AAEtF,MAAM,OAAO,eAA6C,SAAQ,uBAA4C;IACtG,wBAAwB,CAAC,QAA6B,EAAE,UAAe;;
|
|
1
|
+
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/member.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAkB,uBAAuB,EAAoB,MAAM,YAAY,CAAA;AAEtF,MAAM,OAAO,eAA6C,SAAQ,uBAA4C;IACtG,wBAAwB,CAAC,QAA6B,EAAE,UAAe;;YAC3E,iDAAiD;YAEjD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,kCAC1D,IAAI,CAAC,OAAO,KACf,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAC3B,CAAA;YAEF,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACrC,2BAA2B;gBAC3B,OAAO,UAAU,CAAC,YAAY,CAAC,CAAA;YACjC,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,uFAAuF;gBAEvF,MAAM,QAAQ,GAAG,EAAE,CAAA;gBACnB,KAAK,MAAM,cAAc,IAAI,UAAU,EAAE,CAAC;oBACxC,MAAM,WAAW,mCAAQ,IAAI,CAAC,OAAO,KAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,GAAE,CAAA;oBACtF,oGAAoG;oBACpG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA,CAAC,UAAU;oBACvF,IAAI,WAAW,EAAE,CAAC;wBAChB,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;oBAC/B,CAAC;gBACH,CAAC;gBACD,OAAO,QAAQ,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,OAAO,YAAY,CAAA;YACrB,CAAC;QACH,CAAC;KAAA;IAEK,QAAQ,CAAC,cAAgC;;YAC7C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAA;YAErD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,kCAAO,IAAI,CAAC,OAAO,KAAE,cAAc,EAAE,IAAI,IAAG,CAAA;YACvG,IAAI,CAAC,UAAU;gBAAE,OAAO,IAAI,CAAA;YAE5B,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YAC5D,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,kCAC1D,IAAI,CAAC,OAAO,KACf,MAAM,EAAE,UAAU,IAClB,CAAA;YAEF,OAAO,YAAY,CAAA;QACrB,CAAC;KAAA;CACF","sourcesContent":["import { ExpressionContext } from '../../context'\nimport { ExpressionNode, ExpressionNodeEvaluator, MemberExpression } from '../../node'\n\nexport class MemberEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<C, MemberExpression> {\n async evaluateComputedProperty(property: ExpressionNode<any>, objectEval: any): Promise<any> {\n // expressions like plot[1] or plot[plot_id == 1]\n\n const propertyEval = await this.evaluator.evaluateNode(property, {\n ...this.context,\n object: this.context.object,\n })\n\n if (typeof propertyEval === 'number') {\n // expressions like plot[1]\n return objectEval[propertyEval]\n }\n\n if (Array.isArray(objectEval)) {\n // expressions where the member property is a filter function (e.g. plot[plot_id == 1])\n\n const filtered = []\n for (const objectEvalItem of objectEval) {\n const itemContext = { ...this.context, object: objectEvalItem, evaluateToNode: false }\n // evaluate items sequentially, to avoid concurrent category item / taxon lookups on large node sets\n const itemMatches = await this.evaluator.evaluateNode(property, itemContext) // NOSONAR\n if (itemMatches) {\n filtered.push(objectEvalItem)\n }\n }\n return filtered\n } else {\n return propertyEval\n }\n }\n\n async evaluate(expressionNode: MemberExpression): Promise<any> {\n const { object, property, computed } = expressionNode\n\n const objectEval = await this.evaluator.evaluateNode(object, { ...this.context, evaluateToNode: true })\n if (!objectEval) return null\n\n if (computed) {\n return this.evaluateComputedProperty(property, objectEval)\n }\n\n const propertyEval = await this.evaluator.evaluateNode(property, {\n ...this.context,\n object: objectEval,\n })\n\n return propertyEval\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/sequence.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,uBAAuB,EAAsB,MAAM,YAAY,CAAA;AAExE,MAAM,OAAO,iBAA+C,SAAQ,uBAA8C;IAC1G,QAAQ,CAAC,cAAkC;;YAC/C,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,CAAA;YACrC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9D,CAAC;KAAA;CACF"}
|
|
1
|
+
{"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/sequence.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,uBAAuB,EAAsB,MAAM,YAAY,CAAA;AAExE,MAAM,OAAO,iBAA+C,SAAQ,uBAA8C;IAC1G,QAAQ,CAAC,cAAkC;;YAC/C,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,CAAA;YACrC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9D,CAAC;KAAA;CACF","sourcesContent":["import { ExpressionContext } from '../../context'\nimport { ExpressionNodeEvaluator, SequenceExpression } from '../../node'\n\nexport class SequenceEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<C, SequenceExpression> {\n async evaluate(expressionNode: SequenceExpression): Promise<any> {\n const { expression } = expressionNode\n return this.evaluator.evaluateNode(expression, this.context)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"this.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/this.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,uBAAuB,EAAkB,MAAM,YAAY,CAAA;AAEpE,MAAM,OAAO,aAA2C,SAAQ,uBAA0C;IACxG,QAAQ;QACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACrF,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"this.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/this.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,uBAAuB,EAAkB,MAAM,YAAY,CAAA;AAEpE,MAAM,OAAO,aAA2C,SAAQ,uBAA0C;IACxG,QAAQ;QACN,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IACrF,CAAC;CACF","sourcesContent":["import { SystemError } from '../../../error'\nimport { ExpressionContext } from '../../context'\nimport { ExpressionNodeEvaluator, ThisExpression } from '../../node'\n\nexport class ThisEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<C, ThisExpression> {\n evaluate(): Promise<any> {\n return Promise.reject(new SystemError('expression.notSupported', { type: 'this' }))\n }\n}\n"]}
|
|
@@ -10,8 +10,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { SystemError } from '../../../error';
|
|
11
11
|
import { ExpressionNodeEvaluator } from '../../node';
|
|
12
12
|
const unaryOperators = {
|
|
13
|
+
// Only accept bools and nulls as input.
|
|
14
|
+
// Otherwise return null
|
|
13
15
|
'!': (x) => (x === null || x === undefined || x.constructor === Boolean ? !x : null),
|
|
16
|
+
// Negation: Only accept normal finite numbers, otherwise return null
|
|
17
|
+
// NOTE: Under JS semantics, we would have -"123" -> -123
|
|
14
18
|
'-': (x) => (Number.isFinite(x) ? -x : null),
|
|
19
|
+
// Don't allow the unary + operator now. Define semantics for it first.
|
|
20
|
+
// Under JS semantics, "+" coerces a string to a number.
|
|
21
|
+
// Maybe we should just have `parseNumber` in `stdlib`?
|
|
22
|
+
// '+': x => R.isNil(x) ? null : +x,
|
|
15
23
|
};
|
|
16
24
|
export class UnaryEvaluator extends ExpressionNodeEvaluator {
|
|
17
25
|
evaluate(expressionNode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unary.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/unary.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,uBAAuB,EAAmB,MAAM,YAAY,CAAA;AAErE,MAAM,cAAc,GAAuC;
|
|
1
|
+
{"version":3,"file":"unary.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/node/unary.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,uBAAuB,EAAmB,MAAM,YAAY,CAAA;AAErE,MAAM,cAAc,GAAuC;IACzD,wCAAwC;IACxC,wBAAwB;IACxB,GAAG,EAAE,CAAC,CAAM,EAAkB,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzG,qEAAqE;IACrE,yDAAyD;IACzD,GAAG,EAAE,CAAC,CAAM,EAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhE,uEAAuE;IACvE,wDAAwD;IACxD,uDAAuD;IACvD,oCAAoC;CACrC,CAAA;AAED,MAAM,OAAO,cAA4C,SAAQ,uBAA2C;IACpG,QAAQ,CAAC,cAA+B;;YAC5C,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAA;YAC7C,MAAM,EAAE,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAA;YAEnC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,WAAW,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;YAC7E,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YACrE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC;KAAA;CACF","sourcesContent":["import { SystemError } from '../../../error'\nimport { ExpressionContext } from '../../context'\nimport { ExpressionNodeEvaluator, UnaryExpression } from '../../node'\n\nconst unaryOperators: { [key: string]: (x: any) => any } = {\n // Only accept bools and nulls as input.\n // Otherwise return null\n '!': (x: any): boolean | null => (x === null || x === undefined || x.constructor === Boolean ? !x : null),\n\n // Negation: Only accept normal finite numbers, otherwise return null\n // NOTE: Under JS semantics, we would have -\"123\" -> -123\n '-': (x: any): number | null => (Number.isFinite(x) ? -x : null),\n\n // Don't allow the unary + operator now. Define semantics for it first.\n // Under JS semantics, \"+\" coerces a string to a number.\n // Maybe we should just have `parseNumber` in `stdlib`?\n // '+': x => R.isNil(x) ? null : +x,\n}\n\nexport class UnaryEvaluator<C extends ExpressionContext> extends ExpressionNodeEvaluator<C, UnaryExpression> {\n async evaluate(expressionNode: UnaryExpression): Promise<any> {\n const { argument, operator } = expressionNode\n const fn = unaryOperators[operator]\n\n if (!fn) {\n throw new SystemError('expression.unaryOperatorNotSupported', { operator })\n }\n\n const res = await this.evaluator.evaluateNode(argument, this.context)\n return fn(res)\n }\n}\n"]}
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import jsep from 'jsep';
|
|
2
2
|
import jsepRegex from '@jsep-plugin/regex';
|
|
3
3
|
jsep.plugins.register(jsepRegex);
|
|
4
|
+
// Add exponentiation operator (right-to-left)
|
|
4
5
|
jsep.addBinaryOp('**', 11, true);
|
|
5
|
-
const OPEN_PARENTHESIS_CODE = 40;
|
|
6
|
-
const CLOSE_PARENTHESIS_CODE = 41;
|
|
6
|
+
const OPEN_PARENTHESIS_CODE = 40; // (
|
|
7
|
+
const CLOSE_PARENTHESIS_CODE = 41; // )
|
|
7
8
|
const SEQUENCE_EXPRESSION = 'SequenceExpression';
|
|
9
|
+
// keep sequence expressions in parsed expression, even when there is only one node inside of it
|
|
10
|
+
// (by default the unnecessary enclosing parenthesis of a sequence expression are omitted, but this won't work in the basic expression editor)
|
|
8
11
|
const sequenceExpressionPlugin = {
|
|
9
12
|
name: 'the plugin',
|
|
10
13
|
init(thisJsep) {
|
|
11
14
|
thisJsep.hooks.add('gobble-token', (env) => {
|
|
12
15
|
const { context } = env;
|
|
16
|
+
// token starts with
|
|
13
17
|
if (!thisJsep.isIdentifierStart(context.code) && context.code === OPEN_PARENTHESIS_CODE) {
|
|
14
18
|
context.index += 1;
|
|
15
19
|
let nodes = context.gobbleExpressions(CLOSE_PARENTHESIS_CODE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsep.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/parser/jsep.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAE1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAoC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"jsep.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/parser/jsep.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAE1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAoC,CAAC,CAAA;AAE3D,8CAA8C;AAC9C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;AAEhC,MAAM,qBAAqB,GAAG,EAAE,CAAA,CAAC,IAAI;AACrC,MAAM,sBAAsB,GAAG,EAAE,CAAA,CAAC,IAAI;AAEtC,MAAM,mBAAmB,GAAG,oBAAoB,CAAA;AAEhD,gGAAgG;AAChG,8IAA8I;AAC9I,MAAM,wBAAwB,GAAG;IAC/B,IAAI,EAAE,YAAY;IAClB,IAAI,CAAC,QAAa;QAChB,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,GAAQ,EAAQ,EAAE;YACpD,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAA;YACvB,oBAAoB;YACpB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACxF,OAAO,CAAC,KAAK,IAAI,CAAC,CAAA;gBAClB,IAAI,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAA;gBAC7D,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;oBAC5C,OAAO,CAAC,KAAK,IAAI,CAAC,CAAA;oBAClB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,GAAG,CAAC,IAAI,GAAG;4BACT,IAAI,EAAE,mBAAmB;4BACzB,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;yBACrB,CAAA;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA;AAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,wBAAwC,CAAC,CAAA;AAE/D,OAAO,EAAE,IAAI,EAAE,CAAA","sourcesContent":["import jsep from 'jsep'\nimport jsepRegex from '@jsep-plugin/regex'\n\njsep.plugins.register(jsepRegex as unknown as jsep.IPlugin)\n\n// Add exponentiation operator (right-to-left)\njsep.addBinaryOp('**', 11, true)\n\nconst OPEN_PARENTHESIS_CODE = 40 // (\nconst CLOSE_PARENTHESIS_CODE = 41 // )\n\nconst SEQUENCE_EXPRESSION = 'SequenceExpression'\n\n// keep sequence expressions in parsed expression, even when there is only one node inside of it\n// (by default the unnecessary enclosing parenthesis of a sequence expression are omitted, but this won't work in the basic expression editor)\nconst sequenceExpressionPlugin = {\n name: 'the plugin',\n init(thisJsep: any) {\n thisJsep.hooks.add('gobble-token', (env: any): void => {\n const { context } = env\n // token starts with\n if (!thisJsep.isIdentifierStart(context.code) && context.code === OPEN_PARENTHESIS_CODE) {\n context.index += 1\n let nodes = context.gobbleExpressions(CLOSE_PARENTHESIS_CODE)\n if (context.code === CLOSE_PARENTHESIS_CODE) {\n context.index += 1\n if (nodes.length > 0) {\n env.node = {\n type: SEQUENCE_EXPRESSION,\n expression: nodes[0],\n }\n }\n } else {\n context.throwError('Unclosed (')\n }\n }\n })\n },\n}\n\njsep.plugins.register(sequenceExpressionPlugin as jsep.IPlugin)\n\nexport { jsep }\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/parser/parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,OAAO,0BAA0B;IACrC,KAAK,CAAC,UAAkB;QACtB,OAAO,IAAI,CAAC,UAAU,CAAuC,CAAA;IAC/D,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../src/expression/javascript/parser/parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,OAAO,0BAA0B;IACrC,KAAK,CAAC,UAAkB;QACtB,OAAO,IAAI,CAAC,UAAU,CAAuC,CAAA;IAC/D,CAAC;CACF","sourcesContent":["import { ExpressionNode, ExpressionNodeType } from '../../node'\nimport { ExpressionParser } from '../../parser'\nimport { jsep } from './jsep'\n\nexport class JavascriptExpressionParser implements ExpressionParser {\n parse(expression: string): ExpressionNode<ExpressionNodeType> {\n return jsep(expression) as ExpressionNode<ExpressionNodeType>\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/expression/node.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,kBAYX;AAZD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;IAC3B,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,yCAAmB,CAAA;IACnB,iDAA2B,CAAA;IAC3B,qDAA+B,CAAA;IAC/B,6CAAuB,CAAA;IACvB,+CAAyB,CAAA;AAC3B,CAAC,EAZW,kBAAkB,KAAlB,kBAAkB,QAY7B;AAsDD,MAAM,OAAgB,uBAAuB;IAO3C,YAAY,SAAiC,EAAE,OAAU;QACvD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CAGF"}
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/expression/node.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,kBAYX;AAZD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;IAC3B,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2DAAqC,CAAA;IACrC,+CAAyB,CAAA;IACzB,yCAAmB,CAAA;IACnB,iDAA2B,CAAA;IAC3B,qDAA+B,CAAA;IAC/B,6CAAuB,CAAA;IACvB,+CAAyB,CAAA;AAC3B,CAAC,EAZW,kBAAkB,KAAlB,kBAAkB,QAY7B;AAsDD,MAAM,OAAgB,uBAAuB;IAO3C,YAAY,SAAiC,EAAE,OAAU;QACvD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;CAGF","sourcesContent":["import { ExpressionEvaluator } from './evaluator'\nimport { ExpressionContext } from './context'\n\nexport enum ExpressionNodeType {\n Array = 'ArrayExpression',\n Binary = 'BinaryExpression',\n Call = 'CallExpression',\n Compound = 'Compound',\n Conditional = 'ConditionalExpression',\n Identifier = 'Identifier',\n Literal = 'Literal',\n Member = 'MemberExpression',\n Sequence = 'SequenceExpression',\n This = 'ThisExpression',\n Unary = 'UnaryExpression',\n}\n\nexport interface ExpressionNode<T extends ExpressionNodeType> {\n type: T\n}\n\nexport interface ArrayExpression extends ExpressionNode<ExpressionNodeType.Array> {\n elements: Array<ExpressionNode<ExpressionNodeType>>\n}\nexport interface BinaryExpression extends ExpressionNode<ExpressionNodeType.Binary> {\n left: ExpressionNode<ExpressionNodeType>\n right: ExpressionNode<ExpressionNodeType>\n operator: string\n}\nexport interface CallExpression extends ExpressionNode<ExpressionNodeType.Call> {\n arguments: Array<ExpressionNode<ExpressionNodeType>>\n callee: ExpressionNode<ExpressionNodeType>\n}\nexport type CompoundExpression = ExpressionNode<ExpressionNodeType.Compound>\nexport interface ConditionalExpression extends ExpressionNode<ExpressionNodeType.Conditional> {\n test: ExpressionNode<ExpressionNodeType>\n consequent: ExpressionNode<ExpressionNodeType>\n alternate: ExpressionNode<ExpressionNodeType>\n}\nexport interface IdentifierExpression extends ExpressionNode<ExpressionNodeType.Identifier> {\n name: string\n}\nexport interface LiteralExpression extends ExpressionNode<ExpressionNodeType.Literal> {\n raw: string\n value: any\n}\nexport interface MemberExpression extends ExpressionNode<ExpressionNodeType.Member> {\n computed: boolean\n object: ExpressionNode<ExpressionNodeType>\n property: ExpressionNode<ExpressionNodeType>\n optional?: boolean\n}\nexport interface SequenceExpression extends ExpressionNode<ExpressionNodeType.Sequence> {\n expression: ExpressionNode<ExpressionNodeType>\n}\nexport type ThisExpression = ExpressionNode<ExpressionNodeType.This>\nexport interface UnaryExpression extends ExpressionNode<ExpressionNodeType.Unary> {\n argument: ExpressionNode<ExpressionNodeType>\n operator: string\n prefix: boolean\n}\n\nexport interface ExpressionNodeEvaluatorConstructor<\n C extends ExpressionContext,\n N extends ExpressionNode<ExpressionNodeType>,\n> {\n new (evaluator: ExpressionEvaluator<C>, context: C): ExpressionNodeEvaluator<C, N>\n}\n\nexport abstract class ExpressionNodeEvaluator<\n C extends ExpressionContext,\n N extends ExpressionNode<ExpressionNodeType>,\n> {\n readonly evaluator: ExpressionEvaluator<C>\n readonly context: C\n\n constructor(evaluator: ExpressionEvaluator<C>, context: C) {\n this.evaluator = evaluator\n this.context = context\n }\n\n abstract evaluate(expressionNode: N): Promise<any>\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/expression/parser.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/expression/parser.ts"],"names":[],"mappings":"","sourcesContent":["import { ExpressionNode, ExpressionNodeType } from './node'\n\nexport interface ExpressionParser {\n parse(expression: string): ExpressionNode<ExpressionNodeType>\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variable.js","sourceRoot":"","sources":["../../../src/expression/variable.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC5B,0CAAoB,CAAA;AACtB,CAAC,EAFW,kBAAkB,KAAlB,kBAAkB,QAE7B"}
|
|
1
|
+
{"version":3,"file":"variable.js","sourceRoot":"","sources":["../../../src/expression/variable.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBAEX;AAFD,WAAY,kBAAkB;IAC5B,0CAAoB,CAAA;AACtB,CAAC,EAFW,kBAAkB,KAAlB,kBAAkB,QAE7B","sourcesContent":["export enum ExpressionVariable {\n CONTEXT = '$context',\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraProp.js","sourceRoot":"","sources":["../../../src/extraProp/extraProp.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,oDAA+B,CAAA;AACjC,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B"}
|
|
1
|
+
{"version":3,"file":"extraProp.js","sourceRoot":"","sources":["../../../src/extraProp/extraProp.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,oDAA+B,CAAA;AACjC,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B","sourcesContent":["export enum ExtraPropDataType {\n text = 'text',\n number = 'number',\n geometryPoint = 'geometryPoint',\n}\n\nexport interface ExtraPropDef {\n key: string\n dataType?: ExtraPropDataType\n}\n\nexport interface ExtraPropDefs {\n [key: string]: ExtraPropDef\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraProps.js","sourceRoot":"","sources":["../../../src/extraProp/extraProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,MAAM,eAAe,GAAoF;IACvG,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IACzF,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5E,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;CAC3E,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,YAA0B,EAAqB,EAAE,WAAC,OAAA,MAAA,YAAY,CAAC,QAAQ,mCAAI,iBAAiB,CAAC,IAAI,CAAA,EAAA,CAAA;AAEtH,MAAM,YAAY,GAAG,CAAC,MAAkE,EAAE,EAAE;IAC1F,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAC9C,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,OAAO,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW;IACX,YAAY;CACb,CAAA"}
|
|
1
|
+
{"version":3,"file":"extraProps.js","sourceRoot":"","sources":["../../../src/extraProp/extraProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAElC,MAAM,eAAe,GAAoF;IACvG,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IACzF,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAC5E,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAsB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;CAC3E,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,YAA0B,EAAqB,EAAE,WAAC,OAAA,MAAA,YAAY,CAAC,QAAQ,mCAAI,iBAAiB,CAAC,IAAI,CAAA,EAAA,CAAA;AAEtH,MAAM,YAAY,GAAG,CAAC,MAAkE,EAAE,EAAE;IAC1F,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IAC9C,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvC,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAA;IAC5D,OAAO,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AACrC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW;IACX,YAAY;CACb,CAAA","sourcesContent":["import { ExtraPropDataType, ExtraPropDef } from './extraProp'\nimport { Points } from '../geo'\nimport { Survey } from '../survey'\nimport { Objects } from '../utils'\n\nconst covertersByType: { [key in ExtraPropDataType]: (params: { survey: Survey; value: any }) => any } = {\n [ExtraPropDataType.geometryPoint]: (params: { value: any }) => Points.parse(params.value),\n [ExtraPropDataType.number]: (params: { value: any }) => Number(params.value),\n [ExtraPropDataType.text]: (params: { value: any }) => String(params.value),\n}\n\nconst getDataType = (extraPropDef: ExtraPropDef): ExtraPropDataType => extraPropDef.dataType ?? ExtraPropDataType.text\n\nconst convertValue = (params: { survey: Survey; extraPropDef: ExtraPropDef; value: any }) => {\n const { survey, extraPropDef, value } = params\n if (Objects.isEmpty(value)) return null\n\n const converter = covertersByType[getDataType(extraPropDef)]\n return converter({ survey, value })\n}\n\nexport const ExtraProps = {\n getDataType,\n convertValue,\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extraPropsDataGenerator.js","sourceRoot":"","sources":["../../../src/extraProp/extraPropsDataGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,eAAe,GAAwC;IAC3D,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5F,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAAG;IAC/B,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK;CAChC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,MAAwC,EAA0B,EAAE;IACxF,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;IAChC,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE;QAC5F,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;QAC7D,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,YAAY;CACb,CAAA"}
|
|
1
|
+
{"version":3,"file":"extraPropsDataGenerator.js","sourceRoot":"","sources":["../../../src/extraProp/extraPropsDataGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,MAAM,eAAe,GAAwC;IAC3D,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5F,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAAG;IAC/B,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK;CAChC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,MAAwC,EAA0B,EAAE;IACxF,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;IAChC,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE;QAC5F,GAAG,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;QAC7D,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,YAAY;CACb,CAAA","sourcesContent":["import { ExtraPropDataType, ExtraPropDefs } from './extraProp'\nimport { PointFactory } from '../geo'\nimport { ExtraProps } from './extraProps'\n\nconst valueByDataType: { [key in ExtraPropDataType]: any } = {\n [ExtraPropDataType.geometryPoint]: PointFactory.createInstance({ x: 12.48904, y: 41.88304 }),\n [ExtraPropDataType.number]: 100,\n [ExtraPropDataType.text]: 'abc',\n}\n\nconst generateData = (params: { extraPropDefs: ExtraPropDefs }): { [key: string]: any } => {\n const { extraPropDefs } = params\n return Object.entries(extraPropDefs).reduce((acc: { [key: string]: any }, [key, extraProp]) => {\n acc[key] = valueByDataType[ExtraProps.getDataType(extraProp)]\n return acc\n }, {})\n}\n\nexport const ExtraPropsDataGenerator = {\n generateData,\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extraProp/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extraProp/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA","sourcesContent":["export type { ExtraPropDef, ExtraPropDefs } from './extraProp'\nexport { ExtraPropDataType } from './extraProp'\nexport { ExtraPropsDataGenerator } from './extraPropsDataGenerator'\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/geo/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/geo/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA","sourcesContent":["export type { Point } from './point'\n\nexport { PointFactory } from './pointFactory'\n\nexport { Points } from './points'\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"point.js","sourceRoot":"","sources":["../../../src/geo/point.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"point.js","sourceRoot":"","sources":["../../../src/geo/point.ts"],"names":[],"mappings":"","sourcesContent":["export type Point = {\n srs: string\n x: number\n y: number\n accuracy?: number\n altitude?: number\n altitudeAccuracy?: number\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointFactory.js","sourceRoot":"","sources":["../../../src/geo/pointFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAYpC,MAAM,CAAC,MAAM,YAAY,GAAuC;IAC9D,cAAc,EAAE,CAAC,MAA0B,EAAS,EAAE;;QACpD,uCAAY,MAAM,KAAE,GAAG,EAAE,MAAA,MAAM,CAAC,GAAG,mCAAI,WAAW,CAAC,IAAI,IAAE;IAC3D,CAAC;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"pointFactory.js","sourceRoot":"","sources":["../../../src/geo/pointFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAYpC,MAAM,CAAC,MAAM,YAAY,GAAuC;IAC9D,cAAc,EAAE,CAAC,MAA0B,EAAS,EAAE;;QACpD,uCAAY,MAAM,KAAE,GAAG,EAAE,MAAA,MAAM,CAAC,GAAG,mCAAI,WAAW,CAAC,IAAI,IAAE;IAC3D,CAAC;CACF,CAAA","sourcesContent":["import { Factory } from '../common'\nimport { DEFAULT_SRS } from '../srs'\nimport { Point } from './point'\n\nexport type PointFactoryParams = {\n srs?: string\n x: number\n y: number\n accuracy?: number\n altitude?: number\n altitudeAccuracy?: number\n}\n\nexport const PointFactory: Factory<Point, PointFactoryParams> = {\n createInstance: (params: PointFactoryParams): Point => {\n return { ...params, srs: params.srs ?? DEFAULT_SRS.code }\n },\n}\n"]}
|