@openforis/arena-core 2.3.27 → 2.3.28
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/esm/app/appInfo.js +2 -0
- package/dist/esm/app/appInfo.js.map +1 -0
- package/dist/esm/app/index.js +2 -0
- package/dist/esm/app/index.js.map +1 -0
- package/dist/esm/auth/authGroup.js +132 -0
- package/dist/esm/auth/authGroup.js.map +1 -0
- package/dist/esm/auth/authGroups.js +36 -0
- package/dist/esm/auth/authGroups.js.map +1 -0
- package/dist/esm/auth/authorizer.js +190 -0
- package/dist/esm/auth/authorizer.js.map +1 -0
- package/dist/esm/auth/factory.js +23 -0
- package/dist/esm/auth/factory.js.map +1 -0
- package/dist/esm/auth/index.js +7 -0
- package/dist/esm/auth/index.js.map +1 -0
- package/dist/esm/auth/permission.js +19 -0
- package/dist/esm/auth/permission.js.map +1 -0
- package/dist/esm/auth/user.js +13 -0
- package/dist/esm/auth/user.js.map +1 -0
- package/dist/esm/auth/userAuth.js +2 -0
- package/dist/esm/auth/userAuth.js.map +1 -0
- package/dist/esm/auth/userAuthTokenService.js +2 -0
- package/dist/esm/auth/userAuthTokenService.js.map +1 -0
- package/dist/esm/auth/userGroup.js +2 -0
- package/dist/esm/auth/userGroup.js.map +1 -0
- package/dist/esm/auth/userService.js +2 -0
- package/dist/esm/auth/userService.js.map +1 -0
- package/dist/esm/auth/users.js +40 -0
- package/dist/esm/auth/users.js.map +1 -0
- package/dist/esm/category/categories.js +9 -0
- package/dist/esm/category/categories.js.map +1 -0
- package/dist/esm/category/category.js +2 -0
- package/dist/esm/category/category.js.map +1 -0
- package/dist/esm/category/categoryImportSummary.js +8 -0
- package/dist/esm/category/categoryImportSummary.js.map +1 -0
- package/dist/esm/category/categoryItemGenerator.js +23 -0
- package/dist/esm/category/categoryItemGenerator.js.map +1 -0
- package/dist/esm/category/categoryItems.js +19 -0
- package/dist/esm/category/categoryItems.js.map +1 -0
- package/dist/esm/category/factory.js +48 -0
- package/dist/esm/category/factory.js.map +1 -0
- package/dist/esm/category/index.js +5 -0
- package/dist/esm/category/index.js.map +1 -0
- package/dist/esm/category/item.js +2 -0
- package/dist/esm/category/item.js.map +1 -0
- package/dist/esm/category/itemService.js +2 -0
- package/dist/esm/category/itemService.js.map +1 -0
- package/dist/esm/category/level.js +2 -0
- package/dist/esm/category/level.js.map +1 -0
- package/dist/esm/category/levelService.js +2 -0
- package/dist/esm/category/levelService.js.map +1 -0
- package/dist/esm/category/service.js +2 -0
- package/dist/esm/category/service.js.map +1 -0
- package/dist/esm/chain/chain.js +7 -0
- package/dist/esm/chain/chain.js.map +1 -0
- package/dist/esm/chain/chainFactory.js +12 -0
- package/dist/esm/chain/chainFactory.js.map +1 -0
- package/dist/esm/chain/chainNodeDef.js +2 -0
- package/dist/esm/chain/chainNodeDef.js.map +1 -0
- package/dist/esm/chain/chainNodeDefAggregate.js +2 -0
- package/dist/esm/chain/chainNodeDefAggregate.js.map +1 -0
- package/dist/esm/chain/chainNodeDefFactory.js +14 -0
- package/dist/esm/chain/chainNodeDefFactory.js.map +1 -0
- package/dist/esm/chain/chainNodeDefService.js +2 -0
- package/dist/esm/chain/chainNodeDefService.js.map +1 -0
- package/dist/esm/chain/chainService.js +2 -0
- package/dist/esm/chain/chainService.js.map +1 -0
- package/dist/esm/chain/index.js +4 -0
- package/dist/esm/chain/index.js.map +1 -0
- package/dist/esm/common/Dictionary.js +2 -0
- package/dist/esm/common/Dictionary.js.map +1 -0
- package/dist/esm/common/factory.js +2 -0
- package/dist/esm/common/factory.js.map +1 -0
- package/dist/esm/common/i18n.js +2 -0
- package/dist/esm/common/i18n.js.map +1 -0
- package/dist/esm/common/index.js +6 -0
- package/dist/esm/common/index.js.map +1 -0
- package/dist/esm/dataExport/ArenaExportInfo.js +2 -0
- package/dist/esm/dataExport/ArenaExportInfo.js.map +1 -0
- package/dist/esm/dataExport/ArenaExportInfoFactory.js +4 -0
- package/dist/esm/dataExport/ArenaExportInfoFactory.js.map +1 -0
- package/dist/esm/dataExport/FlatDataExportModel.js +223 -0
- package/dist/esm/dataExport/FlatDataExportModel.js.map +1 -0
- package/dist/esm/dataExport/FlatDataExportOptions.js +30 -0
- package/dist/esm/dataExport/FlatDataExportOptions.js.map +1 -0
- package/dist/esm/dataExport/FlatDataFiles.js +12 -0
- package/dist/esm/dataExport/FlatDataFiles.js.map +1 -0
- package/dist/esm/dataExport/UniqueFileNamesGenerator.js +48 -0
- package/dist/esm/dataExport/UniqueFileNamesGenerator.js.map +1 -0
- package/dist/esm/dataExport/index.js +7 -0
- package/dist/esm/dataExport/index.js.map +1 -0
- package/dist/esm/dataQuery/dataQuery.js +6 -0
- package/dist/esm/dataQuery/dataQuery.js.map +1 -0
- package/dist/esm/dataQuery/dataQuerySummaries.js +40 -0
- package/dist/esm/dataQuery/dataQuerySummaries.js.map +1 -0
- package/dist/esm/dataQuery/index.js +3 -0
- package/dist/esm/dataQuery/index.js.map +1 -0
- package/dist/esm/error/SystemError.js +24 -0
- package/dist/esm/error/SystemError.js.map +1 -0
- package/dist/esm/error/index.js +2 -0
- package/dist/esm/error/index.js.map +1 -0
- package/dist/esm/expression/context.js +2 -0
- package/dist/esm/expression/context.js.map +1 -0
- package/dist/esm/expression/evaluator.js +2 -0
- package/dist/esm/expression/evaluator.js.map +1 -0
- package/dist/esm/expression/function.js +2 -0
- package/dist/esm/expression/function.js.map +1 -0
- package/dist/esm/expression/index.js +5 -0
- package/dist/esm/expression/index.js.map +1 -0
- package/dist/esm/expression/javascript/evaluator.js +75 -0
- package/dist/esm/expression/javascript/evaluator.js.map +1 -0
- package/dist/esm/expression/javascript/functionsDefault.js +19 -0
- package/dist/esm/expression/javascript/functionsDefault.js.map +1 -0
- package/dist/esm/expression/javascript/global.js +25 -0
- package/dist/esm/expression/javascript/global.js.map +1 -0
- package/dist/esm/expression/javascript/node/array.js +8 -0
- package/dist/esm/expression/javascript/node/array.js.map +1 -0
- package/dist/esm/expression/javascript/node/binary.js +65 -0
- package/dist/esm/expression/javascript/node/binary.js.map +1 -0
- package/dist/esm/expression/javascript/node/call.js +75 -0
- package/dist/esm/expression/javascript/node/call.js.map +1 -0
- package/dist/esm/expression/javascript/node/compound.js +8 -0
- package/dist/esm/expression/javascript/node/compound.js.map +1 -0
- package/dist/esm/expression/javascript/node/conditional.js +8 -0
- package/dist/esm/expression/javascript/node/conditional.js.map +1 -0
- package/dist/esm/expression/javascript/node/identifier.js +33 -0
- package/dist/esm/expression/javascript/node/identifier.js.map +1 -0
- package/dist/esm/expression/javascript/node/literal.js +7 -0
- package/dist/esm/expression/javascript/node/literal.js.map +1 -0
- package/dist/esm/expression/javascript/node/member.js +48 -0
- package/dist/esm/expression/javascript/node/member.js.map +1 -0
- package/dist/esm/expression/javascript/node/sequence.js +19 -0
- package/dist/esm/expression/javascript/node/sequence.js.map +1 -0
- package/dist/esm/expression/javascript/node/this.js +8 -0
- package/dist/esm/expression/javascript/node/this.js.map +1 -0
- package/dist/esm/expression/javascript/node/unary.js +29 -0
- package/dist/esm/expression/javascript/node/unary.js.map +1 -0
- package/dist/esm/expression/javascript/parser/jsep.js +34 -0
- package/dist/esm/expression/javascript/parser/jsep.js.map +1 -0
- package/dist/esm/expression/javascript/parser/parser.js +7 -0
- package/dist/esm/expression/javascript/parser/parser.js.map +1 -0
- package/dist/esm/expression/node.js +21 -0
- package/dist/esm/expression/node.js.map +1 -0
- package/dist/esm/expression/parser.js +2 -0
- package/dist/esm/expression/parser.js.map +1 -0
- package/dist/esm/expression/variable.js +5 -0
- package/dist/esm/expression/variable.js.map +1 -0
- package/dist/esm/extraProp/extraProp.js +7 -0
- package/dist/esm/extraProp/extraProp.js.map +1 -0
- package/dist/esm/extraProp/extraProps.js +21 -0
- package/dist/esm/extraProp/extraProps.js.map +1 -0
- package/dist/esm/extraProp/extraPropsDataGenerator.js +19 -0
- package/dist/esm/extraProp/extraPropsDataGenerator.js.map +1 -0
- package/dist/esm/extraProp/index.js +3 -0
- package/dist/esm/extraProp/index.js.map +1 -0
- package/dist/esm/geo/index.js +3 -0
- package/dist/esm/geo/index.js.map +1 -0
- package/dist/esm/geo/point.js +2 -0
- package/dist/esm/geo/point.js.map +1 -0
- package/dist/esm/geo/pointFactory.js +8 -0
- package/dist/esm/geo/pointFactory.js.map +1 -0
- package/dist/esm/geo/points/bearing.js +15 -0
- package/dist/esm/geo/points/bearing.js.map +1 -0
- package/dist/esm/geo/points/distance.js +13 -0
- package/dist/esm/geo/points/distance.js.map +1 -0
- package/dist/esm/geo/points/equals.js +6 -0
- package/dist/esm/geo/points/equals.js.map +1 -0
- package/dist/esm/geo/points/getSrs.js +9 -0
- package/dist/esm/geo/points/getSrs.js.map +1 -0
- package/dist/esm/geo/points/index.js +21 -0
- package/dist/esm/geo/points/index.js.map +1 -0
- package/dist/esm/geo/points/isFilled.js +3 -0
- package/dist/esm/geo/points/isFilled.js.map +1 -0
- package/dist/esm/geo/points/isValid.js +19 -0
- package/dist/esm/geo/points/isValid.js.map +1 -0
- package/dist/esm/geo/points/parse.js +19 -0
- package/dist/esm/geo/points/parse.js.map +1 -0
- package/dist/esm/geo/points/pointAtDistance.js +25 -0
- package/dist/esm/geo/points/pointAtDistance.js.map +1 -0
- package/dist/esm/geo/points/toLatLong.js +4 -0
- package/dist/esm/geo/points/toLatLong.js.map +1 -0
- package/dist/esm/geo/points/toString.js +2 -0
- package/dist/esm/geo/points/toString.js.map +1 -0
- package/dist/esm/geo/points/transform.js +40 -0
- package/dist/esm/geo/points/transform.js.map +1 -0
- package/dist/esm/index.js +27 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/job/JobBase.js +408 -0
- package/dist/esm/job/JobBase.js.map +1 -0
- package/dist/esm/job/index.js +4 -0
- package/dist/esm/job/index.js.map +1 -0
- package/dist/esm/job/job.js +2 -0
- package/dist/esm/job/job.js.map +1 -0
- package/dist/esm/job/jobContext.js +2 -0
- package/dist/esm/job/jobContext.js.map +1 -0
- package/dist/esm/job/jobEvent.js +6 -0
- package/dist/esm/job/jobEvent.js.map +1 -0
- package/dist/esm/job/jobSerialized.js +2 -0
- package/dist/esm/job/jobSerialized.js.map +1 -0
- package/dist/esm/job/status.js +9 -0
- package/dist/esm/job/status.js.map +1 -0
- package/dist/esm/language/index.js +3 -0
- package/dist/esm/language/index.js.map +1 -0
- package/dist/esm/language/labels.js +2 -0
- package/dist/esm/language/labels.js.map +1 -0
- package/dist/esm/language/languageCode.js +188 -0
- package/dist/esm/language/languageCode.js.map +1 -0
- package/dist/esm/language/languages.js +1715 -0
- package/dist/esm/language/languages.js.map +1 -0
- package/dist/esm/logger/index.js +2 -0
- package/dist/esm/logger/index.js.map +1 -0
- package/dist/esm/logger/logger.js +2 -0
- package/dist/esm/logger/logger.js.map +1 -0
- package/dist/esm/message/index.js +3 -0
- package/dist/esm/message/index.js.map +1 -0
- package/dist/esm/message/message.js +36 -0
- package/dist/esm/message/message.js.map +1 -0
- package/dist/esm/message/messages.js +120 -0
- package/dist/esm/message/messages.js.map +1 -0
- package/dist/esm/node/factory.js +28 -0
- package/dist/esm/node/factory.js.map +1 -0
- package/dist/esm/node/index.js +6 -0
- package/dist/esm/node/index.js.map +1 -0
- package/dist/esm/node/node.js +10 -0
- package/dist/esm/node/node.js.map +1 -0
- package/dist/esm/node/nodePointer.js +2 -0
- package/dist/esm/node/nodePointer.js.map +1 -0
- package/dist/esm/node/nodeValue/code.js +2 -0
- package/dist/esm/node/nodeValue/code.js.map +1 -0
- package/dist/esm/node/nodeValue/coordinate.js +2 -0
- package/dist/esm/node/nodeValue/coordinate.js.map +1 -0
- package/dist/esm/node/nodeValue/file.js +2 -0
- package/dist/esm/node/nodeValue/file.js.map +1 -0
- package/dist/esm/node/nodeValue/index.js +2 -0
- package/dist/esm/node/nodeValue/index.js.map +1 -0
- package/dist/esm/node/nodeValue/nodeValueComposite.js +2 -0
- package/dist/esm/node/nodeValue/nodeValueComposite.js.map +1 -0
- package/dist/esm/node/nodeValue/taxon.js +2 -0
- package/dist/esm/node/nodeValue/taxon.js.map +1 -0
- package/dist/esm/node/nodeValueFormatter.js +79 -0
- package/dist/esm/node/nodeValueFormatter.js.map +1 -0
- package/dist/esm/node/nodeValueProps.js +43 -0
- package/dist/esm/node/nodeValueProps.js.map +1 -0
- package/dist/esm/node/nodeValues.js +251 -0
- package/dist/esm/node/nodeValues.js.map +1 -0
- package/dist/esm/node/nodes.js +161 -0
- package/dist/esm/node/nodes.js.map +1 -0
- package/dist/esm/node/service.js +2 -0
- package/dist/esm/node/service.js.map +1 -0
- package/dist/esm/nodeDef/factory.js +30 -0
- package/dist/esm/nodeDef/factory.js.map +1 -0
- package/dist/esm/nodeDef/index.js +8 -0
- package/dist/esm/nodeDef/index.js.map +1 -0
- package/dist/esm/nodeDef/nodeDef.js +30 -0
- package/dist/esm/nodeDef/nodeDef.js.map +1 -0
- package/dist/esm/nodeDef/nodeDefs.js +206 -0
- package/dist/esm/nodeDef/nodeDefs.js.map +1 -0
- package/dist/esm/nodeDef/service.js +2 -0
- package/dist/esm/nodeDef/service.js.map +1 -0
- package/dist/esm/nodeDef/types/boolean.js +2 -0
- package/dist/esm/nodeDef/types/boolean.js.map +1 -0
- package/dist/esm/nodeDef/types/code.js +2 -0
- package/dist/esm/nodeDef/types/code.js.map +1 -0
- package/dist/esm/nodeDef/types/coordinate.js +2 -0
- package/dist/esm/nodeDef/types/coordinate.js.map +1 -0
- package/dist/esm/nodeDef/types/date.js +2 -0
- package/dist/esm/nodeDef/types/date.js.map +1 -0
- package/dist/esm/nodeDef/types/decimal.js +2 -0
- package/dist/esm/nodeDef/types/decimal.js.map +1 -0
- package/dist/esm/nodeDef/types/entity.js +6 -0
- package/dist/esm/nodeDef/types/entity.js.map +1 -0
- package/dist/esm/nodeDef/types/file.js +8 -0
- package/dist/esm/nodeDef/types/file.js.map +1 -0
- package/dist/esm/nodeDef/types/formHeader.js +9 -0
- package/dist/esm/nodeDef/types/formHeader.js.map +1 -0
- package/dist/esm/nodeDef/types/integer.js +2 -0
- package/dist/esm/nodeDef/types/integer.js.map +1 -0
- package/dist/esm/nodeDef/types/taxon.js +2 -0
- package/dist/esm/nodeDef/types/taxon.js.map +1 -0
- package/dist/esm/nodeDef/types/text.js +12 -0
- package/dist/esm/nodeDef/types/text.js.map +1 -0
- package/dist/esm/nodeDef/types/time.js +2 -0
- package/dist/esm/nodeDef/types/time.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/categoryItemProvider.js +2 -0
- package/dist/esm/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/context.js +2 -0
- package/dist/esm/nodeDefExpressionEvaluator/context.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/evaluator.js +61 -0
- package/dist/esm/nodeDefExpressionEvaluator/evaluator.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/functions.js +319 -0
- package/dist/esm/nodeDefExpressionEvaluator/functions.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/index.js +3 -0
- package/dist/esm/nodeDefExpressionEvaluator/index.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js +127 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/member.js +40 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/member.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +54 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/thisEvaluator.js +26 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/taxonProvider.js +2 -0
- package/dist/esm/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -0
- package/dist/esm/nodeDefExpressionEvaluator/validator.js +53 -0
- package/dist/esm/nodeDefExpressionEvaluator/validator.js.map +1 -0
- package/dist/esm/record/_records/recordCompletion.js +76 -0
- package/dist/esm/record/_records/recordCompletion.js.map +1 -0
- package/dist/esm/record/_records/recordGetters.js +391 -0
- package/dist/esm/record/_records/recordGetters.js.map +1 -0
- package/dist/esm/record/_records/recordNodesIndexReader.js +21 -0
- package/dist/esm/record/_records/recordNodesIndexReader.js.map +1 -0
- package/dist/esm/record/_records/recordNodesIndexUpdater.js +154 -0
- package/dist/esm/record/_records/recordNodesIndexUpdater.js.map +1 -0
- package/dist/esm/record/_records/recordPagesValidation.js +210 -0
- package/dist/esm/record/_records/recordPagesValidation.js.map +1 -0
- package/dist/esm/record/_records/recordUpdateOptions.js +6 -0
- package/dist/esm/record/_records/recordUpdateOptions.js.map +1 -0
- package/dist/esm/record/_records/recordUpdater.js +31 -0
- package/dist/esm/record/_records/recordUpdater.js.map +1 -0
- package/dist/esm/record/_records/recordUtils.js +66 -0
- package/dist/esm/record/_records/recordUtils.js.map +1 -0
- package/dist/esm/record/factory.js +20 -0
- package/dist/esm/record/factory.js.map +1 -0
- package/dist/esm/record/index.js +13 -0
- package/dist/esm/record/index.js.map +1 -0
- package/dist/esm/record/nodePointers.js +18 -0
- package/dist/esm/record/nodePointers.js.map +1 -0
- package/dist/esm/record/record.js +3 -0
- package/dist/esm/record/record.js.map +1 -0
- package/dist/esm/record/recordCloner.js +149 -0
- package/dist/esm/record/recordCloner.js.map +1 -0
- package/dist/esm/record/recordExpressionEvaluator/context.js +2 -0
- package/dist/esm/record/recordExpressionEvaluator/context.js.map +1 -0
- package/dist/esm/record/recordExpressionEvaluator/functions.js +186 -0
- package/dist/esm/record/recordExpressionEvaluator/functions.js.map +1 -0
- package/dist/esm/record/recordExpressionEvaluator/index.js +2 -0
- package/dist/esm/record/recordExpressionEvaluator/index.js.map +1 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js +98 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/index.js +2 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +68 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -0
- package/dist/esm/record/recordExpressionEvaluator/node/thisEvaluator.js +24 -0
- package/dist/esm/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -0
- package/dist/esm/record/recordExpressionEvaluator/nodeValueExtractor.js +84 -0
- package/dist/esm/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -0
- package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js +74 -0
- package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -0
- package/dist/esm/record/recordFixer.js +127 -0
- package/dist/esm/record/recordFixer.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/index.js +12 -0
- package/dist/esm/record/recordNodesUpdater/index.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +29 -0
- package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordExpressionEvaluationContext.js +2 -0
- package/dist/esm/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js +141 -0
- package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +162 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +57 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +70 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +48 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +142 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js +23 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +96 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +138 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +113 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js +2 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js +23 -0
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js +126 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js +69 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +73 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js +71 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -0
- package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js +31 -0
- package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js.map +1 -0
- package/dist/esm/record/recordPrettyPrinter.js +115 -0
- package/dist/esm/record/recordPrettyPrinter.js.map +1 -0
- package/dist/esm/record/recordStep.js +24 -0
- package/dist/esm/record/recordStep.js.map +1 -0
- package/dist/esm/record/recordUpdater.js +113 -0
- package/dist/esm/record/recordUpdater.js.map +1 -0
- package/dist/esm/record/recordValidations.js +27 -0
- package/dist/esm/record/recordValidations.js.map +1 -0
- package/dist/esm/record/recordValidator/attributeKeyValidator.js +86 -0
- package/dist/esm/record/recordValidator/attributeKeyValidator.js.map +1 -0
- package/dist/esm/record/recordValidator/attributeTypeValidator.js +122 -0
- package/dist/esm/record/recordValidator/attributeTypeValidator.js.map +1 -0
- package/dist/esm/record/recordValidator/attributeUniqueValidator.js +39 -0
- package/dist/esm/record/recordValidator/attributeUniqueValidator.js.map +1 -0
- package/dist/esm/record/recordValidator/attributeValidator.js +197 -0
- package/dist/esm/record/recordValidator/attributeValidator.js.map +1 -0
- package/dist/esm/record/recordValidator/countVaildator.js +111 -0
- package/dist/esm/record/recordValidator/countVaildator.js.map +1 -0
- package/dist/esm/record/recordValidator/index.js +7 -0
- package/dist/esm/record/recordValidator/index.js.map +1 -0
- package/dist/esm/record/recordValidator/recordValidator.js +39 -0
- package/dist/esm/record/recordValidator/recordValidator.js.map +1 -0
- package/dist/esm/record/records.js +68 -0
- package/dist/esm/record/records.js.map +1 -0
- package/dist/esm/record/service.js +2 -0
- package/dist/esm/record/service.js.map +1 -0
- package/dist/esm/registry/index.js +3 -0
- package/dist/esm/registry/index.js.map +1 -0
- package/dist/esm/registry/serviceRegistry.js +28 -0
- package/dist/esm/registry/serviceRegistry.js.map +1 -0
- package/dist/esm/registry/serviceType.js +18 -0
- package/dist/esm/registry/serviceType.js.map +1 -0
- package/dist/esm/srs/factory.js +7 -0
- package/dist/esm/srs/factory.js.map +1 -0
- package/dist/esm/srs/index.js +3 -0
- package/dist/esm/srs/index.js.map +1 -0
- package/dist/esm/srs/srs.js +20 -0
- package/dist/esm/srs/srs.js.map +1 -0
- package/dist/esm/survey/factory.js +39 -0
- package/dist/esm/survey/factory.js.map +1 -0
- package/dist/esm/survey/index.js +9 -0
- package/dist/esm/survey/index.js.map +1 -0
- package/dist/esm/survey/nodeDefsFixer.js +93 -0
- package/dist/esm/survey/nodeDefsFixer.js.map +1 -0
- package/dist/esm/survey/refData/factory.js +27 -0
- package/dist/esm/survey/refData/factory.js.map +1 -0
- package/dist/esm/survey/refData/index.js +2 -0
- package/dist/esm/survey/refData/index.js.map +1 -0
- package/dist/esm/survey/refData/refData.js +2 -0
- package/dist/esm/survey/refData/refData.js.map +1 -0
- package/dist/esm/survey/service.js +2 -0
- package/dist/esm/survey/service.js.map +1 -0
- package/dist/esm/survey/survey.js +45 -0
- package/dist/esm/survey/survey.js.map +1 -0
- package/dist/esm/survey/surveyDocImageFactory.js +25 -0
- package/dist/esm/survey/surveyDocImageFactory.js.map +1 -0
- package/dist/esm/survey/surveyDocImages.js +19 -0
- package/dist/esm/survey/surveyDocImages.js.map +1 -0
- package/dist/esm/survey/surveyFileFactory.js +22 -0
- package/dist/esm/survey/surveyFileFactory.js.map +1 -0
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js +114 -0
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -0
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsReader.js +3 -0
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -0
- package/dist/esm/survey/surveys/dependencies.js +231 -0
- package/dist/esm/survey/surveys/dependencies.js.map +1 -0
- package/dist/esm/survey/surveys/index.js +88 -0
- package/dist/esm/survey/surveys/index.js.map +1 -0
- package/dist/esm/survey/surveys/nodeDefs.js +391 -0
- package/dist/esm/survey/surveys/nodeDefs.js.map +1 -0
- package/dist/esm/survey/surveys/refsData.js +102 -0
- package/dist/esm/survey/surveys/refsData.js.map +1 -0
- package/dist/esm/survey/surveys/surveyGettersSecurity.js +14 -0
- package/dist/esm/survey/surveys/surveyGettersSecurity.js.map +1 -0
- package/dist/esm/survey/surveys/surveysGetters.js +66 -0
- package/dist/esm/survey/surveys/surveysGetters.js.map +1 -0
- package/dist/esm/survey/surveys/surveysUtils.js +42 -0
- package/dist/esm/survey/surveys/surveysUtils.js.map +1 -0
- package/dist/esm/taxonomy/factory.js +45 -0
- package/dist/esm/taxonomy/factory.js.map +1 -0
- package/dist/esm/taxonomy/index.js +5 -0
- package/dist/esm/taxonomy/index.js.map +1 -0
- package/dist/esm/taxonomy/service.js +2 -0
- package/dist/esm/taxonomy/service.js.map +1 -0
- package/dist/esm/taxonomy/taxa.js +39 -0
- package/dist/esm/taxonomy/taxa.js.map +1 -0
- package/dist/esm/taxonomy/taxon.js +2 -0
- package/dist/esm/taxonomy/taxon.js.map +1 -0
- package/dist/esm/taxonomy/taxonGenerator.js +23 -0
- package/dist/esm/taxonomy/taxonGenerator.js.map +1 -0
- package/dist/esm/taxonomy/taxonService.js +2 -0
- package/dist/esm/taxonomy/taxonService.js.map +1 -0
- package/dist/esm/taxonomy/taxonVernacularName.js +2 -0
- package/dist/esm/taxonomy/taxonVernacularName.js.map +1 -0
- package/dist/esm/taxonomy/taxonomies.js +9 -0
- package/dist/esm/taxonomy/taxonomies.js.map +1 -0
- package/dist/esm/taxonomy/taxonomy.js +2 -0
- package/dist/esm/taxonomy/taxonomy.js.map +1 -0
- package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js +88 -0
- package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js.map +1 -0
- package/dist/esm/tests/builder/recordBuilder/entityBuilder.js +21 -0
- package/dist/esm/tests/builder/recordBuilder/entityBuilder.js.map +1 -0
- package/dist/esm/tests/builder/recordBuilder/index.js +10 -0
- package/dist/esm/tests/builder/recordBuilder/index.js.map +1 -0
- package/dist/esm/tests/builder/recordBuilder/nodeBuilder.js +14 -0
- package/dist/esm/tests/builder/recordBuilder/nodeBuilder.js.map +1 -0
- package/dist/esm/tests/builder/recordBuilder/recordBuilder.js +14 -0
- package/dist/esm/tests/builder/recordBuilder/recordBuilder.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/categoryBuilder.js +37 -0
- package/dist/esm/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/categoryItemBuilder.js +32 -0
- package/dist/esm/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/index.js +43 -0
- package/dist/esm/tests/builder/surveyBuilder/index.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js +53 -0
- package/dist/esm/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/nodeDefBuilder.js +63 -0
- package/dist/esm/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/nodeDefCodeBuilder.js +29 -0
- package/dist/esm/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/nodeDefEntityBuilder.js +33 -0
- package/dist/esm/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js +21 -0
- package/dist/esm/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/surveyBuilder.js +75 -0
- package/dist/esm/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/taxonBuilder.js +35 -0
- package/dist/esm/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -0
- package/dist/esm/tests/builder/surveyBuilder/taxonomyBuilder.js +25 -0
- package/dist/esm/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -0
- package/dist/esm/utils/_objects/assoc.js +6 -0
- package/dist/esm/utils/_objects/assoc.js.map +1 -0
- package/dist/esm/utils/_objects/assocPath.js +14 -0
- package/dist/esm/utils/_objects/assocPath.js.map +1 -0
- package/dist/esm/utils/_objects/camelize.js +32 -0
- package/dist/esm/utils/_objects/camelize.js.map +1 -0
- package/dist/esm/utils/_objects/deepMerge.js +21 -0
- package/dist/esm/utils/_objects/deepMerge.js.map +1 -0
- package/dist/esm/utils/_objects/deleteEmptyProps.js +10 -0
- package/dist/esm/utils/_objects/deleteEmptyProps.js.map +1 -0
- package/dist/esm/utils/_objects/difference.js +11 -0
- package/dist/esm/utils/_objects/difference.js.map +1 -0
- package/dist/esm/utils/_objects/dissoc.js +6 -0
- package/dist/esm/utils/_objects/dissoc.js.map +1 -0
- package/dist/esm/utils/_objects/dissocPath.js +23 -0
- package/dist/esm/utils/_objects/dissocPath.js.map +1 -0
- package/dist/esm/utils/_objects/dissocPathIfEmpty.js +11 -0
- package/dist/esm/utils/_objects/dissocPathIfEmpty.js.map +1 -0
- package/dist/esm/utils/_objects/fromPairs.js +2 -0
- package/dist/esm/utils/_objects/fromPairs.js.map +1 -0
- package/dist/esm/utils/_objects/index.js +43 -0
- package/dist/esm/utils/_objects/index.js.map +1 -0
- package/dist/esm/utils/_objects/isEmpty.js +25 -0
- package/dist/esm/utils/_objects/isEmpty.js.map +1 -0
- package/dist/esm/utils/_objects/isEqual.js +3 -0
- package/dist/esm/utils/_objects/isEqual.js.map +1 -0
- package/dist/esm/utils/_objects/isNil.js +2 -0
- package/dist/esm/utils/_objects/isNil.js.map +1 -0
- package/dist/esm/utils/_objects/isNotEmpty.js +3 -0
- package/dist/esm/utils/_objects/isNotEmpty.js.map +1 -0
- package/dist/esm/utils/_objects/parse.js +27 -0
- package/dist/esm/utils/_objects/parse.js.map +1 -0
- package/dist/esm/utils/_objects/path.js +18 -0
- package/dist/esm/utils/_objects/path.js.map +1 -0
- package/dist/esm/utils/_objects/propertyOf.js +2 -0
- package/dist/esm/utils/_objects/propertyOf.js.map +1 -0
- package/dist/esm/utils/_objects/setInPath.js +21 -0
- package/dist/esm/utils/_objects/setInPath.js.map +1 -0
- package/dist/esm/utils/_objects/stringify.js +30 -0
- package/dist/esm/utils/_objects/stringify.js.map +1 -0
- package/dist/esm/utils/_objects/toPairs.js +2 -0
- package/dist/esm/utils/_objects/toPairs.js.map +1 -0
- package/dist/esm/utils/arrays.js +44 -0
- package/dist/esm/utils/arrays.js.map +1 -0
- package/dist/esm/utils/dates.js +163 -0
- package/dist/esm/utils/dates.js.map +1 -0
- package/dist/esm/utils/fileNames.js +27 -0
- package/dist/esm/utils/fileNames.js.map +1 -0
- package/dist/esm/utils/fileProcessor.js +109 -0
- package/dist/esm/utils/fileProcessor.js.map +1 -0
- package/dist/esm/utils/index.js +13 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/numbers.js +91 -0
- package/dist/esm/utils/numbers.js.map +1 -0
- package/dist/esm/utils/promises.js +35 -0
- package/dist/esm/utils/promises.js.map +1 -0
- package/dist/esm/utils/queue.js +48 -0
- package/dist/esm/utils/queue.js.map +1 -0
- package/dist/esm/utils/retryProcessor.js +37 -0
- package/dist/esm/utils/retryProcessor.js.map +1 -0
- package/dist/esm/utils/strings.js +53 -0
- package/dist/esm/utils/strings.js.map +1 -0
- package/dist/esm/utils/uuids.js +7 -0
- package/dist/esm/utils/uuids.js.map +1 -0
- package/dist/esm/utils/versions.js +51 -0
- package/dist/esm/utils/versions.js.map +1 -0
- package/dist/esm/validation/factory.js +38 -0
- package/dist/esm/validation/factory.js.map +1 -0
- package/dist/esm/validation/fieldValidator.js +2 -0
- package/dist/esm/validation/fieldValidator.js.map +1 -0
- package/dist/esm/validation/fieldValidators/email.js +14 -0
- package/dist/esm/validation/fieldValidators/email.js.map +1 -0
- package/dist/esm/validation/fieldValidators/index.js +8 -0
- package/dist/esm/validation/fieldValidators/index.js.map +1 -0
- package/dist/esm/validation/fieldValidators/name.js +14 -0
- package/dist/esm/validation/fieldValidators/name.js.map +1 -0
- package/dist/esm/validation/fieldValidators/notKeyword.js +33 -0
- package/dist/esm/validation/fieldValidators/notKeyword.js.map +1 -0
- package/dist/esm/validation/fieldValidators/numeric.js +14 -0
- package/dist/esm/validation/fieldValidators/numeric.js.map +1 -0
- package/dist/esm/validation/fieldValidators/numericPositive.js +28 -0
- package/dist/esm/validation/fieldValidators/numericPositive.js.map +1 -0
- package/dist/esm/validation/fieldValidators/required.js +13 -0
- package/dist/esm/validation/fieldValidators/required.js.map +1 -0
- package/dist/esm/validation/index.js +8 -0
- package/dist/esm/validation/index.js.map +1 -0
- package/dist/esm/validation/validation.js +6 -0
- package/dist/esm/validation/validation.js.map +1 -0
- package/dist/esm/validation/validationResults.js +18 -0
- package/dist/esm/validation/validationResults.js.map +1 -0
- package/dist/esm/validation/validations.js +249 -0
- package/dist/esm/validation/validations.js.map +1 -0
- package/dist/esm/validation/validator.js +47 -0
- package/dist/esm/validation/validator.js.map +1 -0
- package/dist/esm/validation/validatorErrorKeys.js +123 -0
- package/dist/esm/validation/validatorErrorKeys.js.map +1 -0
- package/package.json +10 -2
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { Users } from '../auth';
|
|
11
|
+
import { SystemError } from '../error';
|
|
12
|
+
import { ExtraProps } from '../extraProp/extraProps';
|
|
13
|
+
import { Points } from '../geo';
|
|
14
|
+
import { LanguagesISO639part2 } from '../language';
|
|
15
|
+
import { getNodeDefParent } from '../survey/surveys/nodeDefs';
|
|
16
|
+
import { getCategoryItemByCodePaths, getTaxonByCode } from '../survey/surveys/refsData';
|
|
17
|
+
import { getCategoryByName, getSRSIndex, getTaxonomyByName } from '../survey/surveys/surveysGetters';
|
|
18
|
+
import { Dates, Numbers, Objects } from '../utils';
|
|
19
|
+
const sampleGeoJsonPolygon = {
|
|
20
|
+
type: 'Feature',
|
|
21
|
+
geometry: {
|
|
22
|
+
type: 'Polygon',
|
|
23
|
+
coordinates: [
|
|
24
|
+
[
|
|
25
|
+
[100.0, 0.0],
|
|
26
|
+
[101.0, 0.0],
|
|
27
|
+
[101.0, 1.0],
|
|
28
|
+
[100.0, 1.0],
|
|
29
|
+
[100.0, 0.0],
|
|
30
|
+
],
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
const isNotValidString = (value) => Objects.isEmpty(value) || typeof value !== 'string';
|
|
35
|
+
const emptyExecutor = (_context) => () => null;
|
|
36
|
+
const isUsingDraftProps = (context) => {
|
|
37
|
+
const record = context.record;
|
|
38
|
+
return !record || !!record.preview;
|
|
39
|
+
};
|
|
40
|
+
const getOrFetchCategoryItem = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
+
const { context, categoryUuid, codePaths } = params;
|
|
42
|
+
if (Objects.isEmpty(codePaths) || codePaths.some(Objects.isEmpty)) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
const { survey, categoryItemProvider } = context;
|
|
46
|
+
const categoryItem = getCategoryItemByCodePaths({ survey, categoryUuid, codePaths });
|
|
47
|
+
const draft = isUsingDraftProps(context);
|
|
48
|
+
return categoryItem !== null && categoryItem !== void 0 ? categoryItem : categoryItemProvider === null || categoryItemProvider === void 0 ? void 0 : categoryItemProvider.getItemByCodePaths({ survey, categoryUuid, codePaths, draft });
|
|
49
|
+
});
|
|
50
|
+
const getOrFetchTaxon = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
|
+
const { context, taxonomyUuid, taxonCode } = params;
|
|
52
|
+
if (typeof taxonCode !== 'string' && typeof taxonCode !== 'number') {
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
if (Objects.isEmpty(taxonCode)) {
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
const { survey, taxonProvider } = context;
|
|
59
|
+
const taxon = getTaxonByCode({ survey, taxonomyUuid, taxonCode });
|
|
60
|
+
const record = context.record;
|
|
61
|
+
const draft = !record || !!record.preview;
|
|
62
|
+
return taxon !== null && taxon !== void 0 ? taxon : taxonProvider === null || taxonProvider === void 0 ? void 0 : taxonProvider.getTaxonByCode({ survey, taxonomyUuid, taxonCode, draft });
|
|
63
|
+
});
|
|
64
|
+
const geoDistanceExecutor = (context) => (coordinateFrom, coordinateTo) => {
|
|
65
|
+
const { survey } = context;
|
|
66
|
+
const srsIndex = getSRSIndex(survey);
|
|
67
|
+
const pointFrom = Points.parse(coordinateFrom);
|
|
68
|
+
const pointTo = Points.parse(coordinateTo);
|
|
69
|
+
return pointFrom && pointTo ? Points.distance(pointFrom, pointTo, srsIndex) : null;
|
|
70
|
+
};
|
|
71
|
+
export const nodeDefExpressionFunctions = {
|
|
72
|
+
categoryItemProp: {
|
|
73
|
+
minArity: 3,
|
|
74
|
+
executor: (context) => (categoryName, itemPropName, ...codePaths) => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
|
+
var _a, _b;
|
|
76
|
+
const { survey } = context;
|
|
77
|
+
if (Objects.isEmpty(categoryName) || Objects.isEmpty(itemPropName) || Objects.isEmpty(codePaths))
|
|
78
|
+
throw new SystemError('expression.missingFunctionParameters');
|
|
79
|
+
const category = getCategoryByName({ survey, categoryName });
|
|
80
|
+
if (!category)
|
|
81
|
+
throw new SystemError('expression.invalidCategoryName', { name: categoryName });
|
|
82
|
+
const extraPropDef = (_a = category.props.itemExtraDef) === null || _a === void 0 ? void 0 : _a[itemPropName];
|
|
83
|
+
if (!extraPropDef)
|
|
84
|
+
throw new SystemError('expression.invalidCategoryExtraProp', { propName: itemPropName });
|
|
85
|
+
const { uuid: categoryUuid } = category;
|
|
86
|
+
const categoryItem = yield getOrFetchCategoryItem({ context, categoryUuid, codePaths });
|
|
87
|
+
if (!categoryItem)
|
|
88
|
+
return null;
|
|
89
|
+
const value = (_b = categoryItem.props.extra) === null || _b === void 0 ? void 0 : _b[itemPropName];
|
|
90
|
+
return ExtraProps.convertValue({ survey, extraPropDef, value });
|
|
91
|
+
}),
|
|
92
|
+
},
|
|
93
|
+
count: {
|
|
94
|
+
minArity: 1,
|
|
95
|
+
maxArity: 1,
|
|
96
|
+
executor: (_context) => (_nodeSet) => 1,
|
|
97
|
+
},
|
|
98
|
+
dateTimeDiff: {
|
|
99
|
+
minArity: 4,
|
|
100
|
+
maxArity: 4,
|
|
101
|
+
executor: (_context) => (date1, time1, date2, time2) => {
|
|
102
|
+
if (isNotValidString(date1) || isNotValidString(time1) || isNotValidString(date2) || isNotValidString(time2))
|
|
103
|
+
return null;
|
|
104
|
+
const [hours1, minutes1] = time1.split(':');
|
|
105
|
+
const [hours2, minutes2] = time2.split(':');
|
|
106
|
+
let dt1 = Dates.addHours(date1, Number(hours1));
|
|
107
|
+
dt1 = Dates.addMinutes(dt1, Number(minutes1));
|
|
108
|
+
let dt2 = Dates.addHours(date2, Number(hours2));
|
|
109
|
+
dt2 = Dates.addMinutes(dt2, Number(minutes2));
|
|
110
|
+
return Dates.diffInMinutes(dt1, dt2);
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
distance: { minArity: 2, maxArity: 2, executor: geoDistanceExecutor },
|
|
114
|
+
first: {
|
|
115
|
+
minArity: 1,
|
|
116
|
+
maxArity: 1,
|
|
117
|
+
evaluateArgsToNodes: true,
|
|
118
|
+
executor: emptyExecutor,
|
|
119
|
+
},
|
|
120
|
+
geoCoordinateAtDistance: {
|
|
121
|
+
minArity: 3,
|
|
122
|
+
maxArity: 3,
|
|
123
|
+
executor: (context) => (coordinate, distanceMeters, bearingDeg) => {
|
|
124
|
+
const origin = Points.parse(coordinate);
|
|
125
|
+
if (!origin)
|
|
126
|
+
return null;
|
|
127
|
+
const distanceMetersNumber = Number(distanceMeters);
|
|
128
|
+
const bearingDegNumber = Number(bearingDeg);
|
|
129
|
+
if (!Number.isFinite(distanceMetersNumber) || distanceMetersNumber < 0 || !Number.isFinite(bearingDegNumber)) {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
const { survey } = context;
|
|
133
|
+
const srsIndex = getSRSIndex(survey);
|
|
134
|
+
return Points.pointAtDistance({
|
|
135
|
+
origin,
|
|
136
|
+
distanceMeters: distanceMetersNumber,
|
|
137
|
+
bearingDeg: bearingDegNumber,
|
|
138
|
+
srsIndex,
|
|
139
|
+
});
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
geoDistance: { minArity: 2, maxArity: 2, executor: geoDistanceExecutor },
|
|
143
|
+
geoPolygon: {
|
|
144
|
+
minArity: 1,
|
|
145
|
+
evaluateArgsToNodes: true,
|
|
146
|
+
executor: () => () => sampleGeoJsonPolygon,
|
|
147
|
+
},
|
|
148
|
+
includes: {
|
|
149
|
+
minArity: 2,
|
|
150
|
+
maxArity: 2,
|
|
151
|
+
evaluateArgsToNodes: false,
|
|
152
|
+
executor: () => (items, value) => Array.isArray(items) && items.map(String).includes(String(value)),
|
|
153
|
+
},
|
|
154
|
+
index: {
|
|
155
|
+
minArity: 1,
|
|
156
|
+
maxArity: 1,
|
|
157
|
+
evaluateArgsToNodes: true,
|
|
158
|
+
executor: () => () => -1,
|
|
159
|
+
},
|
|
160
|
+
last: {
|
|
161
|
+
minArity: 1,
|
|
162
|
+
maxArity: 1,
|
|
163
|
+
evaluateArgsToNodes: true,
|
|
164
|
+
executor: emptyExecutor,
|
|
165
|
+
},
|
|
166
|
+
now: {
|
|
167
|
+
minArity: 0,
|
|
168
|
+
maxArity: 0,
|
|
169
|
+
evaluateToNode: false,
|
|
170
|
+
executor: () => () => Dates.nowFormattedForStorage(),
|
|
171
|
+
},
|
|
172
|
+
numberToWords: {
|
|
173
|
+
minArity: 1,
|
|
174
|
+
maxArity: 1,
|
|
175
|
+
evaluateArgsToNodes: false,
|
|
176
|
+
executor: (context) => (value) => {
|
|
177
|
+
if (Objects.isEmpty(value))
|
|
178
|
+
return null;
|
|
179
|
+
return Numbers.toWords(value, context.lang);
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
parent: {
|
|
183
|
+
minArity: 1,
|
|
184
|
+
maxArity: 1,
|
|
185
|
+
evaluateArgsToNodes: true,
|
|
186
|
+
evaluateToNode: true,
|
|
187
|
+
executor: (context) => (nodeDef) => {
|
|
188
|
+
const { survey } = context;
|
|
189
|
+
return getNodeDefParent({ survey, nodeDef });
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
prevCycleValue: {
|
|
193
|
+
minArity: 1,
|
|
194
|
+
maxArity: 1,
|
|
195
|
+
executor: emptyExecutor,
|
|
196
|
+
},
|
|
197
|
+
prevCycleValues: {
|
|
198
|
+
minArity: 1,
|
|
199
|
+
maxArity: 1,
|
|
200
|
+
executor: emptyExecutor,
|
|
201
|
+
},
|
|
202
|
+
recordCycle: {
|
|
203
|
+
minArity: 0,
|
|
204
|
+
maxArity: 0,
|
|
205
|
+
executor: emptyExecutor,
|
|
206
|
+
},
|
|
207
|
+
recordDateCreated: {
|
|
208
|
+
minArity: 0,
|
|
209
|
+
maxArity: 0,
|
|
210
|
+
executor: emptyExecutor,
|
|
211
|
+
},
|
|
212
|
+
recordDateLastModified: {
|
|
213
|
+
minArity: 0,
|
|
214
|
+
maxArity: 0,
|
|
215
|
+
executor: emptyExecutor,
|
|
216
|
+
},
|
|
217
|
+
recordOwnerEmail: {
|
|
218
|
+
minArity: 0,
|
|
219
|
+
maxArity: 0,
|
|
220
|
+
executor: emptyExecutor,
|
|
221
|
+
},
|
|
222
|
+
recordOwnerName: {
|
|
223
|
+
minArity: 0,
|
|
224
|
+
maxArity: 0,
|
|
225
|
+
executor: emptyExecutor,
|
|
226
|
+
},
|
|
227
|
+
recordOwnerRole: {
|
|
228
|
+
minArity: 0,
|
|
229
|
+
maxArity: 0,
|
|
230
|
+
executor: emptyExecutor,
|
|
231
|
+
},
|
|
232
|
+
sum: {
|
|
233
|
+
minArity: 1,
|
|
234
|
+
maxArity: 1,
|
|
235
|
+
evaluateArgsToNodes: true,
|
|
236
|
+
executor: (_context) => (_nodeSet) => 1,
|
|
237
|
+
},
|
|
238
|
+
taxonProp: {
|
|
239
|
+
minArity: 3,
|
|
240
|
+
maxArity: 3,
|
|
241
|
+
executor: (context) => (taxonomyName, propName, taxonCode) => __awaiter(void 0, void 0, void 0, function* () {
|
|
242
|
+
var _a, _b;
|
|
243
|
+
if (Objects.isEmpty(taxonomyName) || Objects.isEmpty(propName))
|
|
244
|
+
throw new SystemError('expression.missingFunctionParameters');
|
|
245
|
+
if (Objects.isEmpty(taxonCode))
|
|
246
|
+
return null;
|
|
247
|
+
const { survey } = context;
|
|
248
|
+
const taxonomy = getTaxonomyByName({ survey, taxonomyName });
|
|
249
|
+
if (!taxonomy)
|
|
250
|
+
throw new SystemError('expression.invalidTaxonomyName', { name: taxonomyName });
|
|
251
|
+
const extraPropDef = (_a = taxonomy.props.extraPropsDefs) === null || _a === void 0 ? void 0 : _a[propName];
|
|
252
|
+
if (!extraPropDef)
|
|
253
|
+
throw new SystemError('expression.invalidTaxonomyExtraProp', { propName });
|
|
254
|
+
const taxon = yield getOrFetchTaxon({ context, taxonomyUuid: taxonomy.uuid, taxonCode });
|
|
255
|
+
if (!taxon)
|
|
256
|
+
return null;
|
|
257
|
+
const value = (_b = taxon.props.extra) === null || _b === void 0 ? void 0 : _b[propName];
|
|
258
|
+
return ExtraProps.convertValue({ survey, extraPropDef, value });
|
|
259
|
+
}),
|
|
260
|
+
},
|
|
261
|
+
taxonVernacularName: {
|
|
262
|
+
minArity: 3,
|
|
263
|
+
maxArity: 3,
|
|
264
|
+
executor: (context) => (taxonomyName, vernacularLangCode, taxonCode) => __awaiter(void 0, void 0, void 0, function* () {
|
|
265
|
+
var _a, _b;
|
|
266
|
+
if (Objects.isEmpty(taxonomyName) || Objects.isEmpty(vernacularLangCode))
|
|
267
|
+
throw new SystemError('expression.missingFunctionParameters');
|
|
268
|
+
if (Objects.isEmpty(taxonCode))
|
|
269
|
+
return null;
|
|
270
|
+
const { survey } = context;
|
|
271
|
+
const taxonomy = getTaxonomyByName({ survey, taxonomyName });
|
|
272
|
+
if (!taxonomy)
|
|
273
|
+
throw new SystemError('expression.invalidTaxonomyName', { name: taxonomyName });
|
|
274
|
+
if (!LanguagesISO639part2[vernacularLangCode]) {
|
|
275
|
+
throw new SystemError('expression.invalidTaxonVernacularNameLanguageCode', { vernacularLangCode });
|
|
276
|
+
}
|
|
277
|
+
const taxon = yield getOrFetchTaxon({ context, taxonomyUuid: taxonomy.uuid, taxonCode });
|
|
278
|
+
if (!taxon)
|
|
279
|
+
return null;
|
|
280
|
+
const vernacularNameArray = (_a = taxon.vernacularNames) === null || _a === void 0 ? void 0 : _a[vernacularLangCode];
|
|
281
|
+
const firstVernacularName = vernacularNameArray === null || vernacularNameArray === void 0 ? void 0 : vernacularNameArray[0];
|
|
282
|
+
return (_b = firstVernacularName === null || firstVernacularName === void 0 ? void 0 : firstVernacularName.props) === null || _b === void 0 ? void 0 : _b.name;
|
|
283
|
+
}),
|
|
284
|
+
},
|
|
285
|
+
unique: {
|
|
286
|
+
minArity: 1,
|
|
287
|
+
maxArity: 1,
|
|
288
|
+
evaluateArgsToNodes: true,
|
|
289
|
+
executor: (_context) => (_nodeSet) => [],
|
|
290
|
+
},
|
|
291
|
+
userEmail: {
|
|
292
|
+
minArity: 0,
|
|
293
|
+
maxArity: 0,
|
|
294
|
+
executor: (context) => () => { var _a; return (_a = context.user) === null || _a === void 0 ? void 0 : _a.email; },
|
|
295
|
+
},
|
|
296
|
+
userIsRecordOwner: {
|
|
297
|
+
minArity: 0,
|
|
298
|
+
maxArity: 0,
|
|
299
|
+
executor: (_context) => () => false,
|
|
300
|
+
},
|
|
301
|
+
userName: {
|
|
302
|
+
minArity: 0,
|
|
303
|
+
maxArity: 0,
|
|
304
|
+
executor: (context) => () => { var _a; return (_a = context.user) === null || _a === void 0 ? void 0 : _a.name; },
|
|
305
|
+
},
|
|
306
|
+
userProp: {
|
|
307
|
+
minArity: 1,
|
|
308
|
+
maxArity: 1,
|
|
309
|
+
executor: (context) => (propName) => {
|
|
310
|
+
const { user, survey } = context;
|
|
311
|
+
if (!survey || !user)
|
|
312
|
+
return undefined;
|
|
313
|
+
const { uuid: surveyUuid } = survey;
|
|
314
|
+
const combinedExtraProps = Users.getCombinedExtraProps(surveyUuid)(user);
|
|
315
|
+
return combinedExtraProps[propName];
|
|
316
|
+
},
|
|
317
|
+
},
|
|
318
|
+
};
|
|
319
|
+
//# sourceMappingURL=functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/nodeDefExpressionEvaluator/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nodeDefExpressionEvaluator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { getNodeDefChildren, getNodeDefParent, getNodeDefSource } from '../../survey/surveys/nodeDefs';
|
|
2
|
+
import { NodeDefs } from '../../nodeDef/nodeDefs';
|
|
3
|
+
import { Objects, Queue } from '../../utils';
|
|
4
|
+
import { IdentifierEvaluator } from '../../expression/javascript/node/identifier';
|
|
5
|
+
import { ExpressionVariable } from '../../expression';
|
|
6
|
+
import { SystemError } from '../../error';
|
|
7
|
+
import { ValidatorErrorKeys } from '../../validation';
|
|
8
|
+
import { NodeNativeProperties } from './nodeDefExpressionNativeProperties';
|
|
9
|
+
import { NodeValues } from '../../node/nodeValues';
|
|
10
|
+
const findActualContextNode = (params) => {
|
|
11
|
+
const { context } = params;
|
|
12
|
+
const { survey, object: nodeDefObjectContext } = context;
|
|
13
|
+
if (!nodeDefObjectContext)
|
|
14
|
+
return undefined;
|
|
15
|
+
if (NodeDefs.isAttribute(nodeDefObjectContext)) {
|
|
16
|
+
return getNodeDefParent({ survey, nodeDef: nodeDefObjectContext });
|
|
17
|
+
}
|
|
18
|
+
if (nodeDefObjectContext.virtual) {
|
|
19
|
+
return getNodeDefSource({ survey, nodeDef: nodeDefObjectContext });
|
|
20
|
+
}
|
|
21
|
+
return nodeDefObjectContext;
|
|
22
|
+
};
|
|
23
|
+
export class NodeDefIdentifierEvaluator extends IdentifierEvaluator {
|
|
24
|
+
evaluate(expressionNode) {
|
|
25
|
+
try {
|
|
26
|
+
return Promise.resolve(this.evaluateIdentifier(expressionNode));
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return Promise.reject(error);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
evaluateIdentifier(expressionNode) {
|
|
33
|
+
var _a, _b, _c, _d;
|
|
34
|
+
const { context } = this;
|
|
35
|
+
const { nodeDefContext, nodeDefCurrent, selfReferenceAllowed, object: objectContext, itemsFilter } = context;
|
|
36
|
+
const { name: exprName } = expressionNode;
|
|
37
|
+
if (exprName === ExpressionVariable.CONTEXT) {
|
|
38
|
+
if (nodeDefContext) {
|
|
39
|
+
this.addReferencedNodeDefUuid(nodeDefContext.uuid);
|
|
40
|
+
}
|
|
41
|
+
return nodeDefContext;
|
|
42
|
+
}
|
|
43
|
+
const globalOrNativeProperty = this.findGlobalOrNativeProperty(expressionNode);
|
|
44
|
+
if (globalOrNativeProperty) {
|
|
45
|
+
return globalOrNativeProperty.value;
|
|
46
|
+
}
|
|
47
|
+
if (itemsFilter) {
|
|
48
|
+
const prop = ((_a = objectContext === null || objectContext === void 0 ? void 0 : objectContext.props) === null || _a === void 0 ? void 0 : _a[exprName]) || ((_c = (_b = objectContext === null || objectContext === void 0 ? void 0 : objectContext.props) === null || _b === void 0 ? void 0 : _b.extra) === null || _c === void 0 ? void 0 : _c[exprName]);
|
|
49
|
+
if (!Objects.isEmpty(prop)) {
|
|
50
|
+
return prop;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (NodeNativeProperties.hasNativeProperty({ nodeDefOrValue: objectContext, propName: exprName })) {
|
|
54
|
+
return NodeNativeProperties.evalNodeDefProperty({ nodeDefOrValue: objectContext, propName: exprName });
|
|
55
|
+
}
|
|
56
|
+
if (NodeDefs.isAttribute(objectContext) && NodeValues.isValueProp({ nodeDef: objectContext, prop: exprName })) {
|
|
57
|
+
return objectContext;
|
|
58
|
+
}
|
|
59
|
+
const referencedNodeDef = this.findIdentifierAmongReachableNodeDefs(expressionNode);
|
|
60
|
+
if (referencedNodeDef) {
|
|
61
|
+
if (!selfReferenceAllowed && referencedNodeDef.uuid === (nodeDefCurrent === null || nodeDefCurrent === void 0 ? void 0 : nodeDefCurrent.uuid)) {
|
|
62
|
+
throw new SystemError(ValidatorErrorKeys.expressions.cannotUseCurrentNode, { name: exprName });
|
|
63
|
+
}
|
|
64
|
+
this.addReferencedNodeDefUuid(referencedNodeDef.uuid);
|
|
65
|
+
return referencedNodeDef;
|
|
66
|
+
}
|
|
67
|
+
throw new SystemError('expression.identifierNotFound', {
|
|
68
|
+
name: exprName,
|
|
69
|
+
contextObject: (_d = objectContext === null || objectContext === void 0 ? void 0 : objectContext.props) === null || _d === void 0 ? void 0 : _d.name,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
addReferencedNodeDefUuid(uuid) {
|
|
73
|
+
const { context } = this;
|
|
74
|
+
const { referencedNodeDefUuids = new Set() } = context;
|
|
75
|
+
context.referencedNodeDefUuids = referencedNodeDefUuids.add(uuid);
|
|
76
|
+
}
|
|
77
|
+
findIdentifierAmongReachableNodeDefs(expressionNode) {
|
|
78
|
+
const { object: contextObject } = this.context;
|
|
79
|
+
if (!contextObject)
|
|
80
|
+
return undefined;
|
|
81
|
+
for (const reachableNodeDef of this.iterateReachableNodeDefs()) {
|
|
82
|
+
if (reachableNodeDef.props.name === expressionNode.name) {
|
|
83
|
+
return reachableNodeDef;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return undefined;
|
|
87
|
+
}
|
|
88
|
+
getReachableNodeDefs() {
|
|
89
|
+
return Array.from(this.iterateReachableNodeDefs());
|
|
90
|
+
}
|
|
91
|
+
*iterateReachableNodeDefs() {
|
|
92
|
+
const { context } = this;
|
|
93
|
+
const { survey, includeAnalysis } = context;
|
|
94
|
+
const reachableNodeDefUuids = new Set();
|
|
95
|
+
const visitedUuids = new Set();
|
|
96
|
+
const queue = new Queue();
|
|
97
|
+
const actualContextNode = findActualContextNode({ context });
|
|
98
|
+
if (actualContextNode) {
|
|
99
|
+
queue.enqueue(actualContextNode);
|
|
100
|
+
reachableNodeDefUuids.add(actualContextNode.uuid);
|
|
101
|
+
yield actualContextNode;
|
|
102
|
+
}
|
|
103
|
+
while (!queue.isEmpty()) {
|
|
104
|
+
const entityDefCurrent = queue.dequeue();
|
|
105
|
+
const entityDefCurrentChildren = getNodeDefChildren({ survey, nodeDef: entityDefCurrent, includeAnalysis });
|
|
106
|
+
for (const childDef of entityDefCurrentChildren) {
|
|
107
|
+
if (!reachableNodeDefUuids.has(childDef.uuid)) {
|
|
108
|
+
reachableNodeDefUuids.add(childDef.uuid);
|
|
109
|
+
yield childDef;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
queue.enqueueItems(entityDefCurrentChildren.filter(NodeDefs.isSingleEntity));
|
|
113
|
+
if (!visitedUuids.has(entityDefCurrent.uuid)) {
|
|
114
|
+
const entityDefCurrentParent = getNodeDefParent({ survey, nodeDef: entityDefCurrent });
|
|
115
|
+
if (entityDefCurrentParent) {
|
|
116
|
+
queue.enqueue(entityDefCurrentParent);
|
|
117
|
+
}
|
|
118
|
+
if (!reachableNodeDefUuids.has(entityDefCurrent.uuid)) {
|
|
119
|
+
reachableNodeDefUuids.add(entityDefCurrent.uuid);
|
|
120
|
+
yield entityDefCurrent;
|
|
121
|
+
}
|
|
122
|
+
visitedUuids.add(entityDefCurrent.uuid);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=identifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../../src/nodeDefExpressionEvaluator/node/identifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { MemberEvaluator } from '../../expression/javascript/node/member';
|
|
11
|
+
const isNodeDef = (obj) => obj && typeof obj === 'object' && 'uuid' in obj;
|
|
12
|
+
export class NodeDefMemberEvaluator extends MemberEvaluator {
|
|
13
|
+
evaluate(expressionNode) {
|
|
14
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
const { object, property, computed } = expressionNode;
|
|
16
|
+
const objectEval = yield this.evaluator.evaluateNode(object, this.context);
|
|
17
|
+
if (objectEval === null) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
if (computed) {
|
|
21
|
+
try {
|
|
22
|
+
yield this.evaluator.evaluateNode(property, Object.assign(Object.assign({}, this.context), { object: objectEval }));
|
|
23
|
+
}
|
|
24
|
+
catch (_a) {
|
|
25
|
+
}
|
|
26
|
+
return objectEval;
|
|
27
|
+
}
|
|
28
|
+
const propertyNodeDefContext = this.determinePropertyNodeDefContext(objectEval);
|
|
29
|
+
return this.evaluator.evaluateNode(property, Object.assign(Object.assign({}, this.context), { object: objectEval, nodeDefContext: propertyNodeDefContext, selfReferenceAllowed: true }));
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
determinePropertyNodeDefContext(objectEval) {
|
|
33
|
+
if (isNodeDef(objectEval))
|
|
34
|
+
return objectEval;
|
|
35
|
+
if (Array.isArray(objectEval) && isNodeDef(objectEval[0]))
|
|
36
|
+
return objectEval[0];
|
|
37
|
+
return this.context.nodeDefContext;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../src/nodeDefExpressionEvaluator/node/member.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAA;AAGzE,MAAM,SAAS,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,CAAA;AAE/E,MAAM,OAAO,sBAAuB,SAAQ,eAAyC;IAC7E,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,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1E,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBAWb,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,kCACrC,IAAI,CAAC,OAAO,KACf,MAAM,EAAE,UAAU,IAClB,CAAA;gBACJ,CAAC;gBAAC,WAAM,CAAC;gBAET,CAAC;gBACD,OAAO,UAAU,CAAA;YACnB,CAAC;YAMD,MAAM,sBAAsB,GAAG,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAA;YAE/E,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,kCACtC,IAAI,CAAC,OAAO,KACf,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,sBAAsB,EACtC,oBAAoB,EAAE,IAAI,IAC1B,CAAA;QACJ,CAAC;KAAA;IAED,+BAA+B,CAAC,UAAe;QAC7C,IAAI,SAAS,CAAC,UAAU,CAAC;YAAE,OAAO,UAAU,CAAA;QAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,UAAU,CAAC,CAAC,CAAC,CAAA;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAA;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { NodeDefType } from '../../nodeDef/nodeDef';
|
|
2
|
+
import { NodeDefs } from '../../nodeDef/nodeDefs';
|
|
3
|
+
const nativeProperties = {
|
|
4
|
+
length: 'length',
|
|
5
|
+
};
|
|
6
|
+
const jsTypeByNodeDefType = {
|
|
7
|
+
[NodeDefType.code]: String,
|
|
8
|
+
[NodeDefType.date]: String,
|
|
9
|
+
[NodeDefType.decimal]: Number,
|
|
10
|
+
[NodeDefType.integer]: Number,
|
|
11
|
+
[NodeDefType.text]: String,
|
|
12
|
+
};
|
|
13
|
+
const classByObjectType = {
|
|
14
|
+
number: Number,
|
|
15
|
+
string: String,
|
|
16
|
+
};
|
|
17
|
+
const _getJsType = (nodeDefOrValue) => {
|
|
18
|
+
if (nodeDefOrValue.uuid) {
|
|
19
|
+
return jsTypeByNodeDefType[nodeDefOrValue.type];
|
|
20
|
+
}
|
|
21
|
+
return classByObjectType[typeof nodeDefOrValue];
|
|
22
|
+
};
|
|
23
|
+
const _hasProperty = (params) => {
|
|
24
|
+
const { JsType, propName } = params;
|
|
25
|
+
return Object.hasOwn(JsType, propName);
|
|
26
|
+
};
|
|
27
|
+
const _hasFunction = (params) => {
|
|
28
|
+
const { JsType, funcName } = params;
|
|
29
|
+
return Boolean(JsType.prototype[funcName]);
|
|
30
|
+
};
|
|
31
|
+
const hasNativeProperty = (params) => {
|
|
32
|
+
const { nodeDefOrValue, propName } = params;
|
|
33
|
+
if (propName === nativeProperties.length && NodeDefs.isMultiple(nodeDefOrValue)) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
const JsType = _getJsType(nodeDefOrValue);
|
|
37
|
+
return JsType && (_hasProperty({ JsType, propName }) || _hasFunction({ JsType, funcName: propName }));
|
|
38
|
+
};
|
|
39
|
+
const evalNodeDefProperty = (params) => {
|
|
40
|
+
const { nodeDefOrValue, propName } = params;
|
|
41
|
+
if (propName === nativeProperties.length) {
|
|
42
|
+
return 0;
|
|
43
|
+
}
|
|
44
|
+
const JsType = _getJsType(nodeDefOrValue);
|
|
45
|
+
if (_hasProperty({ JsType, propName })) {
|
|
46
|
+
return JsType[propName];
|
|
47
|
+
}
|
|
48
|
+
return JsType.prototype[propName].bind(new JsType());
|
|
49
|
+
};
|
|
50
|
+
export const NodeNativeProperties = {
|
|
51
|
+
hasNativeProperty,
|
|
52
|
+
evalNodeDefProperty,
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=nodeDefExpressionNativeProperties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeDefExpressionNativeProperties.js","sourceRoot":"","sources":["../../../../src/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEjD,MAAM,gBAAgB,GAA8B;IAClD,MAAM,EAAE,QAAQ;CACjB,CAAA;AAED,MAAM,mBAAmB,GAAmC;IAC1D,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;IAC1B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;IAC1B,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM;IAC7B,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM;IAC7B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;CAC3B,CAAA;AAED,MAAM,iBAAiB,GAA2B;IAChD,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;CACf,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,cAAmB,EAAE,EAAE;IACzC,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;QAExB,OAAO,mBAAmB,CAAC,cAAc,CAAC,IAAmB,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,iBAAiB,CAAC,OAAO,cAAc,CAAC,CAAA;AACjD,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,MAAyC,EAAE,EAAE;IACjE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,CAAC,MAAyC,EAAE,EAAE;IACjE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;IACnC,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC5C,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAG,CAAC,MAAiD,EAAE,EAAE;IAC9E,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;IAC3C,IAAI,QAAQ,KAAK,gBAAgB,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACzC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;AACvG,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,MAAiD,EAAE,EAAE;IAChF,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAA;IAC3C,IAAI,QAAQ,KAAK,gBAAgB,CAAC,MAAM,EAAE,CAAC;QACzC,OAAO,CAAC,CAAA;IACV,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,CAAC,CAAA;IACzC,IAAI,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzB,CAAC;IAED,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAA;AACtD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,iBAAiB;IACjB,mBAAmB;CACpB,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CategoryItemGenerator } from '../../category/categoryItemGenerator';
|
|
2
|
+
import { ThisEvaluator } from '../../expression/javascript/node/this';
|
|
3
|
+
import { NodeDefType } from '../../nodeDef/nodeDef';
|
|
4
|
+
import { NodeDefs } from '../../nodeDef/nodeDefs';
|
|
5
|
+
import { TaxonGenerator } from '../../taxonomy/taxonGenerator';
|
|
6
|
+
export class NodeDefThisEvaluator extends ThisEvaluator {
|
|
7
|
+
evaluate() {
|
|
8
|
+
const { nodeDefCurrent, itemsFilter } = this.context;
|
|
9
|
+
return Promise.resolve(itemsFilter ? this.createEmptyItem() : nodeDefCurrent);
|
|
10
|
+
}
|
|
11
|
+
createEmptyItem() {
|
|
12
|
+
const { survey, nodeDefCurrent } = this.context;
|
|
13
|
+
if (!nodeDefCurrent)
|
|
14
|
+
return null;
|
|
15
|
+
if (nodeDefCurrent.type === NodeDefType.code) {
|
|
16
|
+
const categoryUuid = NodeDefs.getCategoryUuid(nodeDefCurrent);
|
|
17
|
+
return categoryUuid ? CategoryItemGenerator.generateItem({ survey, categoryUuid }) : null;
|
|
18
|
+
}
|
|
19
|
+
if (nodeDefCurrent.type === NodeDefType.taxon) {
|
|
20
|
+
const taxonomyUuid = NodeDefs.getTaxonomyUuid(nodeDefCurrent);
|
|
21
|
+
return taxonomyUuid ? TaxonGenerator.generateTaxon({ survey, taxonomyUuid }) : null;
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=thisEvaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thisEvaluator.js","sourceRoot":"","sources":["../../../../src/nodeDefExpressionEvaluator/node/thisEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAGjD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAG9D,MAAM,OAAO,oBAAqB,SAAQ,aAAuC;IAC/E,QAAQ;QACN,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAEpD,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA;IAC/E,CAAC;IAED,eAAe;QACb,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAC/C,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAA;QAEhC,IAAI,cAAc,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,cAA6B,CAAC,CAAA;YAC5E,OAAO,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3F,CAAC;QACD,IAAI,cAAc,CAAC,IAAI,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,cAA8B,CAAC,CAAA;YAC7E,OAAO,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrF,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taxonProvider.js","sourceRoot":"","sources":["../../../src/nodeDefExpressionEvaluator/taxonProvider.ts"],"names":[],"mappings":""}
|