@openforis/arena-core 2.3.31 → 2.3.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/appInfo.js.map +1 -1
- package/dist/app/index.js.map +1 -1
- package/dist/auth/authGroup.js.map +1 -1
- package/dist/auth/authGroups.js.map +1 -1
- package/dist/auth/authorizer.js +45 -0
- package/dist/auth/authorizer.js.map +1 -1
- package/dist/auth/factory.js.map +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/permission.js.map +1 -1
- package/dist/auth/user.js.map +1 -1
- package/dist/auth/userAuth.js.map +1 -1
- package/dist/auth/userAuthTokenService.d.ts +28 -0
- package/dist/auth/userAuthTokenService.js.map +1 -1
- package/dist/auth/userGroup.js.map +1 -1
- package/dist/auth/userService.js.map +1 -1
- package/dist/auth/users.js +1 -0
- package/dist/auth/users.js.map +1 -1
- package/dist/category/categories.js.map +1 -1
- package/dist/category/category.js.map +1 -1
- package/dist/category/categoryImportSummary.js.map +1 -1
- package/dist/category/categoryItemGenerator.js.map +1 -1
- package/dist/category/categoryItems.js.map +1 -1
- package/dist/category/factory.js.map +1 -1
- package/dist/category/index.js.map +1 -1
- package/dist/category/item.js.map +1 -1
- package/dist/category/itemService.js.map +1 -1
- package/dist/category/level.js.map +1 -1
- package/dist/category/levelService.js.map +1 -1
- package/dist/category/service.js.map +1 -1
- package/dist/chain/chain.js.map +1 -1
- package/dist/chain/chainFactory.js.map +1 -1
- package/dist/chain/chainNodeDef.js.map +1 -1
- package/dist/chain/chainNodeDefAggregate.js.map +1 -1
- package/dist/chain/chainNodeDefFactory.js.map +1 -1
- package/dist/chain/chainNodeDefService.js.map +1 -1
- package/dist/chain/chainService.js.map +1 -1
- package/dist/chain/index.js.map +1 -1
- package/dist/common/Dictionary.js.map +1 -1
- package/dist/common/factory.js.map +1 -1
- package/dist/common/i18n.js.map +1 -1
- package/dist/common/index.js.map +1 -1
- package/dist/dataExport/ArenaExportInfo.js.map +1 -1
- package/dist/dataExport/ArenaExportInfoFactory.js.map +1 -1
- package/dist/dataExport/FlatDataExportModel.js +3 -3
- package/dist/dataExport/FlatDataExportModel.js.map +1 -1
- package/dist/dataExport/FlatDataExportOptions.js.map +1 -1
- package/dist/dataExport/FlatDataFiles.js.map +1 -1
- package/dist/dataExport/UniqueFileNamesGenerator.d.ts +23 -0
- package/dist/dataExport/UniqueFileNamesGenerator.js +26 -1
- package/dist/dataExport/UniqueFileNamesGenerator.js.map +1 -1
- package/dist/dataExport/index.js.map +1 -1
- package/dist/dataQuery/dataQuery.js.map +1 -1
- package/dist/dataQuery/dataQuerySummaries.js +3 -0
- package/dist/dataQuery/dataQuerySummaries.js.map +1 -1
- package/dist/dataQuery/index.js.map +1 -1
- package/dist/error/SystemError.js +1 -0
- package/dist/error/SystemError.js.map +1 -1
- package/dist/error/index.js.map +1 -1
- package/dist/esm/app/appInfo.js.map +1 -1
- package/dist/esm/app/index.js.map +1 -1
- package/dist/esm/auth/authGroup.js.map +1 -1
- package/dist/esm/auth/authGroups.js.map +1 -1
- package/dist/esm/auth/authorizer.js +45 -0
- package/dist/esm/auth/authorizer.js.map +1 -1
- package/dist/esm/auth/factory.js.map +1 -1
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/permission.js.map +1 -1
- package/dist/esm/auth/user.js.map +1 -1
- package/dist/esm/auth/userAuth.js.map +1 -1
- package/dist/esm/auth/userAuthTokenService.js.map +1 -1
- package/dist/esm/auth/userGroup.js.map +1 -1
- package/dist/esm/auth/userService.js.map +1 -1
- package/dist/esm/auth/users.js +1 -0
- package/dist/esm/auth/users.js.map +1 -1
- package/dist/esm/category/categories.js.map +1 -1
- package/dist/esm/category/category.js.map +1 -1
- package/dist/esm/category/categoryImportSummary.js.map +1 -1
- package/dist/esm/category/categoryItemGenerator.js.map +1 -1
- package/dist/esm/category/categoryItems.js.map +1 -1
- package/dist/esm/category/factory.js.map +1 -1
- package/dist/esm/category/index.js.map +1 -1
- package/dist/esm/category/item.js.map +1 -1
- package/dist/esm/category/itemService.js.map +1 -1
- package/dist/esm/category/level.js.map +1 -1
- package/dist/esm/category/levelService.js.map +1 -1
- package/dist/esm/category/service.js.map +1 -1
- package/dist/esm/chain/chain.js.map +1 -1
- package/dist/esm/chain/chainFactory.js.map +1 -1
- package/dist/esm/chain/chainNodeDef.js.map +1 -1
- package/dist/esm/chain/chainNodeDefAggregate.js.map +1 -1
- package/dist/esm/chain/chainNodeDefFactory.js.map +1 -1
- package/dist/esm/chain/chainNodeDefService.js.map +1 -1
- package/dist/esm/chain/chainService.js.map +1 -1
- package/dist/esm/chain/index.js.map +1 -1
- package/dist/esm/common/Dictionary.js.map +1 -1
- package/dist/esm/common/factory.js.map +1 -1
- package/dist/esm/common/i18n.js.map +1 -1
- package/dist/esm/common/index.js.map +1 -1
- package/dist/esm/dataExport/ArenaExportInfo.js.map +1 -1
- package/dist/esm/dataExport/ArenaExportInfoFactory.js.map +1 -1
- package/dist/esm/dataExport/FlatDataExportModel.js +3 -3
- package/dist/esm/dataExport/FlatDataExportModel.js.map +1 -1
- package/dist/esm/dataExport/FlatDataExportOptions.js.map +1 -1
- package/dist/esm/dataExport/FlatDataFiles.js.map +1 -1
- package/dist/esm/dataExport/UniqueFileNamesGenerator.js +26 -1
- package/dist/esm/dataExport/UniqueFileNamesGenerator.js.map +1 -1
- package/dist/esm/dataExport/index.js.map +1 -1
- package/dist/esm/dataQuery/dataQuery.js.map +1 -1
- package/dist/esm/dataQuery/dataQuerySummaries.js +3 -0
- package/dist/esm/dataQuery/dataQuerySummaries.js.map +1 -1
- package/dist/esm/dataQuery/index.js.map +1 -1
- package/dist/esm/error/SystemError.js +1 -0
- package/dist/esm/error/SystemError.js.map +1 -1
- package/dist/esm/error/index.js.map +1 -1
- package/dist/esm/expression/context.js.map +1 -1
- package/dist/esm/expression/evaluator.js.map +1 -1
- package/dist/esm/expression/function.js.map +1 -1
- package/dist/esm/expression/index.js.map +1 -1
- package/dist/esm/expression/javascript/evaluator.js +3 -0
- package/dist/esm/expression/javascript/evaluator.js.map +1 -1
- package/dist/esm/expression/javascript/functionsDefault.js.map +1 -1
- package/dist/esm/expression/javascript/global.js.map +1 -1
- package/dist/esm/expression/javascript/node/array.js.map +1 -1
- package/dist/esm/expression/javascript/node/binary.js +23 -0
- package/dist/esm/expression/javascript/node/binary.js.map +1 -1
- package/dist/esm/expression/javascript/node/call.js +12 -0
- package/dist/esm/expression/javascript/node/call.js.map +1 -1
- package/dist/esm/expression/javascript/node/compound.js.map +1 -1
- package/dist/esm/expression/javascript/node/conditional.js.map +1 -1
- package/dist/esm/expression/javascript/node/identifier.js +7 -0
- package/dist/esm/expression/javascript/node/identifier.js.map +1 -1
- package/dist/esm/expression/javascript/node/literal.js.map +1 -1
- package/dist/esm/expression/javascript/node/member.js +5 -1
- package/dist/esm/expression/javascript/node/member.js.map +1 -1
- package/dist/esm/expression/javascript/node/sequence.js.map +1 -1
- package/dist/esm/expression/javascript/node/this.js.map +1 -1
- package/dist/esm/expression/javascript/node/unary.js +8 -0
- package/dist/esm/expression/javascript/node/unary.js.map +1 -1
- package/dist/esm/expression/javascript/parser/jsep.js +6 -2
- package/dist/esm/expression/javascript/parser/jsep.js.map +1 -1
- package/dist/esm/expression/javascript/parser/parser.js.map +1 -1
- package/dist/esm/expression/node.js.map +1 -1
- package/dist/esm/expression/parser.js.map +1 -1
- package/dist/esm/expression/variable.js.map +1 -1
- package/dist/esm/extraProp/extraProp.js.map +1 -1
- package/dist/esm/extraProp/extraProps.js.map +1 -1
- package/dist/esm/extraProp/extraPropsDataGenerator.js.map +1 -1
- package/dist/esm/extraProp/index.js.map +1 -1
- package/dist/esm/geo/index.js.map +1 -1
- package/dist/esm/geo/point.js.map +1 -1
- package/dist/esm/geo/pointFactory.js.map +1 -1
- package/dist/esm/geo/points/bearing.js +11 -0
- package/dist/esm/geo/points/bearing.js.map +1 -1
- package/dist/esm/geo/points/distance.js +9 -0
- package/dist/esm/geo/points/distance.js.map +1 -1
- package/dist/esm/geo/points/equals.js.map +1 -1
- package/dist/esm/geo/points/getSrs.js.map +1 -1
- package/dist/esm/geo/points/index.js.map +1 -1
- package/dist/esm/geo/points/isFilled.js.map +1 -1
- package/dist/esm/geo/points/isValid.js +1 -1
- package/dist/esm/geo/points/isValid.js.map +1 -1
- package/dist/esm/geo/points/parse.js +9 -0
- package/dist/esm/geo/points/parse.js.map +1 -1
- package/dist/esm/geo/points/pointAtDistance.js +10 -0
- package/dist/esm/geo/points/pointAtDistance.js.map +1 -1
- package/dist/esm/geo/points/toLatLong.js.map +1 -1
- package/dist/esm/geo/points/toString.js.map +1 -1
- package/dist/esm/geo/points/transform.js +12 -0
- package/dist/esm/geo/points/transform.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/job/JobBase.js +138 -18
- package/dist/esm/job/JobBase.js.map +1 -1
- package/dist/esm/job/index.js.map +1 -1
- package/dist/esm/job/job.js.map +1 -1
- package/dist/esm/job/jobContext.js.map +1 -1
- package/dist/esm/job/jobEvent.js.map +1 -1
- package/dist/esm/job/jobSerialized.js.map +1 -1
- package/dist/esm/job/status.js.map +1 -1
- package/dist/esm/language/index.js.map +1 -1
- package/dist/esm/language/labels.js.map +1 -1
- package/dist/esm/language/languageCode.js.map +1 -1
- package/dist/esm/language/languages.js.map +1 -1
- package/dist/esm/logger/index.js.map +1 -1
- package/dist/esm/logger/logger.js.map +1 -1
- package/dist/esm/message/index.js.map +1 -1
- package/dist/esm/message/message.js.map +1 -1
- package/dist/esm/message/messages.js +1 -0
- package/dist/esm/message/messages.js.map +1 -1
- package/dist/esm/node/factory.js.map +1 -1
- package/dist/esm/node/index.js.map +1 -1
- package/dist/esm/node/node.js.map +1 -1
- package/dist/esm/node/nodePointer.js.map +1 -1
- package/dist/esm/node/nodeValue/code.js.map +1 -1
- package/dist/esm/node/nodeValue/coordinate.js.map +1 -1
- package/dist/esm/node/nodeValue/file.js.map +1 -1
- package/dist/esm/node/nodeValue/index.js.map +1 -1
- package/dist/esm/node/nodeValue/nodeValueComposite.js.map +1 -1
- package/dist/esm/node/nodeValue/taxon.js.map +1 -1
- package/dist/esm/node/nodeValueFormatter.js +2 -0
- package/dist/esm/node/nodeValueFormatter.js.map +1 -1
- package/dist/esm/node/nodeValueProps.js.map +1 -1
- package/dist/esm/node/nodeValues.js +20 -0
- package/dist/esm/node/nodeValues.js.map +1 -1
- package/dist/esm/node/nodes.js +7 -0
- package/dist/esm/node/nodes.js.map +1 -1
- package/dist/esm/node/service.js.map +1 -1
- package/dist/esm/nodeDef/factory.js.map +1 -1
- package/dist/esm/nodeDef/index.js.map +1 -1
- package/dist/esm/nodeDef/nodeDef.js +1 -0
- package/dist/esm/nodeDef/nodeDef.js.map +1 -1
- package/dist/esm/nodeDef/nodeDefs.js +18 -0
- package/dist/esm/nodeDef/nodeDefs.js.map +1 -1
- package/dist/esm/nodeDef/service.js.map +1 -1
- package/dist/esm/nodeDef/types/boolean.js.map +1 -1
- package/dist/esm/nodeDef/types/code.js.map +1 -1
- package/dist/esm/nodeDef/types/coordinate.js.map +1 -1
- package/dist/esm/nodeDef/types/date.js.map +1 -1
- package/dist/esm/nodeDef/types/decimal.js.map +1 -1
- package/dist/esm/nodeDef/types/entity.js.map +1 -1
- package/dist/esm/nodeDef/types/file.js.map +1 -1
- package/dist/esm/nodeDef/types/formHeader.js.map +1 -1
- package/dist/esm/nodeDef/types/integer.js.map +1 -1
- package/dist/esm/nodeDef/types/taxon.js.map +1 -1
- package/dist/esm/nodeDef/types/text.js.map +1 -1
- package/dist/esm/nodeDef/types/time.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/context.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/functions.js +8 -1
- package/dist/esm/nodeDefExpressionEvaluator/functions.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/index.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js +28 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/member.js +15 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/member.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +3 -0
- package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -1
- package/dist/esm/nodeDefExpressionEvaluator/validator.js.map +1 -1
- package/dist/esm/record/_records/recordCompletion.js +14 -0
- package/dist/esm/record/_records/recordCompletion.js.map +1 -1
- package/dist/esm/record/_records/recordGetters.js +19 -2
- package/dist/esm/record/_records/recordGetters.js.map +1 -1
- package/dist/esm/record/_records/recordNodesIndexReader.js.map +1 -1
- package/dist/esm/record/_records/recordNodesIndexUpdater.js +17 -0
- package/dist/esm/record/_records/recordNodesIndexUpdater.js.map +1 -1
- package/dist/esm/record/_records/recordPagesValidation.js +45 -0
- package/dist/esm/record/_records/recordPagesValidation.js.map +1 -1
- package/dist/esm/record/_records/recordUpdateOptions.js.map +1 -1
- package/dist/esm/record/_records/recordUpdater.js +2 -0
- package/dist/esm/record/_records/recordUpdater.js.map +1 -1
- package/dist/esm/record/_records/recordUtils.js.map +1 -1
- package/dist/esm/record/factory.js.map +1 -1
- package/dist/esm/record/index.js.map +1 -1
- package/dist/esm/record/nodePointers.js.map +1 -1
- package/dist/esm/record/record.js.map +1 -1
- package/dist/esm/record/recordCloner.js +10 -1
- package/dist/esm/record/recordCloner.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/context.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/functions.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/index.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js +14 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +6 -0
- package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -1
- package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
- package/dist/esm/record/recordFixer.js +16 -0
- package/dist/esm/record/recordFixer.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/index.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +6 -0
- package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js +5 -0
- package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +20 -2
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +2 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +13 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +9 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +17 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +5 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +4 -2
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +8 -3
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js +10 -5
- package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js +7 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +2 -0
- package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js +16 -2
- package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
- package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js +8 -0
- package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
- package/dist/esm/record/recordPrettyPrinter.js.map +1 -1
- package/dist/esm/record/recordStep.js.map +1 -1
- package/dist/esm/record/recordUpdater.js +1 -0
- package/dist/esm/record/recordUpdater.js.map +1 -1
- package/dist/esm/record/recordValidations.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeKeyValidator.js +3 -0
- package/dist/esm/record/recordValidator/attributeKeyValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeTypeValidator.js +3 -0
- package/dist/esm/record/recordValidator/attributeTypeValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeUniqueValidator.js +2 -0
- package/dist/esm/record/recordValidator/attributeUniqueValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/attributeValidator.js +12 -1
- package/dist/esm/record/recordValidator/attributeValidator.js.map +1 -1
- package/dist/esm/record/recordValidator/countVaildator.js +5 -0
- package/dist/esm/record/recordValidator/countVaildator.js.map +1 -1
- package/dist/esm/record/recordValidator/index.js.map +1 -1
- package/dist/esm/record/recordValidator/recordValidator.js +3 -0
- package/dist/esm/record/recordValidator/recordValidator.js.map +1 -1
- package/dist/esm/record/records.js +3 -0
- package/dist/esm/record/records.js.map +1 -1
- package/dist/esm/record/service.js.map +1 -1
- package/dist/esm/registry/index.js.map +1 -1
- package/dist/esm/registry/serviceRegistry.js.map +1 -1
- package/dist/esm/registry/serviceType.js.map +1 -1
- package/dist/esm/srs/factory.js.map +1 -1
- package/dist/esm/srs/index.js.map +1 -1
- package/dist/esm/srs/srs.js.map +1 -1
- package/dist/esm/survey/factory.js +1 -0
- package/dist/esm/survey/factory.js.map +1 -1
- package/dist/esm/survey/index.js.map +1 -1
- package/dist/esm/survey/nodeDefsFixer.js +1 -0
- package/dist/esm/survey/nodeDefsFixer.js.map +1 -1
- package/dist/esm/survey/refData/factory.js.map +1 -1
- package/dist/esm/survey/refData/index.js.map +1 -1
- package/dist/esm/survey/refData/refData.js.map +1 -1
- package/dist/esm/survey/service.js.map +1 -1
- package/dist/esm/survey/survey.js.map +1 -1
- package/dist/esm/survey/surveyDocImageFactory.js.map +1 -1
- package/dist/esm/survey/surveyDocImages.js.map +1 -1
- package/dist/esm/survey/surveyFileFactory.js.map +1 -1
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js +8 -0
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
- package/dist/esm/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
- package/dist/esm/survey/surveys/dependencies.js +11 -2
- package/dist/esm/survey/surveys/dependencies.js.map +1 -1
- package/dist/esm/survey/surveys/index.js +6 -0
- package/dist/esm/survey/surveys/index.js.map +1 -1
- package/dist/esm/survey/surveys/nodeDefs.js +12 -0
- package/dist/esm/survey/surveys/nodeDefs.js.map +1 -1
- package/dist/esm/survey/surveys/refsData.js.map +1 -1
- package/dist/esm/survey/surveys/surveyGettersSecurity.js.map +1 -1
- package/dist/esm/survey/surveys/surveysGetters.js +3 -1
- package/dist/esm/survey/surveys/surveysGetters.js.map +1 -1
- package/dist/esm/survey/surveys/surveysUtils.js.map +1 -1
- package/dist/esm/taxonomy/factory.js.map +1 -1
- package/dist/esm/taxonomy/index.js.map +1 -1
- package/dist/esm/taxonomy/service.js.map +1 -1
- package/dist/esm/taxonomy/taxa.js.map +1 -1
- package/dist/esm/taxonomy/taxon.js.map +1 -1
- package/dist/esm/taxonomy/taxonGenerator.js.map +1 -1
- package/dist/esm/taxonomy/taxonService.js.map +1 -1
- package/dist/esm/taxonomy/taxonVernacularName.js.map +1 -1
- package/dist/esm/taxonomy/taxonomies.js.map +1 -1
- package/dist/esm/taxonomy/taxonomy.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js +2 -0
- package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/index.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/index.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
- package/dist/esm/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
- package/dist/esm/utils/_objects/assoc.js.map +1 -1
- package/dist/esm/utils/_objects/assocPath.js +1 -0
- package/dist/esm/utils/_objects/assocPath.js.map +1 -1
- package/dist/esm/utils/_objects/camelize.js +9 -0
- package/dist/esm/utils/_objects/camelize.js.map +1 -1
- package/dist/esm/utils/_objects/deepMerge.js +10 -0
- package/dist/esm/utils/_objects/deepMerge.js.map +1 -1
- package/dist/esm/utils/_objects/deleteEmptyProps.js.map +1 -1
- package/dist/esm/utils/_objects/difference.js.map +1 -1
- package/dist/esm/utils/_objects/dissoc.js.map +1 -1
- package/dist/esm/utils/_objects/dissocPath.js +1 -0
- package/dist/esm/utils/_objects/dissocPath.js.map +1 -1
- package/dist/esm/utils/_objects/dissocPathIfEmpty.js.map +1 -1
- package/dist/esm/utils/_objects/fromPairs.js.map +1 -1
- package/dist/esm/utils/_objects/index.js.map +1 -1
- package/dist/esm/utils/_objects/isEmpty.js +8 -0
- package/dist/esm/utils/_objects/isEmpty.js.map +1 -1
- package/dist/esm/utils/_objects/isEqual.js.map +1 -1
- package/dist/esm/utils/_objects/isNil.js +6 -0
- package/dist/esm/utils/_objects/isNil.js.map +1 -1
- package/dist/esm/utils/_objects/isNotEmpty.js +6 -0
- package/dist/esm/utils/_objects/isNotEmpty.js.map +1 -1
- package/dist/esm/utils/_objects/parse.js +8 -0
- package/dist/esm/utils/_objects/parse.js.map +1 -1
- package/dist/esm/utils/_objects/path.js +7 -0
- package/dist/esm/utils/_objects/path.js.map +1 -1
- package/dist/esm/utils/_objects/propertyOf.js.map +1 -1
- package/dist/esm/utils/_objects/setInPath.js.map +1 -1
- package/dist/esm/utils/_objects/stringify.js +9 -0
- package/dist/esm/utils/_objects/stringify.js.map +1 -1
- package/dist/esm/utils/_objects/toPairs.js.map +1 -1
- package/dist/esm/utils/arrays.js.map +1 -1
- package/dist/esm/utils/dates.js +66 -15
- package/dist/esm/utils/dates.js.map +1 -1
- package/dist/esm/utils/fileNames.js.map +1 -1
- package/dist/esm/utils/fileProcessor.js +5 -1
- package/dist/esm/utils/fileProcessor.js.map +1 -1
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/numbers.js +21 -0
- package/dist/esm/utils/numbers.js.map +1 -1
- package/dist/esm/utils/promises.js +15 -1
- package/dist/esm/utils/promises.js.map +1 -1
- package/dist/esm/utils/queue.js +9 -0
- package/dist/esm/utils/queue.js.map +1 -1
- package/dist/esm/utils/retryProcessor.js +5 -1
- package/dist/esm/utils/retryProcessor.js.map +1 -1
- package/dist/esm/utils/strings.js.map +1 -1
- package/dist/esm/utils/uuids.js.map +1 -1
- package/dist/esm/utils/versions.js +4 -0
- package/dist/esm/utils/versions.js.map +1 -1
- package/dist/esm/validation/factory.js.map +1 -1
- package/dist/esm/validation/fieldValidator.js.map +1 -1
- package/dist/esm/validation/fieldValidators/email.js +3 -0
- package/dist/esm/validation/fieldValidators/email.js.map +1 -1
- package/dist/esm/validation/fieldValidators/index.js.map +1 -1
- package/dist/esm/validation/fieldValidators/name.js +4 -0
- package/dist/esm/validation/fieldValidators/name.js.map +1 -1
- package/dist/esm/validation/fieldValidators/notKeyword.js.map +1 -1
- package/dist/esm/validation/fieldValidators/numeric.js.map +1 -1
- package/dist/esm/validation/fieldValidators/numericPositive.js.map +1 -1
- package/dist/esm/validation/fieldValidators/required.js.map +1 -1
- package/dist/esm/validation/index.js.map +1 -1
- package/dist/esm/validation/validation.js.map +1 -1
- package/dist/esm/validation/validationResults.js +1 -1
- package/dist/esm/validation/validationResults.js.map +1 -1
- package/dist/esm/validation/validations.js +17 -1
- package/dist/esm/validation/validations.js.map +1 -1
- package/dist/esm/validation/validator.js.map +1 -1
- package/dist/esm/validation/validatorErrorKeys.js.map +1 -1
- package/dist/expression/context.d.ts +6 -0
- package/dist/expression/context.js.map +1 -1
- package/dist/expression/evaluator.js.map +1 -1
- package/dist/expression/function.d.ts +13 -0
- package/dist/expression/function.js.map +1 -1
- package/dist/expression/index.js.map +1 -1
- package/dist/expression/javascript/evaluator.js +3 -0
- package/dist/expression/javascript/evaluator.js.map +1 -1
- package/dist/expression/javascript/functionsDefault.js.map +1 -1
- package/dist/expression/javascript/global.js.map +1 -1
- package/dist/expression/javascript/node/array.js.map +1 -1
- package/dist/expression/javascript/node/binary.js +23 -0
- package/dist/expression/javascript/node/binary.js.map +1 -1
- package/dist/expression/javascript/node/call.js +12 -0
- package/dist/expression/javascript/node/call.js.map +1 -1
- package/dist/expression/javascript/node/compound.js.map +1 -1
- package/dist/expression/javascript/node/conditional.js.map +1 -1
- package/dist/expression/javascript/node/identifier.d.ts +7 -0
- package/dist/expression/javascript/node/identifier.js +7 -0
- package/dist/expression/javascript/node/identifier.js.map +1 -1
- package/dist/expression/javascript/node/literal.js.map +1 -1
- package/dist/expression/javascript/node/member.js +5 -1
- package/dist/expression/javascript/node/member.js.map +1 -1
- package/dist/expression/javascript/node/sequence.js.map +1 -1
- package/dist/expression/javascript/node/this.js.map +1 -1
- package/dist/expression/javascript/node/unary.js +8 -0
- package/dist/expression/javascript/node/unary.js.map +1 -1
- package/dist/expression/javascript/parser/jsep.js +6 -2
- package/dist/expression/javascript/parser/jsep.js.map +1 -1
- package/dist/expression/javascript/parser/parser.js.map +1 -1
- package/dist/expression/node.js.map +1 -1
- package/dist/expression/parser.js.map +1 -1
- package/dist/expression/variable.js.map +1 -1
- package/dist/extraProp/extraProp.js.map +1 -1
- package/dist/extraProp/extraProps.js.map +1 -1
- package/dist/extraProp/extraPropsDataGenerator.js.map +1 -1
- package/dist/extraProp/index.js.map +1 -1
- package/dist/geo/index.js.map +1 -1
- package/dist/geo/point.js.map +1 -1
- package/dist/geo/pointFactory.js.map +1 -1
- package/dist/geo/points/bearing.d.ts +9 -0
- package/dist/geo/points/bearing.js +11 -0
- package/dist/geo/points/bearing.js.map +1 -1
- package/dist/geo/points/distance.d.ts +8 -0
- package/dist/geo/points/distance.js +9 -0
- package/dist/geo/points/distance.js.map +1 -1
- package/dist/geo/points/equals.js.map +1 -1
- package/dist/geo/points/getSrs.js.map +1 -1
- package/dist/geo/points/index.js.map +1 -1
- package/dist/geo/points/isFilled.js.map +1 -1
- package/dist/geo/points/isValid.js +1 -1
- package/dist/geo/points/isValid.js.map +1 -1
- package/dist/geo/points/parse.d.ts +9 -0
- package/dist/geo/points/parse.js +9 -0
- package/dist/geo/points/parse.js.map +1 -1
- package/dist/geo/points/pointAtDistance.d.ts +9 -0
- package/dist/geo/points/pointAtDistance.js +10 -0
- package/dist/geo/points/pointAtDistance.js.map +1 -1
- package/dist/geo/points/toLatLong.js.map +1 -1
- package/dist/geo/points/toString.js.map +1 -1
- package/dist/geo/points/transform.d.ts +8 -0
- package/dist/geo/points/transform.js +12 -0
- package/dist/geo/points/transform.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/job/JobBase.d.ts +86 -0
- package/dist/job/JobBase.js +138 -18
- package/dist/job/JobBase.js.map +1 -1
- package/dist/job/index.js.map +1 -1
- package/dist/job/job.d.ts +20 -0
- package/dist/job/job.js.map +1 -1
- package/dist/job/jobContext.js.map +1 -1
- package/dist/job/jobEvent.js.map +1 -1
- package/dist/job/jobSerialized.d.ts +3 -0
- package/dist/job/jobSerialized.js.map +1 -1
- package/dist/job/status.js.map +1 -1
- package/dist/language/index.js.map +1 -1
- package/dist/language/labels.js.map +1 -1
- package/dist/language/languageCode.js.map +1 -1
- package/dist/language/languages.js.map +1 -1
- package/dist/logger/index.js.map +1 -1
- package/dist/logger/logger.js.map +1 -1
- package/dist/message/index.js.map +1 -1
- package/dist/message/message.d.ts +3 -0
- package/dist/message/message.js.map +1 -1
- package/dist/message/messages.js +1 -0
- package/dist/message/messages.js.map +1 -1
- package/dist/node/factory.js.map +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/node.d.ts +38 -0
- package/dist/node/node.js.map +1 -1
- package/dist/node/nodePointer.js.map +1 -1
- package/dist/node/nodeValue/code.js.map +1 -1
- package/dist/node/nodeValue/coordinate.js.map +1 -1
- package/dist/node/nodeValue/file.js.map +1 -1
- package/dist/node/nodeValue/index.js.map +1 -1
- package/dist/node/nodeValue/nodeValueComposite.js.map +1 -1
- package/dist/node/nodeValue/taxon.js.map +1 -1
- package/dist/node/nodeValueFormatter.js +2 -0
- package/dist/node/nodeValueFormatter.js.map +1 -1
- package/dist/node/nodeValueProps.js.map +1 -1
- package/dist/node/nodeValues.d.ts +4 -0
- package/dist/node/nodeValues.js +20 -0
- package/dist/node/nodeValues.js.map +1 -1
- package/dist/node/nodes.js +7 -0
- package/dist/node/nodes.js.map +1 -1
- package/dist/node/service.js.map +1 -1
- package/dist/nodeDef/factory.js.map +1 -1
- package/dist/nodeDef/index.js.map +1 -1
- package/dist/nodeDef/nodeDef.js +1 -0
- package/dist/nodeDef/nodeDef.js.map +1 -1
- package/dist/nodeDef/nodeDefs.js +18 -0
- package/dist/nodeDef/nodeDefs.js.map +1 -1
- package/dist/nodeDef/service.js.map +1 -1
- package/dist/nodeDef/types/boolean.js.map +1 -1
- package/dist/nodeDef/types/code.js.map +1 -1
- package/dist/nodeDef/types/coordinate.js.map +1 -1
- package/dist/nodeDef/types/date.js.map +1 -1
- package/dist/nodeDef/types/decimal.js.map +1 -1
- package/dist/nodeDef/types/entity.d.ts +1 -0
- package/dist/nodeDef/types/entity.js.map +1 -1
- package/dist/nodeDef/types/file.js.map +1 -1
- package/dist/nodeDef/types/formHeader.js.map +1 -1
- package/dist/nodeDef/types/integer.js.map +1 -1
- package/dist/nodeDef/types/taxon.js.map +1 -1
- package/dist/nodeDef/types/text.js.map +1 -1
- package/dist/nodeDef/types/time.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/context.d.ts +3 -0
- package/dist/nodeDefExpressionEvaluator/context.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/functions.js +8 -1
- package/dist/nodeDefExpressionEvaluator/functions.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/index.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/identifier.d.ts +14 -0
- package/dist/nodeDefExpressionEvaluator/node/identifier.js +28 -0
- package/dist/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/member.js +15 -0
- package/dist/nodeDefExpressionEvaluator/node/member.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +3 -0
- package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -1
- package/dist/nodeDefExpressionEvaluator/validator.js.map +1 -1
- package/dist/record/_records/recordCompletion.d.ts +12 -0
- package/dist/record/_records/recordCompletion.js +14 -0
- package/dist/record/_records/recordCompletion.js.map +1 -1
- package/dist/record/_records/recordGetters.d.ts +3 -0
- package/dist/record/_records/recordGetters.js +19 -2
- package/dist/record/_records/recordGetters.js.map +1 -1
- package/dist/record/_records/recordNodesIndexReader.js.map +1 -1
- package/dist/record/_records/recordNodesIndexUpdater.js +17 -0
- package/dist/record/_records/recordNodesIndexUpdater.js.map +1 -1
- package/dist/record/_records/recordPagesValidation.d.ts +39 -0
- package/dist/record/_records/recordPagesValidation.js +45 -0
- package/dist/record/_records/recordPagesValidation.js.map +1 -1
- package/dist/record/_records/recordUpdateOptions.js.map +1 -1
- package/dist/record/_records/recordUpdater.js +2 -0
- package/dist/record/_records/recordUpdater.js.map +1 -1
- package/dist/record/_records/recordUtils.js.map +1 -1
- package/dist/record/factory.js.map +1 -1
- package/dist/record/index.js.map +1 -1
- package/dist/record/nodePointers.js.map +1 -1
- package/dist/record/record.d.ts +12 -0
- package/dist/record/record.js.map +1 -1
- package/dist/record/recordCloner.js +10 -1
- package/dist/record/recordCloner.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/context.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/functions.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/index.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js +14 -0
- package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +6 -0
- package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -1
- package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
- package/dist/record/recordFixer.js +16 -0
- package/dist/record/recordFixer.js.map +1 -1
- package/dist/record/recordNodesUpdater/index.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.d.ts +6 -0
- package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +6 -0
- package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordExpressionValueConverter.js +5 -0
- package/dist/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +20 -2
- package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +2 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +13 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +9 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +17 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +5 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +4 -2
- package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +8 -3
- package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesCreator.js +10 -5
- package/dist/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesDeleter.js +7 -0
- package/dist/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +2 -0
- package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordNodesUpdater.js +16 -2
- package/dist/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
- package/dist/record/recordNodesUpdater/recordUpdateResult.d.ts +8 -0
- package/dist/record/recordNodesUpdater/recordUpdateResult.js +8 -0
- package/dist/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
- package/dist/record/recordPrettyPrinter.js.map +1 -1
- package/dist/record/recordStep.js.map +1 -1
- package/dist/record/recordUpdater.js +1 -0
- package/dist/record/recordUpdater.js.map +1 -1
- package/dist/record/recordValidations.js.map +1 -1
- package/dist/record/recordValidator/attributeKeyValidator.d.ts +4 -0
- package/dist/record/recordValidator/attributeKeyValidator.js +3 -0
- package/dist/record/recordValidator/attributeKeyValidator.js.map +1 -1
- package/dist/record/recordValidator/attributeTypeValidator.js +3 -0
- package/dist/record/recordValidator/attributeTypeValidator.js.map +1 -1
- package/dist/record/recordValidator/attributeUniqueValidator.js +2 -0
- package/dist/record/recordValidator/attributeUniqueValidator.js.map +1 -1
- package/dist/record/recordValidator/attributeValidator.js +12 -1
- package/dist/record/recordValidator/attributeValidator.js.map +1 -1
- package/dist/record/recordValidator/countVaildator.js +5 -0
- package/dist/record/recordValidator/countVaildator.js.map +1 -1
- package/dist/record/recordValidator/index.js.map +1 -1
- package/dist/record/recordValidator/recordValidator.js +3 -0
- package/dist/record/recordValidator/recordValidator.js.map +1 -1
- package/dist/record/records.js +3 -0
- package/dist/record/records.js.map +1 -1
- package/dist/record/service.js.map +1 -1
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/serviceRegistry.js.map +1 -1
- package/dist/registry/serviceType.js.map +1 -1
- package/dist/srs/factory.js.map +1 -1
- package/dist/srs/index.js.map +1 -1
- package/dist/srs/srs.js.map +1 -1
- package/dist/survey/factory.js +1 -0
- package/dist/survey/factory.js.map +1 -1
- package/dist/survey/index.js.map +1 -1
- package/dist/survey/nodeDefsFixer.js +1 -0
- package/dist/survey/nodeDefsFixer.js.map +1 -1
- package/dist/survey/refData/factory.js.map +1 -1
- package/dist/survey/refData/index.js.map +1 -1
- package/dist/survey/refData/refData.d.ts +15 -0
- package/dist/survey/refData/refData.js.map +1 -1
- package/dist/survey/service.js.map +1 -1
- package/dist/survey/survey.d.ts +9 -0
- package/dist/survey/survey.js.map +1 -1
- package/dist/survey/surveyDocImageFactory.js.map +1 -1
- package/dist/survey/surveyDocImages.js.map +1 -1
- package/dist/survey/surveyFileFactory.js.map +1 -1
- package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js +8 -0
- package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
- package/dist/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
- package/dist/survey/surveys/dependencies.js +11 -2
- package/dist/survey/surveys/dependencies.js.map +1 -1
- package/dist/survey/surveys/index.js +6 -0
- package/dist/survey/surveys/index.js.map +1 -1
- package/dist/survey/surveys/nodeDefs.js +12 -0
- package/dist/survey/surveys/nodeDefs.js.map +1 -1
- package/dist/survey/surveys/refsData.js.map +1 -1
- package/dist/survey/surveys/surveyGettersSecurity.js.map +1 -1
- package/dist/survey/surveys/surveysGetters.js +3 -1
- package/dist/survey/surveys/surveysGetters.js.map +1 -1
- package/dist/survey/surveys/surveysUtils.js.map +1 -1
- package/dist/taxonomy/factory.js.map +1 -1
- package/dist/taxonomy/index.js.map +1 -1
- package/dist/taxonomy/service.js.map +1 -1
- package/dist/taxonomy/taxa.js.map +1 -1
- package/dist/taxonomy/taxon.js.map +1 -1
- package/dist/taxonomy/taxonGenerator.js.map +1 -1
- package/dist/taxonomy/taxonService.js.map +1 -1
- package/dist/taxonomy/taxonVernacularName.js.map +1 -1
- package/dist/taxonomy/taxonomies.js.map +1 -1
- package/dist/taxonomy/taxonomy.js.map +1 -1
- package/dist/tests/builder/recordBuilder/attributeBuilder.js +2 -0
- package/dist/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
- package/dist/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
- package/dist/tests/builder/recordBuilder/index.js.map +1 -1
- package/dist/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
- package/dist/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/index.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
- package/dist/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
- package/dist/utils/_objects/assoc.js.map +1 -1
- package/dist/utils/_objects/assocPath.js +1 -0
- package/dist/utils/_objects/assocPath.js.map +1 -1
- package/dist/utils/_objects/camelize.d.ts +9 -0
- package/dist/utils/_objects/camelize.js +9 -0
- package/dist/utils/_objects/camelize.js.map +1 -1
- package/dist/utils/_objects/deepMerge.d.ts +5 -0
- package/dist/utils/_objects/deepMerge.js +10 -0
- package/dist/utils/_objects/deepMerge.js.map +1 -1
- package/dist/utils/_objects/deleteEmptyProps.js.map +1 -1
- package/dist/utils/_objects/difference.js.map +1 -1
- package/dist/utils/_objects/dissoc.js.map +1 -1
- package/dist/utils/_objects/dissocPath.js +1 -0
- package/dist/utils/_objects/dissocPath.js.map +1 -1
- package/dist/utils/_objects/dissocPathIfEmpty.js.map +1 -1
- package/dist/utils/_objects/fromPairs.js.map +1 -1
- package/dist/utils/_objects/index.js.map +1 -1
- package/dist/utils/_objects/isEmpty.d.ts +6 -0
- package/dist/utils/_objects/isEmpty.js +8 -0
- package/dist/utils/_objects/isEmpty.js.map +1 -1
- package/dist/utils/_objects/isEqual.js.map +1 -1
- package/dist/utils/_objects/isNil.d.ts +6 -0
- package/dist/utils/_objects/isNil.js +6 -0
- package/dist/utils/_objects/isNil.js.map +1 -1
- package/dist/utils/_objects/isNotEmpty.d.ts +6 -0
- package/dist/utils/_objects/isNotEmpty.js +6 -0
- package/dist/utils/_objects/isNotEmpty.js.map +1 -1
- package/dist/utils/_objects/parse.d.ts +8 -0
- package/dist/utils/_objects/parse.js +8 -0
- package/dist/utils/_objects/parse.js.map +1 -1
- package/dist/utils/_objects/path.d.ts +6 -0
- package/dist/utils/_objects/path.js +7 -0
- package/dist/utils/_objects/path.js.map +1 -1
- package/dist/utils/_objects/propertyOf.js.map +1 -1
- package/dist/utils/_objects/setInPath.js.map +1 -1
- package/dist/utils/_objects/stringify.d.ts +9 -0
- package/dist/utils/_objects/stringify.js +9 -0
- package/dist/utils/_objects/stringify.js.map +1 -1
- package/dist/utils/_objects/toPairs.js.map +1 -1
- package/dist/utils/arrays.js.map +1 -1
- package/dist/utils/dates.d.ts +1 -1
- package/dist/utils/dates.js +66 -15
- package/dist/utils/dates.js.map +1 -1
- package/dist/utils/fileNames.js.map +1 -1
- package/dist/utils/fileProcessor.js +5 -1
- package/dist/utils/fileProcessor.js.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/numbers.js +21 -0
- package/dist/utils/numbers.js.map +1 -1
- package/dist/utils/promises.js +15 -1
- package/dist/utils/promises.js.map +1 -1
- package/dist/utils/queue.d.ts +7 -0
- package/dist/utils/queue.js +9 -0
- package/dist/utils/queue.js.map +1 -1
- package/dist/utils/retryProcessor.js +5 -1
- package/dist/utils/retryProcessor.js.map +1 -1
- package/dist/utils/strings.js.map +1 -1
- package/dist/utils/uuids.js.map +1 -1
- package/dist/utils/versions.js +4 -0
- package/dist/utils/versions.js.map +1 -1
- package/dist/validation/factory.js.map +1 -1
- package/dist/validation/fieldValidator.js.map +1 -1
- package/dist/validation/fieldValidators/email.js +3 -0
- package/dist/validation/fieldValidators/email.js.map +1 -1
- package/dist/validation/fieldValidators/index.js.map +1 -1
- package/dist/validation/fieldValidators/name.js +4 -0
- package/dist/validation/fieldValidators/name.js.map +1 -1
- package/dist/validation/fieldValidators/notKeyword.js.map +1 -1
- package/dist/validation/fieldValidators/numeric.js.map +1 -1
- package/dist/validation/fieldValidators/numericPositive.js.map +1 -1
- package/dist/validation/fieldValidators/required.js.map +1 -1
- package/dist/validation/index.js.map +1 -1
- package/dist/validation/validation.js.map +1 -1
- package/dist/validation/validationResults.js +1 -1
- package/dist/validation/validationResults.js.map +1 -1
- package/dist/validation/validations.js +17 -1
- package/dist/validation/validations.js.map +1 -1
- package/dist/validation/validator.js.map +1 -1
- package/dist/validation/validatorErrorKeys.js.map +1 -1
- package/package.json +7 -10
package/dist/esm/utils/queue.js
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
|
+
// when the number of dequeued items exceeds this threshold (and half of the stored items),
|
|
2
|
+
// the storage array is compacted to release the memory of the dequeued items
|
|
1
3
|
const COMPACTION_MIN_HEAD_INDEX = 1024;
|
|
4
|
+
/**
|
|
5
|
+
* FIFO queue with constant time enqueue and dequeue operations.
|
|
6
|
+
*/
|
|
2
7
|
export class Queue {
|
|
3
8
|
constructor(items = []) {
|
|
4
9
|
this._items = [];
|
|
5
10
|
this._headIndex = 0;
|
|
6
11
|
this.enqueueItems(items);
|
|
7
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Snapshot of the items still in the queue, from the last enqueued to the first one (the next one to be dequeued).
|
|
15
|
+
* The returned array is a copy: modifying it does not affect the queue.
|
|
16
|
+
*/
|
|
8
17
|
get items() {
|
|
9
18
|
return this._items.slice(this._headIndex).reverse();
|
|
10
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/utils/queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/utils/queue.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,6EAA6E;AAC7E,MAAM,yBAAyB,GAAG,IAAI,CAAA;AAEtC;;GAEG;AACH,MAAM,OAAO,KAAK;IAIhB,YAAY,QAAe,EAAE;QAC3B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAA;IACrD,CAAC;IAED,OAAO,CAAC,IAAS;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,YAAY,CAAC,KAAY;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACpB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO,SAAS,CAAA;QAEpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,SAAS,CAAA;QACxC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAA;QAEpB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;YAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;QACrB,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,IAAI,yBAAyB,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACrG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAChD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;QACrB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAClE,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAA;IAC7C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,CAAA;IACxB,CAAC;CACF","sourcesContent":["// when the number of dequeued items exceeds this threshold (and half of the stored items),\n// the storage array is compacted to release the memory of the dequeued items\nconst COMPACTION_MIN_HEAD_INDEX = 1024\n\n/**\n * FIFO queue with constant time enqueue and dequeue operations.\n */\nexport class Queue {\n private _items: any[]\n private _headIndex: number\n\n constructor(items: any[] = []) {\n this._items = []\n this._headIndex = 0\n this.enqueueItems(items)\n }\n\n /**\n * Snapshot of the items still in the queue, from the last enqueued to the first one (the next one to be dequeued).\n * The returned array is a copy: modifying it does not affect the queue.\n */\n get items(): readonly any[] {\n return this._items.slice(this._headIndex).reverse()\n }\n\n enqueue(item: any): void {\n this._items.push(item)\n }\n\n enqueueItems(items: any[]) {\n for (const item of items) {\n this.enqueue(item)\n }\n }\n\n dequeue(): any {\n if (this.isEmpty()) return undefined\n\n const item = this._items[this._headIndex]\n this._items[this._headIndex] = undefined\n this._headIndex += 1\n\n if (this.isEmpty()) {\n this._items = []\n this._headIndex = 0\n } else if (this._headIndex >= COMPACTION_MIN_HEAD_INDEX && this._headIndex * 2 >= this._items.length) {\n this._items = this._items.slice(this._headIndex)\n this._headIndex = 0\n }\n return item\n }\n\n get first(): any {\n return this.isEmpty() ? undefined : this._items[this._headIndex]\n }\n\n get last(): any {\n return this.isEmpty() ? undefined : this._items.at(-1)\n }\n\n get size(): number {\n return this._items.length - this._headIndex\n }\n\n isEmpty(): boolean {\n return this.size === 0\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export class RetryProcessor {
|
|
2
2
|
constructor({ processor, onSuccess, onFail, maxTryings = 2 }) {
|
|
3
|
+
// State properties
|
|
3
4
|
this.currentTrying = 0;
|
|
4
5
|
this.running = false;
|
|
5
6
|
this.processor = processor;
|
|
@@ -18,14 +19,17 @@ export class RetryProcessor {
|
|
|
18
19
|
this.onSuccess(res);
|
|
19
20
|
})
|
|
20
21
|
.catch((error) => {
|
|
22
|
+
// On error, check if we should try again
|
|
21
23
|
if (this.running && this.currentTrying < this.maxTryings) {
|
|
22
|
-
this.processNext();
|
|
24
|
+
this.processNext(); // Retry
|
|
23
25
|
}
|
|
24
26
|
else {
|
|
27
|
+
// If we've stopped or exceeded max attempts, call the fail callback
|
|
25
28
|
this.onFail(error);
|
|
26
29
|
}
|
|
27
30
|
});
|
|
28
31
|
}
|
|
32
|
+
// Public methods
|
|
29
33
|
start() {
|
|
30
34
|
this.running = true;
|
|
31
35
|
this.processNext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retryProcessor.js","sourceRoot":"","sources":["../../../src/utils/retryProcessor.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,cAAc;IAUzB,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,EAAuC;
|
|
1
|
+
{"version":3,"file":"retryProcessor.js","sourceRoot":"","sources":["../../../src/utils/retryProcessor.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,cAAc;IAUzB,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,CAAC,EAAuC;QAJjG,mBAAmB;QACX,kBAAa,GAAW,CAAC,CAAA;QACzB,YAAO,GAAY,KAAK,CAAA;QAG9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAES,KAAK;QACb,IAAI,CAAC,aAAa,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAA;QAEvB,IAAI,CAAC,SAAS,EAAE;aACb,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,yCAAyC;YACzC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACzD,IAAI,CAAC,WAAW,EAAE,CAAA,CAAC,QAAQ;YAC7B,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACpB,CAAC;QACH,CAAC,CAAC,CAAA;IACN,CAAC;IAED,iBAAiB;IACjB,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;CACF","sourcesContent":["interface RetryProcessorArgs<ProcessorResult> {\n processor: () => Promise<ProcessorResult>\n onSuccess: (result: ProcessorResult) => void\n onFail: (error: Error) => void\n maxTryings?: number\n}\n\nexport class RetryProcessor<ProcessorResult> {\n private readonly processor: () => Promise<ProcessorResult>\n private readonly onSuccess: (result: ProcessorResult) => void\n private readonly onFail: (error: Error) => void\n private readonly maxTryings: number\n\n // State properties\n private currentTrying: number = 0\n private running: boolean = false\n\n constructor({ processor, onSuccess, onFail, maxTryings = 2 }: RetryProcessorArgs<ProcessorResult>) {\n this.processor = processor\n this.onSuccess = onSuccess\n this.onFail = onFail\n this.maxTryings = maxTryings\n }\n\n protected reset() {\n this.currentTrying = 0\n this.running = false\n }\n\n protected processNext(): void {\n this.currentTrying += 1\n\n this.processor()\n .then((res) => {\n this.onSuccess(res)\n })\n .catch((error) => {\n // On error, check if we should try again\n if (this.running && this.currentTrying < this.maxTryings) {\n this.processNext() // Retry\n } else {\n // If we've stopped or exceeded max attempts, call the fail callback\n this.onFail(error)\n }\n })\n }\n\n // Public methods\n start(): void {\n this.running = true\n this.processNext()\n }\n\n stop(): void {\n this.reset()\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../src/utils/strings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAIpC,MAAM,cAAc,GAClB,CAAC,YAAoB,EAAE,EAAE,CACzB,CAAC,IAAc,EAAU,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,IAAe,CAAA;AAE3D,MAAM,QAAQ,GACZ,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAE,CACtC,CAAC,IAAc,EAAU,EAAE,CACzB,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAE5C,MAAM,KAAK,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAA;AAEpF,MAAM,WAAW,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAA;AAE1F,MAAM,YAAY,GAChB,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,IAAc,EAAU,EAAE;IACzB,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,IAAe,CAAA;AACpF,CAAC,CAAA;AAEH,MAAM,YAAY,GAChB,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,IAAc,EAAU,EAAE;IACzB,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,IAAe,CAAA;AACnG,CAAC,CAAA;AAEH,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAc,EAAE,EAAE,CAC7D,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,GAAG,MAAM,EAAE,CAAA;AAE1D,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAc,EAAE,EAAE,CAC9D,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,EAAE,CAAA;AAE5D,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE;IACrD,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAc,EAAE,WAAW,GAAG,GAAG,EAAU,EAAE;IACrE,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,IAAI,MAAM,GAAG,IAAc,CAAA;IAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACxF,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;QAC1C,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAEvE,MAAM,aAAa,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,cAAc;IACd,QAAQ;IACR,KAAK;IACL,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,MAAM;IACN,OAAO;IACP,aAAa;IACb,SAAS;IACT,SAAS;CACV,CAAA"}
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../../../src/utils/strings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAIpC,MAAM,cAAc,GAClB,CAAC,YAAoB,EAAE,EAAE,CACzB,CAAC,IAAc,EAAU,EAAE,CACzB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,IAAe,CAAA;AAE3D,MAAM,QAAQ,GACZ,CAAC,MAAc,EAAE,SAAiB,EAAE,EAAE,CACtC,CAAC,IAAc,EAAU,EAAE,CACzB,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAE5C,MAAM,KAAK,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAA;AAEpF,MAAM,WAAW,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAA;AAE1F,MAAM,YAAY,GAChB,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,IAAc,EAAU,EAAE;IACzB,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,IAAe,CAAA;AACpF,CAAC,CAAA;AAEH,MAAM,YAAY,GAChB,CAAC,MAAc,EAAE,EAAE,CACnB,CAAC,IAAc,EAAU,EAAE;IACzB,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,IAAe,CAAA;AACnG,CAAC,CAAA;AAEH,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAc,EAAE,EAAE,CAC7D,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,GAAG,MAAM,EAAE,CAAA;AAE1D,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC,IAAc,EAAE,EAAE,CAC9D,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,EAAE,CAAA;AAE5D,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE;IACrD,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAc,EAAE,WAAW,GAAG,GAAG,EAAU,EAAE;IACrE,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,IAAI,MAAM,GAAG,IAAc,CAAA;IAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACxF,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;QAC1C,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAEvE,MAAM,aAAa,GAAG,CAAC,IAAc,EAAU,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,cAAc;IACd,QAAQ;IACR,KAAK;IACL,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,MAAM;IACN,OAAO;IACP,aAAa;IACb,SAAS;IACT,SAAS;CACV,CAAA","sourcesContent":["import { camelCase, snakeCase } from 'change-case'\n\nimport { Objects } from './_objects'\n\ntype TextType = string | undefined | null\n\nconst defaultIfEmpty =\n (defaultValue: string) =>\n (text: TextType): string =>\n Objects.isEmpty(text) ? defaultValue : (text as string)\n\nconst padStart =\n (length: number, padString: string) =>\n (text: TextType): string =>\n (text ?? '').padStart(length, padString)\n\nconst quote = (text: TextType): string => (Objects.isEmpty(text) ? '' : `'${text}'`)\n\nconst quoteDouble = (text: TextType): string => (Objects.isEmpty(text) ? '' : `\"${text}\"`)\n\nconst removePrefix =\n (prefix: string) =>\n (text: TextType): string => {\n if (Objects.isEmpty(text)) return ''\n return text?.startsWith(prefix) ? text.substring(prefix.length) : (text as string)\n }\n\nconst removeSuffix =\n (suffix: string) =>\n (text: TextType): string => {\n if (Objects.isEmpty(text)) return ''\n return text?.endsWith(suffix) ? text.substring(0, text.length - suffix.length) : (text as string)\n }\n\nconst appendIfMissing = (suffix: string) => (text: TextType) =>\n text?.endsWith(suffix) ? text : `${text ?? ''}${suffix}`\n\nconst prependIfMissing = (prefix: string) => (text: TextType) =>\n text?.startsWith(prefix) ? text : `${prefix}${text ?? ''}`\n\nconst repeat = (text: string, times: number): string => {\n const parts = []\n for (let i = 0; i < times; i++) {\n parts.push(text)\n }\n return parts.join('')\n}\n\nconst _unquoteInternal = (text: TextType, quoteSymbol = \"'\"): string => {\n if (Objects.isEmpty(text)) return ''\n let result = text as string\n if (result.length > 1 && result.startsWith(quoteSymbol) && result.endsWith(quoteSymbol)) {\n result = removePrefix(quoteSymbol)(result)\n result = removeSuffix(quoteSymbol)(result)\n }\n return result\n}\n\nconst unquote = (text: TextType): string => _unquoteInternal(text, `'`)\n\nconst unquoteDouble = (text: TextType): string => _unquoteInternal(text, `\"`)\n\nexport const Strings = {\n defaultIfEmpty,\n padStart,\n quote,\n quoteDouble,\n removePrefix,\n removeSuffix,\n appendIfMissing,\n prependIfMissing,\n repeat,\n unquote,\n unquoteDouble,\n camelCase,\n snakeCase,\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uuids.js","sourceRoot":"","sources":["../../../src/utils/uuids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AAEzB,MAAM,MAAM,GAAG,CAAC,KAAa,EAAW,EAAE,CACxC,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,4EAA4E,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEjH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM;IACN,EAAE;CACH,CAAA"}
|
|
1
|
+
{"version":3,"file":"uuids.js","sourceRoot":"","sources":["../../../src/utils/uuids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AAEzB,MAAM,MAAM,GAAG,CAAC,KAAa,EAAW,EAAE,CACxC,KAAK,CAAC,MAAM,KAAK,EAAE,IAAI,4EAA4E,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAEjH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,MAAM;IACN,EAAE;CACH,CAAA","sourcesContent":["import { v4 } from 'uuid'\n\nconst isUuid = (value: string): boolean =>\n value.length === 36 && /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(value)\n\nexport const UUIDs = {\n isUuid,\n v4,\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../src/utils/versions.ts"],"names":[],"mappings":"AAOA,MAAM,aAAa,GAAG,0DAA0D,CAAA;AAEhF,MAAM,KAAK,GAAG,CAAC,OAAe,EAAiB,EAAE;IAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,4BAA4B,OAAO,wIAAwI,CAC5K,CAAA;IACH,CAAC;IACD,MAAM,aAAa,GAAkB;QACnC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;KACrC,CAAA;IACD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC3B,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC3B,aAAa,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../src/utils/versions.ts"],"names":[],"mappings":"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","sourcesContent":["export type ParsedVersion = {\n major: number\n minor: number\n patch?: number\n commitsSinceTag?: number\n}\n\nconst VERSION_REGEX = /^v?(\\d+)\\.(\\d+)(?:\\.(\\d+))?(?:-(\\d+)(?:-g[0-9a-f]+)?)?$/i\n\nconst parse = (version: string): ParsedVersion => {\n const match = VERSION_REGEX.exec(version.trim())\n if (!match) {\n throw new Error(\n `Invalid version format: \"${version}\". Expected format: [v]major.minor[.patch][-commitsSinceTag[-g<commitHash>]] (e.g. \"2.3\", \"2.3.1\", \"v2.3.1\" or \"v2.3.19-4-g207bc95f8\")`\n )\n }\n const parsedVersion: ParsedVersion = {\n major: Number.parseInt(match[1], 10),\n minor: Number.parseInt(match[2], 10),\n }\n if (match[3] !== undefined) {\n parsedVersion.patch = Number.parseInt(match[3], 10)\n }\n if (match[4] !== undefined) {\n parsedVersion.commitsSinceTag = Number.parseInt(match[4], 10)\n }\n return parsedVersion\n}\n\n/**\n * Compares two version strings.\n * @returns -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2\n */\nconst compare = (v1: string, v2: string): -1 | 0 | 1 => {\n const p1 = parse(v1)\n const p2 = parse(v2)\n const patch1 = p1.patch ?? 0\n const patch2 = p2.patch ?? 0\n const commitsSinceTag1 = p1.commitsSinceTag ?? 0\n const commitsSinceTag2 = p2.commitsSinceTag ?? 0\n\n if (p1.major !== p2.major) return p1.major < p2.major ? -1 : 1\n if (p1.minor !== p2.minor) return p1.minor < p2.minor ? -1 : 1\n if (patch1 !== patch2) return patch1 < patch2 ? -1 : 1\n if (commitsSinceTag1 !== commitsSinceTag2) return commitsSinceTag1 < commitsSinceTag2 ? -1 : 1\n return 0\n}\n\nconst isEqual = (v1: string, v2: string): boolean => compare(v1, v2) === 0\n\nconst isGreaterThan = (v1: string, v2: string): boolean => compare(v1, v2) === 1\n\nconst isLessThan = (v1: string, v2: string): boolean => compare(v1, v2) === -1\n\nconst isGreaterThanOrEqual = (v1: string, v2: string): boolean => compare(v1, v2) >= 0\n\nconst isLessThanOrEqual = (v1: string, v2: string): boolean => compare(v1, v2) <= 0\n\nexport const Versions = {\n parse,\n compare,\n isEqual,\n isGreaterThan,\n isLessThan,\n isGreaterThanOrEqual,\n isLessThanOrEqual,\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/validation/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAgC,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAS/E,MAAM,CAAC,MAAM,iBAAiB,GAAiD;IAC7E,cAAc,EAAE,CAAC,MAAgC,EAAc,EAAE;QAC/D,MAAM,aAAa,GAAG;YACpB,KAAK,EAAE,IAAI;SACZ,CAAA;QACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,mCACpC,aAAa,GACb,MAAM,CACV,CAAA;QACD,MAAM,MAAM,GAAe,EAAE,KAAK,EAAE,CAAA;QACpC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAC5B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAUD,MAAM,CAAC,MAAM,uBAAuB,GAA6D;IAC/F,cAAc,EAAE,CAAC,SAAwC,EAAE,EAAoB,EAAE;QAC/E,MAAM,aAAa,GAAG;YACpB,KAAK,EAAE,IAAI;SACZ,CAAA;QACD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,mCAAQ,aAAa,GAAK,MAAM,CAAE,CAAA;QAC1G,MAAM,QAAQ,GAAG,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAA;QACpF,OAAO;YACL,QAAQ;YACR,GAAG;YACH,MAAM,EAAE,OAAO;YACf,QAAQ;YACR,KAAK;SACN,CAAA;IACH,CAAC;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/validation/factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAgC,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAS/E,MAAM,CAAC,MAAM,iBAAiB,GAAiD;IAC7E,cAAc,EAAE,CAAC,MAAgC,EAAc,EAAE;QAC/D,MAAM,aAAa,GAAG;YACpB,KAAK,EAAE,IAAI;SACZ,CAAA;QACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,mCACpC,aAAa,GACb,MAAM,CACV,CAAA;QACD,MAAM,MAAM,GAAe,EAAE,KAAK,EAAE,CAAA;QACpC,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;QACxB,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAC5B,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAUD,MAAM,CAAC,MAAM,uBAAuB,GAA6D;IAC/F,cAAc,EAAE,CAAC,SAAwC,EAAE,EAAoB,EAAE;QAC/E,MAAM,aAAa,GAAG;YACpB,KAAK,EAAE,IAAI;SACZ,CAAA;QACD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,mCAAQ,aAAa,GAAK,MAAM,CAAE,CAAA;QAC1G,MAAM,QAAQ,GAAG,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAA;QACpF,OAAO;YACL,QAAQ;YACR,GAAG;YACH,MAAM,EAAE,OAAO;YACf,QAAQ;YACR,KAAK;SACN,CAAA;IACH,CAAC;CACF,CAAA","sourcesContent":["import { Dictionary, Factory } from '../common'\nimport { Labels } from '../language'\nimport { Objects } from '../utils'\nimport { Validation, ValidationResult, ValidationSeverity } from './validation'\n\ntype ValidationFactoryParams = {\n errors?: ValidationResult[]\n fields?: Dictionary<Validation>\n valid?: boolean\n warnings?: ValidationResult[]\n}\n\nexport const ValidationFactory: Factory<Validation, ValidationFactoryParams> = {\n createInstance: (params?: ValidationFactoryParams): Validation => {\n const defaultParams = {\n valid: true,\n }\n const { errors, fields, valid, warnings } = {\n ...defaultParams,\n ...params,\n }\n const result: Validation = { valid }\n if (Objects.isNotEmpty(errors)) {\n result.errors = errors\n }\n if (Objects.isNotEmpty(fields)) {\n result.fields = fields\n }\n if (Objects.isNotEmpty(warnings)) {\n result.warnings = warnings\n }\n return result\n },\n}\n\ntype ValidationResultFactoryParams = {\n messages?: Labels\n key?: string\n params?: Dictionary<any>\n severity?: ValidationSeverity\n valid?: boolean\n}\n\nexport const ValidationResultFactory: Factory<ValidationResult, ValidationResultFactoryParams> = {\n createInstance: (params: ValidationResultFactoryParams = {}): ValidationResult => {\n const defaultParams = {\n valid: true,\n }\n const { severity: severityParam, key, params: _params, messages, valid } = { ...defaultParams, ...params }\n const severity = !severityParam && !valid ? ValidationSeverity.error : severityParam\n return {\n severity,\n key,\n params: _params,\n messages,\n valid,\n }\n },\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldValidator.js","sourceRoot":"","sources":["../../../src/validation/fieldValidator.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"fieldValidator.js","sourceRoot":"","sources":["../../../src/validation/fieldValidator.ts"],"names":[],"mappings":"","sourcesContent":["import { ValidationResult } from './validation'\n\nexport type FieldValidator = (field: string, obj: any) => Promise<ValidationResult>\n"]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { Objects } from '../../utils';
|
|
2
2
|
import { ValidationResultFactory } from '../factory';
|
|
3
3
|
import { ValidationSeverity } from '../validation';
|
|
4
|
+
/**
|
|
5
|
+
* Email regular expression
|
|
6
|
+
*/
|
|
4
7
|
const emailRegex = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
|
5
8
|
export const email = (messageKey) => (field, obj) => {
|
|
6
9
|
const value = Objects.path(field)(obj);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEpE;;GAEG;AACH,MAAM,UAAU,GACd,0IAA0I,CAAA;AAE5I,MAAM,CAAC,MAAM,KAAK,GAChB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,KAAa,EAAE,GAAQ,EAA6B,EAAE;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAE9D,OAAO,OAAO,CAAC,OAAO,CACpB,uBAAuB,CAAC,cAAc,CAAC;QACrC,KAAK;QACL,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,kBAAkB,CAAC,KAAK;KACnC,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { Objects } from '../../utils'\nimport { ValidationResultFactory } from '../factory'\nimport { ValidationResult, ValidationSeverity } from '../validation'\n\n/**\n * Email regular expression\n */\nconst emailRegex =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\n\nexport const email =\n (messageKey: string) =>\n (field: string, obj: any): Promise<ValidationResult> => {\n const value = Objects.path(field)(obj)\n const valid = Objects.isEmpty(value) || emailRegex.test(value)\n\n return Promise.resolve(\n ValidationResultFactory.createInstance({\n valid,\n key: messageKey,\n severity: ValidationSeverity.error,\n })\n )\n }\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAA","sourcesContent":["import { email } from './email'\nimport { name } from './name'\nimport { notKeyword } from './notKeyword'\nimport { numeric } from './numeric'\nimport { numericPositive } from './numericPositive'\nimport { required } from './required'\n\nexport const FieldValidators = { email, name, notKeyword, numeric, numericPositive, required }\n"]}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { Objects } from '../../utils';
|
|
2
2
|
import { ValidationResultFactory } from '../factory';
|
|
3
3
|
import { ValidationSeverity } from '../validation';
|
|
4
|
+
/**
|
|
5
|
+
* Internal name regular expression: it must contain only lowercase letters, numbers and underscores starting with a letter,
|
|
6
|
+
* and it must be at most 40 characters long
|
|
7
|
+
*/
|
|
4
8
|
const nameRegex = /^[a-z][a-z0-9_]{0,39}$/;
|
|
5
9
|
export const name = (messageKey) => (field, obj) => {
|
|
6
10
|
const value = Objects.path(field)(obj);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"name.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEpE;;;GAGG;AACH,MAAM,SAAS,GAAG,wBAAwB,CAAA;AAE1C,MAAM,CAAC,MAAM,IAAI,GACf,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,KAAa,EAAE,GAAQ,EAA6B,EAAE;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7D,OAAO,OAAO,CAAC,OAAO,CACpB,uBAAuB,CAAC,cAAc,CAAC;QACrC,KAAK;QACL,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,kBAAkB,CAAC,KAAK;KACnC,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { Objects } from '../../utils'\nimport { ValidationResultFactory } from '../factory'\nimport { ValidationResult, ValidationSeverity } from '../validation'\n\n/**\n * Internal name regular expression: it must contain only lowercase letters, numbers and underscores starting with a letter,\n * and it must be at most 40 characters long\n */\nconst nameRegex = /^[a-z][a-z0-9_]{0,39}$/\n\nexport const name =\n (messageKey: string) =>\n (field: string, obj: any): Promise<ValidationResult> => {\n const value = Objects.path(field)(obj)\n const valid = Objects.isEmpty(value) || nameRegex.test(value)\n return Promise.resolve(\n ValidationResultFactory.createInstance({\n valid,\n key: messageKey,\n severity: ValidationSeverity.error,\n })\n )\n }\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notKeyword.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/notKeyword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEpE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,KAAK;IACL,cAAc;IACd,eAAe;IACf,MAAM;IACN,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,WAAW;IACX,aAAa;IACb,OAAO;IACP,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GACrB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,KAAa,EAAE,GAAQ,EAA6B,EAAE;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAE5D,OAAO,OAAO,CAAC,OAAO,CACpB,uBAAuB,CAAC,cAAc,CAAC;QACrC,KAAK;QACL,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,kBAAkB,CAAC,KAAK;KACnC,CAAC,CACH,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"notKeyword.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/notKeyword.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEpE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,KAAK;IACL,cAAc;IACd,eAAe;IACf,MAAM;IACN,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,WAAW;IACX,aAAa;IACb,OAAO;IACP,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GACrB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,KAAa,EAAE,GAAQ,EAA6B,EAAE;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAE5D,OAAO,OAAO,CAAC,OAAO,CACpB,uBAAuB,CAAC,cAAc,CAAC;QACrC,KAAK;QACL,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,kBAAkB,CAAC,KAAK;KACnC,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { Objects } from '../../utils'\nimport { ValidationResultFactory } from '../factory'\nimport { ValidationResult, ValidationSeverity } from '../validation'\n\nconst keywords = new Set([\n 'asc',\n 'date_created',\n 'date_modified',\n 'desc',\n 'file',\n 'id',\n 'length',\n 'node_def_uuid',\n 'owner_uuid',\n 'parent_id',\n 'parent_uuid',\n 'props',\n 'props_draft',\n 'props_advanced',\n 'record_uuid',\n 'step',\n 'uuid',\n 'value',\n])\n\nexport const notKeyword =\n (messageKey: string) =>\n (field: string, obj: any): Promise<ValidationResult> => {\n const value = Objects.path(field)(obj)\n const valid = Objects.isEmpty(value) || !keywords.has(value)\n\n return Promise.resolve(\n ValidationResultFactory.createInstance({\n valid,\n key: messageKey,\n severity: ValidationSeverity.error,\n })\n )\n }\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numeric.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/numeric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEpE,MAAM,CAAC,MAAM,OAAO,GAClB,CAAC,UAAU,GAAG,gBAAgB,EAAE,gBAAqB,EAAE,EAAE,EAAE,CAC3D,CAAC,KAAa,EAAE,GAAQ,EAA6B,EAAE;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAEpE,OAAO,OAAO,CAAC,OAAO,CACpB,uBAAuB,CAAC,cAAc,CAAC;QACrC,KAAK;QACL,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,kBAAkB,CAAC,KAAK;KACnC,CAAC,CACH,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"numeric.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/numeric.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEpE,MAAM,CAAC,MAAM,OAAO,GAClB,CAAC,UAAU,GAAG,gBAAgB,EAAE,gBAAqB,EAAE,EAAE,EAAE,CAC3D,CAAC,KAAa,EAAE,GAAQ,EAA6B,EAAE;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAEpE,OAAO,OAAO,CAAC,OAAO,CACpB,uBAAuB,CAAC,cAAc,CAAC;QACrC,KAAK;QACL,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,kBAAkB,CAAC,KAAK;KACnC,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { Objects } from '../../utils'\nimport { ValidationResultFactory } from '../factory'\nimport { ValidationResult, ValidationSeverity } from '../validation'\n\nexport const numeric =\n (messageKey = 'invalid_number', messageParams: any = {}) =>\n (field: string, obj: any): Promise<ValidationResult> => {\n const value = Objects.path(field)(obj)\n const valid = Objects.isEmpty(value) || !Number.isNaN(Number(value))\n\n return Promise.resolve(\n ValidationResultFactory.createInstance({\n valid,\n key: messageKey,\n params: messageParams,\n severity: ValidationSeverity.error,\n })\n )\n }\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numericPositive.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/numericPositive.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,eAAe,GAC1B,CAAC,UAAkB,EAAE,gBAAqB,EAAE,EAAE,EAAE,CAChD,CAAO,KAAa,EAAE,GAAQ,EAA6B,EAAE;IAC3D,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACjF,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAElD,OAAO,uBAAuB,CAAC,cAAc,CAAC;QAC5C,KAAK;QACL,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,kBAAkB,CAAC,KAAK;KACnC,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"numericPositive.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/numericPositive.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,MAAM,CAAC,MAAM,eAAe,GAC1B,CAAC,UAAkB,EAAE,gBAAqB,EAAE,EAAE,EAAE,CAChD,CAAO,KAAa,EAAE,GAAQ,EAA6B,EAAE;IAC3D,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACjF,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAElD,OAAO,uBAAuB,CAAC,cAAc,CAAC;QAC5C,KAAK;QACL,GAAG,EAAE,UAAU;QACf,MAAM,EAAE,aAAa;QACrB,QAAQ,EAAE,kBAAkB,CAAC,KAAK;KACnC,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA","sourcesContent":["import { Objects } from '../../utils'\nimport { ValidationResultFactory } from '../factory'\nimport { ValidationResult, ValidationSeverity } from '../validation'\nimport { numeric } from './numeric'\n\nexport const numericPositive =\n (messageKey: string, messageParams: any = {}) =>\n async (field: string, obj: any): Promise<ValidationResult> => {\n const validateNumberResult = await numeric(messageKey, messageParams)(field, obj)\n if (!validateNumberResult.valid) {\n return validateNumberResult\n }\n const value = Objects.path(field)(obj)\n const valid = Objects.isEmpty(value) || value >= 0\n\n return ValidationResultFactory.createInstance({\n valid,\n key: messageKey,\n params: messageParams,\n severity: ValidationSeverity.error,\n })\n }\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"required.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/required.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEpE,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,KAAa,EAAE,GAAQ,EAA6B,EAAE;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrC,OAAO,OAAO,CAAC,OAAO,CACpB,uBAAuB,CAAC,cAAc,CAAC;QACrC,KAAK;QACL,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,kBAAkB,CAAC,KAAK;KACnC,CAAC,CACH,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"required.js","sourceRoot":"","sources":["../../../../src/validation/fieldValidators/required.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEpE,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,KAAa,EAAE,GAAQ,EAA6B,EAAE;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAA;IACtC,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrC,OAAO,OAAO,CAAC,OAAO,CACpB,uBAAuB,CAAC,cAAc,CAAC;QACrC,KAAK;QACL,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,kBAAkB,CAAC,KAAK;KACnC,CAAC,CACH,CAAA;AACH,CAAC,CAAA","sourcesContent":["import { Objects } from '../../utils'\n\nimport { ValidationResultFactory } from '../factory'\nimport { ValidationResult, ValidationSeverity } from '../validation'\n\nexport const required =\n (messageKey: string) =>\n (field: string, obj: any): Promise<ValidationResult> => {\n const value = Objects.path(field)(obj)\n const valid = !Objects.isEmpty(value)\n return Promise.resolve(\n ValidationResultFactory.createInstance({\n valid,\n key: messageKey,\n severity: ValidationSeverity.error,\n })\n )\n }\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA","sourcesContent":["export type { FieldValidator } from './fieldValidator'\nexport { FieldValidators } from './fieldValidators'\nexport type { Validation, ValidationFields, ValidationResult, ValidationCounts } from './validation'\nexport { ValidationSeverity } from './validation'\nexport { ValidationFactory, ValidationResultFactory } from './factory'\nexport { ValidationResults } from './validationResults'\nexport { Validations } from './validations'\nexport { Validator } from './validator'\nexport { ValidatorErrorKeys } from './validatorErrorKeys'\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/validation/validation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yCAAmB,CAAA;AACrB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/validation/validation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yCAAmB,CAAA;AACrB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B","sourcesContent":["import { Labels } from '../language'\n\nexport enum ValidationSeverity {\n error = 'error',\n warning = 'warning',\n}\n\nexport interface ValidationResult {\n severity?: ValidationSeverity\n key?: string\n params?: { [key: string]: any }\n messages?: Labels\n valid: boolean\n}\n\nexport interface ValidationCounts {\n errors: number\n warnings: number\n}\n\nexport interface ValidationFields {\n [key: string]: Validation\n}\n\nexport interface Validation {\n errors?: ValidationResult[]\n fields?: ValidationFields\n valid: boolean\n warnings?: ValidationResult[]\n counts?: ValidationCounts\n}\n"]}
|
|
@@ -3,7 +3,7 @@ const getKey = (result) => result === null || result === void 0 ? void 0 : resul
|
|
|
3
3
|
const getParams = (result) => result === null || result === void 0 ? void 0 : result.params;
|
|
4
4
|
const getSeverity = (result) => { var _a; return (_a = result === null || result === void 0 ? void 0 : result.severity) !== null && _a !== void 0 ? _a : ValidationSeverity.error; };
|
|
5
5
|
const getMessages = (result) => result === null || result === void 0 ? void 0 : result.messages;
|
|
6
|
-
const getMessage = (lang) => (result) => { var _a, _b, _c; return (_b = (_a = result === null || result === void 0 ? void 0 : result.messages) === null || _a === void 0 ? void 0 : _a[lang]) !== null && _b !== void 0 ? _b : Object.values((_c = result === null || result === void 0 ? void 0 : result.messages) !== null && _c !== void 0 ? _c : {})[0]; };
|
|
6
|
+
const getMessage = (lang) => (result) => { var _a, _b, _c; return (_b = (_a = result === null || result === void 0 ? void 0 : result.messages) === null || _a === void 0 ? void 0 : _a[lang]) !== null && _b !== void 0 ? _b : Object.values((_c = result === null || result === void 0 ? void 0 : result.messages) !== null && _c !== void 0 ? _c : {})[0]; }; // fallback to first message if the requested language is not available
|
|
7
7
|
const hasMessages = (result) => (result === null || result === void 0 ? void 0 : result.messages) != null && Object.keys(result.messages).length > 0;
|
|
8
8
|
const isError = (result) => getSeverity(result) === ValidationSeverity.error;
|
|
9
9
|
export const ValidationResults = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validationResults.js","sourceRoot":"","sources":["../../../src/validation/validationResults.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEnE,MAAM,MAAM,GAAG,CAAC,MAAwB,EAAsB,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAA;AAE5E,MAAM,SAAS,GAAG,CAAC,MAAwB,EAAsC,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA;AAElG,MAAM,WAAW,GAAG,CAAC,MAAwB,EAAsB,EAAE,WAAC,OAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,kBAAkB,CAAC,KAAK,CAAA,EAAA,CAAA;AAElH,MAAM,WAAW,GAAG,CAAC,MAAwB,EAAsB,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA;AAEtF,MAAM,UAAU,GACd,CAAC,IAAkB,EAAE,EAAE,CACvB,CAAC,MAAwB,EAAsB,EAAE,mBAC/C,OAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAG,IAAI,CAAC,mCAAI,MAAM,CAAC,MAAM,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA,EAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"validationResults.js","sourceRoot":"","sources":["../../../src/validation/validationResults.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAEnE,MAAM,MAAM,GAAG,CAAC,MAAwB,EAAsB,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAA;AAE5E,MAAM,SAAS,GAAG,CAAC,MAAwB,EAAsC,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA;AAElG,MAAM,WAAW,GAAG,CAAC,MAAwB,EAAsB,EAAE,WAAC,OAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,kBAAkB,CAAC,KAAK,CAAA,EAAA,CAAA;AAElH,MAAM,WAAW,GAAG,CAAC,MAAwB,EAAsB,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA;AAEtF,MAAM,UAAU,GACd,CAAC,IAAkB,EAAE,EAAE,CACvB,CAAC,MAAwB,EAAsB,EAAE,mBAC/C,OAAA,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAG,IAAI,CAAC,mCAAI,MAAM,CAAC,MAAM,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,mCAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA,EAAA,CAAA,CAAC,uEAAuE;AAEhJ,MAAM,WAAW,GAAG,CAAC,MAAwB,EAAW,EAAE,CACxD,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;AAErE,MAAM,OAAO,GAAG,CAAC,MAAwB,EAAW,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,kBAAkB,CAAC,KAAK,CAAA;AAEvG,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,SAAS;IACT,WAAW;IACX,WAAW;IACX,UAAU;IACV,WAAW;IACX,OAAO;CACR,CAAA","sourcesContent":["import { Labels, LanguageCode } from '../language'\nimport { ValidationResult, ValidationSeverity } from './validation'\n\nconst getKey = (result: ValidationResult): string | undefined => result?.key\n\nconst getParams = (result: ValidationResult): { [key: string]: any } | undefined => result?.params\n\nconst getSeverity = (result: ValidationResult): ValidationSeverity => result?.severity ?? ValidationSeverity.error\n\nconst getMessages = (result: ValidationResult): Labels | undefined => result?.messages\n\nconst getMessage =\n (lang: LanguageCode) =>\n (result: ValidationResult): string | undefined =>\n result?.messages?.[lang] ?? Object.values(result?.messages ?? {})[0] // fallback to first message if the requested language is not available\n\nconst hasMessages = (result: ValidationResult): boolean =>\n result?.messages != null && Object.keys(result.messages).length > 0\n\nconst isError = (result: ValidationResult): boolean => getSeverity(result) === ValidationSeverity.error\n\nexport const ValidationResults = {\n getKey,\n getParams,\n getSeverity,\n getMessages,\n getMessage,\n hasMessages,\n isError,\n}\n"]}
|
|
@@ -17,7 +17,7 @@ const getFieldValidationUnsafe = (field) => (validation) => {
|
|
|
17
17
|
const parts = field.split('.');
|
|
18
18
|
parts.some((part) => {
|
|
19
19
|
validationCurrent = getFieldValidations(validationCurrent)[part];
|
|
20
|
-
return !validationCurrent;
|
|
20
|
+
return !validationCurrent; // breaks the loop if there is no field validation
|
|
21
21
|
});
|
|
22
22
|
return validationCurrent;
|
|
23
23
|
}
|
|
@@ -52,6 +52,10 @@ const isObjValid = (obj) => isValid(getValidation(obj));
|
|
|
52
52
|
const getCounts = (validation) => validation === null || validation === void 0 ? void 0 : validation.counts;
|
|
53
53
|
const getErrorsCount = (validation) => { var _a, _b; return (_b = (_a = getCounts(validation)) === null || _a === void 0 ? void 0 : _a.errors) !== null && _b !== void 0 ? _b : 0; };
|
|
54
54
|
const getWarningsCount = (validation) => { var _a, _b; return (_b = (_a = getCounts(validation)) === null || _a === void 0 ? void 0 : _a.warnings) !== null && _b !== void 0 ? _b : 0; };
|
|
55
|
+
/**
|
|
56
|
+
* Creates a validation object like ValidationFactory.createInstance does, but without checking again
|
|
57
|
+
* if fields is empty (checking it is O(N) for objects with many properties).
|
|
58
|
+
*/
|
|
55
59
|
const _createValidation = (params) => {
|
|
56
60
|
const { valid, fields, hasFields, errors, warnings } = params;
|
|
57
61
|
const result = { valid };
|
|
@@ -77,6 +81,8 @@ const recalculateValidity = (validation) => {
|
|
|
77
81
|
}
|
|
78
82
|
const errors = getErrors(validation);
|
|
79
83
|
const warnings = getWarnings(validation);
|
|
84
|
+
// nested errors and warnings already make the recalculated field validations not valid:
|
|
85
|
+
// checking only own errors and warnings is enough (hasErrors/hasWarnings would visit the whole subtree again)
|
|
80
86
|
const valid = allFieldsValid && errors.length === 0 && warnings.length === 0;
|
|
81
87
|
return _createValidation({ valid, fields: fieldsWithValidationRecalculated, hasFields, errors, warnings });
|
|
82
88
|
};
|
|
@@ -86,6 +92,7 @@ const traverse = (visitor) => (validation) => {
|
|
|
86
92
|
while (stack.length) {
|
|
87
93
|
const validationCurrent = stack.pop();
|
|
88
94
|
visitor(validationCurrent);
|
|
95
|
+
// Add field validations to stack
|
|
89
96
|
const validationFields = getFieldValidations(validationCurrent);
|
|
90
97
|
stack.push(...Object.values(validationFields));
|
|
91
98
|
}
|
|
@@ -106,6 +113,7 @@ const updateCounts = (validation) => (Object.assign(Object.assign({}, validation
|
|
|
106
113
|
const calculateHasNestedErrors = (validation) => calculateCounts(validation).errors > 0;
|
|
107
114
|
const calculateHasNestedWarnings = (validation) => calculateCounts(validation).warnings > 0;
|
|
108
115
|
const cleanup = (validation) => {
|
|
116
|
+
// only not valid field validations are kept
|
|
109
117
|
let hasFields = false;
|
|
110
118
|
const fieldsCleaned = {};
|
|
111
119
|
for (const [field, fieldValidation] of Object.entries(getFieldValidations(validation))) {
|
|
@@ -117,15 +125,19 @@ const cleanup = (validation) => {
|
|
|
117
125
|
}
|
|
118
126
|
const errors = getErrors(validation);
|
|
119
127
|
const warnings = getWarnings(validation);
|
|
128
|
+
// nested errors and warnings already make the cleaned field validations not valid:
|
|
129
|
+
// checking only own errors and warnings is enough (hasErrors/hasWarnings would visit the whole subtree again)
|
|
120
130
|
const valid = !hasFields && errors.length === 0 && warnings.length === 0;
|
|
121
131
|
return _createValidation({ valid, fields: fieldsCleaned, hasFields, errors, warnings });
|
|
122
132
|
};
|
|
123
133
|
const mergeValidations = (validationNext, doCleanup = true) => (validationPrev) => {
|
|
124
134
|
const validationFieldsResult = Object.assign({}, getFieldValidations(validationPrev));
|
|
125
135
|
const validationFieldsNext = getFieldValidations(validationNext);
|
|
136
|
+
// iterate over new field validations: remove valid ones, merge invalid ones with previous ones
|
|
126
137
|
for (const [fieldKey, validationFieldNext] of Object.entries(validationFieldsNext)) {
|
|
127
138
|
if (isValid(validationFieldNext)) {
|
|
128
139
|
if (doCleanup) {
|
|
140
|
+
// field validation valid: remove it from resulting validation
|
|
129
141
|
delete validationFieldsResult[fieldKey];
|
|
130
142
|
}
|
|
131
143
|
else {
|
|
@@ -133,6 +145,7 @@ const mergeValidations = (validationNext, doCleanup = true) => (validationPrev)
|
|
|
133
145
|
}
|
|
134
146
|
}
|
|
135
147
|
else {
|
|
148
|
+
// field validation not valid: deep merge it with the previous one
|
|
136
149
|
const validationFieldPrev = validationFieldsResult[fieldKey];
|
|
137
150
|
const validationFieldMerged = validationFieldPrev
|
|
138
151
|
? mergeValidation(validationFieldNext, false)(validationFieldPrev)
|
|
@@ -168,9 +181,11 @@ const dissocFieldValidationsStartingWith = (fieldStartsWith, sideEffect = false,
|
|
|
168
181
|
const mergeValidation = (validationNext, doCleanup = true) => (validationPrev) => {
|
|
169
182
|
const validationFieldsResult = Object.assign({}, getFieldValidations(validationPrev));
|
|
170
183
|
const validationFieldsNext = getFieldValidations(validationNext);
|
|
184
|
+
// iterate over new field validations: remove valid ones, merge invalid ones with previous ones
|
|
171
185
|
for (const [fieldKey, validationFieldNext] of Object.entries(validationFieldsNext)) {
|
|
172
186
|
if (isValid(validationFieldNext)) {
|
|
173
187
|
if (doCleanup) {
|
|
188
|
+
// field validation valid: remove it from resulting validation
|
|
174
189
|
delete validationFieldsResult[fieldKey];
|
|
175
190
|
}
|
|
176
191
|
else {
|
|
@@ -178,6 +193,7 @@ const mergeValidation = (validationNext, doCleanup = true) => (validationPrev) =
|
|
|
178
193
|
}
|
|
179
194
|
}
|
|
180
195
|
else {
|
|
196
|
+
// field validation not valid: deep merge it with the previous one
|
|
181
197
|
const validationFieldPrev = validationFieldsResult[fieldKey];
|
|
182
198
|
const validationFieldMerged = validationFieldPrev
|
|
183
199
|
? mergeValidation(validationFieldNext, false)(validationFieldPrev)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../src/validation/validations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../src/validation/validations.ts"],"names":[],"mappings":"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","sourcesContent":["import { Objects } from '../utils'\nimport { ValidationFactory } from './factory'\nimport { Validation, ValidationCounts, ValidationFields, ValidationResult } from './validation'\n\nconst keys = {\n counts: 'counts',\n errors: 'errors',\n fields: 'fields',\n valid: 'valid',\n validation: 'validation',\n warnings: 'warnings',\n}\n\nconst hasValidation = (obj: any): boolean => !!obj?.validation\n\nconst getValidation = (obj: any): Validation => obj?.validation || ValidationFactory.createInstance()\n\nconst getFieldValidations = (validation: Validation): ValidationFields => validation?.fields ?? {}\n\nconst getFieldValidationUnsafe =\n (field: string | number) =>\n (validation: Validation): Validation | undefined => {\n if (typeof field === 'string') {\n let validationCurrent: Validation | undefined = validation\n const parts = field.split('.')\n parts.some((part) => {\n validationCurrent = getFieldValidations(validationCurrent!)[part]\n return !validationCurrent // breaks the loop if there is no field validation\n })\n return validationCurrent\n } else {\n return getFieldValidations(validation)[field]\n }\n }\n\nconst getFieldValidation =\n (field: string | number, defaultValue: Validation = ValidationFactory.createInstance()) =>\n (validation: Validation): Validation =>\n getFieldValidationUnsafe(field)(validation) ?? defaultValue\n\nconst getFieldValidationsByFields =\n (fields: (string | number)[]) =>\n (validation: Validation): ValidationFields => {\n const result: ValidationFields = {}\n for (const field of fields) {\n const fieldValidation = getFieldValidationUnsafe(field)(validation)\n if (fieldValidation) {\n result[String(field)] = fieldValidation\n }\n }\n return result\n }\n\nconst getErrors = (validation: Validation): ValidationResult[] => validation?.errors ?? []\n\nconst getWarnings = (validation: Validation): ValidationResult[] => validation?.warnings ?? []\n\nconst hasErrors = (validation: Validation): boolean => {\n const errors = getErrors(validation)\n return !Objects.isEmpty(errors) || Object.values(getFieldValidations(validation)).some(hasErrors)\n}\n\nconst hasWarnings = (validation: Validation): boolean => {\n const warnings = getWarnings(validation)\n return !Objects.isEmpty(warnings) || Object.values(getFieldValidations(validation)).some(hasWarnings)\n}\n\nconst isValid = (validation: Validation): boolean => Objects.isEmpty(validation) || validation.valid\nconst isNotValid = (validation: Validation): boolean => !isValid(validation)\nconst isObjValid = (obj: Record<string, unknown>): boolean => isValid(getValidation(obj))\n\nconst getCounts = (validation: Validation): ValidationCounts | undefined => validation?.counts\nconst getErrorsCount = (validation: Validation): number => getCounts(validation)?.errors ?? 0\nconst getWarningsCount = (validation: Validation): number => getCounts(validation)?.warnings ?? 0\n\n/**\n * Creates a validation object like ValidationFactory.createInstance does, but without checking again\n * if fields is empty (checking it is O(N) for objects with many properties).\n */\nconst _createValidation = (params: {\n valid: boolean\n fields: ValidationFields\n hasFields: boolean\n errors: ValidationResult[]\n warnings: ValidationResult[]\n}): Validation => {\n const { valid, fields, hasFields, errors, warnings } = params\n const result: Validation = { valid }\n if (errors.length > 0) result.errors = errors\n if (hasFields) result.fields = fields\n if (warnings.length > 0) result.warnings = warnings\n return result\n}\n\nconst recalculateValidity = (validation: Validation): Validation => {\n let allFieldsValid = true\n let hasFields = false\n\n const fieldsWithValidationRecalculated: ValidationFields = {}\n\n for (const [fieldKey, fieldValidation] of Object.entries(getFieldValidations(validation))) {\n const fieldValidationUpdated = recalculateValidity(fieldValidation)\n fieldsWithValidationRecalculated[fieldKey] = fieldValidationUpdated\n hasFields = true\n if (!fieldValidationUpdated.valid) {\n allFieldsValid = false\n }\n }\n const errors = getErrors(validation)\n const warnings = getWarnings(validation)\n // nested errors and warnings already make the recalculated field validations not valid:\n // checking only own errors and warnings is enough (hasErrors/hasWarnings would visit the whole subtree again)\n const valid = allFieldsValid && errors.length === 0 && warnings.length === 0\n\n return _createValidation({ valid, fields: fieldsWithValidationRecalculated, hasFields, errors, warnings })\n}\n\nconst traverse = (visitor: (visitedItem: Validation) => void) => (validation: Validation) => {\n const stack: Validation[] = []\n stack.push(validation)\n\n while (stack.length) {\n const validationCurrent = stack.pop()!\n visitor(validationCurrent)\n // Add field validations to stack\n const validationFields = getFieldValidations(validationCurrent)\n stack.push(...Object.values(validationFields))\n }\n}\n\nconst calculateCounts = (validation: Validation): ValidationCounts => {\n let errors = 0\n let warnings = 0\n\n traverse((validationCurrent) => {\n errors += getErrors(validationCurrent).length\n warnings += getWarnings(validationCurrent).length\n })(validation)\n\n return {\n errors,\n warnings,\n }\n}\n\nconst updateCounts = (validation: Validation): Validation => ({\n ...validation,\n counts: calculateCounts(validation),\n})\n\nconst calculateHasNestedErrors = (validation: Validation): boolean => calculateCounts(validation).errors > 0\nconst calculateHasNestedWarnings = (validation: Validation): boolean => calculateCounts(validation).warnings > 0\n\nconst cleanup = (validation: Validation): Validation => {\n // only not valid field validations are kept\n let hasFields = false\n const fieldsCleaned: ValidationFields = {}\n for (const [field, fieldValidation] of Object.entries(getFieldValidations(validation))) {\n const fieldValidationCleaned = cleanup(fieldValidation)\n if (!fieldValidationCleaned.valid) {\n fieldsCleaned[field] = fieldValidationCleaned\n hasFields = true\n }\n }\n const errors = getErrors(validation)\n const warnings = getWarnings(validation)\n // nested errors and warnings already make the cleaned field validations not valid:\n // checking only own errors and warnings is enough (hasErrors/hasWarnings would visit the whole subtree again)\n const valid = !hasFields && errors.length === 0 && warnings.length === 0\n\n return _createValidation({ valid, fields: fieldsCleaned, hasFields, errors, warnings })\n}\n\nconst mergeValidations =\n (validationNext: Validation, doCleanup = true) =>\n (validationPrev: Validation): Validation => {\n const validationFieldsResult = { ...getFieldValidations(validationPrev) }\n const validationFieldsNext = getFieldValidations(validationNext)\n\n // iterate over new field validations: remove valid ones, merge invalid ones with previous ones\n for (const [fieldKey, validationFieldNext] of Object.entries(validationFieldsNext)) {\n if (isValid(validationFieldNext)) {\n if (doCleanup) {\n // field validation valid: remove it from resulting validation\n delete validationFieldsResult[fieldKey]\n } else {\n validationFieldsResult[fieldKey] = ValidationFactory.createInstance()\n }\n } else {\n // field validation not valid: deep merge it with the previous one\n const validationFieldPrev = validationFieldsResult[fieldKey]\n const validationFieldMerged = validationFieldPrev\n ? mergeValidation(validationFieldNext, false)(validationFieldPrev)\n : validationFieldNext\n validationFieldsResult[fieldKey] = validationFieldMerged\n }\n }\n const validationResult: Validation = { ...validationPrev, [keys.fields]: validationFieldsResult }\n validationResult.errors = getErrors(validationNext)\n validationResult.warnings = getWarnings(validationNext)\n return doCleanup ? cleanup(validationResult) : recalculateValidity(validationResult)\n }\n\nconst dissocFieldValidation =\n (fieldKey: string, sideEffect = false, doCleanup = true) =>\n (validation: Validation): Validation => {\n const validationUpdated = Objects.dissocPath({ obj: validation, path: ['fields', fieldKey], sideEffect })\n return doCleanup ? cleanup(validationUpdated) : validationUpdated\n }\n\nconst dissocFieldValidationsStartingWith =\n (fieldStartsWith: string, sideEffect = false, doCleanup = true) =>\n (validation: Validation): Validation => {\n if (!validation?.fields) return validation\n\n const fieldsUpdated = sideEffect ? validation.fields : { ...validation.fields }\n for (const fieldKey of Object.keys(fieldsUpdated)) {\n if (fieldKey.startsWith(fieldStartsWith)) {\n delete fieldsUpdated[fieldKey]\n }\n }\n if (sideEffect) {\n validation.fields = fieldsUpdated\n return validation\n }\n const validationUpdated = { ...validation, fields: fieldsUpdated }\n return doCleanup ? cleanup(validationUpdated) : validationUpdated\n }\n\nconst mergeValidation =\n (validationNext: Validation, doCleanup = true) =>\n (validationPrev: Validation): Validation => {\n const validationFieldsResult: ValidationFields = {\n ...getFieldValidations(validationPrev),\n }\n const validationFieldsNext = getFieldValidations(validationNext)\n\n // iterate over new field validations: remove valid ones, merge invalid ones with previous ones\n for (const [fieldKey, validationFieldNext] of Object.entries(validationFieldsNext)) {\n if (isValid(validationFieldNext)) {\n if (doCleanup) {\n // field validation valid: remove it from resulting validation\n delete validationFieldsResult[fieldKey]\n } else {\n validationFieldsResult[fieldKey] = ValidationFactory.createInstance()\n }\n } else {\n // field validation not valid: deep merge it with the previous one\n const validationFieldPrev = validationFieldsResult[fieldKey]\n const validationFieldMerged = validationFieldPrev\n ? mergeValidation(validationFieldNext, false)(validationFieldPrev)\n : validationFieldNext\n validationFieldsResult[fieldKey] = validationFieldMerged\n }\n }\n\n const validationResult: Validation = { ...validationPrev, fields: validationFieldsResult }\n validationResult.errors = getErrors(validationNext)\n validationResult.warnings = getWarnings(validationNext)\n\n return doCleanup ? cleanup(validationResult) : recalculateValidity(validationResult)\n }\n\nconst mergeFieldValidations = (\n fieldValidationsNext: ValidationFields,\n fieldValidationsPrev: ValidationFields\n): ValidationFields => {\n const result: ValidationFields = { ...fieldValidationsPrev }\n for (const [fieldKey, fieldValidationNext] of Object.entries(fieldValidationsNext)) {\n const fieldValidationPrev = fieldValidationsPrev[fieldKey]\n result[fieldKey] = fieldValidationPrev\n ? mergeValidation(fieldValidationNext, false)(fieldValidationPrev)\n : fieldValidationNext\n }\n return result\n}\n\nconst setValid = (valid: boolean) => (obj: object) => Objects.setInPath({ obj, path: [keys.valid], value: valid })\n\nconst setErrors = (errors: ValidationResult[]) => (obj: object) =>\n Objects.setInPath({ obj, path: [keys.errors], value: errors })\n\nconst setWarnings = (warnings: ValidationResult[]) => (obj: object) =>\n Objects.setInPath({ obj, path: [keys.warnings], value: warnings })\n\nconst setFieldValidations = (fieldValidations: ValidationFields) => (obj: object) =>\n Objects.setInPath({ obj, path: [keys.fields], value: fieldValidations })\n\nconst setFieldValidation = (field: string, fieldValidation: Validation) => (obj: object) =>\n Objects.setInPath({ obj, path: [keys.fields, field], value: fieldValidation })\n\nconst assocFieldValidation = (field: string, fieldValidation: Validation) => (validation: Validation) =>\n cleanup(Objects.assocPath({ obj: validation, path: [keys.fields, field], value: fieldValidation }))\n\nconst assocValidation = (v: Validation) => (obj: Record<string, unknown>) =>\n Objects.assoc({ obj, prop: 'validation', value: v })\n\nconst dissocValidation = (obj: Record<string, unknown>) => Objects.dissoc({ obj, prop: 'validation' })\n\nexport const Validations = {\n keys,\n hasValidation,\n getValidation,\n getFieldValidation,\n getFieldValidations,\n getFieldValidationsByFields,\n getErrors,\n getWarnings,\n hasErrors,\n hasWarnings,\n isValid,\n isNotValid,\n isObjValid,\n getCounts,\n getErrorsCount,\n getWarningsCount,\n recalculateValidity,\n traverse,\n calculateCounts,\n calculateHasNestedErrors,\n calculateHasNestedWarnings,\n updateCounts,\n cleanup,\n mergeValidations,\n dissocFieldValidation,\n dissocFieldValidationsStartingWith,\n mergeValidation,\n mergeFieldValidations,\n setValid,\n setErrors,\n setWarnings,\n setFieldValidations,\n assocFieldValidation,\n setFieldValidation,\n assocValidation,\n dissocValidation,\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/validation/validator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE7C,OAAO,EAAE,kBAAkB,EAAkD,MAAM,cAAc,CAAA;AAMjG,MAAM,sBAAsB,GAAoB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AAErE,MAAM,OAAO,SAAS;IACN,aAAa,CAAC,GAAQ,EAAE,KAAa,EAAE,eAAsC;;YACzF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1G,MAAM,MAAM,GAA4B,EAAE,CAAA;YAC1C,MAAM,QAAQ,GAA4B,EAAE,CAAA;YAC5C,WAAW,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBACvC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBAC5B,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;oBACtF,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;YAC1D,OAAO,iBAAiB,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QACtE,CAAC;KAAA;IAEK,QAAQ;6DACZ,GAAQ,EACR,gBAA4D,EAC5D,UAA2B,sBAAsB;YAEjD,MAAM,qBAAqB,GAAsB,MAAM,OAAO,CAAC,GAAG,CAChE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAiC,EAAE,0CAA5B,CAAC,KAAK,EAAE,eAAe,CAAC,IAClE,OAAA,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA,GAAA,CAChD,CACF,CAAA;YACD,MAAM,MAAM,GAAqB,EAAE,CAAA;YACnC,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrD,MAAM,eAAe,GAAe,qBAAqB,CAAC,KAAK,CAAC,CAAA;gBAChE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;oBAC3B,KAAK,GAAG,KAAK,CAAA;gBACf,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;oBACnD,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAA;gBACjC,CAAC;YACH,CAAC,CAAC,CAAA;YACF,OAAO,iBAAiB,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5D,CAAC;KAAA;CACF"}
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../../src/validation/validator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE7C,OAAO,EAAE,kBAAkB,EAAkD,MAAM,cAAc,CAAA;AAMjG,MAAM,sBAAsB,GAAoB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;AAErE,MAAM,OAAO,SAAS;IACN,aAAa,CAAC,GAAQ,EAAE,KAAa,EAAE,eAAsC;;YACzF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;YAC1G,MAAM,MAAM,GAA4B,EAAE,CAAA;YAC1C,MAAM,QAAQ,GAA4B,EAAE,CAAA;YAC5C,WAAW,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBACvC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;oBAC5B,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;oBACtF,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAA;YAC1D,OAAO,iBAAiB,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QACtE,CAAC;KAAA;IAEK,QAAQ;6DACZ,GAAQ,EACR,gBAA4D,EAC5D,UAA2B,sBAAsB;YAEjD,MAAM,qBAAqB,GAAsB,MAAM,OAAO,CAAC,GAAG,CAChE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,KAAiC,EAAE,0CAA5B,CAAC,KAAK,EAAE,eAAe,CAAC,IAClE,OAAA,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,eAAe,CAAC,CAAA,GAAA,CAChD,CACF,CAAA;YACD,MAAM,MAAM,GAAqB,EAAE,CAAA;YACnC,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrD,MAAM,eAAe,GAAe,qBAAqB,CAAC,KAAK,CAAC,CAAA;gBAChE,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;oBAC3B,KAAK,GAAG,KAAK,CAAA;gBACf,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;oBACnD,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAA;gBACjC,CAAC;YACH,CAAC,CAAC,CAAA;YACF,OAAO,iBAAiB,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5D,CAAC;KAAA;CACF","sourcesContent":["import { ValidationFactory } from './factory'\nimport { FieldValidator } from './fieldValidator'\nimport { ValidationSeverity, Validation, ValidationResult, ValidationFields } from './validation'\n\ninterface ValidateOptions {\n removeValid: boolean\n}\n\nconst defaultValidateOptions: ValidateOptions = { removeValid: true }\n\nexport class Validator {\n private async validateField(obj: any, field: string, fieldValidators: Array<FieldValidator>): Promise<Validation> {\n const validations = await Promise.all(fieldValidators.map((fieldValidator) => fieldValidator(field, obj)))\n const errors: Array<ValidationResult> = []\n const warnings: Array<ValidationResult> = []\n validations.forEach((validationResult) => {\n if (!validationResult.valid) {\n const arr = validationResult.severity === ValidationSeverity.error ? errors : warnings\n arr.push(validationResult)\n }\n })\n const valid = errors.length === 0 && warnings.length === 0\n return ValidationFactory.createInstance({ valid, errors, warnings })\n }\n\n async validate(\n obj: any,\n fieldsValidators: { [field: string]: Array<FieldValidator> },\n options: ValidateOptions = defaultValidateOptions\n ): Promise<Validation> {\n const fieldsValidationArray: Array<Validation> = await Promise.all(\n Object.entries(fieldsValidators).map(async ([field, fieldValidators]) =>\n this.validateField(obj, field, fieldValidators)\n )\n )\n const fields: ValidationFields = {}\n let valid = true\n Object.keys(fieldsValidators).forEach((field, index) => {\n const fieldValidation: Validation = fieldsValidationArray[index]\n if (!fieldValidation.valid) {\n valid = false\n }\n if (!options.removeValid || !fieldValidation.valid) {\n fields[field] = fieldValidation\n }\n })\n return ValidationFactory.createInstance({ valid, fields })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validatorErrorKeys.js","sourceRoot":"","sources":["../../../src/validation/validatorErrorKeys.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validatorErrorKeys.js","sourceRoot":"","sources":["../../../src/validation/validatorErrorKeys.ts"],"names":[],"mappings":"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","sourcesContent":["export const ValidatorErrorKeys = {\n invalidNumber: 'validationErrors:invalidNumber',\n invalidField: 'validationErrors:invalidField',\n invalidDate: 'validationErrors:invalidDate',\n nameDuplicate: 'validationErrors:nameDuplicate',\n nameCannotBeKeyword: 'validationErrors:nameCannotBeKeyword',\n nameRequired: 'validationErrors:nameRequired',\n\n analysis: {\n labelDefaultLangRequired: 'validationErrors:analysis.labelDefaultLangRequired',\n chainNodeDefsRequired: 'validationErrors:analysis.processingChain.chainNodeDefsRequired',\n processingStep: {\n entityOrCategoryRequired: 'validationErrors:analysis.processingStep.entityOrCategoryRequired',\n calculationsRequired: 'validationErrors:analysis.processingStep.calculationsRequired',\n variablesPrevStep: {\n aggregateFunctionNotSpecified:\n 'validationErrors:analysis.processingStep.variablesPrevStep.aggregateFunctionNotSpecified',\n },\n },\n processingStepCalculation: {\n attributeRequired: 'validationErrors:analysis.processingStepCalculation.attributeRequired',\n invalid: 'validationErrors:analysis.processingStepCalculation.invalid',\n },\n },\n\n categoryEdit: {\n childrenEmpty: 'validationErrors:categoryEdit.childrenEmpty',\n childrenInvalid: 'validationErrors:categoryEdit.childrenInvalid',\n codeCannotBeKeyword: 'validationErrors:categoryEdit.codeCannotBeKeyword',\n codeDuplicate: 'validationErrors:categoryEdit.codeDuplicate',\n codeRequired: 'validationErrors:categoryEdit.codeRequired',\n itemExtraPropInvalidNumber: 'validationErrors:categoryEdit.itemExtraPropInvalidNumber',\n itemExtraPropInvalidGeometryPoint: 'validationErrors:categoryEdit.itemExtraPropInvalidGeometryPoint',\n itemsInvalid: 'validationErrors:categoryEdit.itemsInvalid',\n itemsEmpty: 'validationErrors:categoryEdit.itemsEmpty',\n levelDuplicate: 'validationErrors:categoryEdit.levelDuplicate',\n levelsInvalid: 'validationErrors:categoryEdit.levelsInvalid',\n },\n\n categoryImport: {\n codeColumnMissing: 'validationErrors:categoryImport.codeColumnMissing',\n codeDuplicate: 'validationErrors:categoryImport.codeDuplicate',\n codeRequired: 'validationErrors:categoryImport.codeRequired',\n columnMissing: 'validationErrors:categoryImport.columnMissing',\n emptyHeaderFound: 'validationErrors:categoryImport.emptyHeaderFound',\n emptyFile: 'validationErrors:categoryImport.emptyFile',\n },\n\n expressions: {\n cannotGetChildOfAttribute: 'validationErrors:expressions.cannotGetChildOfAttribute',\n cannotUseCurrentNode: 'validationErrors:expressions.cannotUseCurrentNode',\n circularDependencyError: 'validationErrors:expressions.circularDependencyError',\n expressionInvalid: 'validationErrors:expressions.expressionInvalid',\n unableToFindNode: 'validationErrors:expressions.unableToFindNode',\n unableToFindNodeChild: 'validationErrors:expressions.unableToFindNodeChild',\n unableToFindNodeParent: 'validationErrors:expressions.unableToFindNodeParent',\n unableToFindNodeSibling: 'validationErrors:expressions.unableToFindNodeSibling',\n },\n\n nodeDefEdit: {\n applyIfDuplicate: 'validationErrors:nodeDefEdit.applyIfDuplicate',\n applyIfInvalid: 'validationErrors:nodeDefEdit.applyIfInvalid',\n countMaxMustBePositiveNumber: 'validationErrors:nodeDefEdit.countMaxMustBePositiveNumber',\n countMinMustBePositiveNumber: 'validationErrors:nodeDefEdit.countMinMustBePositiveNumber',\n defaultValuesInvalid: 'validationErrors:nodeDefEdit.defaultValuesInvalid',\n defaultValuesNotSpecified: 'validationErrors:nodeDefEdit.defaultValuesNotSpecified',\n categoryRequired: 'validationErrors:nodeDefEdit.categoryRequired',\n childrenEmpty: 'validationErrors:nodeDefEdit.childrenEmpty',\n entitySourceRequired: 'validationErrors:nodeDefEdit.entitySourceRequired',\n expressionApplyIfOnlyLastOneCanBeEmpty: 'validationErrors:nodeDefEdit.expressionApplyIfOnlyLastOneCanBeEmpty',\n expressionDuplicate: 'validationErrors:nodeDefEdit.expressionDuplicate',\n expressionRequired: 'validationErrors:nodeDefEdit.expressionRequired',\n formulaInvalid: 'validationErrors:nodeDefEdit.formulaInvalid',\n keysEmpty: 'validationErrors:nodeDefEdit.keysEmpty',\n keysExceedingMax: 'validationErrors:nodeDefEdit.keysExceedingMax',\n nameInvalid: 'validationErrors:nodeDefEdit.nameInvalid',\n taxonomyRequired: 'validationErrors:nodeDefEdit.taxonomyRequired',\n validationsInvalid: 'validationErrors:nodeDefEdit.validationsInvalid',\n },\n\n record: {\n keyDuplicate: 'validationErrors:record.keyDuplicate',\n entityKeyDuplicate: 'validationErrors:record.entityKeyDuplicate',\n nodesMaxCountExceeded: 'validationErrors:record.nodesMaxCountExceeded',\n nodesMinCountNotReached: 'validationErrors:record.nodesMinCountNotReached',\n oneOrMoreInvalidValues: 'validationErrors:record.oneOrMoreInvalidValues',\n valueInvalid: 'validationErrors:record.valueInvalid',\n valueRequired: 'validationErrors:record.valueRequired',\n },\n\n surveyInfoEdit: {\n langRequired: 'validationErrors:surveyInfoEdit.langRequired',\n srsRequired: 'validationErrors:surveyInfoEdit.srsRequired',\n cyclesRequired: 'validationErrors:surveyInfoEdit.cyclesRequired',\n cyclesExceedingMax: 'validationErrors:surveyInfoEdit.cyclesExceedingMax',\n cycleDateStartMandatory: 'validationErrors:surveyInfoEdit.cycleDateStartMandatory',\n cycleDateStartInvalid: 'validationErrors:surveyInfoEdit.cycleDateStartInvalid',\n cycleDateStartBeforeDateEnd: 'validationErrors:surveyInfoEdit.cycleDateStartBeforeDateEnd',\n cycleDateEndInvalid: 'validationErrors:surveyInfoEdit.cycleDateEndInvalid',\n cycleDateEndMandatoryExceptForLastCycle: 'validationErrors:surveyInfoEdit.cycleDateEndMandatoryExceptForLastCycle',\n cycleDateStartAfterPrevDateEnd: 'validationErrors:surveyInfoEdit.cycleDateStartAfterPrevDateEnd',\n },\n\n taxonomyEdit: {\n codeDuplicate: 'validationErrors:taxonomyEdit.codeDuplicate',\n codeRequired: 'validationErrors:taxonomyEdit.codeRequired',\n familyRequired: 'validationErrors:taxonomyEdit.familyRequired',\n genusRequired: 'validationErrors:taxonomyEdit.genusRequired',\n scientificNameDuplicate: 'validationErrors:taxonomyEdit.scientificNameDuplicate',\n scientificNameRequired: 'validationErrors:taxonomyEdit.scientificNameRequired',\n taxaEmpty: 'validationErrors:taxonomyEdit.taxaEmpty',\n vernacularNamesDuplicate: 'validationErrors:taxonomyEdit.vernacularNamesDuplicate',\n },\n\n taxonomyImportJob: {\n missingRequiredColumns: 'validationErrors:taxonomyImportJob.missingRequiredColumns',\n },\n\n user: {\n emailInvalid: 'validationErrors:user.emailInvalid',\n emailRequired: 'validationErrors:user.emailRequired',\n emailNotFound: 'validationErrors:user.emailNotFound',\n groupRequired: 'validationErrors:user.groupRequired',\n nameRequired: 'validationErrors:user.nameRequired',\n titleRequired: 'validationErrors:user.titleRequired',\n passwordRequired: 'validationErrors:user.passwordRequired',\n passwordInvalid: 'validationErrors:user.passwordInvalid',\n passwordUnsafe: 'validationErrors:user.passwordUnsafe',\n passwordsDoNotMatch: 'validationErrors:user.passwordsDoNotMatch',\n\n userNotFound: 'validationErrors:user.userNotFound',\n passwordChangeRequired: 'validationErrors:user.passwordChangeRequired',\n },\n}\n"]}
|
|
@@ -3,6 +3,12 @@ export interface ExpressionContext {
|
|
|
3
3
|
object?: any;
|
|
4
4
|
evaluateToNode?: boolean;
|
|
5
5
|
includeAnalysis?: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* client timezone offset in minutes as returned by the Date.getTimezoneOffset function
|
|
8
|
+
*/
|
|
6
9
|
timezoneOffset?: number;
|
|
10
|
+
/**
|
|
11
|
+
* language selected in the client app, used by language-aware expression functions (e.g. numberToWords)
|
|
12
|
+
*/
|
|
7
13
|
lang?: LanguageCode;
|
|
8
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/expression/context.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/expression/context.ts"],"names":[],"mappings":"","sourcesContent":["import { LanguageCode } from '../language'\n\nexport interface ExpressionContext {\n object?: any\n evaluateToNode?: boolean\n includeAnalysis?: boolean\n /**\n * client timezone offset in minutes as returned by the Date.getTimezoneOffset function\n */\n timezoneOffset?: number\n /**\n * language selected in the client app, used by language-aware expression functions (e.g. numberToWords)\n */\n lang?: LanguageCode\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/expression/evaluator.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"evaluator.js","sourceRoot":"","sources":["../../src/expression/evaluator.ts"],"names":[],"mappings":"","sourcesContent":["import { ExpressionContext } from './context'\nimport { ExpressionFunction } from './function'\nimport { ExpressionNode, ExpressionNodeType } from './node'\n\nexport interface ExpressionEvaluator<C extends ExpressionContext> {\n functions: { [functionName: string]: ExpressionFunction<C> }\n evaluate(expression: string, context?: C): Promise<any>\n evaluateNode(expression: ExpressionNode<ExpressionNodeType>, context: C): Promise<any>\n}\n"]}
|
|
@@ -2,8 +2,21 @@ import { ExpressionContext } from './context';
|
|
|
2
2
|
export interface ExpressionFunction<C extends ExpressionContext> {
|
|
3
3
|
minArity: number;
|
|
4
4
|
maxArity?: number;
|
|
5
|
+
/**
|
|
6
|
+
* Returns the function implementation, bound to the specified context.
|
|
7
|
+
* The implementation can return either the result value or a Promise resolving to it.
|
|
8
|
+
*/
|
|
5
9
|
executor: (context: C) => (...args: any[]) => any;
|
|
10
|
+
/**
|
|
11
|
+
* True if the arguments of the function must be evaluated as nodes.
|
|
12
|
+
* @default false
|
|
13
|
+
*/
|
|
6
14
|
evaluateArgsToNodes?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* True if the result of the evaluation of the function must be a node,
|
|
17
|
+
* otherwise it will be the node value.
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
7
20
|
evaluateToNode?: boolean;
|
|
8
21
|
}
|
|
9
22
|
export interface ExpressionFunctions<C extends ExpressionContext> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/expression/function.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/expression/function.ts"],"names":[],"mappings":"","sourcesContent":["import { ExpressionContext } from './context'\n\nexport interface ExpressionFunction<C extends ExpressionContext> {\n minArity: number\n maxArity?: number\n /**\n * Returns the function implementation, bound to the specified context.\n * The implementation can return either the result value or a Promise resolving to it.\n */\n executor: (context: C) => (...args: any[]) => any\n /**\n * True if the arguments of the function must be evaluated as nodes.\n * @default false\n */\n evaluateArgsToNodes?: boolean\n /**\n * True if the result of the evaluation of the function must be a node,\n * otherwise it will be the node value.\n * @default false\n */\n evaluateToNode?: boolean\n}\n\nexport interface ExpressionFunctions<C extends ExpressionContext> {\n [name: string]: ExpressionFunction<C>\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expression/index.ts"],"names":[],"mappings":";;;AAqBA,+BAAoE;AAA3D,0GAAA,kBAAkB,OAAA;AAAE,+GAAA,uBAAuB,OAAA;AAEpD,uCAA+C;AAAtC,8GAAA,kBAAkB,OAAA;AAE3B,oDAAsE;AAA7D,0HAAA,6BAA6B,OAAA;AACtC,qDAAuE;AAA9D,oHAAA,0BAA0B,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expression/index.ts"],"names":[],"mappings":";;;AAqBA,+BAAoE;AAA3D,0GAAA,kBAAkB,OAAA;AAAE,+GAAA,uBAAuB,OAAA;AAEpD,uCAA+C;AAAtC,8GAAA,kBAAkB,OAAA;AAE3B,oDAAsE;AAA7D,0HAAA,6BAA6B,OAAA;AACtC,qDAAuE;AAA9D,oHAAA,0BAA0B,OAAA","sourcesContent":["export type { ExpressionContext } from './context'\n\nexport type { ExpressionEvaluator } from './evaluator'\n\nexport type { ExpressionFunction, ExpressionFunctions } from './function'\n\nexport type {\n ExpressionNode,\n ExpressionNodeEvaluatorConstructor,\n ArrayExpression,\n BinaryExpression,\n CallExpression,\n CompoundExpression,\n ConditionalExpression,\n IdentifierExpression,\n LiteralExpression,\n MemberExpression,\n SequenceExpression,\n ThisExpression,\n UnaryExpression,\n} from './node'\nexport { ExpressionNodeType, ExpressionNodeEvaluator } from './node'\n\nexport { ExpressionVariable } from './variable'\n\nexport { JavascriptExpressionEvaluator } from './javascript/evaluator'\nexport { JavascriptExpressionParser } from './javascript/parser/parser'\n"]}
|
|
@@ -38,6 +38,8 @@ const defaultEvaluators = {
|
|
|
38
38
|
[node_1.ExpressionNodeType.This]: this_1.ThisEvaluator,
|
|
39
39
|
[node_1.ExpressionNodeType.Unary]: unary_1.UnaryEvaluator,
|
|
40
40
|
};
|
|
41
|
+
// Parsed expressions cache: the same expressions are evaluated many times (e.g. for every node during a record update).
|
|
42
|
+
// The cached expression nodes are shared, so evaluators must never modify them.
|
|
41
43
|
const PARSED_EXPRESSIONS_CACHE_MAX_SIZE = 1000;
|
|
42
44
|
const parsedExpressionsCache = new Map();
|
|
43
45
|
const expressionParser = new parser_1.JavascriptExpressionParser();
|
|
@@ -46,6 +48,7 @@ const parseExpression = (expression) => {
|
|
|
46
48
|
if (!expressionNode) {
|
|
47
49
|
expressionNode = expressionParser.parse(expression);
|
|
48
50
|
if (parsedExpressionsCache.size >= PARSED_EXPRESSIONS_CACHE_MAX_SIZE) {
|
|
51
|
+
// evict the oldest entry (Map keeps insertion order)
|
|
49
52
|
const oldestExpression = parsedExpressionsCache.keys().next().value;
|
|
50
53
|
if (oldestExpression !== undefined)
|
|
51
54
|
parsedExpressionsCache.delete(oldestExpression);
|