@openforis/arena-core 2.3.27 → 2.3.29
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 +34 -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 +16 -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 +128 -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/dist/message/messages.js +3 -3
- package/dist/message/messages.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/identifier.js +3 -3
- package/dist/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
- package/dist/utils/_objects/camelize.js +4 -2
- package/dist/utils/_objects/camelize.js.map +1 -1
- package/dist/utils/_objects/path.js +2 -4
- package/dist/utils/_objects/path.js.map +1 -1
- package/dist/utils/fileProcessor.d.ts +2 -0
- package/dist/utils/fileProcessor.js +22 -3
- package/dist/utils/fileProcessor.js.map +1 -1
- package/dist/utils/numbers.js +2 -2
- package/dist/utils/numbers.js.map +1 -1
- package/package.json +10 -2
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { NodeValues, Nodes } from '../node';
|
|
2
|
+
import { NodeKeys, NodeMetaKeys } from '../node/node';
|
|
3
|
+
import { NodeDefType, NodeDefs } from '../nodeDef';
|
|
4
|
+
import { Surveys } from '../survey';
|
|
5
|
+
import { Dates, Objects, UUIDs } from '../utils';
|
|
6
|
+
import { RecordFixer } from './recordFixer';
|
|
7
|
+
import { RecordUpdateResult } from './recordNodesUpdater';
|
|
8
|
+
import { RecordValidations } from './recordValidations';
|
|
9
|
+
import { Records } from './records';
|
|
10
|
+
const assignNewUuidsToNodes = (params) => {
|
|
11
|
+
var _a;
|
|
12
|
+
const { record, sideEffect } = params;
|
|
13
|
+
const newNodeUuidsByOldUuid = {};
|
|
14
|
+
const newFileUuidsByOldUuid = {};
|
|
15
|
+
const nodesArray = Records.getNodesArray(record).sort((nodeA, nodeB) => Nodes.getHierarchy(nodeA).length - Nodes.getHierarchy(nodeB).length);
|
|
16
|
+
const recordUpdated = sideEffect ? record : Object.assign({}, record);
|
|
17
|
+
const nodes = (_a = recordUpdated.nodes) !== null && _a !== void 0 ? _a : {};
|
|
18
|
+
const nodesUpdated = sideEffect ? nodes : Object.assign({}, nodes);
|
|
19
|
+
nodesArray.forEach((node) => {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
let nodeUpdated = sideEffect ? node : Object.assign({}, node);
|
|
22
|
+
nodeUpdated.recordUuid = record.uuid;
|
|
23
|
+
nodeUpdated.dateCreated = nodeUpdated.dateModified = Dates.nowFormattedForStorage();
|
|
24
|
+
const oldUuid = node.uuid;
|
|
25
|
+
const newUuid = UUIDs.v4();
|
|
26
|
+
newNodeUuidsByOldUuid[oldUuid] = newUuid;
|
|
27
|
+
nodeUpdated.uuid = newUuid;
|
|
28
|
+
delete nodeUpdated.id;
|
|
29
|
+
nodeUpdated.created = true;
|
|
30
|
+
const parentUuid = node.parentUuid;
|
|
31
|
+
if (parentUuid) {
|
|
32
|
+
nodeUpdated.parentUuid = newNodeUuidsByOldUuid[parentUuid];
|
|
33
|
+
}
|
|
34
|
+
const hierarchy = (_b = (_a = node.meta) === null || _a === void 0 ? void 0 : _a.h) !== null && _b !== void 0 ? _b : [];
|
|
35
|
+
if (hierarchy.length > 0) {
|
|
36
|
+
const hierarchyUpdated = hierarchy.map((ancestorUuid) => newNodeUuidsByOldUuid[ancestorUuid]);
|
|
37
|
+
nodeUpdated = Objects.assocPath({
|
|
38
|
+
obj: nodeUpdated,
|
|
39
|
+
path: [NodeKeys.meta, NodeMetaKeys.h],
|
|
40
|
+
value: hierarchyUpdated,
|
|
41
|
+
sideEffect,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
const fileUuid = NodeValues.getFileUuid(node);
|
|
45
|
+
if (fileUuid) {
|
|
46
|
+
const newFileUuid = UUIDs.v4();
|
|
47
|
+
nodeUpdated = Objects.assocPath({
|
|
48
|
+
obj: nodeUpdated,
|
|
49
|
+
path: [NodeKeys.value, NodeValues.ValuePropsFile.fileUuid],
|
|
50
|
+
value: newFileUuid,
|
|
51
|
+
});
|
|
52
|
+
newFileUuidsByOldUuid[fileUuid] = newFileUuid;
|
|
53
|
+
}
|
|
54
|
+
delete nodesUpdated[oldUuid];
|
|
55
|
+
nodesUpdated[newUuid] = nodeUpdated;
|
|
56
|
+
});
|
|
57
|
+
recordUpdated.nodes = nodesUpdated;
|
|
58
|
+
return { newNodeUuidsByOldUuid, newFileUuidsByOldUuid, record: recordUpdated };
|
|
59
|
+
};
|
|
60
|
+
const assignNewUuidsToValidation = (params) => {
|
|
61
|
+
const { validation, newNodeUuidsByOldUuid, sideEffect } = params;
|
|
62
|
+
const validationFields = validation === null || validation === void 0 ? void 0 : validation.fields;
|
|
63
|
+
if (!validationFields)
|
|
64
|
+
return validation;
|
|
65
|
+
const validationFieldsUpdated = sideEffect ? validationFields : Object.assign({}, validationFields);
|
|
66
|
+
Object.entries(validationFields).forEach(([oldFieldKey, validationField]) => {
|
|
67
|
+
let newFieldKey;
|
|
68
|
+
if (oldFieldKey.startsWith(RecordValidations.prefixValidationFieldChildrenCount)) {
|
|
69
|
+
const oldParentUuid = oldFieldKey.substring(RecordValidations.prefixValidationFieldChildrenCount.length, oldFieldKey.lastIndexOf('_'));
|
|
70
|
+
const newParentUuid = newNodeUuidsByOldUuid[oldParentUuid];
|
|
71
|
+
newFieldKey = oldFieldKey.replace(oldParentUuid, newParentUuid);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
newFieldKey = newNodeUuidsByOldUuid[oldFieldKey];
|
|
75
|
+
}
|
|
76
|
+
if (newFieldKey) {
|
|
77
|
+
validationFieldsUpdated[newFieldKey] = validationField;
|
|
78
|
+
}
|
|
79
|
+
delete validationFieldsUpdated[oldFieldKey];
|
|
80
|
+
});
|
|
81
|
+
return Objects.assoc({
|
|
82
|
+
obj: validation,
|
|
83
|
+
prop: 'fields',
|
|
84
|
+
value: validationFieldsUpdated,
|
|
85
|
+
sideEffect,
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
const assignNewUuids = (params) => {
|
|
89
|
+
const { record, sideEffect } = params;
|
|
90
|
+
let recordUpdated = sideEffect ? record : Object.assign({}, record);
|
|
91
|
+
recordUpdated.uuid = UUIDs.v4();
|
|
92
|
+
const { newNodeUuidsByOldUuid, newFileUuidsByOldUuid, record: recordUpdatedUuids, } = assignNewUuidsToNodes({ record: recordUpdated, sideEffect });
|
|
93
|
+
recordUpdated = recordUpdatedUuids;
|
|
94
|
+
const { validation } = recordUpdated;
|
|
95
|
+
if (validation) {
|
|
96
|
+
const validationUpdated = assignNewUuidsToValidation({
|
|
97
|
+
validation,
|
|
98
|
+
newNodeUuidsByOldUuid,
|
|
99
|
+
sideEffect,
|
|
100
|
+
});
|
|
101
|
+
recordUpdated = Objects.assoc({ obj: recordUpdated, prop: 'validation', value: validationUpdated, sideEffect });
|
|
102
|
+
}
|
|
103
|
+
const nodes = recordUpdated.nodes;
|
|
104
|
+
delete recordUpdated._nodesIndex;
|
|
105
|
+
delete recordUpdated.nodes;
|
|
106
|
+
recordUpdated = Records.addNodes(nodes, { sideEffect, sortNodes: true })(recordUpdated);
|
|
107
|
+
return { newNodeUuidsByOldUuid, newFileUuidsByOldUuid, record: recordUpdated };
|
|
108
|
+
};
|
|
109
|
+
const removeExcludedNodes = (params) => {
|
|
110
|
+
const { survey, record, sideEffect } = params;
|
|
111
|
+
const cycle = record.cycle;
|
|
112
|
+
const result = new RecordUpdateResult({ record });
|
|
113
|
+
Surveys.visitDescendantsAndSelfNodeDef({
|
|
114
|
+
survey,
|
|
115
|
+
cycle,
|
|
116
|
+
nodeDef: Surveys.getNodeDefRoot({ survey }),
|
|
117
|
+
visitor: (nodeDef) => {
|
|
118
|
+
const hasAncestorCodeDefExcludedInClone = nodeDef.type === NodeDefType.code &&
|
|
119
|
+
Surveys.getNodeDefAncestorCodes({ survey, nodeDef: nodeDef }).some(NodeDefs.isExcludedInClone);
|
|
120
|
+
if (!NodeDefs.isInCycle(cycle)(nodeDef) ||
|
|
121
|
+
NodeDefs.isExcludedInClone(nodeDef) ||
|
|
122
|
+
hasAncestorCodeDefExcludedInClone) {
|
|
123
|
+
const nodesToDelete = Records.getNodesByDefUuid(nodeDef.uuid)(result.record);
|
|
124
|
+
if (nodesToDelete.length > 0) {
|
|
125
|
+
const partialUpdateResult = Records.deleteNodes(nodesToDelete.map((node) => node.uuid), { sideEffect })(result.record);
|
|
126
|
+
result.merge(partialUpdateResult);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
return result;
|
|
132
|
+
};
|
|
133
|
+
const cloneRecord = (params) => {
|
|
134
|
+
const { survey, record, cycleTo, sideEffect = false } = params;
|
|
135
|
+
const recordUpdated = sideEffect ? record : Object.assign({}, record);
|
|
136
|
+
recordUpdated.cycle = cycleTo;
|
|
137
|
+
recordUpdated.dateCreated = recordUpdated.dateModified = Dates.nowFormattedForStorage();
|
|
138
|
+
delete recordUpdated.id;
|
|
139
|
+
const updateResult = new RecordUpdateResult({ record: recordUpdated });
|
|
140
|
+
updateResult.merge(removeExcludedNodes({ survey, record: updateResult.record, sideEffect }));
|
|
141
|
+
updateResult.merge(RecordFixer.insertMissingSingleNodes({ survey, record: updateResult.record, sideEffect }));
|
|
142
|
+
const { newNodeUuidsByOldUuid, newFileUuidsByOldUuid, record: recordUpdatedUuids, } = assignNewUuids({ record: updateResult.record, sideEffect });
|
|
143
|
+
updateResult.merge(new RecordUpdateResult({ record: recordUpdatedUuids }));
|
|
144
|
+
return { record: updateResult.record, newNodeUuidsByOldUuid, newFileUuidsByOldUuid };
|
|
145
|
+
};
|
|
146
|
+
export const RecordCloner = {
|
|
147
|
+
cloneRecord,
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=recordCloner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordCloner.js","sourceRoot":"","sources":["../../../src/record/recordCloner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/record/recordExpressionEvaluator/context.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { Points } from '../../geo';
|
|
2
|
+
import { Nodes, NodeValues } from '../../node';
|
|
3
|
+
import { nodeDefExpressionFunctions } from '../../nodeDefExpressionEvaluator/functions';
|
|
4
|
+
import { Surveys } from '../../survey';
|
|
5
|
+
import { Arrays } from '../../utils';
|
|
6
|
+
import { Records } from '../records';
|
|
7
|
+
const extractPreviousCycleValues = ({ node, context, }) => {
|
|
8
|
+
const { record, prevCycleRecord, survey } = context;
|
|
9
|
+
if (!node || !prevCycleRecord) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const currentRecordEntity = Records.getParent(node)(record);
|
|
13
|
+
if (!currentRecordEntity) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const { uuid: entityUuid } = currentRecordEntity;
|
|
17
|
+
const prevCycleEntity = Records.findEntityWithSameKeysInAnotherRecord({
|
|
18
|
+
survey,
|
|
19
|
+
cycle: Records.getCycle(record),
|
|
20
|
+
entityUuid,
|
|
21
|
+
record,
|
|
22
|
+
recordOther: prevCycleRecord,
|
|
23
|
+
});
|
|
24
|
+
if (!prevCycleEntity) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return Records.getChildren(prevCycleEntity, node.nodeDefUuid)(prevCycleRecord).map((prevNode) => prevNode.value);
|
|
28
|
+
};
|
|
29
|
+
export const recordExpressionFunctions = Object.assign(Object.assign({}, nodeDefExpressionFunctions), { count: {
|
|
30
|
+
minArity: 1,
|
|
31
|
+
evaluateArgsToNodes: true,
|
|
32
|
+
executor: (_context) => (nodeSet) => {
|
|
33
|
+
if (!nodeSet)
|
|
34
|
+
return 0;
|
|
35
|
+
if (Array.isArray(nodeSet))
|
|
36
|
+
return nodeSet.length;
|
|
37
|
+
return 0;
|
|
38
|
+
},
|
|
39
|
+
}, first: {
|
|
40
|
+
minArity: 1,
|
|
41
|
+
maxArity: 1,
|
|
42
|
+
evaluateArgsToNodes: false,
|
|
43
|
+
executor: (_context) => (nodeSet) => {
|
|
44
|
+
if (nodeSet && Array.isArray(nodeSet) && nodeSet.length > 0) {
|
|
45
|
+
return nodeSet[0];
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
},
|
|
49
|
+
}, geoPolygon: {
|
|
50
|
+
minArity: 1,
|
|
51
|
+
evaluateArgsToNodes: true,
|
|
52
|
+
executor: (context) => (...nodeSetOrPoints) => {
|
|
53
|
+
if (nodeSetOrPoints.length === 0)
|
|
54
|
+
return null;
|
|
55
|
+
const { survey } = context;
|
|
56
|
+
const srsIndex = Surveys.getSRSIndex(survey);
|
|
57
|
+
const toPoint = (nodeOrPoint) => {
|
|
58
|
+
if (typeof nodeOrPoint === 'string') {
|
|
59
|
+
const point = Points.parse(nodeOrPoint);
|
|
60
|
+
return point && Points.isValid(point, srsIndex) ? point : null;
|
|
61
|
+
}
|
|
62
|
+
return Points.isValid(nodeOrPoint, srsIndex)
|
|
63
|
+
? nodeOrPoint
|
|
64
|
+
: NodeValues.getValueAsPoint({ survey, node: nodeOrPoint });
|
|
65
|
+
};
|
|
66
|
+
const pointsLatLon = nodeSetOrPoints.reduce((acc, nodeSetOrPoint) => {
|
|
67
|
+
Arrays.toArray(nodeSetOrPoint).forEach((nodeOrPoint) => {
|
|
68
|
+
const point = toPoint(nodeOrPoint);
|
|
69
|
+
const pointLatLon = point ? Points.toLatLong(point, srsIndex) : null;
|
|
70
|
+
if (pointLatLon) {
|
|
71
|
+
acc.push(pointLatLon);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return acc;
|
|
75
|
+
}, []);
|
|
76
|
+
if (pointsLatLon.length === 0)
|
|
77
|
+
return null;
|
|
78
|
+
return {
|
|
79
|
+
type: 'Feature',
|
|
80
|
+
geometry: {
|
|
81
|
+
type: 'Polygon',
|
|
82
|
+
coordinates: [pointsLatLon.map((point) => [point.x, point.y])],
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
},
|
|
86
|
+
}, index: {
|
|
87
|
+
minArity: 1,
|
|
88
|
+
maxArity: 1,
|
|
89
|
+
evaluateArgsToNodes: true,
|
|
90
|
+
executor: (context) => (node) => {
|
|
91
|
+
if (!node) {
|
|
92
|
+
return -1;
|
|
93
|
+
}
|
|
94
|
+
if (Nodes.isRoot(node)) {
|
|
95
|
+
return 0;
|
|
96
|
+
}
|
|
97
|
+
const { record } = context;
|
|
98
|
+
const parentNode = Records.getParent(node)(record);
|
|
99
|
+
if (!parentNode) {
|
|
100
|
+
return -1;
|
|
101
|
+
}
|
|
102
|
+
const children = Records.getChildren(parentNode, node.nodeDefUuid)(record);
|
|
103
|
+
return children.findIndex((n) => Nodes.areEqual(n, node));
|
|
104
|
+
},
|
|
105
|
+
}, last: {
|
|
106
|
+
minArity: 1,
|
|
107
|
+
maxArity: 1,
|
|
108
|
+
evaluateArgsToNodes: false,
|
|
109
|
+
executor: (_context) => (nodeSet) => {
|
|
110
|
+
if (nodeSet && Array.isArray(nodeSet) && nodeSet.length > 0) {
|
|
111
|
+
return nodeSet.at(-1);
|
|
112
|
+
}
|
|
113
|
+
return null;
|
|
114
|
+
},
|
|
115
|
+
}, parent: {
|
|
116
|
+
minArity: 1,
|
|
117
|
+
maxArity: 1,
|
|
118
|
+
evaluateArgsToNodes: true,
|
|
119
|
+
evaluateToNode: true,
|
|
120
|
+
executor: (context) => (node) => {
|
|
121
|
+
if (!node || Nodes.isRoot(node)) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
const { record } = context;
|
|
125
|
+
return Records.getParent(node)(record);
|
|
126
|
+
},
|
|
127
|
+
}, prevCycleValue: {
|
|
128
|
+
minArity: 1,
|
|
129
|
+
maxArity: 1,
|
|
130
|
+
evaluateArgsToNodes: true,
|
|
131
|
+
executor: (context) => (node) => { var _a; return (_a = extractPreviousCycleValues({ node, context })) === null || _a === void 0 ? void 0 : _a[0]; },
|
|
132
|
+
}, prevCycleValues: {
|
|
133
|
+
minArity: 1,
|
|
134
|
+
maxArity: 1,
|
|
135
|
+
evaluateArgsToNodes: true,
|
|
136
|
+
executor: (context) => (node) => extractPreviousCycleValues({ node, context }),
|
|
137
|
+
}, recordCycle: {
|
|
138
|
+
minArity: 0,
|
|
139
|
+
maxArity: 0,
|
|
140
|
+
executor: (context) => () => { var _a; return Number((_a = context.record.cycle) !== null && _a !== void 0 ? _a : 0) + 1; },
|
|
141
|
+
}, recordDateCreated: {
|
|
142
|
+
minArity: 0,
|
|
143
|
+
maxArity: 0,
|
|
144
|
+
executor: (context) => () => context.record.dateCreated,
|
|
145
|
+
}, recordDateLastModified: {
|
|
146
|
+
minArity: 0,
|
|
147
|
+
maxArity: 0,
|
|
148
|
+
executor: (context) => () => context.record.dateModified,
|
|
149
|
+
}, recordOwnerEmail: {
|
|
150
|
+
minArity: 0,
|
|
151
|
+
maxArity: 0,
|
|
152
|
+
executor: (context) => () => context.record.ownerEmail,
|
|
153
|
+
}, recordOwnerName: {
|
|
154
|
+
minArity: 0,
|
|
155
|
+
maxArity: 0,
|
|
156
|
+
executor: (context) => () => context.record.ownerName,
|
|
157
|
+
}, recordOwnerRole: {
|
|
158
|
+
minArity: 0,
|
|
159
|
+
maxArity: 0,
|
|
160
|
+
executor: (context) => () => context.record.ownerRole,
|
|
161
|
+
}, sum: {
|
|
162
|
+
minArity: 1,
|
|
163
|
+
maxArity: 1,
|
|
164
|
+
evaluateArgsToNodes: false,
|
|
165
|
+
executor: (_context) => (nodeSet) => {
|
|
166
|
+
if (!nodeSet)
|
|
167
|
+
return 0;
|
|
168
|
+
if (Array.isArray(nodeSet))
|
|
169
|
+
return nodeSet.reduce((acc, value) => acc + (Number(value) || 0), 0);
|
|
170
|
+
return 0;
|
|
171
|
+
},
|
|
172
|
+
}, unique: {
|
|
173
|
+
minArity: 1,
|
|
174
|
+
maxArity: 1,
|
|
175
|
+
evaluateArgsToNodes: false,
|
|
176
|
+
executor: (_context) => (nodeSet) => {
|
|
177
|
+
if (!nodeSet || !Array.isArray(nodeSet))
|
|
178
|
+
return [];
|
|
179
|
+
return [...new Set(nodeSet.filter((value) => value !== null && value !== undefined && value !== ''))];
|
|
180
|
+
},
|
|
181
|
+
}, userIsRecordOwner: {
|
|
182
|
+
minArity: 0,
|
|
183
|
+
maxArity: 0,
|
|
184
|
+
executor: (context) => () => { var _a, _b; return ((_a = context.user) === null || _a === void 0 ? void 0 : _a.uuid) === ((_b = context.record) === null || _b === void 0 ? void 0 : _b.ownerUuid); },
|
|
185
|
+
} });
|
|
186
|
+
//# sourceMappingURL=functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/record/recordExpressionEvaluator/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/record/recordExpressionEvaluator/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ExpressionVariable } from '../../../../expression';
|
|
2
|
+
import { IdentifierEvaluator } from '../../../../expression/javascript/node/identifier';
|
|
3
|
+
import { NodeDefs, NodeDefType } from '../../../../nodeDef';
|
|
4
|
+
import { Records } from '../../../records';
|
|
5
|
+
import { NodeValues } from '../../../../node/nodeValues';
|
|
6
|
+
import { Surveys } from '../../../../survey';
|
|
7
|
+
import { NodesFinder } from './nodesFinder';
|
|
8
|
+
import { SystemError } from '../../../../error';
|
|
9
|
+
import { NodeValueExtractor } from '../../nodeValueExtractor';
|
|
10
|
+
const getNodesOrValues = (params) => {
|
|
11
|
+
const { survey, nodeDefReferenced, referencedNodes, propName, evaluateToNode } = params;
|
|
12
|
+
const single = !nodeDefReferenced.props.multiple;
|
|
13
|
+
if (single) {
|
|
14
|
+
if (referencedNodes.length === 0) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
if (referencedNodes.length > 1)
|
|
18
|
+
throw new SystemError('expression.multipleNodesFoundForNodeDef', { nodeDefName: propName });
|
|
19
|
+
}
|
|
20
|
+
if (nodeDefReferenced.type === NodeDefType.entity || evaluateToNode) {
|
|
21
|
+
return referencedNodes;
|
|
22
|
+
}
|
|
23
|
+
return referencedNodes.map((referencedNode) => NodeValueExtractor.getNodeValue({ survey, node: referencedNode, nodeDef: nodeDefReferenced }));
|
|
24
|
+
};
|
|
25
|
+
const evaluateIdentifierOnNode = (params) => {
|
|
26
|
+
const { survey, record, nodeObject, evaluateToNode = false, propName } = params;
|
|
27
|
+
const { nodeDefUuid: nodeDefObjectUuid, value } = nodeObject;
|
|
28
|
+
if (!nodeDefObjectUuid) {
|
|
29
|
+
throw new SystemError('expression.identifierNotFound', { name: propName });
|
|
30
|
+
}
|
|
31
|
+
const nodeDefObject = Surveys.getNodeDefByUuid({ survey, uuid: nodeDefObjectUuid });
|
|
32
|
+
const valueProp = value === null || value === void 0 ? void 0 : value[propName];
|
|
33
|
+
if (valueProp !== undefined) {
|
|
34
|
+
return valueProp;
|
|
35
|
+
}
|
|
36
|
+
if (NodeDefs.isAttribute(nodeDefObject)) {
|
|
37
|
+
if (NodeValues.isValueProp({ nodeDef: nodeDefObject, prop: propName })) {
|
|
38
|
+
return NodeValues.getNodeValueProp({ nodeDef: nodeDefObject, node: nodeObject, prop: propName });
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
throw new SystemError('expression.invalidAttributeValuePropertyName', {
|
|
42
|
+
attributeName: NodeDefs.getName(nodeDefObject),
|
|
43
|
+
propName,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
const nodeDefReferenced = Surveys.findNodeDefByName({ survey, name: propName });
|
|
48
|
+
if (!nodeDefReferenced) {
|
|
49
|
+
throw new SystemError('expression.identifierNotFound', { name: propName });
|
|
50
|
+
}
|
|
51
|
+
if (nodeObject.nodeDefUuid === nodeDefReferenced.uuid) {
|
|
52
|
+
return nodeObject;
|
|
53
|
+
}
|
|
54
|
+
if (Surveys.isNodeDefAncestor({ nodeDefAncestor: nodeDefReferenced, nodeDefDescendant: nodeDefObject })) {
|
|
55
|
+
return Records.getAncestor({ record, node: nodeObject, ancestorDefUuid: nodeDefReferenced.uuid });
|
|
56
|
+
}
|
|
57
|
+
const referencedNodes = NodesFinder.findDescendants({ survey, record, nodeContext: nodeObject, nodeDefReferenced });
|
|
58
|
+
const nodesOrValues = getNodesOrValues({ survey, referencedNodes, nodeDefReferenced, propName, evaluateToNode });
|
|
59
|
+
return nodeDefReferenced.props.multiple ? nodesOrValues : nodesOrValues[0];
|
|
60
|
+
};
|
|
61
|
+
export class RecordIdentifierEvaluator extends IdentifierEvaluator {
|
|
62
|
+
evaluate(expressionNode) {
|
|
63
|
+
return Promise.resolve(this.evaluateValue(expressionNode));
|
|
64
|
+
}
|
|
65
|
+
evaluateValue(expressionNode) {
|
|
66
|
+
var _a, _b, _c, _d;
|
|
67
|
+
const { name: propName } = expressionNode;
|
|
68
|
+
if (propName === ExpressionVariable.CONTEXT) {
|
|
69
|
+
return this.context.nodeContext;
|
|
70
|
+
}
|
|
71
|
+
try {
|
|
72
|
+
const property = this.findGlobalOrNativeProperty(expressionNode);
|
|
73
|
+
if (property) {
|
|
74
|
+
return property.value;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch (_e) {
|
|
78
|
+
}
|
|
79
|
+
const { survey, record, evaluateToNode, object: contextObject, item } = this.context;
|
|
80
|
+
if (item && item === contextObject) {
|
|
81
|
+
return (_b = (_a = item.props) === null || _a === void 0 ? void 0 : _a[propName]) !== null && _b !== void 0 ? _b : (_d = (_c = item.props) === null || _c === void 0 ? void 0 : _c.extra) === null || _d === void 0 ? void 0 : _d[propName];
|
|
82
|
+
}
|
|
83
|
+
if (Array.isArray(contextObject)) {
|
|
84
|
+
return contextObject.flatMap((contextNode) => {
|
|
85
|
+
const evaluationResult = evaluateIdentifierOnNode({
|
|
86
|
+
survey,
|
|
87
|
+
record,
|
|
88
|
+
nodeObject: contextNode,
|
|
89
|
+
evaluateToNode,
|
|
90
|
+
propName,
|
|
91
|
+
});
|
|
92
|
+
return Array.isArray(evaluationResult) ? evaluationResult : [evaluationResult];
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
return evaluateIdentifierOnNode({ survey, record, nodeObject: contextObject, evaluateToNode, propName });
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=identifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../../../../src/record/recordExpressionEvaluator/node/identifier/identifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/record/recordExpressionEvaluator/node/identifier/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Nodes } from '../../../../node';
|
|
2
|
+
import { NodeDefType } from '../../../../nodeDef';
|
|
3
|
+
import { Records } from '../../../records';
|
|
4
|
+
import { Surveys } from '../../../../survey';
|
|
5
|
+
import { Arrays } from '../../../../utils';
|
|
6
|
+
const getCommonAncestor = (params) => {
|
|
7
|
+
var _a;
|
|
8
|
+
const { record, nodeCtxHierarchy, nodeDefCtx, nodeDefReferenced } = params;
|
|
9
|
+
if (!nodeDefCtx.parentUuid) {
|
|
10
|
+
return Records.getRoot(record);
|
|
11
|
+
}
|
|
12
|
+
const nodeDefReferencedH = nodeDefReferenced.meta.h;
|
|
13
|
+
const nodeDefCtxHierarchyToConsider = [...nodeDefCtx.meta.h, nodeDefCtx.uuid];
|
|
14
|
+
const nodeDefCommonH = Arrays.intersection(nodeDefReferencedH, nodeDefCtxHierarchyToConsider);
|
|
15
|
+
if (nodeDefCommonH.length === 1) {
|
|
16
|
+
return Records.getRoot(record);
|
|
17
|
+
}
|
|
18
|
+
if (nodeDefCommonH.length > 1) {
|
|
19
|
+
const nodeCommonAncestorUuid = nodeCtxHierarchy[nodeDefCommonH.length - 1];
|
|
20
|
+
return (_a = record.nodes) === null || _a === void 0 ? void 0 : _a[nodeCommonAncestorUuid];
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
};
|
|
24
|
+
const getReferencedNodesParent = (params) => {
|
|
25
|
+
var _a;
|
|
26
|
+
const { survey, record, nodeContext, nodeDefReferenced } = params;
|
|
27
|
+
if (nodeDefReferenced.parentUuid === nodeContext.nodeDefUuid) {
|
|
28
|
+
return nodeContext;
|
|
29
|
+
}
|
|
30
|
+
const nodeDefCtx = Surveys.getNodeDefByUuid({ survey, uuid: nodeContext.nodeDefUuid });
|
|
31
|
+
const nodeCtxH = Nodes.getHierarchy(nodeContext);
|
|
32
|
+
if (nodeDefCtx.type === NodeDefType.entity) {
|
|
33
|
+
nodeCtxH.push(nodeContext.uuid);
|
|
34
|
+
}
|
|
35
|
+
if (Surveys.isNodeDefAncestor({ nodeDefAncestor: nodeDefReferenced, nodeDefDescendant: nodeDefCtx })) {
|
|
36
|
+
const nodeDefReferencedH = nodeDefReferenced.meta.h;
|
|
37
|
+
const nodeReferencedParentUuid = nodeCtxH[nodeDefReferencedH.length - 1];
|
|
38
|
+
const nodeReferencedParent = (_a = record.nodes) === null || _a === void 0 ? void 0 : _a[nodeReferencedParentUuid];
|
|
39
|
+
if (!nodeReferencedParent) {
|
|
40
|
+
throw new Error(`Cannot find parent node of ${nodeDefReferenced.props.name} from ${nodeDefCtx.props.name}`);
|
|
41
|
+
}
|
|
42
|
+
return nodeReferencedParent;
|
|
43
|
+
}
|
|
44
|
+
const nodeCommonAncestor = getCommonAncestor({
|
|
45
|
+
record,
|
|
46
|
+
nodeCtxHierarchy: nodeCtxH,
|
|
47
|
+
nodeDefCtx,
|
|
48
|
+
nodeDefReferenced,
|
|
49
|
+
});
|
|
50
|
+
if (!nodeCommonAncestor)
|
|
51
|
+
return undefined;
|
|
52
|
+
const nodeDefReferencedParent = Surveys.getNodeDefParent({ survey, nodeDef: nodeDefReferenced });
|
|
53
|
+
if (!nodeDefReferencedParent)
|
|
54
|
+
return undefined;
|
|
55
|
+
return Records.getDescendant({ record, node: nodeCommonAncestor, nodeDefDescendant: nodeDefReferencedParent });
|
|
56
|
+
};
|
|
57
|
+
const findDescendants = (params) => {
|
|
58
|
+
const { survey, record, nodeContext, nodeDefReferenced } = params;
|
|
59
|
+
const nodeReferencedParent = getReferencedNodesParent({ survey, record, nodeContext, nodeDefReferenced });
|
|
60
|
+
if (nodeReferencedParent) {
|
|
61
|
+
return Records.getChildren(nodeReferencedParent, nodeDefReferenced.uuid)(record);
|
|
62
|
+
}
|
|
63
|
+
return [];
|
|
64
|
+
};
|
|
65
|
+
export const NodesFinder = {
|
|
66
|
+
findDescendants,
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=nodesFinder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodesFinder.js","sourceRoot":"","sources":["../../../../../../src/record/recordExpressionEvaluator/node/identifier/nodesFinder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ThisEvaluator } from '../../../expression/javascript/node/this';
|
|
2
|
+
import { NodeValueExtractor } from '../nodeValueExtractor';
|
|
3
|
+
import { Surveys } from '../../../survey';
|
|
4
|
+
export class RecordThisEvaluator extends ThisEvaluator {
|
|
5
|
+
evaluate() {
|
|
6
|
+
return Promise.resolve(this.evaluateValue());
|
|
7
|
+
}
|
|
8
|
+
evaluateValue() {
|
|
9
|
+
var _a;
|
|
10
|
+
const { survey, nodeCurrent, evaluateToNode, item } = this.context;
|
|
11
|
+
if (evaluateToNode) {
|
|
12
|
+
return item !== null && item !== void 0 ? item : nodeCurrent;
|
|
13
|
+
}
|
|
14
|
+
if (item) {
|
|
15
|
+
return (_a = item === null || item === void 0 ? void 0 : item.props) === null || _a === void 0 ? void 0 : _a.code;
|
|
16
|
+
}
|
|
17
|
+
if (nodeCurrent === null || nodeCurrent === void 0 ? void 0 : nodeCurrent.nodeDefUuid) {
|
|
18
|
+
const nodeDef = Surveys.getNodeDefByUuid({ survey, uuid: nodeCurrent === null || nodeCurrent === void 0 ? void 0 : nodeCurrent.nodeDefUuid });
|
|
19
|
+
return NodeValueExtractor.getNodeValue({ survey, node: nodeCurrent, nodeDef });
|
|
20
|
+
}
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=thisEvaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"thisEvaluator.js","sourceRoot":"","sources":["../../../../../src/record/recordExpressionEvaluator/node/thisEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAA;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,OAAO,mBAAoB,SAAQ,aAAsC;IAC7E,QAAQ;QACN,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;IAC9C,CAAC;IAEO,aAAa;;QACnB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAElE,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,WAAW,CAAA;QAC5B,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,IAAI,CAAA;QAC1B,CAAC;QAED,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,EAAE,CAAC,CAAA;YACpF,OAAO,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;QAChF,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;CACF"}
|