@openforis/arena-core 2.3.33 → 2.3.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/appInfo.js.map +1 -1
- package/dist/app/index.js.map +1 -1
- package/dist/auth/authGroup.js.map +1 -1
- package/dist/auth/authGroups.js.map +1 -1
- package/dist/auth/authorizer.js +45 -0
- package/dist/auth/authorizer.js.map +1 -1
- package/dist/auth/factory.js.map +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/permission.js.map +1 -1
- package/dist/auth/user.js.map +1 -1
- package/dist/auth/userAuth.js.map +1 -1
- package/dist/auth/userAuthTokenService.d.ts +28 -0
- package/dist/auth/userAuthTokenService.js.map +1 -1
- package/dist/auth/userGroup.js.map +1 -1
- package/dist/auth/userService.js.map +1 -1
- package/dist/auth/users.js +1 -0
- package/dist/auth/users.js.map +1 -1
- package/dist/category/categories.js.map +1 -1
- package/dist/category/category.js.map +1 -1
- package/dist/category/categoryImportSummary.js.map +1 -1
- package/dist/category/categoryItemGenerator.js.map +1 -1
- package/dist/category/categoryItems.js.map +1 -1
- package/dist/category/factory.js.map +1 -1
- package/dist/category/index.js.map +1 -1
- package/dist/category/item.js.map +1 -1
- package/dist/category/itemService.js.map +1 -1
- package/dist/category/level.js.map +1 -1
- package/dist/category/levelService.js.map +1 -1
- package/dist/category/service.js.map +1 -1
- package/dist/chain/chain.js.map +1 -1
- package/dist/chain/chainFactory.js.map +1 -1
- package/dist/chain/chainNodeDef.js.map +1 -1
- package/dist/chain/chainNodeDefAggregate.js.map +1 -1
- package/dist/chain/chainNodeDefFactory.js.map +1 -1
- package/dist/chain/chainNodeDefService.js.map +1 -1
- package/dist/chain/chainService.js.map +1 -1
- package/dist/chain/index.js.map +1 -1
- package/dist/common/Dictionary.js.map +1 -1
- package/dist/common/factory.js.map +1 -1
- package/dist/common/i18n.js.map +1 -1
- package/dist/common/index.js.map +1 -1
- package/dist/dataExport/ArenaExportInfo.js.map +1 -1
- package/dist/dataExport/ArenaExportInfoFactory.js.map +1 -1
- package/dist/dataExport/FlatDataExportModel.js +3 -3
- package/dist/dataExport/FlatDataExportModel.js.map +1 -1
- package/dist/dataExport/FlatDataExportOptions.js.map +1 -1
- package/dist/dataExport/FlatDataFiles.js.map +1 -1
- package/dist/dataExport/UniqueFileNamesGenerator.d.ts +23 -0
- package/dist/dataExport/UniqueFileNamesGenerator.js +26 -1
- package/dist/dataExport/UniqueFileNamesGenerator.js.map +1 -1
- package/dist/dataExport/index.js.map +1 -1
- package/dist/dataQuery/dataQuery.js.map +1 -1
- package/dist/dataQuery/dataQuerySummaries.js +3 -0
- package/dist/dataQuery/dataQuerySummaries.js.map +1 -1
- package/dist/dataQuery/index.js.map +1 -1
- package/dist/error/SystemError.js +1 -0
- package/dist/error/SystemError.js.map +1 -1
- package/dist/error/index.js.map +1 -1
- package/dist/esm/app/appInfo.js.map +1 -1
- package/dist/esm/app/index.js.map +1 -1
- package/dist/esm/auth/authGroup.js.map +1 -1
- package/dist/esm/auth/authGroups.js.map +1 -1
- package/dist/esm/auth/authorizer.js +45 -0
- package/dist/esm/auth/authorizer.js.map +1 -1
- package/dist/esm/auth/factory.js.map +1 -1
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/permission.js.map +1 -1
- package/dist/esm/auth/user.js.map +1 -1
- package/dist/esm/auth/userAuth.js.map +1 -1
- package/dist/esm/auth/userAuthTokenService.js.map +1 -1
- package/dist/esm/auth/userGroup.js.map +1 -1
- package/dist/esm/auth/userService.js.map +1 -1
- package/dist/esm/auth/users.js +1 -0
- package/dist/esm/auth/users.js.map +1 -1
- package/dist/esm/category/categories.js.map +1 -1
- package/dist/esm/category/category.js.map +1 -1
- package/dist/esm/category/categoryImportSummary.js.map +1 -1
- package/dist/esm/category/categoryItemGenerator.js.map +1 -1
- package/dist/esm/category/categoryItems.js.map +1 -1
- package/dist/esm/category/factory.js.map +1 -1
- package/dist/esm/category/index.js.map +1 -1
- package/dist/esm/category/item.js.map +1 -1
- package/dist/esm/category/itemService.js.map +1 -1
- package/dist/esm/category/level.js.map +1 -1
- package/dist/esm/category/levelService.js.map +1 -1
- package/dist/esm/category/service.js.map +1 -1
- package/dist/esm/chain/chain.js.map +1 -1
- package/dist/esm/chain/chainFactory.js.map +1 -1
- package/dist/esm/chain/chainNodeDef.js.map +1 -1
- package/dist/esm/chain/chainNodeDefAggregate.js.map +1 -1
- package/dist/esm/chain/chainNodeDefFactory.js.map +1 -1
- package/dist/esm/chain/chainNodeDefService.js.map +1 -1
- package/dist/esm/chain/chainService.js.map +1 -1
- package/dist/esm/chain/index.js.map +1 -1
- package/dist/esm/common/Dictionary.js.map +1 -1
- package/dist/esm/common/factory.js.map +1 -1
- package/dist/esm/common/i18n.js.map +1 -1
- package/dist/esm/common/index.js.map +1 -1
- package/dist/esm/dataExport/ArenaExportInfo.js.map +1 -1
- package/dist/esm/dataExport/ArenaExportInfoFactory.js.map +1 -1
- package/dist/esm/dataExport/FlatDataExportModel.js +3 -3
- package/dist/esm/dataExport/FlatDataExportModel.js.map +1 -1
- package/dist/esm/dataExport/FlatDataExportOptions.js.map +1 -1
- package/dist/esm/dataExport/FlatDataFiles.js.map +1 -1
- package/dist/esm/dataExport/UniqueFileNamesGenerator.js +26 -1
- package/dist/esm/dataExport/UniqueFileNamesGenerator.js.map +1 -1
- package/dist/esm/dataExport/index.js.map +1 -1
- package/dist/esm/dataQuery/dataQuery.js.map +1 -1
- package/dist/esm/dataQuery/dataQuerySummaries.js +3 -0
- package/dist/esm/dataQuery/dataQuerySummaries.js.map +1 -1
- package/dist/esm/dataQuery/index.js.map +1 -1
- package/dist/esm/error/SystemError.js +1 -0
- package/dist/esm/error/SystemError.js.map +1 -1
- package/dist/esm/error/index.js.map +1 -1
- package/dist/esm/expression/context.js.map +1 -1
- package/dist/esm/expression/evaluator.js.map +1 -1
- package/dist/esm/expression/function.js.map +1 -1
- package/dist/esm/expression/index.js.map +1 -1
- package/dist/esm/expression/javascript/evaluator.js +4 -1
- package/dist/esm/expression/javascript/evaluator.js.map +1 -1
- package/dist/esm/expression/javascript/functionsDefault.js.map +1 -1
- package/dist/esm/expression/javascript/global.js.map +1 -1
- package/dist/esm/expression/javascript/node/array.js.map +1 -1
- package/dist/esm/expression/javascript/node/binary.js +23 -0
- package/dist/esm/expression/javascript/node/binary.js.map +1 -1
- package/dist/esm/expression/javascript/node/call.js +12 -0
- package/dist/esm/expression/javascript/node/call.js.map +1 -1
- package/dist/esm/expression/javascript/node/compound.js.map +1 -1
- package/dist/esm/expression/javascript/node/conditional.js.map +1 -1
- package/dist/esm/expression/javascript/node/identifier.js +7 -0
- package/dist/esm/expression/javascript/node/identifier.js.map +1 -1
- package/dist/esm/expression/javascript/node/literal.js.map +1 -1
- package/dist/esm/expression/javascript/node/member.js +5 -1
- package/dist/esm/expression/javascript/node/member.js.map +1 -1
- package/dist/esm/expression/javascript/node/sequence.js.map +1 -1
- package/dist/esm/expression/javascript/node/this.js.map +1 -1
- package/dist/esm/expression/javascript/node/unary.js +8 -0
- package/dist/esm/expression/javascript/node/unary.js.map +1 -1
- package/dist/esm/expression/javascript/parser/jsep.js +6 -2
- package/dist/esm/expression/javascript/parser/jsep.js.map +1 -1
- package/dist/esm/expression/javascript/parser/parser.js.map +1 -1
- package/dist/esm/expression/node.js.map +1 -1
- package/dist/esm/expression/parser.js.map +1 -1
- package/dist/esm/expression/variable.js.map +1 -1
- package/dist/esm/extraProp/extraProp.js.map +1 -1
- package/dist/esm/extraProp/extraProps.js.map +1 -1
- package/dist/esm/extraProp/extraPropsDataGenerator.js.map +1 -1
- package/dist/esm/extraProp/index.js.map +1 -1
- package/dist/esm/geo/index.js.map +1 -1
- package/dist/esm/geo/point.js.map +1 -1
- package/dist/esm/geo/pointFactory.js.map +1 -1
- package/dist/esm/geo/points/bearing.js +11 -0
- package/dist/esm/geo/points/bearing.js.map +1 -1
- package/dist/esm/geo/points/distance.js +9 -0
- package/dist/esm/geo/points/distance.js.map +1 -1
- package/dist/esm/geo/points/equals.js.map +1 -1
- package/dist/esm/geo/points/getSrs.js.map +1 -1
- package/dist/esm/geo/points/index.js.map +1 -1
- package/dist/esm/geo/points/isFilled.js.map +1 -1
- package/dist/esm/geo/points/isValid.js +1 -1
- package/dist/esm/geo/points/isValid.js.map +1 -1
- package/dist/esm/geo/points/parse.js +9 -0
- package/dist/esm/geo/points/parse.js.map +1 -1
- package/dist/esm/geo/points/pointAtDistance.js +10 -0
- package/dist/esm/geo/points/pointAtDistance.js.map +1 -1
- package/dist/esm/geo/points/toLatLong.js.map +1 -1
- package/dist/esm/geo/points/toString.js.map +1 -1
- package/dist/esm/geo/points/transform.js +12 -0
- package/dist/esm/geo/points/transform.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/job/JobBase.js +99 -0
- package/dist/esm/job/JobBase.js.map +1 -1
- package/dist/esm/job/index.js.map +1 -1
- package/dist/esm/job/job.js.map +1 -1
- package/dist/esm/job/jobContext.js.map +1 -1
- package/dist/esm/job/jobEvent.js.map +1 -1
- package/dist/esm/job/jobSerialized.js.map +1 -1
- package/dist/esm/job/status.js.map +1 -1
- package/dist/esm/language/index.js.map +1 -1
- package/dist/esm/language/labels.js.map +1 -1
- package/dist/esm/language/languageCode.js.map +1 -1
- package/dist/esm/language/languages.js.map +1 -1
- package/dist/esm/logger/index.js.map +1 -1
- package/dist/esm/logger/logger.js.map +1 -1
- package/dist/esm/message/index.js.map +1 -1
- package/dist/esm/message/message.js.map +1 -1
- package/dist/esm/message/messages.js +1 -0
- package/dist/esm/message/messages.js.map +1 -1
- package/dist/esm/node/factory.js.map +1 -1
- package/dist/esm/node/index.js.map +1 -1
- package/dist/esm/node/node.js.map +1 -1
- package/dist/esm/node/nodePointer.js.map +1 -1
- package/dist/esm/node/nodeValue/code.js.map +1 -1
- package/dist/esm/node/nodeValue/coordinate.js.map +1 -1
- package/dist/esm/node/nodeValue/file.js.map +1 -1
- package/dist/esm/node/nodeValue/index.js.map +1 -1
- package/dist/esm/node/nodeValue/nodeValueComposite.js.map +1 -1
- package/dist/esm/node/nodeValue/taxon.js.map +1 -1
- package/dist/esm/node/nodeValueFormatter.js +2 -0
- package/dist/esm/node/nodeValueFormatter.js.map +1 -1
- package/dist/esm/node/nodeValueProps.js.map +1 -1
- package/dist/esm/node/nodeValues.js +20 -0
- package/dist/esm/node/nodeValues.js.map +1 -1
- package/dist/esm/node/nodes.js +7 -0
- package/dist/esm/node/nodes.js.map +1 -1
- package/dist/esm/node/service.js.map +1 -1
- package/dist/esm/nodeDef/factory.js.map +1 -1
- package/dist/esm/nodeDef/index.js.map +1 -1
- package/dist/esm/nodeDef/nodeDef.js +1 -0
- package/dist/esm/nodeDef/nodeDef.js.map +1 -1
- package/dist/esm/nodeDef/nodeDefs.js +18 -0
- package/dist/esm/nodeDef/nodeDefs.js.map +1 -1
- package/dist/esm/nodeDef/service.js.map +1 -1
- package/dist/esm/nodeDef/types/boolean.js.map +1 -1
- package/dist/esm/nodeDef/types/code.js.map +1 -1
- package/dist/esm/nodeDef/types/coordinate.js.map +1 -1
- package/dist/esm/nodeDef/types/date.js.map +1 -1
- package/dist/esm/nodeDef/types/decimal.js.map +1 -1
- package/dist/esm/nodeDef/types/entity.js.map +1 -1
- package/dist/esm/nodeDef/types/file.js.map +1 -1
- package/dist/esm/nodeDef/types/formHeader.js.map +1 -1
- package/dist/esm/nodeDef/types/integer.js.map +1 -1
- package/dist/esm/nodeDef/types/taxon.js.map +1 -1
- package/dist/esm/nodeDef/types/text.js.map +1 -1
- package/dist/esm/nodeDef/types/time.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/context.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/functions.js +8 -1
- package/dist/esm/nodeDefExpressionEvaluator/functions.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/index.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js +28 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/member.js +15 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/member.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +3 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/validator.js.map +1 -1
- package/dist/esm/record/_records/nodeDefSelfReferences.js +57 -0
- package/dist/esm/record/_records/nodeDefSelfReferences.js.map +1 -0
- package/dist/esm/record/_records/recordCompletion.js +14 -0
- package/dist/esm/record/_records/recordCompletion.js.map +1 -1
- package/dist/esm/record/_records/recordGetters.js +26 -5
- package/dist/esm/record/_records/recordGetters.js.map +1 -1
- package/dist/esm/record/_records/recordNodesIndexReader.js.map +1 -1
- package/dist/esm/record/_records/recordNodesIndexUpdater.js +17 -0
- package/dist/esm/record/_records/recordNodesIndexUpdater.js.map +1 -1
- package/dist/esm/record/_records/recordPagesValidation.js +45 -0
- package/dist/esm/record/_records/recordPagesValidation.js.map +1 -1
- package/dist/esm/record/_records/recordUpdateOptions.js.map +1 -1
- package/dist/esm/record/_records/recordUpdater.js +2 -0
- package/dist/esm/record/_records/recordUpdater.js.map +1 -1
- package/dist/esm/record/_records/recordUtils.js.map +1 -1
- package/dist/esm/record/factory.js.map +1 -1
- package/dist/esm/record/index.js.map +1 -1
- package/dist/esm/record/nodePointers.js.map +1 -1
- package/dist/esm/record/record.js.map +1 -1
- package/dist/esm/record/recordCloner.js +10 -1
- package/dist/esm/record/recordCloner.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/context.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/functions.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/index.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js +14 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +6 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
- package/dist/esm/record/recordFixer.js +16 -0
- package/dist/esm/record/recordFixer.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/index.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +6 -0
- package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js +5 -0
- package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +20 -2
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +2 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +13 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +9 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +17 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +5 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +4 -2
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +8 -3
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js +10 -5
- package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js +7 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +2 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js +16 -2
- package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js +8 -0
- package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
- package/dist/esm/record/recordPrettyPrinter.js.map +1 -1
- package/dist/esm/record/recordStep.js.map +1 -1
- package/dist/esm/record/recordUpdater.js +1 -0
- package/dist/esm/record/recordUpdater.js.map +1 -1
- package/dist/esm/record/recordValidations.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeKeyValidator.js +3 -0
- package/dist/esm/record/recordValidator/attributeKeyValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeTypeValidator.js +3 -0
- package/dist/esm/record/recordValidator/attributeTypeValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeUniqueValidator.js +2 -0
- package/dist/esm/record/recordValidator/attributeUniqueValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeValidator.js +12 -1
- package/dist/esm/record/recordValidator/attributeValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/countVaildator.js +5 -0
- package/dist/esm/record/recordValidator/countVaildator.js.map +1 -1
- package/dist/esm/record/recordValidator/index.js.map +1 -1
- package/dist/esm/record/recordValidator/recordValidator.js +3 -0
- package/dist/esm/record/recordValidator/recordValidator.js.map +1 -1
- package/dist/esm/record/records.js +3 -0
- package/dist/esm/record/records.js.map +1 -1
- package/dist/esm/record/service.js.map +1 -1
- package/dist/esm/registry/index.js.map +1 -1
- package/dist/esm/registry/serviceRegistry.js.map +1 -1
- package/dist/esm/registry/serviceType.js.map +1 -1
- package/dist/esm/srs/factory.js.map +1 -1
- package/dist/esm/srs/index.js.map +1 -1
- package/dist/esm/srs/srs.js.map +1 -1
- package/dist/esm/survey/factory.js +1 -0
- package/dist/esm/survey/factory.js.map +1 -1
- package/dist/esm/survey/index.js.map +1 -1
- package/dist/esm/survey/nodeDefsFixer.js +1 -0
- package/dist/esm/survey/nodeDefsFixer.js.map +1 -1
- package/dist/esm/survey/refData/factory.js.map +1 -1
- package/dist/esm/survey/refData/index.js.map +1 -1
- package/dist/esm/survey/refData/refData.js.map +1 -1
- package/dist/esm/survey/service.js.map +1 -1
- package/dist/esm/survey/survey.js.map +1 -1
- package/dist/esm/survey/surveyDocImageFactory.js.map +1 -1
- package/dist/esm/survey/surveyDocImages.js.map +1 -1
- package/dist/esm/survey/surveyFileFactory.js.map +1 -1
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js +8 -0
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
- package/dist/esm/survey/surveys/dependencies.js +11 -2
- package/dist/esm/survey/surveys/dependencies.js.map +1 -1
- package/dist/esm/survey/surveys/index.js +6 -0
- package/dist/esm/survey/surveys/index.js.map +1 -1
- package/dist/esm/survey/surveys/nodeDefs.js +12 -0
- package/dist/esm/survey/surveys/nodeDefs.js.map +1 -1
- package/dist/esm/survey/surveys/refsData.js.map +1 -1
- package/dist/esm/survey/surveys/surveyGettersSecurity.js.map +1 -1
- package/dist/esm/survey/surveys/surveysGetters.js +3 -1
- package/dist/esm/survey/surveys/surveysGetters.js.map +1 -1
- package/dist/esm/survey/surveys/surveysUtils.js.map +1 -1
- package/dist/esm/taxonomy/factory.js.map +1 -1
- package/dist/esm/taxonomy/index.js.map +1 -1
- package/dist/esm/taxonomy/service.js.map +1 -1
- package/dist/esm/taxonomy/taxa.js.map +1 -1
- package/dist/esm/taxonomy/taxon.js.map +1 -1
- package/dist/esm/taxonomy/taxonGenerator.js.map +1 -1
- package/dist/esm/taxonomy/taxonService.js.map +1 -1
- package/dist/esm/taxonomy/taxonVernacularName.js.map +1 -1
- package/dist/esm/taxonomy/taxonomies.js.map +1 -1
- package/dist/esm/taxonomy/taxonomy.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js +2 -0
- package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/index.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/index.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
- package/dist/esm/utils/_objects/assoc.js.map +1 -1
- package/dist/esm/utils/_objects/assocPath.js +1 -0
- package/dist/esm/utils/_objects/assocPath.js.map +1 -1
- package/dist/esm/utils/_objects/camelize.js +9 -0
- package/dist/esm/utils/_objects/camelize.js.map +1 -1
- package/dist/esm/utils/_objects/deepMerge.js +10 -0
- package/dist/esm/utils/_objects/deepMerge.js.map +1 -1
- package/dist/esm/utils/_objects/deleteEmptyProps.js.map +1 -1
- package/dist/esm/utils/_objects/difference.js.map +1 -1
- package/dist/esm/utils/_objects/dissoc.js.map +1 -1
- package/dist/esm/utils/_objects/dissocPath.js +1 -0
- package/dist/esm/utils/_objects/dissocPath.js.map +1 -1
- package/dist/esm/utils/_objects/dissocPathIfEmpty.js.map +1 -1
- package/dist/esm/utils/_objects/fromPairs.js.map +1 -1
- package/dist/esm/utils/_objects/index.js.map +1 -1
- package/dist/esm/utils/_objects/isEmpty.js +8 -0
- package/dist/esm/utils/_objects/isEmpty.js.map +1 -1
- package/dist/esm/utils/_objects/isEqual.js.map +1 -1
- package/dist/esm/utils/_objects/isNil.js +6 -0
- package/dist/esm/utils/_objects/isNil.js.map +1 -1
- package/dist/esm/utils/_objects/isNotEmpty.js +6 -0
- package/dist/esm/utils/_objects/isNotEmpty.js.map +1 -1
- package/dist/esm/utils/_objects/parse.js +8 -0
- package/dist/esm/utils/_objects/parse.js.map +1 -1
- package/dist/esm/utils/_objects/path.js +7 -0
- package/dist/esm/utils/_objects/path.js.map +1 -1
- package/dist/esm/utils/_objects/propertyOf.js.map +1 -1
- package/dist/esm/utils/_objects/setInPath.js.map +1 -1
- package/dist/esm/utils/_objects/stringify.js +9 -0
- package/dist/esm/utils/_objects/stringify.js.map +1 -1
- package/dist/esm/utils/_objects/toPairs.js.map +1 -1
- package/dist/esm/utils/arrays.js.map +1 -1
- package/dist/esm/utils/dates.js +22 -0
- package/dist/esm/utils/dates.js.map +1 -1
- package/dist/esm/utils/fileNames.js.map +1 -1
- package/dist/esm/utils/fileProcessor.js +5 -1
- package/dist/esm/utils/fileProcessor.js.map +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/numbers.js +21 -0
- package/dist/esm/utils/numbers.js.map +1 -1
- package/dist/esm/utils/promises.js +15 -1
- package/dist/esm/utils/promises.js.map +1 -1
- package/dist/esm/utils/queue.js +9 -0
- package/dist/esm/utils/queue.js.map +1 -1
- package/dist/esm/utils/retryProcessor.js +5 -1
- package/dist/esm/utils/retryProcessor.js.map +1 -1
- package/dist/esm/utils/strings.js.map +1 -1
- package/dist/esm/utils/uuids.js.map +1 -1
- package/dist/esm/utils/versions.js +4 -0
- package/dist/esm/utils/versions.js.map +1 -1
- package/dist/esm/validation/factory.js.map +1 -1
- package/dist/esm/validation/fieldValidator.js.map +1 -1
- package/dist/esm/validation/fieldValidators/email.js +3 -0
- package/dist/esm/validation/fieldValidators/email.js.map +1 -1
- package/dist/esm/validation/fieldValidators/index.js.map +1 -1
- package/dist/esm/validation/fieldValidators/name.js +4 -0
- package/dist/esm/validation/fieldValidators/name.js.map +1 -1
- package/dist/esm/validation/fieldValidators/notKeyword.js.map +1 -1
- package/dist/esm/validation/fieldValidators/numeric.js.map +1 -1
- package/dist/esm/validation/fieldValidators/numericPositive.js.map +1 -1
- package/dist/esm/validation/fieldValidators/required.js.map +1 -1
- package/dist/esm/validation/index.js.map +1 -1
- package/dist/esm/validation/validation.js.map +1 -1
- package/dist/esm/validation/validationResults.js +1 -1
- package/dist/esm/validation/validationResults.js.map +1 -1
- package/dist/esm/validation/validations.js +17 -1
- package/dist/esm/validation/validations.js.map +1 -1
- package/dist/esm/validation/validator.js.map +1 -1
- package/dist/esm/validation/validatorErrorKeys.js.map +1 -1
- package/dist/expression/context.d.ts +6 -0
- package/dist/expression/context.js.map +1 -1
- package/dist/expression/evaluator.js.map +1 -1
- package/dist/expression/function.d.ts +13 -0
- package/dist/expression/function.js.map +1 -1
- package/dist/expression/index.js.map +1 -1
- package/dist/expression/javascript/evaluator.d.ts +1 -0
- package/dist/expression/javascript/evaluator.js +6 -2
- package/dist/expression/javascript/evaluator.js.map +1 -1
- package/dist/expression/javascript/functionsDefault.js.map +1 -1
- package/dist/expression/javascript/global.js.map +1 -1
- package/dist/expression/javascript/node/array.js.map +1 -1
- package/dist/expression/javascript/node/binary.js +23 -0
- package/dist/expression/javascript/node/binary.js.map +1 -1
- package/dist/expression/javascript/node/call.js +12 -0
- package/dist/expression/javascript/node/call.js.map +1 -1
- package/dist/expression/javascript/node/compound.js.map +1 -1
- package/dist/expression/javascript/node/conditional.js.map +1 -1
- package/dist/expression/javascript/node/identifier.d.ts +7 -0
- package/dist/expression/javascript/node/identifier.js +7 -0
- package/dist/expression/javascript/node/identifier.js.map +1 -1
- package/dist/expression/javascript/node/literal.js.map +1 -1
- package/dist/expression/javascript/node/member.js +5 -1
- package/dist/expression/javascript/node/member.js.map +1 -1
- package/dist/expression/javascript/node/sequence.js.map +1 -1
- package/dist/expression/javascript/node/this.js.map +1 -1
- package/dist/expression/javascript/node/unary.js +8 -0
- package/dist/expression/javascript/node/unary.js.map +1 -1
- package/dist/expression/javascript/parser/jsep.js +6 -2
- package/dist/expression/javascript/parser/jsep.js.map +1 -1
- package/dist/expression/javascript/parser/parser.js.map +1 -1
- package/dist/expression/node.js.map +1 -1
- package/dist/expression/parser.js.map +1 -1
- package/dist/expression/variable.js.map +1 -1
- package/dist/extraProp/extraProp.js.map +1 -1
- package/dist/extraProp/extraProps.js.map +1 -1
- package/dist/extraProp/extraPropsDataGenerator.js.map +1 -1
- package/dist/extraProp/index.js.map +1 -1
- package/dist/geo/index.js.map +1 -1
- package/dist/geo/point.js.map +1 -1
- package/dist/geo/pointFactory.js.map +1 -1
- package/dist/geo/points/bearing.d.ts +9 -0
- package/dist/geo/points/bearing.js +11 -0
- package/dist/geo/points/bearing.js.map +1 -1
- package/dist/geo/points/distance.d.ts +8 -0
- package/dist/geo/points/distance.js +9 -0
- package/dist/geo/points/distance.js.map +1 -1
- package/dist/geo/points/equals.js.map +1 -1
- package/dist/geo/points/getSrs.js.map +1 -1
- package/dist/geo/points/index.js.map +1 -1
- package/dist/geo/points/isFilled.js.map +1 -1
- package/dist/geo/points/isValid.js +1 -1
- package/dist/geo/points/isValid.js.map +1 -1
- package/dist/geo/points/parse.d.ts +9 -0
- package/dist/geo/points/parse.js +9 -0
- package/dist/geo/points/parse.js.map +1 -1
- package/dist/geo/points/pointAtDistance.d.ts +9 -0
- package/dist/geo/points/pointAtDistance.js +10 -0
- package/dist/geo/points/pointAtDistance.js.map +1 -1
- package/dist/geo/points/toLatLong.js.map +1 -1
- package/dist/geo/points/toString.js.map +1 -1
- package/dist/geo/points/transform.d.ts +8 -0
- package/dist/geo/points/transform.js +12 -0
- package/dist/geo/points/transform.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/job/JobBase.d.ts +81 -0
- package/dist/job/JobBase.js +99 -0
- package/dist/job/JobBase.js.map +1 -1
- package/dist/job/index.js.map +1 -1
- package/dist/job/job.d.ts +20 -0
- package/dist/job/job.js.map +1 -1
- package/dist/job/jobContext.js.map +1 -1
- package/dist/job/jobEvent.js.map +1 -1
- package/dist/job/jobSerialized.d.ts +3 -0
- package/dist/job/jobSerialized.js.map +1 -1
- package/dist/job/status.js.map +1 -1
- package/dist/language/index.js.map +1 -1
- package/dist/language/labels.js.map +1 -1
- package/dist/language/languageCode.js.map +1 -1
- package/dist/language/languages.js.map +1 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/logger.js.map +1 -1
- package/dist/message/index.js.map +1 -1
- package/dist/message/message.d.ts +3 -0
- package/dist/message/message.js.map +1 -1
- package/dist/message/messages.js +1 -0
- package/dist/message/messages.js.map +1 -1
- package/dist/node/factory.js.map +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/node.d.ts +38 -0
- package/dist/node/node.js.map +1 -1
- package/dist/node/nodePointer.js.map +1 -1
- package/dist/node/nodeValue/code.js.map +1 -1
- package/dist/node/nodeValue/coordinate.js.map +1 -1
- package/dist/node/nodeValue/file.js.map +1 -1
- package/dist/node/nodeValue/index.js.map +1 -1
- package/dist/node/nodeValue/nodeValueComposite.js.map +1 -1
- package/dist/node/nodeValue/taxon.js.map +1 -1
- package/dist/node/nodeValueFormatter.js +2 -0
- package/dist/node/nodeValueFormatter.js.map +1 -1
- package/dist/node/nodeValueProps.js.map +1 -1
- package/dist/node/nodeValues.d.ts +4 -0
- package/dist/node/nodeValues.js +20 -0
- package/dist/node/nodeValues.js.map +1 -1
- package/dist/node/nodes.js +7 -0
- package/dist/node/nodes.js.map +1 -1
- package/dist/node/service.js.map +1 -1
- package/dist/nodeDef/factory.js.map +1 -1
- package/dist/nodeDef/index.js.map +1 -1
- package/dist/nodeDef/nodeDef.js +1 -0
- package/dist/nodeDef/nodeDef.js.map +1 -1
- package/dist/nodeDef/nodeDefs.js +18 -0
- package/dist/nodeDef/nodeDefs.js.map +1 -1
- package/dist/nodeDef/service.js.map +1 -1
- package/dist/nodeDef/types/boolean.js.map +1 -1
- package/dist/nodeDef/types/code.js.map +1 -1
- package/dist/nodeDef/types/coordinate.js.map +1 -1
- package/dist/nodeDef/types/date.js.map +1 -1
- package/dist/nodeDef/types/decimal.js.map +1 -1
- package/dist/nodeDef/types/entity.d.ts +1 -0
- package/dist/nodeDef/types/entity.js.map +1 -1
- package/dist/nodeDef/types/file.js.map +1 -1
- package/dist/nodeDef/types/formHeader.js.map +1 -1
- package/dist/nodeDef/types/integer.js.map +1 -1
- package/dist/nodeDef/types/taxon.js.map +1 -1
- package/dist/nodeDef/types/text.js.map +1 -1
- package/dist/nodeDef/types/time.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/context.d.ts +3 -0
- package/dist/nodeDefExpressionEvaluator/context.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/functions.js +8 -1
- package/dist/nodeDefExpressionEvaluator/functions.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/index.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/identifier.d.ts +14 -0
- package/dist/nodeDefExpressionEvaluator/node/identifier.js +28 -0
- package/dist/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/member.js +15 -0
- package/dist/nodeDefExpressionEvaluator/node/member.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +3 -0
- package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/validator.js.map +1 -1
- package/dist/record/_records/nodeDefSelfReferences.d.ts +8 -0
- package/dist/record/_records/nodeDefSelfReferences.js +60 -0
- package/dist/record/_records/nodeDefSelfReferences.js.map +1 -0
- package/dist/record/_records/recordCompletion.d.ts +12 -0
- package/dist/record/_records/recordCompletion.js +14 -0
- package/dist/record/_records/recordCompletion.js.map +1 -1
- package/dist/record/_records/recordGetters.d.ts +3 -0
- package/dist/record/_records/recordGetters.js +26 -5
- package/dist/record/_records/recordGetters.js.map +1 -1
- package/dist/record/_records/recordNodesIndexReader.js.map +1 -1
- package/dist/record/_records/recordNodesIndexUpdater.js +17 -0
- package/dist/record/_records/recordNodesIndexUpdater.js.map +1 -1
- package/dist/record/_records/recordPagesValidation.d.ts +39 -0
- package/dist/record/_records/recordPagesValidation.js +45 -0
- package/dist/record/_records/recordPagesValidation.js.map +1 -1
- package/dist/record/_records/recordUpdateOptions.js.map +1 -1
- package/dist/record/_records/recordUpdater.js +2 -0
- package/dist/record/_records/recordUpdater.js.map +1 -1
- package/dist/record/_records/recordUtils.js.map +1 -1
- package/dist/record/factory.js.map +1 -1
- package/dist/record/index.js.map +1 -1
- package/dist/record/nodePointers.js.map +1 -1
- package/dist/record/record.d.ts +12 -0
- package/dist/record/record.js.map +1 -1
- package/dist/record/recordCloner.js +10 -1
- package/dist/record/recordCloner.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/context.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/functions.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/index.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js +14 -0
- package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +6 -0
- package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
- package/dist/record/recordFixer.js +16 -0
- package/dist/record/recordFixer.js.map +1 -1
- package/dist/record/recordNodesUpdater/index.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.d.ts +6 -0
- package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +6 -0
- package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordExpressionValueConverter.js +5 -0
- package/dist/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +20 -2
- package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +2 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +13 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +9 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +17 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +5 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +4 -2
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +8 -3
- package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesCreator.js +10 -5
- package/dist/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesDeleter.js +7 -0
- package/dist/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +2 -0
- package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesUpdater.js +16 -2
- package/dist/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordUpdateResult.d.ts +8 -0
- package/dist/record/recordNodesUpdater/recordUpdateResult.js +8 -0
- package/dist/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
- package/dist/record/recordPrettyPrinter.js.map +1 -1
- package/dist/record/recordStep.js.map +1 -1
- package/dist/record/recordUpdater.js +1 -0
- package/dist/record/recordUpdater.js.map +1 -1
- package/dist/record/recordValidations.js.map +1 -1
- package/dist/record/recordValidator/attributeKeyValidator.d.ts +4 -0
- package/dist/record/recordValidator/attributeKeyValidator.js +3 -0
- package/dist/record/recordValidator/attributeKeyValidator.js.map +1 -1
- package/dist/record/recordValidator/attributeTypeValidator.js +3 -0
- package/dist/record/recordValidator/attributeTypeValidator.js.map +1 -1
- package/dist/record/recordValidator/attributeUniqueValidator.js +2 -0
- package/dist/record/recordValidator/attributeUniqueValidator.js.map +1 -1
- package/dist/record/recordValidator/attributeValidator.js +12 -1
- package/dist/record/recordValidator/attributeValidator.js.map +1 -1
- package/dist/record/recordValidator/countVaildator.js +5 -0
- package/dist/record/recordValidator/countVaildator.js.map +1 -1
- package/dist/record/recordValidator/index.js.map +1 -1
- package/dist/record/recordValidator/recordValidator.js +3 -0
- package/dist/record/recordValidator/recordValidator.js.map +1 -1
- package/dist/record/records.js +3 -0
- package/dist/record/records.js.map +1 -1
- package/dist/record/service.js.map +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/serviceRegistry.js.map +1 -1
- package/dist/registry/serviceType.js.map +1 -1
- package/dist/srs/factory.js.map +1 -1
- package/dist/srs/index.js.map +1 -1
- package/dist/srs/srs.js.map +1 -1
- package/dist/survey/factory.js +1 -0
- package/dist/survey/factory.js.map +1 -1
- package/dist/survey/index.js.map +1 -1
- package/dist/survey/nodeDefsFixer.js +1 -0
- package/dist/survey/nodeDefsFixer.js.map +1 -1
- package/dist/survey/refData/factory.js.map +1 -1
- package/dist/survey/refData/index.js.map +1 -1
- package/dist/survey/refData/refData.d.ts +15 -0
- package/dist/survey/refData/refData.js.map +1 -1
- package/dist/survey/service.js.map +1 -1
- package/dist/survey/survey.d.ts +9 -0
- package/dist/survey/survey.js.map +1 -1
- package/dist/survey/surveyDocImageFactory.js.map +1 -1
- package/dist/survey/surveyDocImages.js.map +1 -1
- package/dist/survey/surveyFileFactory.js.map +1 -1
- package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js +8 -0
- package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
- package/dist/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
- package/dist/survey/surveys/dependencies.js +11 -2
- package/dist/survey/surveys/dependencies.js.map +1 -1
- package/dist/survey/surveys/index.js +6 -0
- package/dist/survey/surveys/index.js.map +1 -1
- package/dist/survey/surveys/nodeDefs.js +12 -0
- package/dist/survey/surveys/nodeDefs.js.map +1 -1
- package/dist/survey/surveys/refsData.js.map +1 -1
- package/dist/survey/surveys/surveyGettersSecurity.js.map +1 -1
- package/dist/survey/surveys/surveysGetters.js +3 -1
- package/dist/survey/surveys/surveysGetters.js.map +1 -1
- package/dist/survey/surveys/surveysUtils.js.map +1 -1
- package/dist/taxonomy/factory.js.map +1 -1
- package/dist/taxonomy/index.js.map +1 -1
- package/dist/taxonomy/service.js.map +1 -1
- package/dist/taxonomy/taxa.js.map +1 -1
- package/dist/taxonomy/taxon.js.map +1 -1
- package/dist/taxonomy/taxonGenerator.js.map +1 -1
- package/dist/taxonomy/taxonService.js.map +1 -1
- package/dist/taxonomy/taxonVernacularName.js.map +1 -1
- package/dist/taxonomy/taxonomies.js.map +1 -1
- package/dist/taxonomy/taxonomy.js.map +1 -1
- package/dist/tests/builder/recordBuilder/attributeBuilder.js +2 -0
- package/dist/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
- package/dist/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
- package/dist/tests/builder/recordBuilder/index.js.map +1 -1
- package/dist/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
- package/dist/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/index.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
- package/dist/utils/_objects/assoc.js.map +1 -1
- package/dist/utils/_objects/assocPath.js +1 -0
- package/dist/utils/_objects/assocPath.js.map +1 -1
- package/dist/utils/_objects/camelize.d.ts +9 -0
- package/dist/utils/_objects/camelize.js +9 -0
- package/dist/utils/_objects/camelize.js.map +1 -1
- package/dist/utils/_objects/deepMerge.d.ts +5 -0
- package/dist/utils/_objects/deepMerge.js +10 -0
- package/dist/utils/_objects/deepMerge.js.map +1 -1
- package/dist/utils/_objects/deleteEmptyProps.js.map +1 -1
- package/dist/utils/_objects/difference.js.map +1 -1
- package/dist/utils/_objects/dissoc.js.map +1 -1
- package/dist/utils/_objects/dissocPath.js +1 -0
- package/dist/utils/_objects/dissocPath.js.map +1 -1
- package/dist/utils/_objects/dissocPathIfEmpty.js.map +1 -1
- package/dist/utils/_objects/fromPairs.js.map +1 -1
- package/dist/utils/_objects/index.js.map +1 -1
- package/dist/utils/_objects/isEmpty.d.ts +6 -0
- package/dist/utils/_objects/isEmpty.js +8 -0
- package/dist/utils/_objects/isEmpty.js.map +1 -1
- package/dist/utils/_objects/isEqual.js.map +1 -1
- package/dist/utils/_objects/isNil.d.ts +6 -0
- package/dist/utils/_objects/isNil.js +6 -0
- package/dist/utils/_objects/isNil.js.map +1 -1
- package/dist/utils/_objects/isNotEmpty.d.ts +6 -0
- package/dist/utils/_objects/isNotEmpty.js +6 -0
- package/dist/utils/_objects/isNotEmpty.js.map +1 -1
- package/dist/utils/_objects/parse.d.ts +8 -0
- package/dist/utils/_objects/parse.js +8 -0
- package/dist/utils/_objects/parse.js.map +1 -1
- package/dist/utils/_objects/path.d.ts +6 -0
- package/dist/utils/_objects/path.js +7 -0
- package/dist/utils/_objects/path.js.map +1 -1
- package/dist/utils/_objects/propertyOf.js.map +1 -1
- package/dist/utils/_objects/setInPath.js.map +1 -1
- package/dist/utils/_objects/stringify.d.ts +9 -0
- package/dist/utils/_objects/stringify.js +9 -0
- package/dist/utils/_objects/stringify.js.map +1 -1
- package/dist/utils/_objects/toPairs.js.map +1 -1
- package/dist/utils/arrays.js.map +1 -1
- package/dist/utils/dates.d.ts +1 -1
- package/dist/utils/dates.js +22 -0
- package/dist/utils/dates.js.map +1 -1
- package/dist/utils/fileNames.js.map +1 -1
- package/dist/utils/fileProcessor.js +5 -1
- package/dist/utils/fileProcessor.js.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/numbers.js +21 -0
- package/dist/utils/numbers.js.map +1 -1
- package/dist/utils/promises.js +15 -1
- package/dist/utils/promises.js.map +1 -1
- package/dist/utils/queue.d.ts +7 -0
- package/dist/utils/queue.js +9 -0
- package/dist/utils/queue.js.map +1 -1
- package/dist/utils/retryProcessor.js +5 -1
- package/dist/utils/retryProcessor.js.map +1 -1
- package/dist/utils/strings.js.map +1 -1
- package/dist/utils/uuids.js.map +1 -1
- package/dist/utils/versions.js +4 -0
- package/dist/utils/versions.js.map +1 -1
- package/dist/validation/factory.js.map +1 -1
- package/dist/validation/fieldValidator.js.map +1 -1
- package/dist/validation/fieldValidators/email.js +3 -0
- package/dist/validation/fieldValidators/email.js.map +1 -1
- package/dist/validation/fieldValidators/index.js.map +1 -1
- package/dist/validation/fieldValidators/name.js +4 -0
- package/dist/validation/fieldValidators/name.js.map +1 -1
- package/dist/validation/fieldValidators/notKeyword.js.map +1 -1
- package/dist/validation/fieldValidators/numeric.js.map +1 -1
- package/dist/validation/fieldValidators/numericPositive.js.map +1 -1
- package/dist/validation/fieldValidators/required.js.map +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/validation.js.map +1 -1
- package/dist/validation/validationResults.js +1 -1
- package/dist/validation/validationResults.js.map +1 -1
- package/dist/validation/validations.js +17 -1
- package/dist/validation/validations.js.map +1 -1
- package/dist/validation/validator.js.map +1 -1
- package/dist/validation/validatorErrorKeys.js.map +1 -1
- package/package.json +6 -9
package/dist/job/JobBase.js
CHANGED
|
@@ -15,6 +15,27 @@ const utils_1 = require("../utils");
|
|
|
15
15
|
const jobEvent_1 = require("./jobEvent");
|
|
16
16
|
const status_1 = require("./status");
|
|
17
17
|
const PROGRESS_NOTIFICATION_THROTTLE_MILLIS = 1000;
|
|
18
|
+
/**
|
|
19
|
+
* Asynchronous task handler.
|
|
20
|
+
*
|
|
21
|
+
* Status workflow:
|
|
22
|
+
* - pending
|
|
23
|
+
* - running
|
|
24
|
+
* - (end)
|
|
25
|
+
* -- succeeded
|
|
26
|
+
* -- failed
|
|
27
|
+
* -- canceled
|
|
28
|
+
*
|
|
29
|
+
* Methods that can be overwritten by subclasses:
|
|
30
|
+
* - shouldExecute (in tx)
|
|
31
|
+
* - onStart (in tx)
|
|
32
|
+
* - execute (in tx)
|
|
33
|
+
* - beforeSuccess (in tx)
|
|
34
|
+
* - generateResult (in tx)
|
|
35
|
+
* - beforeEnd (in tx)
|
|
36
|
+
* - onEnd (out of tx)
|
|
37
|
+
* - getErrorInfo
|
|
38
|
+
*/
|
|
18
39
|
class JobBase {
|
|
19
40
|
constructor(context, innerJobs = []) {
|
|
20
41
|
var _a;
|
|
@@ -27,14 +48,18 @@ class JobBase {
|
|
|
27
48
|
this.progressThrottleTimeoutId = undefined;
|
|
28
49
|
this.progressThrottleLastRunTime = 0;
|
|
29
50
|
this._stopOnInnerJobFailure = true;
|
|
51
|
+
// set as soon as cancel() is called (the canceled status is set only after beforeEnd has run)
|
|
30
52
|
this.cancelRequested = false;
|
|
31
53
|
this.beforeEndCalled = false;
|
|
54
|
+
// inner job events are handled in sequence; executeJobs waits for them before going on
|
|
32
55
|
this.innerJobEventsQueue = Promise.resolve();
|
|
33
56
|
this.context = Object.assign({}, context);
|
|
34
57
|
this.innerJobs = innerJobs;
|
|
35
58
|
this.uuid = utils_1.UUIDs.v4();
|
|
36
59
|
this.type = (_a = this.context.type) !== null && _a !== void 0 ? _a : this.constructor.name;
|
|
37
60
|
this.total = innerJobs.length > 0 ? innerJobs.length : 1;
|
|
61
|
+
// Created last, so that createLogger() overrides can safely build the logger name out of
|
|
62
|
+
// the job identity (e.g. arena's `Job <ClassName> (<uuid>)` log correlation id).
|
|
38
63
|
this.logger = this.createLogger();
|
|
39
64
|
}
|
|
40
65
|
get processed() {
|
|
@@ -75,6 +100,10 @@ class JobBase {
|
|
|
75
100
|
delete this.context[propName];
|
|
76
101
|
});
|
|
77
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Registers the listener notified of job events (status changes and progress).
|
|
105
|
+
* Only one listener can be registered at a time; registering a new one replaces the previous one.
|
|
106
|
+
*/
|
|
78
107
|
onEvent(listener) {
|
|
79
108
|
this.eventListener = listener;
|
|
80
109
|
return this;
|
|
@@ -121,10 +150,13 @@ class JobBase {
|
|
|
121
150
|
this.cancelRequested = true;
|
|
122
151
|
const currentInnerJob = this.getCurrentInnerJob();
|
|
123
152
|
if (currentInnerJob === null || currentInnerJob === void 0 ? void 0 : currentInnerJob.isRunning()) {
|
|
153
|
+
// the parent job status will be set to canceled when handling the canceled event of the inner job
|
|
124
154
|
yield currentInnerJob.cancel({ canceledByAdmin });
|
|
125
155
|
return;
|
|
126
156
|
}
|
|
157
|
+
// no inner job running (job without inner jobs, or between two inner jobs)
|
|
127
158
|
this.canceledByAdmin = canceledByAdmin;
|
|
159
|
+
// release the resources (temp files/directories, streams) allocated before the cancellation
|
|
128
160
|
yield this.runBeforeEnd();
|
|
129
161
|
yield this.setStatus(status_1.JobStatus.canceled);
|
|
130
162
|
});
|
|
@@ -132,6 +164,9 @@ class JobBase {
|
|
|
132
164
|
isCancelRequestedOrNotRunning() {
|
|
133
165
|
return this.cancelRequested || !this.isRunning();
|
|
134
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Runs beforeEnd only once (it can be called by cancel() and when the job execution ends).
|
|
169
|
+
*/
|
|
135
170
|
runBeforeEnd() {
|
|
136
171
|
return __awaiter(this, void 0, void 0, function* () {
|
|
137
172
|
if (this.beforeEndCalled)
|
|
@@ -189,6 +224,7 @@ class JobBase {
|
|
|
189
224
|
}
|
|
190
225
|
}
|
|
191
226
|
finally {
|
|
227
|
+
// runs only if not already run by cancel()
|
|
192
228
|
yield this.runBeforeEnd();
|
|
193
229
|
this.context.tx = undefined;
|
|
194
230
|
}
|
|
@@ -197,6 +233,9 @@ class JobBase {
|
|
|
197
233
|
}
|
|
198
234
|
});
|
|
199
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Generates a plain JSON-serializable representation of the job, including its inner jobs.
|
|
238
|
+
*/
|
|
200
239
|
toJSON() {
|
|
201
240
|
const { errors, processed, result, status, total, type, userUuid, uuid } = this;
|
|
202
241
|
return {
|
|
@@ -233,13 +272,20 @@ class JobBase {
|
|
|
233
272
|
}
|
|
234
273
|
currentInnerJob.context = this.context;
|
|
235
274
|
currentInnerJob.onEvent((event) => {
|
|
275
|
+
// handle the inner job events in sequence; errors are logged (they would be unhandled rejections otherwise)
|
|
236
276
|
this.innerJobEventsQueue = this.innerJobEventsQueue
|
|
237
277
|
.then(() => this.onInnerJobEvent(event))
|
|
238
278
|
.catch((error) => { var _a; return this.logError((_a = error === null || error === void 0 ? void 0 : error.stack) !== null && _a !== void 0 ? _a : error); });
|
|
239
279
|
});
|
|
280
|
+
// The inner job shares this very context object, and its own start()/executeInTransaction()
|
|
281
|
+
// clear `context.tx` when they terminate: without saving and restoring it here, the first
|
|
282
|
+
// inner job would wipe the parent's transaction handle, leaving every following inner job
|
|
283
|
+
// (and the parent's own beforeSuccess()/beforeEnd()) running outside of the transaction.
|
|
284
|
+
// start() never throws (it swallows/records errors internally), so a plain restore is enough.
|
|
240
285
|
const parentTx = this.context.tx;
|
|
241
286
|
yield currentInnerJob.start(parentTx);
|
|
242
287
|
this.context.tx = parentTx;
|
|
288
|
+
// the inner job events (e.g. canceled, failed) update the status of this job
|
|
243
289
|
yield this.innerJobEventsQueue;
|
|
244
290
|
if (this.cancelRequested || this.isCanceled() || currentInnerJob.isCanceled()) {
|
|
245
291
|
break;
|
|
@@ -254,10 +300,24 @@ class JobBase {
|
|
|
254
300
|
this.logDebug(`- ${this.processed} inner jobs processed successfully`);
|
|
255
301
|
});
|
|
256
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* Runs the job's own work when it has no inner jobs. Default implementation is a no-op, so
|
|
305
|
+
* subclasses that only supply inner jobs (and never override this) don't need to. It also means
|
|
306
|
+
* a subclass can safely call `super.execute()` defensively without knowing whether any ancestor
|
|
307
|
+
* overrides it - if this were `abstract` instead, TypeScript would compile away any runtime
|
|
308
|
+
* property for it entirely, so `super.execute()` would throw the moment no ancestor overrides it
|
|
309
|
+
* (confirmed in production: a subclass whose immediate parent didn't override `execute()` crashed
|
|
310
|
+
* with "(intermediate value).execute is not a function" the instant it called `super.execute()`).
|
|
311
|
+
*/
|
|
257
312
|
execute() {
|
|
258
313
|
return __awaiter(this, void 0, void 0, function* () {
|
|
314
|
+
// to be extended by subclasses
|
|
259
315
|
});
|
|
260
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* Determines whether the job should actually run.
|
|
319
|
+
* When it returns false, "execute" (or the inner jobs) will be skipped, but the job will still succeed.
|
|
320
|
+
*/
|
|
261
321
|
shouldExecute() {
|
|
262
322
|
return Promise.resolve(true);
|
|
263
323
|
}
|
|
@@ -280,6 +340,9 @@ class JobBase {
|
|
|
280
340
|
this.notifyEvent(event);
|
|
281
341
|
});
|
|
282
342
|
}
|
|
343
|
+
/**
|
|
344
|
+
* Inner job event handler.
|
|
345
|
+
*/
|
|
283
346
|
onInnerJobEvent(event) {
|
|
284
347
|
return __awaiter(this, void 0, void 0, function* () {
|
|
285
348
|
var _a, _b, _c, _d;
|
|
@@ -289,6 +352,7 @@ class JobBase {
|
|
|
289
352
|
return this.setStatus(status);
|
|
290
353
|
}
|
|
291
354
|
if (status === status_1.JobStatus.failed) {
|
|
355
|
+
// report the errors of the failed inner job in the failed event (and in the errors) of this job
|
|
292
356
|
Object.assign(this.errors, (_d = (_c = this.getCurrentInnerJob()) === null || _c === void 0 ? void 0 : _c.errors) !== null && _d !== void 0 ? _d : {});
|
|
293
357
|
return this.setStatus(status);
|
|
294
358
|
}
|
|
@@ -304,20 +368,39 @@ class JobBase {
|
|
|
304
368
|
this.logDebug(`Unknown inner job status: ${status}`);
|
|
305
369
|
});
|
|
306
370
|
}
|
|
371
|
+
/**
|
|
372
|
+
* Called when the job just has been started.
|
|
373
|
+
*/
|
|
307
374
|
onStart() {
|
|
308
375
|
return __awaiter(this, void 0, void 0, function* () {
|
|
309
376
|
this.startTime = new Date();
|
|
310
377
|
yield this.setStatus(status_1.JobStatus.running);
|
|
311
378
|
});
|
|
312
379
|
}
|
|
380
|
+
/**
|
|
381
|
+
* Called before beforeEnd only if the status will change to 'success'.
|
|
382
|
+
* Default implementation stores the value returned by generateResult() via setResult().
|
|
383
|
+
* It runs INSIDE the current db transaction.
|
|
384
|
+
*/
|
|
313
385
|
beforeSuccess() {
|
|
314
386
|
return __awaiter(this, void 0, void 0, function* () {
|
|
315
387
|
this.setResult(yield this.generateResult());
|
|
316
388
|
});
|
|
317
389
|
}
|
|
390
|
+
/**
|
|
391
|
+
* Computes the value beforeSuccess() will store as this job's result.
|
|
392
|
+
* Default implementation returns whatever is already in `this.result`
|
|
393
|
+
* (e.g. accumulated via earlier setResult() calls during execute()).
|
|
394
|
+
*/
|
|
318
395
|
generateResult() {
|
|
319
396
|
return Promise.resolve(this.result);
|
|
320
397
|
}
|
|
398
|
+
/**
|
|
399
|
+
* Updates this job's result. When both the current and incoming values are plain objects,
|
|
400
|
+
* they are merged (Object.assign); otherwise the incoming value replaces the current one.
|
|
401
|
+
* This keeps it safe for subclasses whose result is a primitive (e.g. a plain number) as
|
|
402
|
+
* well as ones that build an object result incrementally across multiple setResult() calls.
|
|
403
|
+
*/
|
|
321
404
|
setResult(result) {
|
|
322
405
|
if (result && typeof result === 'object' && this.result && typeof this.result === 'object') {
|
|
323
406
|
Object.assign(this.result, result);
|
|
@@ -326,10 +409,18 @@ class JobBase {
|
|
|
326
409
|
this.result = result;
|
|
327
410
|
}
|
|
328
411
|
}
|
|
412
|
+
/**
|
|
413
|
+
* Called before onEnd. Useful for flushing resources used by the job before it terminates completely.
|
|
414
|
+
* It runs INSIDE the current db transaction.
|
|
415
|
+
*/
|
|
329
416
|
beforeEnd() {
|
|
330
417
|
this.logDebug('Cleanup');
|
|
331
418
|
return Promise.resolve();
|
|
332
419
|
}
|
|
420
|
+
/**
|
|
421
|
+
* Called when the job status changes to success, failed or canceled
|
|
422
|
+
* (it runs OUTSIDE of the current db transaction)
|
|
423
|
+
*/
|
|
333
424
|
onEnd() {
|
|
334
425
|
this.endTime = new Date();
|
|
335
426
|
this.cancelNotifyProgress();
|
|
@@ -340,6 +431,7 @@ class JobBase {
|
|
|
340
431
|
this.errors[key] = error;
|
|
341
432
|
}
|
|
342
433
|
throwError(errorKey, params) {
|
|
434
|
+
// SystemError: getErrorInfo will report the translatable key instead of a generic error
|
|
343
435
|
throw new error_1.SystemError(errorKey, params);
|
|
344
436
|
}
|
|
345
437
|
getErrorInfo(error) {
|
|
@@ -391,6 +483,10 @@ class JobBase {
|
|
|
391
483
|
return 0;
|
|
392
484
|
return ((_a = this.endTime) !== null && _a !== void 0 ? _a : new Date()).getTime() - this.startTime.getTime();
|
|
393
485
|
}
|
|
486
|
+
/**
|
|
487
|
+
* Notifies a progress event to the registered listener, throttled so that fast-changing
|
|
488
|
+
* progress does not flood consumers (e.g. web socket clients).
|
|
489
|
+
*/
|
|
394
490
|
notifyProgress() {
|
|
395
491
|
const run = () => {
|
|
396
492
|
this.progressThrottleTimeoutId = undefined;
|
|
@@ -412,6 +508,9 @@ class JobBase {
|
|
|
412
508
|
this.progressThrottleTimeoutId = setTimeout(run, PROGRESS_NOTIFICATION_THROTTLE_MILLIS - elapsed);
|
|
413
509
|
}
|
|
414
510
|
}
|
|
511
|
+
/**
|
|
512
|
+
* Cancels any pending throttled progress notification and resets the throttle state.
|
|
513
|
+
*/
|
|
415
514
|
cancelNotifyProgress() {
|
|
416
515
|
if (this.progressThrottleTimeoutId) {
|
|
417
516
|
clearTimeout(this.progressThrottleTimeoutId);
|
package/dist/job/JobBase.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobBase.js","sourceRoot":"","sources":["../../src/job/JobBase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JobBase.js","sourceRoot":"","sources":["../../src/job/JobBase.ts"],"names":[],"mappings":"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","sourcesContent":["import { Dictionary } from '../common'\nimport { SystemError } from '../error'\nimport { Logger } from '../logger'\nimport { UUIDs } from '../utils'\n\nimport { Job } from './job'\nimport { JobContext } from './jobContext'\nimport { JobEvent, JobEventType } from './jobEvent'\nimport { JobSerialized } from './jobSerialized'\nimport { JobStatus } from './status'\n\nexport interface JobConstructor {\n new <C extends JobContext, R>(context: C, innerJobs?: JobBase<any>[]): JobBase<C, R>\n readonly prototype: JobBase<any, any>\n}\n\nconst PROGRESS_NOTIFICATION_THROTTLE_MILLIS = 1000\n\n/**\n * Asynchronous task handler.\n *\n * Status workflow:\n * - pending\n * - running\n * - (end)\n * -- succeeded\n * -- failed\n * -- canceled\n *\n * Methods that can be overwritten by subclasses:\n * - shouldExecute (in tx)\n * - onStart (in tx)\n * - execute (in tx)\n * - beforeSuccess (in tx)\n * - generateResult (in tx)\n * - beforeEnd (in tx)\n * - onEnd (out of tx)\n * - getErrorInfo\n */\nexport abstract class JobBase<C extends JobContext, R = undefined> implements Job<R> {\n static readonly keysContext = {\n surveyId: 'surveyId',\n survey: 'survey',\n user: 'user',\n }\n\n readonly uuid: string\n readonly type: string\n status: JobStatus = JobStatus.pending\n startTime?: Date\n endTime?: Date\n total: number\n result: R | undefined = undefined\n errors: Record<string, any> = {}\n canceledByAdmin?: boolean\n\n protected logger: Logger\n protected context: C\n protected innerJobs: JobBase<C, any>[]\n protected currentInnerJobIndex = -1\n\n private _processed = 0\n private eventListener: ((event: JobEvent) => void) | undefined = undefined\n private progressThrottleTimeoutId: ReturnType<typeof setTimeout> | undefined = undefined\n private progressThrottleLastRunTime = 0\n private _stopOnInnerJobFailure = true\n // set as soon as cancel() is called (the canceled status is set only after beforeEnd has run)\n private cancelRequested = false\n private beforeEndCalled = false\n // inner job events are handled in sequence; executeJobs waits for them before going on\n private innerJobEventsQueue: Promise<void> = Promise.resolve()\n\n public constructor(context: C, innerJobs: JobBase<C, any>[] = []) {\n this.context = { ...context }\n this.innerJobs = innerJobs\n\n this.uuid = UUIDs.v4()\n this.type = this.context.type ?? this.constructor.name\n this.total = innerJobs.length > 0 ? innerJobs.length : 1\n\n // Created last, so that createLogger() overrides can safely build the logger name out of\n // the job identity (e.g. arena's `Job <ClassName> (<uuid>)` log correlation id).\n this.logger = this.createLogger()\n }\n\n get processed(): number {\n return this._processed\n }\n\n set processed(value: number) {\n this._processed = value\n this.notifyProgress()\n }\n\n get stopOnInnerJobFailure(): boolean {\n return this._stopOnInnerJobFailure\n }\n\n set stopOnInnerJobFailure(value: boolean) {\n this._stopOnInnerJobFailure = value\n }\n\n protected get surveyId(): number | null {\n return this.getContextProp(JobBase.keysContext.surveyId)\n }\n\n protected get user(): any {\n return this.getContextProp(JobBase.keysContext.user)\n }\n\n protected get userUuid(): string | undefined {\n return this.user?.uuid\n }\n\n protected get contextSurvey(): any {\n return this.getContextProp(JobBase.keysContext.survey)\n }\n\n protected getContextProp<T = any>(prop: string, defaultValue: T | null = null): T | null {\n const value = (this.context as any)[prop]\n return value ?? defaultValue\n }\n\n protected setContext(context: Partial<C>): void {\n Object.assign(this.context, context)\n }\n\n protected deleteContextProps(...propNames: string[]): void {\n propNames.forEach((propName) => {\n delete (this.context as any)[propName]\n })\n }\n\n /**\n * Registers the listener notified of job events (status changes and progress).\n * Only one listener can be registered at a time; registering a new one replaces the previous one.\n */\n onEvent(listener: (event: JobEvent) => void): this {\n this.eventListener = listener\n return this\n }\n\n isPending(): boolean {\n return this.status === JobStatus.pending\n }\n\n isRunning(): boolean {\n return this.status === JobStatus.running\n }\n\n isSucceeded(): boolean {\n return this.status === JobStatus.succeeded\n }\n\n isFailed(): boolean {\n return this.status === JobStatus.failed\n }\n\n isCanceled(): boolean {\n return this.status === JobStatus.canceled\n }\n\n isEnded(): boolean {\n return [JobStatus.succeeded, JobStatus.failed, JobStatus.canceled].includes(this.status)\n }\n\n hasErrors(): boolean {\n return Object.keys(this.errors).length > 0\n }\n\n protected getCurrentInnerJob(): JobBase<C, any> | undefined {\n return this.innerJobs[this.currentInnerJobIndex]\n }\n\n protected combineInnerJobsResults(): Record<string, any> {\n const results: Record<string, any> = {}\n this.innerJobs.forEach((innerJob) => Object.assign(results, innerJob.result ?? {}))\n return results\n }\n\n protected combineInnerJobsErrors(): Record<string, any> {\n const errors: Record<string, any> = {}\n this.innerJobs.forEach((innerJob) => Object.assign(errors, innerJob.errors ?? {}))\n return errors\n }\n\n async cancel(options: { canceledByAdmin?: boolean } = {}): Promise<void> {\n const { canceledByAdmin = false } = options\n if (this.isEnded()) return\n\n this.cancelRequested = true\n\n const currentInnerJob = this.getCurrentInnerJob()\n if (currentInnerJob?.isRunning()) {\n // the parent job status will be set to canceled when handling the canceled event of the inner job\n await currentInnerJob.cancel({ canceledByAdmin })\n return\n }\n // no inner job running (job without inner jobs, or between two inner jobs)\n this.canceledByAdmin = canceledByAdmin\n // release the resources (temp files/directories, streams) allocated before the cancellation\n await this.runBeforeEnd()\n await this.setStatus(JobStatus.canceled)\n }\n\n private isCancelRequestedOrNotRunning(): boolean {\n return this.cancelRequested || !this.isRunning()\n }\n\n /**\n * Runs beforeEnd only once (it can be called by cancel() and when the job execution ends).\n */\n private async runBeforeEnd(): Promise<void> {\n if (this.beforeEndCalled) return\n this.beforeEndCalled = true\n await this.beforeEnd()\n }\n\n async start(client: any = null): Promise<void> {\n this.logDebug('start')\n\n try {\n if (client) {\n await client.tx(async (tx: any) => {\n this.context.tx = tx\n await this.executeInTransaction()\n })\n } else {\n await this.executeInTransaction()\n }\n if (!this.isCancelRequestedOrNotRunning()) {\n await this.setStatus(JobStatus.succeeded)\n }\n } catch (error: any) {\n if (!this.cancelRequested && !this.isFailed() && (this.isRunning() || this.isSucceeded())) {\n this.logError(error.stack ?? error)\n const { key, params } = this.getErrorInfo(error)\n this.addError({ error: { valid: false, errors: [{ key, params }] } })\n await this.setStatus(JobStatus.failed)\n }\n } finally {\n this.context.tx = undefined\n }\n }\n\n private async executeInTransaction(): Promise<void> {\n try {\n await this.onStart()\n\n const shouldExecute = await this.shouldExecute()\n if (shouldExecute) {\n if (this.innerJobs.length > 0) {\n await this.executeJobs()\n } else {\n await this.execute()\n }\n if (!this.isCancelRequestedOrNotRunning()) {\n await this.beforeSuccess()\n }\n }\n } finally {\n // runs only if not already run by cancel()\n await this.runBeforeEnd()\n this.context.tx = undefined\n }\n\n if (this.isCancelRequestedOrNotRunning()) {\n this.throwError('jobCanceledOrErrorsFound')\n }\n }\n\n /**\n * Generates a plain JSON-serializable representation of the job, including its inner jobs.\n */\n toJSON(): JobSerialized<R> {\n const { errors, processed, result, status, total, type, userUuid, uuid } = this\n\n return {\n uuid,\n type,\n userUuid,\n surveyId: this.surveyId,\n innerJobs: this.innerJobs.map((job) => job.toJSON()),\n currentInnerJobIndex: this.currentInnerJobIndex,\n\n status,\n pending: this.isPending(),\n running: this.isRunning(),\n succeeded: this.isSucceeded(),\n canceled: this.isCanceled(),\n failed: this.isFailed(),\n ended: this.isEnded(),\n\n total,\n processed,\n progressPercent: this.calculateProgressPercent(),\n elapsedMillis: this.calculateElapsedMillis(),\n\n errors: this.isFailed() ? errors : undefined,\n result: this.isSucceeded() ? result : undefined,\n }\n }\n\n private async executeJobs(): Promise<void> {\n this.logDebug(`- ${this.total} inner jobs found`)\n\n for (let i = 0; i < this.innerJobs.length; i++) {\n this.logDebug(`- executing inner job ${i + 1}`)\n this.currentInnerJobIndex = i\n const currentInnerJob = this.innerJobs[i]\n if (currentInnerJob.context) {\n Object.assign(this.context, currentInnerJob.context)\n }\n currentInnerJob.context = this.context\n currentInnerJob.onEvent((event) => {\n // handle the inner job events in sequence; errors are logged (they would be unhandled rejections otherwise)\n this.innerJobEventsQueue = this.innerJobEventsQueue\n .then(() => this.onInnerJobEvent(event))\n .catch((error) => this.logError(error?.stack ?? error))\n })\n\n // The inner job shares this very context object, and its own start()/executeInTransaction()\n // clear `context.tx` when they terminate: without saving and restoring it here, the first\n // inner job would wipe the parent's transaction handle, leaving every following inner job\n // (and the parent's own beforeSuccess()/beforeEnd()) running outside of the transaction.\n // start() never throws (it swallows/records errors internally), so a plain restore is enough.\n const parentTx = this.context.tx\n await currentInnerJob.start(parentTx)\n this.context.tx = parentTx\n // the inner job events (e.g. canceled, failed) update the status of this job\n await this.innerJobEventsQueue\n\n if (this.cancelRequested || this.isCanceled() || currentInnerJob.isCanceled()) {\n break\n }\n if (currentInnerJob.isSucceeded()) {\n this.incrementProcessedItems()\n } else if (this.stopOnInnerJobFailure) {\n break\n }\n }\n\n this.logDebug(`- ${this.processed} inner jobs processed successfully`)\n }\n\n /**\n * Runs the job's own work when it has no inner jobs. Default implementation is a no-op, so\n * subclasses that only supply inner jobs (and never override this) don't need to. It also means\n * a subclass can safely call `super.execute()` defensively without knowing whether any ancestor\n * overrides it - if this were `abstract` instead, TypeScript would compile away any runtime\n * property for it entirely, so `super.execute()` would throw the moment no ancestor overrides it\n * (confirmed in production: a subclass whose immediate parent didn't override `execute()` crashed\n * with \"(intermediate value).execute is not a function\" the instant it called `super.execute()`).\n */\n protected async execute(): Promise<void> {\n // to be extended by subclasses\n }\n\n /**\n * Determines whether the job should actually run.\n * When it returns false, \"execute\" (or the inner jobs) will be skipped, but the job will still succeed.\n */\n protected shouldExecute(): Promise<boolean> {\n return Promise.resolve(true)\n }\n\n protected incrementProcessedItems(incrementBy = 1): void {\n this.processed += incrementBy\n }\n\n protected async setStatus(status: JobStatus): Promise<void> {\n this.logDebug(`set status: ${status}`)\n this.status = status\n\n const event: JobEvent = { type: JobEventType.statusChange, status, total: this.total, processed: this.processed }\n if (status === JobStatus.failed) {\n event.errors = this.errors\n }\n\n if (this.isEnded()) {\n this.logDebug('onEnd...')\n await this.onEnd()\n this.logDebug(`onEnd run. Job completed in ${this.elapsedTimePrettyFormat}`)\n }\n\n this.notifyEvent(event)\n }\n\n /**\n * Inner job event handler.\n */\n protected async onInnerJobEvent(event: JobEvent): Promise<void> {\n const { status } = event\n if (status === JobStatus.canceled) {\n this.canceledByAdmin = this.getCurrentInnerJob()?.canceledByAdmin ?? false\n return this.setStatus(status)\n }\n if (status === JobStatus.failed) {\n // report the errors of the failed inner job in the failed event (and in the errors) of this job\n Object.assign(this.errors, this.getCurrentInnerJob()?.errors ?? {})\n return this.setStatus(status)\n }\n if (status === JobStatus.running) {\n this.notifyEvent({\n type: JobEventType.progress,\n status: this.status,\n total: this.total,\n processed: this.processed,\n })\n return\n }\n this.logDebug(`Unknown inner job status: ${status}`)\n }\n\n /**\n * Called when the job just has been started.\n */\n protected async onStart(): Promise<void> {\n this.startTime = new Date()\n await this.setStatus(JobStatus.running)\n }\n\n /**\n * Called before beforeEnd only if the status will change to 'success'.\n * Default implementation stores the value returned by generateResult() via setResult().\n * It runs INSIDE the current db transaction.\n */\n protected async beforeSuccess(): Promise<void> {\n this.setResult(await this.generateResult())\n }\n\n /**\n * Computes the value beforeSuccess() will store as this job's result.\n * Default implementation returns whatever is already in `this.result`\n * (e.g. accumulated via earlier setResult() calls during execute()).\n */\n protected generateResult(): Promise<R | undefined> {\n return Promise.resolve(this.result)\n }\n\n /**\n * Updates this job's result. When both the current and incoming values are plain objects,\n * they are merged (Object.assign); otherwise the incoming value replaces the current one.\n * This keeps it safe for subclasses whose result is a primitive (e.g. a plain number) as\n * well as ones that build an object result incrementally across multiple setResult() calls.\n */\n protected setResult(result: R | undefined): void {\n if (result && typeof result === 'object' && this.result && typeof this.result === 'object') {\n Object.assign(this.result, result)\n } else {\n this.result = result\n }\n }\n\n /**\n * Called before onEnd. Useful for flushing resources used by the job before it terminates completely.\n * It runs INSIDE the current db transaction.\n */\n protected beforeEnd(): Promise<void> {\n this.logDebug('Cleanup')\n return Promise.resolve()\n }\n\n /**\n * Called when the job status changes to success, failed or canceled\n * (it runs OUTSIDE of the current db transaction)\n */\n protected onEnd(): Promise<void> {\n this.endTime = new Date()\n this.cancelNotifyProgress()\n return Promise.resolve()\n }\n\n protected addError(error: any, errorKey?: string): void {\n const key = errorKey ?? String(this.processed + 1)\n this.errors[key] = error\n }\n\n protected throwError(errorKey: string, params?: Dictionary<any>): void {\n // SystemError: getErrorInfo will report the translatable key instead of a generic error\n throw new SystemError(errorKey, params)\n }\n\n protected getErrorInfo(error: any): { key: string; params: Record<string, any> } {\n if (error instanceof SystemError) {\n return { key: `appErrors:${error.key}`, params: error.params }\n }\n return { key: 'appErrors:generic', params: { text: error.toString() } }\n }\n\n protected abstract createLogger(): Logger\n\n protected logDebug(...msgs: any[]): void {\n this.logger.debug(...msgs)\n }\n\n protected logInfo(...msgs: any[]): void {\n this.logger.info(...msgs)\n }\n\n protected logWarn(...msgs: any[]): void {\n this.logger.warn(...msgs)\n }\n\n protected logError(...msgs: any[]): void {\n this.logger.error(...msgs)\n }\n\n private get elapsedTimePrettyFormat(): string {\n const elapsedTime = this.calculateElapsedMillis()\n const elapsedMins = Math.floor(elapsedTime / 1000 / 60)\n const elapsedSeconds = String(Math.floor(elapsedTime / 1000) % 60).padStart(2, '0')\n const elapsedMillis = String(elapsedTime % 1000).padStart(3, '0')\n return `${elapsedMins}:${elapsedSeconds}.${elapsedMillis}`\n }\n\n private calculatePartialProgress(): number {\n if (this.isSucceeded()) return 100\n if (this.total > 0) return Math.floor((100 * this.processed) / this.total)\n return 0\n }\n\n private calculateProgressPercent(): number {\n const partialProgress = this.calculatePartialProgress()\n const currentInnerJob = this.getCurrentInnerJob()\n if (\n !currentInnerJob ||\n this.currentInnerJobIndex < 0 ||\n partialProgress === 100 ||\n this.processed > this.currentInnerJobIndex\n ) {\n return partialProgress\n }\n return partialProgress + Math.floor(currentInnerJob.calculateProgressPercent() / this.total)\n }\n\n private calculateElapsedMillis(): number {\n if (!this.startTime) return 0\n return (this.endTime ?? new Date()).getTime() - this.startTime.getTime()\n }\n\n /**\n * Notifies a progress event to the registered listener, throttled so that fast-changing\n * progress does not flood consumers (e.g. web socket clients).\n */\n private notifyProgress(): void {\n const run = (): void => {\n this.progressThrottleTimeoutId = undefined\n this.progressThrottleLastRunTime = Date.now()\n this.notifyEvent({\n type: JobEventType.progress,\n status: this.status,\n total: this.total,\n processed: this.processed,\n })\n }\n\n if (this.progressThrottleTimeoutId) return\n\n const elapsed = Date.now() - this.progressThrottleLastRunTime\n if (!this.progressThrottleLastRunTime || elapsed >= PROGRESS_NOTIFICATION_THROTTLE_MILLIS) {\n run()\n } else {\n this.progressThrottleTimeoutId = setTimeout(run, PROGRESS_NOTIFICATION_THROTTLE_MILLIS - elapsed)\n }\n }\n\n /**\n * Cancels any pending throttled progress notification and resets the throttle state.\n */\n private cancelNotifyProgress(): void {\n if (this.progressThrottleTimeoutId) {\n clearTimeout(this.progressThrottleTimeoutId)\n this.progressThrottleTimeoutId = undefined\n }\n this.progressThrottleLastRunTime = 0\n }\n\n private notifyEvent(event: JobEvent): void {\n this.eventListener?.(event)\n }\n}\n"]}
|
package/dist/job/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/job/index.ts"],"names":[],"mappings":";;;AACA,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAEhB,uCAAyC;AAAhC,wGAAA,YAAY,OAAA;AAGrB,mCAAoC;AAA3B,mGAAA,SAAS,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/job/index.ts"],"names":[],"mappings":";;;AACA,qCAAmC;AAA1B,kGAAA,OAAO,OAAA;AAEhB,uCAAyC;AAAhC,wGAAA,YAAY,OAAA;AAGrB,mCAAoC;AAA3B,mGAAA,SAAS,OAAA","sourcesContent":["export type { Job } from './job'\nexport { JobBase } from './JobBase'\nexport type { JobContext } from './jobContext'\nexport { JobEventType } from './jobEvent'\nexport type { JobEvent } from './jobEvent'\nexport type { JobSerialized } from './jobSerialized'\nexport { JobStatus } from './status'\n"]}
|
package/dist/job/job.d.ts
CHANGED
|
@@ -1,12 +1,32 @@
|
|
|
1
1
|
import { JobSerialized } from './jobSerialized';
|
|
2
2
|
import { JobStatus } from './status';
|
|
3
|
+
/**
|
|
4
|
+
* Asynchronous task handler.
|
|
5
|
+
*
|
|
6
|
+
* Status workflow:
|
|
7
|
+
* - pending
|
|
8
|
+
* - running
|
|
9
|
+
* - (end)
|
|
10
|
+
* -- succeeded
|
|
11
|
+
* -- failed
|
|
12
|
+
* -- canceled
|
|
13
|
+
* */
|
|
3
14
|
export interface Job<R> {
|
|
4
15
|
readonly uuid: string;
|
|
5
16
|
readonly type: string;
|
|
6
17
|
status: JobStatus;
|
|
18
|
+
/**
|
|
19
|
+
* Starts the execution of the job.
|
|
20
|
+
*/
|
|
7
21
|
start(client?: any): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Cancels the execution of the job.
|
|
24
|
+
*/
|
|
8
25
|
cancel(options?: {
|
|
9
26
|
canceledByAdmin?: boolean;
|
|
10
27
|
}): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Generates a plain JSON-serializable representation of the job.
|
|
30
|
+
*/
|
|
11
31
|
toJSON(): JobSerialized<R>;
|
|
12
32
|
}
|
package/dist/job/job.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/job/job.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../src/job/job.ts"],"names":[],"mappings":"","sourcesContent":["import { JobSerialized } from './jobSerialized'\nimport { JobStatus } from './status'\n\n/**\n * Asynchronous task handler.\n *\n * Status workflow:\n * - pending\n * - running\n * - (end)\n * -- succeeded\n * -- failed\n * -- canceled\n * */\nexport interface Job<R> {\n readonly uuid: string\n readonly type: string\n status: JobStatus\n /**\n * Starts the execution of the job.\n */\n start(client?: any): Promise<void>\n /**\n * Cancels the execution of the job.\n */\n cancel(options?: { canceledByAdmin?: boolean }): Promise<void>\n /**\n * Generates a plain JSON-serializable representation of the job.\n */\n toJSON(): JobSerialized<R>\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobContext.js","sourceRoot":"","sources":["../../src/job/jobContext.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"jobContext.js","sourceRoot":"","sources":["../../src/job/jobContext.ts"],"names":[],"mappings":"","sourcesContent":["import { User } from '../auth'\nimport { Survey } from '../survey'\n\nexport interface JobContext {\n surveyId?: number\n survey?: Survey\n type?: string\n tx?: any\n user: User\n}\n"]}
|
package/dist/job/jobEvent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobEvent.js","sourceRoot":"","sources":["../../src/job/jobEvent.ts"],"names":[],"mappings":";;;AAEA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,qCAAqB,CAAA;AACvB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
|
|
1
|
+
{"version":3,"file":"jobEvent.js","sourceRoot":"","sources":["../../src/job/jobEvent.ts"],"names":[],"mappings":";;;AAEA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,qCAAqB,CAAA;AACvB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB","sourcesContent":["import { JobStatus } from './status'\n\nexport enum JobEventType {\n statusChange = 'statusChange',\n progress = 'progress',\n}\n\nexport interface JobEvent {\n type: JobEventType\n status: JobStatus\n total: number\n processed: number\n errors?: Record<string, any>\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobSerialized.js","sourceRoot":"","sources":["../../src/job/jobSerialized.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"jobSerialized.js","sourceRoot":"","sources":["../../src/job/jobSerialized.ts"],"names":[],"mappings":"","sourcesContent":["import { JobStatus } from './status'\n\n/**\n * Plain JSON-serializable representation of a job, produced by JobBase#toJSON.\n */\nexport interface JobSerialized<R = undefined> {\n uuid: string\n type: string\n userUuid: string | undefined\n surveyId: number | null\n innerJobs: JobSerialized<any>[]\n currentInnerJobIndex: number\n\n // Status\n status: JobStatus\n pending: boolean\n running: boolean\n succeeded: boolean\n canceled: boolean\n failed: boolean\n ended: boolean\n\n // Progress\n total: number\n processed: number\n progressPercent: number\n elapsedMillis: number\n\n // Output\n errors?: Record<string, any>\n result?: R\n}\n"]}
|
package/dist/job/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/job/status.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;AACnB,CAAC,EANW,SAAS,yBAAT,SAAS,QAMpB"}
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/job/status.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;IACnB,oCAAuB,CAAA;IACvB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;AACnB,CAAC,EANW,SAAS,yBAAT,SAAS,QAMpB","sourcesContent":["export enum JobStatus {\n pending = 'pending',\n running = 'running',\n succeeded = 'succeeded',\n canceled = 'canceled',\n failed = 'failed',\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/language/index.ts"],"names":[],"mappings":";;;AAEA,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AAErB,yCAA6D;AAApD,sGAAA,SAAS,OAAA;AAAE,iHAAA,oBAAoB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/language/index.ts"],"names":[],"mappings":";;;AAEA,+CAA6C;AAApC,4GAAA,YAAY,OAAA;AAErB,yCAA6D;AAApD,sGAAA,SAAS,OAAA;AAAE,iHAAA,oBAAoB,OAAA","sourcesContent":["export type { Labels } from './labels'\n\nexport { LanguageCode } from './languageCode'\n\nexport { Languages, LanguagesISO639part2 } from './languages'\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/language/labels.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"labels.js","sourceRoot":"","sources":["../../src/language/labels.ts"],"names":[],"mappings":"","sourcesContent":["import { LanguageCode } from './languageCode'\n\nexport type Labels = {\n [code in LanguageCode]?: string\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languageCode.js","sourceRoot":"","sources":["../../src/language/languageCode.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAyLX;AAzLD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;AACX,CAAC,EAzLW,YAAY,4BAAZ,YAAY,QAyLvB"}
|
|
1
|
+
{"version":3,"file":"languageCode.js","sourceRoot":"","sources":["../../src/language/languageCode.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAyLX;AAzLD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,yBAAS,CAAA;AACX,CAAC,EAzLW,YAAY,4BAAZ,YAAY,QAyLvB","sourcesContent":["export enum LanguageCode {\n aa = 'aa',\n ab = 'ab',\n ae = 'ae',\n af = 'af',\n ak = 'ak',\n am = 'am',\n an = 'an',\n ar = 'ar',\n as = 'as',\n av = 'av',\n ay = 'ay',\n az = 'az',\n ba = 'ba',\n be = 'be',\n bg = 'bg',\n bh = 'bh',\n bi = 'bi',\n bm = 'bm',\n bn = 'bn',\n bo = 'bo',\n br = 'br',\n bs = 'bs',\n ca = 'ca',\n ce = 'ce',\n ch = 'ch',\n co = 'co',\n cr = 'cr',\n cs = 'cs',\n cu = 'cu',\n cv = 'cv',\n cy = 'cy',\n da = 'da',\n de = 'de',\n dv = 'dv',\n dz = 'dz',\n ee = 'ee',\n el = 'el',\n en = 'en',\n eo = 'eo',\n es = 'es',\n et = 'et',\n eu = 'eu',\n fa = 'fa',\n ff = 'ff',\n fi = 'fi',\n fj = 'fj',\n fo = 'fo',\n fr = 'fr',\n fy = 'fy',\n ga = 'ga',\n gd = 'gd',\n gl = 'gl',\n gn = 'gn',\n gu = 'gu',\n gv = 'gv',\n ha = 'ha',\n he = 'he',\n hi = 'hi',\n ho = 'ho',\n hr = 'hr',\n ht = 'ht',\n hu = 'hu',\n hy = 'hy',\n hz = 'hz',\n ia = 'ia',\n id = 'id',\n ie = 'ie',\n ig = 'ig',\n ii = 'ii',\n ik = 'ik',\n io = 'io',\n is = 'is',\n it = 'it',\n iu = 'iu',\n ja = 'ja',\n jv = 'jv',\n ka = 'ka',\n kg = 'kg',\n ki = 'ki',\n kj = 'kj',\n kk = 'kk',\n kl = 'kl',\n km = 'km',\n kn = 'kn',\n ko = 'ko',\n kr = 'kr',\n ks = 'ks',\n ku = 'ku',\n kv = 'kv',\n kw = 'kw',\n ky = 'ky',\n la = 'la',\n lb = 'lb',\n lg = 'lg',\n li = 'li',\n ln = 'ln',\n lo = 'lo',\n lt = 'lt',\n lu = 'lu',\n lv = 'lv',\n mg = 'mg',\n mh = 'mh',\n mi = 'mi',\n mk = 'mk',\n ml = 'ml',\n mn = 'mn',\n mr = 'mr',\n ms = 'ms',\n mt = 'mt',\n my = 'my',\n na = 'na',\n nb = 'nb',\n nd = 'nd',\n ne = 'ne',\n ng = 'ng',\n nl = 'nl',\n nn = 'nn',\n no = 'no',\n nr = 'nr',\n nv = 'nv',\n ny = 'ny',\n oc = 'oc',\n oj = 'oj',\n om = 'om',\n or = 'or',\n os = 'os',\n pa = 'pa',\n pi = 'pi',\n pl = 'pl',\n ps = 'ps',\n pt = 'pt',\n qu = 'qu',\n rm = 'rm',\n rn = 'rn',\n ro = 'ro',\n ru = 'ru',\n rw = 'rw',\n sa = 'sa',\n sc = 'sc',\n sd = 'sd',\n se = 'se',\n sg = 'sg',\n si = 'si',\n sk = 'sk',\n sl = 'sl',\n sm = 'sm',\n sn = 'sn',\n so = 'so',\n sq = 'sq',\n sr = 'sr',\n ss = 'ss',\n st = 'st',\n su = 'su',\n sv = 'sv',\n sw = 'sw',\n ta = 'ta',\n te = 'te',\n tg = 'tg',\n th = 'th',\n ti = 'ti',\n tk = 'tk',\n tl = 'tl',\n tn = 'tn',\n to = 'to',\n tr = 'tr',\n ts = 'ts',\n tt = 'tt',\n tw = 'tw',\n ty = 'ty',\n ug = 'ug',\n uk = 'uk',\n ur = 'ur',\n uz = 'uz',\n ve = 've',\n vi = 'vi',\n vo = 'vo',\n wa = 'wa',\n wo = 'wo',\n xh = 'xh',\n yi = 'yi',\n yo = 'yo',\n za = 'za',\n zh = 'zh',\n zu = 'zu',\n}\n"]}
|