@adobe/alloy 2.19.0-beta.0 → 2.19.0-beta.1
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/libEs5/baseCode/index.js +2 -12
- package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +9 -12
- package/libEs5/components/ActivityCollector/configValidators.js +1 -4
- package/libEs5/components/ActivityCollector/createGetLinkDetails.js +7 -17
- package/libEs5/components/ActivityCollector/createLinkClick.js +3 -8
- package/libEs5/components/ActivityCollector/getLinkName.js +8 -26
- package/libEs5/components/ActivityCollector/getLinkRegion.js +2 -16
- package/libEs5/components/ActivityCollector/index.js +8 -18
- package/libEs5/components/ActivityCollector/utils.js +3 -40
- package/libEs5/components/Audiences/index.js +2 -8
- package/libEs5/components/Audiences/injectProcessDestinations.js +20 -19
- package/libEs5/components/Audiences/injectProcessResponse.js +0 -5
- package/libEs5/components/Context/createComponent.js +0 -4
- package/libEs5/components/Context/implementationDetails.js +0 -5
- package/libEs5/components/Context/index.js +12 -19
- package/libEs5/components/Context/injectDevice.js +3 -20
- package/libEs5/components/Context/injectEnvironment.js +1 -8
- package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +14 -21
- package/libEs5/components/Context/injectPlaceContext.js +2 -8
- package/libEs5/components/Context/injectTimestamp.js +0 -3
- package/libEs5/components/Context/injectWeb.js +0 -3
- package/libEs5/components/DataCollector/index.js +23 -35
- package/libEs5/components/DataCollector/validateApplyResponse.js +0 -3
- package/libEs5/components/DataCollector/validateUserEventOptions.js +0 -5
- package/libEs5/components/EventMerge/createComponent.js +0 -2
- package/libEs5/components/EventMerge/createEventMergeId.js +0 -3
- package/libEs5/components/EventMerge/index.js +1 -4
- package/libEs5/components/Identity/addEcidQueryToPayload.js +0 -3
- package/libEs5/components/Identity/addEcidToPayload.js +0 -3
- package/libEs5/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +0 -5
- package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +5 -19
- package/libEs5/components/Identity/configValidators.js +1 -2
- package/libEs5/components/Identity/constants/authState.js +1 -1
- package/libEs5/components/Identity/constants/defaultIdSyncTtlMinutes.js +0 -2
- package/libEs5/components/Identity/createComponent.js +16 -22
- package/libEs5/components/Identity/createLegacyIdentity.js +5 -19
- package/libEs5/components/Identity/getEcidFromResponse.js +0 -4
- package/libEs5/components/Identity/getIdentity/createGetIdentity.js +5 -9
- package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +1 -4
- package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +0 -3
- package/libEs5/components/Identity/getIdentity/getIdentityOptionsValidator.js +0 -5
- package/libEs5/components/Identity/index.js +8 -29
- package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +1 -5
- package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +22 -28
- package/libEs5/components/Identity/injectAwaitIdentityCookie.js +7 -8
- package/libEs5/components/Identity/injectEnsureSingleIdentity.js +17 -20
- package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +0 -2
- package/libEs5/components/Identity/injectProcessIdSyncs.js +2 -7
- package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -4
- package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +0 -3
- package/libEs5/components/Identity/visitorService/getVisitor.js +0 -3
- package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +2 -7
- package/libEs5/components/LibraryInfo/index.js +13 -21
- package/libEs5/components/MachineLearning/index.js +1 -3
- package/libEs5/components/MachineLearning/processResponse.js +0 -2
- package/libEs5/components/Personalization/constants/eventType.js +1 -1
- package/libEs5/components/Personalization/constants/loggerMessage.js +0 -1
- package/libEs5/components/Personalization/constants/propositionEventType.js +1 -1
- package/libEs5/components/Personalization/constants/schema.js +1 -1
- package/libEs5/components/Personalization/constants/scopeType.js +1 -1
- package/libEs5/components/Personalization/constants/surface.js +1 -1
- package/libEs5/components/Personalization/createApplyPropositions.js +24 -39
- package/libEs5/components/Personalization/createClickStorage.js +1 -10
- package/libEs5/components/Personalization/createCollect.js +5 -15
- package/libEs5/components/Personalization/createComponent.js +25 -35
- package/libEs5/components/Personalization/createFetchDataHandler.js +29 -39
- package/libEs5/components/Personalization/createGetPageLocation.js +0 -2
- package/libEs5/components/Personalization/createOnClickHandler.js +6 -16
- package/libEs5/components/Personalization/createPendingNotificationsHandler.js +1 -4
- package/libEs5/components/Personalization/createPersonalizationDetails.js +17 -29
- package/libEs5/components/Personalization/createSetTargetMigration.js +0 -5
- package/libEs5/components/Personalization/createViewCacheManager.js +2 -15
- package/libEs5/components/Personalization/createViewChangeHandler.js +4 -11
- package/libEs5/components/Personalization/dom-actions/action.js +3 -19
- package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -13
- package/libEs5/components/Personalization/dom-actions/appendHtml.js +0 -7
- package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +16 -27
- package/libEs5/components/Personalization/dom-actions/createPreprocess.js +0 -4
- package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +0 -4
- package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +0 -5
- package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +0 -5
- package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +0 -3
- package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +4 -10
- package/libEs5/components/Personalization/dom-actions/dom/getParent.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +1 -6
- package/libEs5/components/Personalization/dom-actions/dom/index.js +0 -14
- package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +0 -6
- package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +0 -5
- package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +6 -11
- package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +16 -36
- package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +0 -2
- package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +0 -4
- package/libEs5/components/Personalization/dom-actions/images.js +1 -11
- package/libEs5/components/Personalization/dom-actions/index.js +0 -1
- package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +0 -4
- package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +0 -6
- package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +0 -6
- package/libEs5/components/Personalization/dom-actions/prependHtml.js +4 -12
- package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +1 -6
- package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +2 -8
- package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +2 -16
- package/libEs5/components/Personalization/dom-actions/replaceHtml.js +0 -4
- package/libEs5/components/Personalization/dom-actions/scripts.js +13 -35
- package/libEs5/components/Personalization/dom-actions/setAttributes.js +0 -3
- package/libEs5/components/Personalization/dom-actions/setHtml.js +1 -6
- package/libEs5/components/Personalization/dom-actions/setStyles.js +12 -8
- package/libEs5/components/Personalization/dom-actions/setText.js +0 -2
- package/libEs5/components/Personalization/dom-actions/swapImage.js +6 -9
- package/libEs5/components/Personalization/event.js +2 -10
- package/libEs5/components/Personalization/flicker/index.js +17 -31
- package/libEs5/components/Personalization/handlers/createProcessDomAction.js +4 -11
- package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +3 -8
- package/libEs5/components/Personalization/handlers/createProcessPropositions.js +6 -51
- package/libEs5/components/Personalization/handlers/createProcessRedirect.js +5 -8
- package/libEs5/components/Personalization/handlers/injectCreateProposition.js +19 -25
- package/libEs5/components/Personalization/handlers/processDefaultContent.js +0 -2
- package/libEs5/components/Personalization/index.js +17 -42
- package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -4
- package/libEs5/components/Personalization/utils/createAsyncArray.js +0 -3
- package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +0 -2
- package/libEs5/components/Personalization/utils/isPageWideScope.js +0 -4
- package/libEs5/components/Personalization/utils/surfaceUtils.js +1 -27
- package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +2 -6
- package/libEs5/components/Privacy/computeConsentHash.js +11 -8
- package/libEs5/components/Privacy/createComponent.js +24 -26
- package/libEs5/components/Privacy/createConsentHashStore.js +14 -15
- package/libEs5/components/Privacy/createConsentRequest.js +1 -4
- package/libEs5/components/Privacy/createConsentRequestPayload.js +0 -5
- package/libEs5/components/Privacy/createStoredConsent.js +2 -6
- package/libEs5/components/Privacy/index.js +5 -15
- package/libEs5/components/Privacy/injectSendSetConsentRequest.js +7 -12
- package/libEs5/components/Privacy/parseConsentCookie.js +3 -13
- package/libEs5/components/Privacy/validateSetConsentOptions.js +0 -4
- package/libEs5/constants/apiVersion.js +0 -1
- package/libEs5/constants/browser.js +1 -1
- package/libEs5/constants/consentPurpose.js +1 -1
- package/libEs5/constants/consentStatus.js +1 -1
- package/libEs5/constants/cookieNameKey.js +1 -1
- package/libEs5/constants/cookieNamePrefix.js +0 -1
- package/libEs5/constants/coreCommands.js +1 -1
- package/libEs5/constants/debugQueryParam.js +0 -1
- package/libEs5/constants/domain.js +1 -1
- package/libEs5/constants/ecidNamespace.js +0 -1
- package/libEs5/constants/edgeBasePath.js +0 -1
- package/libEs5/constants/elementAttribute.js +1 -1
- package/libEs5/constants/highEntropyUserAgentClientHints.js +0 -1
- package/libEs5/constants/httpHeaderNames.js +1 -1
- package/libEs5/constants/httpStatusCode.js +1 -1
- package/libEs5/constants/identityMapAuthenticatedState.js +0 -1
- package/libEs5/constants/legacyCookies.js +1 -1
- package/libEs5/constants/libraryName.js +0 -1
- package/libEs5/constants/libraryVersion.js +1 -2
- package/libEs5/constants/namespace.js +0 -1
- package/libEs5/constants/pageWideScope.js +0 -1
- package/libEs5/constants/queryStringIdentityParam.js +0 -1
- package/libEs5/constants/shadowSeparator.js +0 -1
- package/libEs5/constants/tagName.js +1 -1
- package/libEs5/core/buildAndValidateConfig.js +21 -32
- package/libEs5/core/componentCreators.js +0 -12
- package/libEs5/core/config/createConfig.js +1 -3
- package/libEs5/core/config/createCoreConfigs.js +0 -7
- package/libEs5/core/consent/createConsent.js +1 -11
- package/libEs5/core/consent/createConsentStateMachine.js +1 -18
- package/libEs5/core/createComponentRegistry.js +4 -14
- package/libEs5/core/createCookieTransfer.js +9 -18
- package/libEs5/core/createEvent.js +24 -33
- package/libEs5/core/createEventManager.js +26 -33
- package/libEs5/core/createInstanceFunction.js +0 -2
- package/libEs5/core/createLifecycle.js +14 -14
- package/libEs5/core/createLogController.js +5 -17
- package/libEs5/core/createLogger.js +3 -17
- package/libEs5/core/edgeNetwork/handleRequestFailure.js +0 -3
- package/libEs5/core/edgeNetwork/injectApplyResponse.js +12 -18
- package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +4 -8
- package/libEs5/core/edgeNetwork/injectGetLocationHint.js +1 -11
- package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +6 -11
- package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +18 -26
- package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +11 -10
- package/libEs5/core/index.js +12 -54
- package/libEs5/core/initializeComponents.js +5 -10
- package/libEs5/core/injectCreateResponse.js +8 -16
- package/libEs5/core/injectExecuteCommand.js +8 -19
- package/libEs5/core/injectHandleError.js +4 -8
- package/libEs5/core/injectShouldTransferCookie.js +1 -5
- package/libEs5/core/network/getRequestRetryDelay.js +10 -17
- package/libEs5/core/network/injectSendNetworkRequest.js +20 -22
- package/libEs5/core/network/isRequestRetryable.js +5 -7
- package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +5 -8
- package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +0 -2
- package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -5
- package/libEs5/core/validateCommandOptions.js +5 -9
- package/libEs5/index.js +7 -15
- package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +1 -5
- package/libEs5/utils/assign.js +0 -2
- package/libEs5/utils/assignIf.js +0 -4
- package/libEs5/utils/clone.js +0 -3
- package/libEs5/utils/cookieJar.js +0 -2
- package/libEs5/utils/crc32.js +0 -8
- package/libEs5/utils/createCallbackAggregator.js +0 -4
- package/libEs5/utils/createLoggingCookieJar.js +1 -6
- package/libEs5/utils/createMerger.js +0 -4
- package/libEs5/utils/createTaskQueue.js +0 -7
- package/libEs5/utils/deduplicateArray.js +0 -5
- package/libEs5/utils/deepAssign.js +2 -10
- package/libEs5/utils/defer.js +0 -3
- package/libEs5/utils/dom/appendNode.js +0 -2
- package/libEs5/utils/dom/awaitSelector.js +1 -29
- package/libEs5/utils/dom/createNode.js +1 -5
- package/libEs5/utils/dom/index.js +0 -8
- package/libEs5/utils/dom/isShadowSelector.js +0 -3
- package/libEs5/utils/dom/matchesSelector.js +2 -5
- package/libEs5/utils/dom/querySelectorAll.js +3 -6
- package/libEs5/utils/dom/removeNode.js +0 -4
- package/libEs5/utils/dom/selectNodes.js +0 -8
- package/libEs5/utils/dom/selectNodesWithShadow.js +6 -20
- package/libEs5/utils/endsWith.js +0 -3
- package/libEs5/utils/filterObject.js +13 -17
- package/libEs5/utils/find.js +0 -5
- package/libEs5/utils/fireImage.js +2 -7
- package/libEs5/utils/flatMap.js +0 -2
- package/libEs5/utils/getApexDomain.js +4 -8
- package/libEs5/utils/getBrowser.js +11 -11
- package/libEs5/utils/getLastArrayItems.js +0 -3
- package/libEs5/utils/getNamespacedCookieName.js +0 -4
- package/libEs5/utils/groupBy.js +0 -5
- package/libEs5/utils/includes.js +0 -3
- package/libEs5/utils/index.js +0 -56
- package/libEs5/utils/injectDoesIdentityCookieExist.js +0 -6
- package/libEs5/utils/injectFireReferrerHideableImage.js +21 -29
- package/libEs5/utils/injectStorage.js +1 -7
- package/libEs5/utils/intersection.js +0 -4
- package/libEs5/utils/isBlankString.js +0 -4
- package/libEs5/utils/isBoolean.js +0 -3
- package/libEs5/utils/isEmptyObject.js +0 -4
- package/libEs5/utils/isFunction.js +0 -3
- package/libEs5/utils/isInteger.js +0 -4
- package/libEs5/utils/isNamespacedCookieName.js +0 -5
- package/libEs5/utils/isNil.js +0 -3
- package/libEs5/utils/isNonEmptyArray.js +0 -3
- package/libEs5/utils/isNonEmptyString.js +0 -4
- package/libEs5/utils/isNumber.js +0 -3
- package/libEs5/utils/isObject.js +11 -5
- package/libEs5/utils/isString.js +0 -3
- package/libEs5/utils/isUnique.js +0 -7
- package/libEs5/utils/isValidRegExp.js +0 -3
- package/libEs5/utils/memoize.js +0 -5
- package/libEs5/utils/noop.js +0 -3
- package/libEs5/utils/padStart.js +0 -6
- package/libEs5/utils/prepareConfigOverridesForEdge.js +13 -21
- package/libEs5/utils/querystring.js +0 -2
- package/libEs5/utils/request/createAddIdentity.js +0 -2
- package/libEs5/utils/request/createDataCollectionRequest.js +1 -6
- package/libEs5/utils/request/createDataCollectionRequestPayload.js +0 -8
- package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +2 -11
- package/libEs5/utils/request/createHasIdentity.js +0 -2
- package/libEs5/utils/request/createRequest.js +3 -6
- package/libEs5/utils/request/createRequestParams.js +4 -12
- package/libEs5/utils/request/createRequestPayload.js +2 -7
- package/libEs5/utils/request/index.js +0 -8
- package/libEs5/utils/sanitizeOrgIdForCookieName.js +0 -2
- package/libEs5/utils/stackError.js +1 -6
- package/libEs5/utils/startsWith.js +0 -3
- package/libEs5/utils/stringToBoolean.js +0 -3
- package/libEs5/utils/toArray.js +0 -4
- package/libEs5/utils/toError.js +0 -3
- package/libEs5/utils/toISOStringLocal.js +3 -7
- package/libEs5/utils/toInteger.js +2 -8
- package/libEs5/utils/updateErrorMessage.js +3 -5
- package/libEs5/utils/uuid.js +0 -2
- package/libEs5/utils/validateConfigOverride.js +0 -3
- package/libEs5/utils/validateIdentityMap.js +0 -4
- package/libEs5/utils/validation/booleanValidator.js +0 -4
- package/libEs5/utils/validation/callbackValidator.js +0 -4
- package/libEs5/utils/validation/createAnyOfValidator.js +0 -5
- package/libEs5/utils/validation/createArrayOfValidator.js +0 -6
- package/libEs5/utils/validation/createDefaultValidator.js +0 -3
- package/libEs5/utils/validation/createDeprecatedValidator.js +13 -21
- package/libEs5/utils/validation/createLiteralValidator.js +0 -3
- package/libEs5/utils/validation/createMapOfValuesValidator.js +0 -9
- package/libEs5/utils/validation/createMinimumValidator.js +0 -3
- package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +0 -4
- package/libEs5/utils/validation/createNonEmptyValidator.js +0 -6
- package/libEs5/utils/validation/createObjectOfValidator.js +2 -10
- package/libEs5/utils/validation/createUniqueItemsValidator.js +0 -4
- package/libEs5/utils/validation/createUniqueValidator.js +0 -3
- package/libEs5/utils/validation/domainValidator.js +1 -4
- package/libEs5/utils/validation/index.js +76 -59
- package/libEs5/utils/validation/integerValidator.js +0 -4
- package/libEs5/utils/validation/numberValidator.js +0 -4
- package/libEs5/utils/validation/regexpValidator.js +0 -4
- package/libEs5/utils/validation/requiredValidator.js +0 -3
- package/libEs5/utils/validation/stringValidator.js +0 -4
- package/libEs5/utils/validation/utils.js +7 -21
- package/libEs5/utils/values.js +0 -3
- package/libEs6/baseCode/index.js +3 -8
- package/libEs6/components/ActivityCollector/attachClickActivityCollector.js +5 -6
- package/libEs6/components/ActivityCollector/configValidators.js +1 -0
- package/libEs6/components/ActivityCollector/createGetLinkDetails.js +1 -8
- package/libEs6/components/ActivityCollector/createLinkClick.js +0 -3
- package/libEs6/components/ActivityCollector/getLinkName.js +8 -23
- package/libEs6/components/ActivityCollector/getLinkRegion.js +2 -12
- package/libEs6/components/ActivityCollector/index.js +3 -6
- package/libEs6/components/ActivityCollector/utils.js +2 -29
- package/libEs6/components/Audiences/index.js +1 -2
- package/libEs6/components/Audiences/injectProcessDestinations.js +3 -6
- package/libEs6/components/Audiences/injectProcessResponse.js +1 -2
- package/libEs6/components/Context/createComponent.js +1 -2
- package/libEs6/components/Context/index.js +3 -3
- package/libEs6/components/Context/injectDevice.js +1 -16
- package/libEs6/components/Context/injectEnvironment.js +1 -4
- package/libEs6/components/Context/injectHighEntropyUserAgentHints.js +2 -5
- package/libEs6/components/Context/injectPlaceContext.js +2 -5
- package/libEs6/components/Context/injectTimestamp.js +1 -0
- package/libEs6/components/Context/injectWeb.js +1 -0
- package/libEs6/components/DataCollector/index.js +1 -10
- package/libEs6/components/DataCollector/validateUserEventOptions.js +1 -1
- package/libEs6/components/EventMerge/createComponent.js +1 -0
- package/libEs6/components/EventMerge/createEventMergeId.js +1 -0
- package/libEs6/components/EventMerge/index.js +1 -2
- package/libEs6/components/Identity/addEcidQueryToPayload.js +1 -0
- package/libEs6/components/Identity/addEcidToPayload.js +1 -0
- package/libEs6/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +1 -1
- package/libEs6/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +0 -4
- package/libEs6/components/Identity/configValidators.js +1 -0
- package/libEs6/components/Identity/constants/authState.js +1 -0
- package/libEs6/components/Identity/constants/defaultIdSyncTtlMinutes.js +1 -0
- package/libEs6/components/Identity/createComponent.js +5 -7
- package/libEs6/components/Identity/createLegacyIdentity.js +0 -10
- package/libEs6/components/Identity/getEcidFromResponse.js +1 -0
- package/libEs6/components/Identity/getIdentity/createGetIdentity.js +1 -0
- package/libEs6/components/Identity/getIdentity/createIdentityRequest.js +1 -3
- package/libEs6/components/Identity/getIdentity/createIdentityRequestPayload.js +1 -0
- package/libEs6/components/Identity/getIdentity/getIdentityOptionsValidator.js +1 -1
- package/libEs6/components/Identity/index.js +1 -2
- package/libEs6/components/Identity/injectAddLegacyEcidToPayload.js +1 -1
- package/libEs6/components/Identity/injectAddQueryStringIdentityToPayload.js +5 -7
- package/libEs6/components/Identity/injectAwaitIdentityCookie.js +6 -3
- package/libEs6/components/Identity/injectEnsureSingleIdentity.js +12 -11
- package/libEs6/components/Identity/injectHandleResponseForIdSyncs.js +1 -0
- package/libEs6/components/Identity/injectProcessIdSyncs.js +0 -4
- package/libEs6/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -0
- package/libEs6/components/Identity/visitorService/awaitVisitorOptIn.js +1 -0
- package/libEs6/components/Identity/visitorService/getVisitor.js +1 -0
- package/libEs6/components/Identity/visitorService/injectGetEcidFromVisitor.js +1 -2
- package/libEs6/components/LibraryInfo/index.js +3 -6
- package/libEs6/components/MachineLearning/index.js +1 -2
- package/libEs6/components/MachineLearning/processResponse.js +1 -0
- package/libEs6/components/Personalization/constants/eventType.js +1 -0
- package/libEs6/components/Personalization/constants/propositionEventType.js +1 -0
- package/libEs6/components/Personalization/constants/schema.js +1 -0
- package/libEs6/components/Personalization/constants/scopeType.js +1 -0
- package/libEs6/components/Personalization/constants/surface.js +1 -0
- package/libEs6/components/Personalization/createApplyPropositions.js +7 -11
- package/libEs6/components/Personalization/createClickStorage.js +1 -8
- package/libEs6/components/Personalization/createCollect.js +0 -5
- package/libEs6/components/Personalization/createComponent.js +5 -11
- package/libEs6/components/Personalization/createFetchDataHandler.js +0 -5
- package/libEs6/components/Personalization/createGetPageLocation.js +1 -0
- package/libEs6/components/Personalization/createOnClickHandler.js +1 -4
- package/libEs6/components/Personalization/createPersonalizationDetails.js +1 -22
- package/libEs6/components/Personalization/createSetTargetMigration.js +1 -1
- package/libEs6/components/Personalization/createViewCacheManager.js +3 -12
- package/libEs6/components/Personalization/createViewChangeHandler.js +1 -2
- package/libEs6/components/Personalization/dom-actions/action.js +1 -2
- package/libEs6/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -8
- package/libEs6/components/Personalization/dom-actions/appendHtml.js +1 -0
- package/libEs6/components/Personalization/dom-actions/clicks/collectClicks.js +2 -14
- package/libEs6/components/Personalization/dom-actions/createPreprocess.js +0 -1
- package/libEs6/components/Personalization/dom-actions/dom/createFragment.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getAttribute.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getChildNodes.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/getChildren.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/getFirstChild.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getNextSibling.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/getNonce.js +6 -5
- package/libEs6/components/Personalization/dom-actions/dom/getParent.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/helperForEq.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/index.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/insertAfter.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/insertBefore.js +1 -2
- package/libEs6/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +7 -6
- package/libEs6/components/Personalization/dom-actions/dom/removeAttribute.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +6 -18
- package/libEs6/components/Personalization/dom-actions/dom/setAttribute.js +1 -0
- package/libEs6/components/Personalization/dom-actions/dom/setStyle.js +1 -2
- package/libEs6/components/Personalization/dom-actions/images.js +1 -1
- package/libEs6/components/Personalization/dom-actions/index.js +1 -0
- package/libEs6/components/Personalization/dom-actions/initDomActionsModules.js +1 -0
- package/libEs6/components/Personalization/dom-actions/insertHtmlAfter.js +1 -0
- package/libEs6/components/Personalization/dom-actions/insertHtmlBefore.js +1 -0
- package/libEs6/components/Personalization/dom-actions/prependHtml.js +5 -5
- package/libEs6/components/Personalization/dom-actions/rearrangeChildren.js +1 -2
- package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +0 -3
- package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +1 -7
- package/libEs6/components/Personalization/dom-actions/replaceHtml.js +1 -0
- package/libEs6/components/Personalization/dom-actions/scripts.js +5 -16
- package/libEs6/components/Personalization/dom-actions/setAttributes.js +1 -0
- package/libEs6/components/Personalization/dom-actions/setHtml.js +1 -2
- package/libEs6/components/Personalization/dom-actions/setStyles.js +1 -0
- package/libEs6/components/Personalization/dom-actions/setText.js +1 -0
- package/libEs6/components/Personalization/dom-actions/swapImage.js +7 -4
- package/libEs6/components/Personalization/event.js +4 -4
- package/libEs6/components/Personalization/flicker/index.js +9 -12
- package/libEs6/components/Personalization/handlers/createProcessDomAction.js +0 -5
- package/libEs6/components/Personalization/handlers/createProcessHtmlContent.js +0 -3
- package/libEs6/components/Personalization/handlers/createProcessPropositions.js +1 -28
- package/libEs6/components/Personalization/handlers/createProcessRedirect.js +2 -3
- package/libEs6/components/Personalization/handlers/injectCreateProposition.js +5 -21
- package/libEs6/components/Personalization/index.js +1 -2
- package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -0
- package/libEs6/components/Personalization/utils/createAsyncArray.js +0 -2
- package/libEs6/components/Personalization/utils/isAuthoringModeEnabled.js +1 -0
- package/libEs6/components/Personalization/utils/isPageWideScope.js +1 -0
- package/libEs6/components/Personalization/utils/surfaceUtils.js +1 -20
- package/libEs6/components/Personalization/validateApplyPropositionsOptions.js +0 -1
- package/libEs6/components/Privacy/computeConsentHash.js +3 -4
- package/libEs6/components/Privacy/createComponent.js +5 -10
- package/libEs6/components/Privacy/createConsentHashStore.js +0 -10
- package/libEs6/components/Privacy/createConsentRequest.js +1 -3
- package/libEs6/components/Privacy/createConsentRequestPayload.js +1 -2
- package/libEs6/components/Privacy/createStoredConsent.js +1 -2
- package/libEs6/components/Privacy/index.js +1 -2
- package/libEs6/components/Privacy/injectSendSetConsentRequest.js +3 -3
- package/libEs6/constants/browser.js +1 -0
- package/libEs6/constants/consentPurpose.js +1 -0
- package/libEs6/constants/consentStatus.js +1 -0
- package/libEs6/constants/cookieNameKey.js +1 -0
- package/libEs6/constants/cookieNamePrefix.js +1 -0
- package/libEs6/constants/coreCommands.js +1 -0
- package/libEs6/constants/debugQueryParam.js +1 -0
- package/libEs6/constants/domain.js +1 -0
- package/libEs6/constants/ecidNamespace.js +1 -0
- package/libEs6/constants/elementAttribute.js +1 -0
- package/libEs6/constants/highEntropyUserAgentClientHints.js +1 -0
- package/libEs6/constants/httpHeaderNames.js +1 -0
- package/libEs6/constants/httpStatusCode.js +1 -0
- package/libEs6/constants/legacyCookies.js +1 -0
- package/libEs6/constants/libraryName.js +1 -0
- package/libEs6/constants/libraryVersion.js +3 -1
- package/libEs6/constants/namespace.js +1 -0
- package/libEs6/constants/pageWideScope.js +1 -0
- package/libEs6/constants/queryStringIdentityParam.js +1 -0
- package/libEs6/constants/shadowSeparator.js +1 -0
- package/libEs6/constants/tagName.js +1 -0
- package/libEs6/core/buildAndValidateConfig.js +4 -10
- package/libEs6/core/componentCreators.js +3 -3
- package/libEs6/core/config/createConfig.js +1 -2
- package/libEs6/core/config/createCoreConfigs.js +1 -0
- package/libEs6/core/consent/createConsent.js +1 -9
- package/libEs6/core/consent/createConsentStateMachine.js +1 -20
- package/libEs6/core/createComponentRegistry.js +3 -15
- package/libEs6/core/createCookieTransfer.js +6 -12
- package/libEs6/core/createEvent.js +14 -36
- package/libEs6/core/createEventManager.js +5 -8
- package/libEs6/core/createInstanceFunction.js +1 -0
- package/libEs6/core/createLifecycle.js +14 -10
- package/libEs6/core/createLogController.js +1 -7
- package/libEs6/core/createLogger.js +1 -17
- package/libEs6/core/edgeNetwork/handleRequestFailure.js +0 -1
- package/libEs6/core/edgeNetwork/injectApplyResponse.js +2 -3
- package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +5 -6
- package/libEs6/core/edgeNetwork/injectGetLocationHint.js +1 -5
- package/libEs6/core/edgeNetwork/injectProcessWarningsAndErrors.js +1 -2
- package/libEs6/core/edgeNetwork/injectSendEdgeNetworkRequest.js +5 -5
- package/libEs6/core/index.js +4 -10
- package/libEs6/core/initializeComponents.js +3 -4
- package/libEs6/core/injectCreateResponse.js +3 -7
- package/libEs6/core/injectExecuteCommand.js +5 -11
- package/libEs6/core/injectHandleError.js +4 -3
- package/libEs6/core/injectShouldTransferCookie.js +1 -0
- package/libEs6/core/network/getRequestRetryDelay.js +11 -13
- package/libEs6/core/network/injectSendNetworkRequest.js +3 -7
- package/libEs6/core/network/isRequestRetryable.js +4 -2
- package/libEs6/core/network/requestMethods/injectSendBeaconRequest.js +4 -6
- package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
- package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +1 -5
- package/libEs6/core/validateCommandOptions.js +1 -2
- package/libEs6/index.js +5 -3
- package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +4 -2
- package/libEs6/utils/assign.js +1 -0
- package/libEs6/utils/assignIf.js +1 -1
- package/libEs6/utils/cookieJar.js +1 -0
- package/libEs6/utils/crc32.js +0 -7
- package/libEs6/utils/createCallbackAggregator.js +0 -2
- package/libEs6/utils/createLoggingCookieJar.js +3 -3
- package/libEs6/utils/createMerger.js +2 -1
- package/libEs6/utils/createTaskQueue.js +0 -4
- package/libEs6/utils/deduplicateArray.js +0 -3
- package/libEs6/utils/deepAssign.js +2 -5
- package/libEs6/utils/dom/appendNode.js +1 -0
- package/libEs6/utils/dom/awaitSelector.js +1 -14
- package/libEs6/utils/dom/createNode.js +1 -2
- package/libEs6/utils/dom/index.js +1 -0
- package/libEs6/utils/dom/isShadowSelector.js +1 -0
- package/libEs6/utils/dom/matchesSelector.js +2 -2
- package/libEs6/utils/dom/querySelectorAll.js +3 -2
- package/libEs6/utils/dom/removeNode.js +1 -2
- package/libEs6/utils/dom/selectNodes.js +2 -2
- package/libEs6/utils/dom/selectNodesWithShadow.js +6 -16
- package/libEs6/utils/filterObject.js +8 -12
- package/libEs6/utils/find.js +0 -2
- package/libEs6/utils/fireImage.js +2 -1
- package/libEs6/utils/getApexDomain.js +4 -4
- package/libEs6/utils/getBrowser.js +1 -7
- package/libEs6/utils/getNamespacedCookieName.js +1 -0
- package/libEs6/utils/groupBy.js +0 -2
- package/libEs6/utils/index.js +1 -0
- package/libEs6/utils/injectDoesIdentityCookieExist.js +1 -1
- package/libEs6/utils/injectFireReferrerHideableImage.js +1 -4
- package/libEs6/utils/injectStorage.js +1 -5
- package/libEs6/utils/intersection.js +2 -1
- package/libEs6/utils/isBlankString.js +2 -1
- package/libEs6/utils/isEmptyObject.js +2 -1
- package/libEs6/utils/isInteger.js +2 -1
- package/libEs6/utils/isNamespacedCookieName.js +2 -1
- package/libEs6/utils/isNonEmptyString.js +2 -1
- package/libEs6/utils/isObject.js +2 -1
- package/libEs6/utils/isUnique.js +0 -5
- package/libEs6/utils/memoize.js +0 -2
- package/libEs6/utils/padStart.js +1 -4
- package/libEs6/utils/prepareConfigOverridesForEdge.js +5 -12
- package/libEs6/utils/querystring.js +1 -0
- package/libEs6/utils/request/createDataCollectionRequest.js +1 -3
- package/libEs6/utils/request/createDataCollectionRequestPayload.js +0 -3
- package/libEs6/utils/request/createGetAssuranceValidationTokenParams.js +1 -6
- package/libEs6/utils/request/createHasIdentity.js +1 -0
- package/libEs6/utils/request/createRequest.js +3 -9
- package/libEs6/utils/request/createRequestParams.js +0 -3
- package/libEs6/utils/request/createRequestPayload.js +4 -4
- package/libEs6/utils/request/index.js +1 -0
- package/libEs6/utils/sanitizeOrgIdForCookieName.js +1 -0
- package/libEs6/utils/stackError.js +2 -1
- package/libEs6/utils/toArray.js +1 -2
- package/libEs6/utils/toISOStringLocal.js +4 -3
- package/libEs6/utils/toInteger.js +4 -4
- package/libEs6/utils/updateErrorMessage.js +3 -1
- package/libEs6/utils/uuid.js +1 -0
- package/libEs6/utils/validateConfigOverride.js +1 -0
- package/libEs6/utils/validateIdentityMap.js +1 -0
- package/libEs6/utils/validation/booleanValidator.js +1 -0
- package/libEs6/utils/validation/createArrayOfValidator.js +0 -2
- package/libEs6/utils/validation/createDefaultValidator.js +1 -1
- package/libEs6/utils/validation/createDeprecatedValidator.js +0 -4
- package/libEs6/utils/validation/createMapOfValuesValidator.js +1 -4
- package/libEs6/utils/validation/createNoUnknownFieldsValidator.js +1 -2
- package/libEs6/utils/validation/createNonEmptyValidator.js +1 -1
- package/libEs6/utils/validation/createObjectOfValidator.js +3 -5
- package/libEs6/utils/validation/createUniqueValidator.js +1 -0
- package/libEs6/utils/validation/index.js +14 -32
- package/libEs6/utils/validation/integerValidator.js +1 -0
- package/libEs6/utils/validation/numberValidator.js +1 -0
- package/libEs6/utils/validation/regexpValidator.js +1 -0
- package/libEs6/utils/validation/requiredValidator.js +1 -1
- package/libEs6/utils/validation/utils.js +8 -12
- package/package.json +2 -2
|
@@ -9,7 +9,6 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
-
|
|
13
12
|
/**
|
|
14
13
|
* @typedef {{ datastreamId: string, [k: string]: Object }} Override
|
|
15
14
|
* @typedef {Object} RequestPayload
|
|
@@ -32,11 +31,9 @@ export default (({
|
|
|
32
31
|
datastreamId,
|
|
33
32
|
...localConfigOverridesWithoutDatastreamId
|
|
34
33
|
} = localConfigOverrides || {};
|
|
35
|
-
|
|
36
34
|
if (datastreamId) {
|
|
37
35
|
requestParams.datastreamIdOverride = datastreamId;
|
|
38
36
|
}
|
|
39
|
-
|
|
40
37
|
payload.mergeConfigOverride(globalConfigOverrides);
|
|
41
38
|
payload.mergeConfigOverride(localConfigOverridesWithoutDatastreamId);
|
|
42
39
|
return requestParams;
|
|
@@ -9,9 +9,11 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
-
import { createMerger, prepareConfigOverridesForEdge } from ".."; // This provides the base functionality that all types of
|
|
13
|
-
// request payloads share.
|
|
14
12
|
|
|
13
|
+
import { createMerger, prepareConfigOverridesForEdge } from "..";
|
|
14
|
+
|
|
15
|
+
// This provides the base functionality that all types of
|
|
16
|
+
// request payloads share.
|
|
15
17
|
export default (options => {
|
|
16
18
|
const {
|
|
17
19
|
content,
|
|
@@ -26,10 +28,8 @@ export default (options => {
|
|
|
26
28
|
mergeConfigOverride: updates => mergeConfigOverride(prepareConfigOverridesForEdge(updates)),
|
|
27
29
|
addIdentity,
|
|
28
30
|
hasIdentity,
|
|
29
|
-
|
|
30
31
|
toJSON() {
|
|
31
32
|
return content;
|
|
32
33
|
}
|
|
33
|
-
|
|
34
34
|
};
|
|
35
35
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export { default as createAddIdentity } from "./createAddIdentity";
|
|
13
14
|
export { default as createDataCollectionRequest } from "./createDataCollectionRequest";
|
|
14
15
|
export { default as createDataCollectionRequestPayload } from "./createDataCollectionRequestPayload";
|
|
@@ -9,4 +9,5 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export default (orgId => orgId.replace("@", "_"));
|
|
@@ -9,8 +9,10 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import toError from "./toError";
|
|
13
14
|
import updateErrorMessage from "./updateErrorMessage";
|
|
15
|
+
|
|
14
16
|
/**
|
|
15
17
|
* Augments an error's message with additional context as it bubbles up the call stack.
|
|
16
18
|
* @param {String} message The message to be added to the error.
|
|
@@ -18,7 +20,6 @@ import updateErrorMessage from "./updateErrorMessage";
|
|
|
18
20
|
* this is used as the basis for the message of a newly created Error instance.
|
|
19
21
|
* @returns {*}
|
|
20
22
|
*/
|
|
21
|
-
|
|
22
23
|
export default (({
|
|
23
24
|
error,
|
|
24
25
|
message
|
package/libEs6/utils/toArray.js
CHANGED
|
@@ -9,14 +9,13 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export default (value => {
|
|
13
14
|
if (Array.isArray(value)) {
|
|
14
15
|
return value;
|
|
15
16
|
}
|
|
16
|
-
|
|
17
17
|
if (value == null) {
|
|
18
18
|
return [];
|
|
19
19
|
}
|
|
20
|
-
|
|
21
20
|
return [].slice.call(value);
|
|
22
21
|
});
|
|
@@ -11,12 +11,12 @@ governing permissions and limitations under the License.
|
|
|
11
11
|
*/
|
|
12
12
|
import padStart from "./padStart";
|
|
13
13
|
import toInteger from "./toInteger";
|
|
14
|
+
|
|
14
15
|
/**
|
|
15
16
|
* Formats the date into an ISO date-time string in the local timezone
|
|
16
17
|
* @param {Date} date
|
|
17
18
|
* @returns {string}
|
|
18
19
|
*/
|
|
19
|
-
|
|
20
20
|
export default (date => {
|
|
21
21
|
const YYYY = date.getFullYear();
|
|
22
22
|
const MM = padStart(date.getMonth() + 1, 2, "0");
|
|
@@ -24,10 +24,11 @@ export default (date => {
|
|
|
24
24
|
const hh = padStart(date.getHours(), 2, "0");
|
|
25
25
|
const mm = padStart(date.getMinutes(), 2, "0");
|
|
26
26
|
const ss = padStart(date.getSeconds(), 2, "0");
|
|
27
|
-
const mmm = padStart(date.getMilliseconds(), 3, "0");
|
|
27
|
+
const mmm = padStart(date.getMilliseconds(), 3, "0");
|
|
28
|
+
|
|
29
|
+
// The time-zone offset is the difference, in minutes, from local time to UTC. Note that this
|
|
28
30
|
// means that the offset is positive if the local timezone is behind UTC and negative if it is
|
|
29
31
|
// ahead. For example, for time zone UTC+10:00, -600 will be returned.
|
|
30
|
-
|
|
31
32
|
const timezoneOffset = toInteger(date.getTimezoneOffset(), 0);
|
|
32
33
|
const ts = timezoneOffset > 0 ? "-" : "+";
|
|
33
34
|
const th = padStart(Math.floor(Math.abs(timezoneOffset) / 60), 2, "0");
|
|
@@ -9,22 +9,22 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import isNumber from "./isNumber";
|
|
13
14
|
import isString from "./isString";
|
|
15
|
+
|
|
14
16
|
/*
|
|
15
17
|
* coerce `value` to a number or return `defaultValue` if it cannot be.
|
|
16
18
|
*
|
|
17
19
|
* The coersion is attempted if value is a number or string.
|
|
18
20
|
*/
|
|
19
|
-
|
|
20
21
|
export default ((value, defaultValue) => {
|
|
21
22
|
if (isNumber(value) || isString(value)) {
|
|
22
|
-
const n = Math.round(Number(value));
|
|
23
|
-
|
|
23
|
+
const n = Math.round(Number(value));
|
|
24
|
+
// eslint-disable-next-line no-restricted-globals
|
|
24
25
|
if (!isNaN(n)) {
|
|
25
26
|
return n;
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
|
-
|
|
29
29
|
return defaultValue;
|
|
30
30
|
});
|
|
@@ -9,13 +9,15 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export default (({
|
|
13
14
|
error,
|
|
14
15
|
message
|
|
15
16
|
}) => {
|
|
16
17
|
try {
|
|
17
18
|
error.message = message;
|
|
18
|
-
} catch (e) {
|
|
19
|
+
} catch (e) {
|
|
20
|
+
// We'll set a new message when we can, but some errors, like DOMException,
|
|
19
21
|
// have a read-only message property, which limits our options.
|
|
20
22
|
}
|
|
21
23
|
});
|
package/libEs6/utils/uuid.js
CHANGED
|
@@ -9,5 +9,6 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import uuid from "uuid/v4";
|
|
13
14
|
export default uuid;
|
|
@@ -9,5 +9,6 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { objectOf } from "./validation";
|
|
13
14
|
export default objectOf({});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { string, objectOf, boolean, arrayOf, enumOf, mapOfValues } from "./validation/index";
|
|
13
14
|
import { AMBIGUOUS, AUTHENTICATED, LOGGED_OUT } from "../constants/identityMapAuthenticatedState";
|
|
14
15
|
export default mapOfValues(arrayOf(objectOf({
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import isBoolean from "../isBoolean";
|
|
13
14
|
import { assertValid } from "./utils";
|
|
14
15
|
export default ((value, path) => {
|
|
@@ -9,10 +9,10 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export default (defaultValue => value => {
|
|
13
14
|
if (value == null) {
|
|
14
15
|
return defaultValue;
|
|
15
16
|
}
|
|
16
|
-
|
|
17
17
|
return value;
|
|
18
18
|
});
|
|
@@ -19,21 +19,17 @@ export default ((oldField, oldSchema, newField) => function deprecated(value, pa
|
|
|
19
19
|
...otherValues
|
|
20
20
|
} = value;
|
|
21
21
|
const validatedOldValue = oldSchema(oldValue, path);
|
|
22
|
-
|
|
23
22
|
if (validatedOldValue !== undefined) {
|
|
24
23
|
let message = `The field '${oldField}' is deprecated. Use '${newField}' instead.`;
|
|
25
|
-
|
|
26
24
|
if (path) {
|
|
27
25
|
message = `'${path}': ${message}`;
|
|
28
26
|
}
|
|
29
|
-
|
|
30
27
|
if (newValue !== undefined && newValue !== validatedOldValue) {
|
|
31
28
|
throw new Error(message);
|
|
32
29
|
} else if (this && this.logger) {
|
|
33
30
|
this.logger.warn(message);
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
|
-
|
|
37
33
|
return {
|
|
38
34
|
[newField]: newValue || validatedOldValue,
|
|
39
35
|
...otherValues
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import isObject from "../isObject";
|
|
13
14
|
import { assertValid } from "./utils";
|
|
14
15
|
export default (valueValidator => function mapOfValues(value, path) {
|
|
@@ -18,10 +19,8 @@ export default (valueValidator => function mapOfValues(value, path) {
|
|
|
18
19
|
Object.keys(value).forEach(subKey => {
|
|
19
20
|
const subValue = value[subKey];
|
|
20
21
|
const subPath = path ? `${path}.${subKey}` : subKey;
|
|
21
|
-
|
|
22
22
|
try {
|
|
23
23
|
const validatedValue = valueValidator.call(this, subValue, subPath);
|
|
24
|
-
|
|
25
24
|
if (validatedValue !== undefined) {
|
|
26
25
|
validatedObject[subKey] = validatedValue;
|
|
27
26
|
}
|
|
@@ -29,10 +28,8 @@ export default (valueValidator => function mapOfValues(value, path) {
|
|
|
29
28
|
errors.push(e.message);
|
|
30
29
|
}
|
|
31
30
|
});
|
|
32
|
-
|
|
33
31
|
if (errors.length) {
|
|
34
32
|
throw new Error(errors.join("\n"));
|
|
35
33
|
}
|
|
36
|
-
|
|
37
34
|
return validatedObject;
|
|
38
35
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export default (schema => (value, path) => {
|
|
13
14
|
const errors = [];
|
|
14
15
|
Object.keys(value).forEach(subKey => {
|
|
@@ -17,10 +18,8 @@ export default (schema => (value, path) => {
|
|
|
17
18
|
errors.push(`'${subPath}': Unknown field.`);
|
|
18
19
|
}
|
|
19
20
|
});
|
|
20
|
-
|
|
21
21
|
if (errors.length) {
|
|
22
22
|
throw new Error(errors.join("\n"));
|
|
23
23
|
}
|
|
24
|
-
|
|
25
24
|
return value;
|
|
26
25
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { assertValid } from "./utils";
|
|
13
14
|
import isObject from "../isObject";
|
|
14
15
|
import isEmptyObject from "../isEmptyObject";
|
|
@@ -18,6 +19,5 @@ export default (message => (value, path) => {
|
|
|
18
19
|
} else {
|
|
19
20
|
assertValid(value.length > 0, value, path, message);
|
|
20
21
|
}
|
|
21
|
-
|
|
22
22
|
return value;
|
|
23
23
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import isObject from "../isObject";
|
|
13
14
|
import { assertValid } from "./utils";
|
|
14
15
|
export default (schema => function objectOf(value, path) {
|
|
@@ -19,27 +20,24 @@ export default (schema => function objectOf(value, path) {
|
|
|
19
20
|
const subValue = value[subKey];
|
|
20
21
|
const subSchema = schema[subKey];
|
|
21
22
|
const subPath = path ? `${path}.${subKey}` : subKey;
|
|
22
|
-
|
|
23
23
|
try {
|
|
24
24
|
const validatedValue = subSchema.call(this, subValue, subPath);
|
|
25
|
-
|
|
26
25
|
if (validatedValue !== undefined) {
|
|
27
26
|
validatedObject[subKey] = validatedValue;
|
|
28
27
|
}
|
|
29
28
|
} catch (e) {
|
|
30
29
|
errors.push(e.message);
|
|
31
30
|
}
|
|
32
|
-
});
|
|
31
|
+
});
|
|
33
32
|
|
|
33
|
+
// copy over unknown properties
|
|
34
34
|
Object.keys(value).forEach(subKey => {
|
|
35
35
|
if (!Object.prototype.hasOwnProperty.call(validatedObject, subKey)) {
|
|
36
36
|
validatedObject[subKey] = value[subKey];
|
|
37
37
|
}
|
|
38
38
|
});
|
|
39
|
-
|
|
40
39
|
if (errors.length) {
|
|
41
40
|
throw new Error(errors.join("\n"));
|
|
42
41
|
}
|
|
43
|
-
|
|
44
42
|
return validatedObject;
|
|
45
43
|
});
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { assertValid } from "./utils";
|
|
13
14
|
export default (() => {
|
|
14
15
|
const values = [];
|
|
@@ -67,6 +67,7 @@ governing permissions and limitations under the License.
|
|
|
67
67
|
* So to keep from having to have a null check in front of most validators,
|
|
68
68
|
* nullSafeChain allows you to chain a validator in a null-safe way.
|
|
69
69
|
*/
|
|
70
|
+
|
|
70
71
|
import { chain, nullSafeChain, reverseNullSafeChainJoinErrors } from "./utils";
|
|
71
72
|
import booleanValidator from "./booleanValidator";
|
|
72
73
|
import callbackValidator from "./callbackValidator";
|
|
@@ -87,94 +88,79 @@ import integerValidator from "./integerValidator";
|
|
|
87
88
|
import numberValidator from "./numberValidator";
|
|
88
89
|
import regexpValidator from "./regexpValidator";
|
|
89
90
|
import requiredValidator from "./requiredValidator";
|
|
90
|
-
import stringValidator from "./stringValidator";
|
|
91
|
+
import stringValidator from "./stringValidator";
|
|
92
|
+
|
|
93
|
+
// The base validator does no validation and just returns the value unchanged
|
|
94
|
+
const base = value => value;
|
|
91
95
|
|
|
92
|
-
|
|
96
|
+
// The 'default', 'required', and 'deprecated' methods are available after any
|
|
93
97
|
// data-type method. Don't use the nullSafeChain on 'default' or 'required'
|
|
94
98
|
// because they need to handle the null or undefined case
|
|
95
|
-
|
|
96
|
-
|
|
97
99
|
base.default = function _default(defaultValue) {
|
|
98
100
|
return chain(this, createDefaultValidator(defaultValue));
|
|
99
101
|
};
|
|
100
|
-
|
|
101
102
|
base.required = function required() {
|
|
102
103
|
return chain(this, requiredValidator);
|
|
103
|
-
};
|
|
104
|
-
|
|
104
|
+
};
|
|
105
105
|
|
|
106
|
+
// helper validators
|
|
106
107
|
const domain = function domain() {
|
|
107
108
|
return nullSafeChain(this, domainValidator);
|
|
108
109
|
};
|
|
109
|
-
|
|
110
110
|
const minimumInteger = function minimumInteger(minValue) {
|
|
111
111
|
return nullSafeChain(this, createMinimumValidator("an integer", minValue));
|
|
112
112
|
};
|
|
113
|
-
|
|
114
113
|
const minimumNumber = function minimumNumber(minValue) {
|
|
115
114
|
return nullSafeChain(this, createMinimumValidator("a number", minValue));
|
|
116
115
|
};
|
|
117
|
-
|
|
118
116
|
const integer = function integer() {
|
|
119
117
|
return nullSafeChain(this, integerValidator, {
|
|
120
118
|
minimum: minimumInteger
|
|
121
119
|
});
|
|
122
120
|
};
|
|
123
|
-
|
|
124
121
|
const nonEmptyString = function nonEmptyString() {
|
|
125
122
|
return nullSafeChain(this, createNonEmptyValidator("a non-empty string"));
|
|
126
123
|
};
|
|
127
|
-
|
|
128
124
|
const nonEmptyArray = function nonEmptyArray() {
|
|
129
125
|
return nullSafeChain(this, createNonEmptyValidator("a non-empty array"));
|
|
130
126
|
};
|
|
131
|
-
|
|
132
127
|
const nonEmptyObject = function nonEmptyObject() {
|
|
133
128
|
return nullSafeChain(this, createNonEmptyValidator("a non-empty object"));
|
|
134
129
|
};
|
|
135
|
-
|
|
136
130
|
const regexp = function regexp() {
|
|
137
131
|
return nullSafeChain(this, regexpValidator);
|
|
138
132
|
};
|
|
139
|
-
|
|
140
133
|
const unique = function createUnique() {
|
|
141
134
|
return nullSafeChain(this, createUniqueValidator());
|
|
142
135
|
};
|
|
143
|
-
|
|
144
136
|
const uniqueItems = function createUniqueItems() {
|
|
145
137
|
return nullSafeChain(this, createUniqueItemsValidator());
|
|
146
|
-
};
|
|
147
|
-
|
|
138
|
+
};
|
|
148
139
|
|
|
140
|
+
// top-level validators. These are the first functions that are called to create a validator.
|
|
149
141
|
const anyOf = function anyOf(validators, message) {
|
|
150
142
|
// use chain here because we don't want to accept null or undefined unless at least
|
|
151
143
|
// one of the validators accept null or undefined.
|
|
152
144
|
return chain(this, createAnyOfValidator(validators, message));
|
|
153
145
|
};
|
|
154
|
-
|
|
155
146
|
const anything = function anything() {
|
|
156
147
|
return this;
|
|
157
148
|
};
|
|
158
|
-
|
|
159
149
|
const arrayOf = function arrayOf(elementValidator) {
|
|
160
150
|
return nullSafeChain(this, createArrayOfValidator(elementValidator), {
|
|
161
151
|
nonEmpty: nonEmptyArray,
|
|
162
152
|
uniqueItems
|
|
163
153
|
});
|
|
164
154
|
};
|
|
165
|
-
|
|
166
155
|
const boolean = function boolean() {
|
|
167
156
|
return nullSafeChain(this, booleanValidator);
|
|
168
157
|
};
|
|
169
|
-
|
|
170
158
|
const callback = function callback() {
|
|
171
159
|
return nullSafeChain(this, callbackValidator);
|
|
172
160
|
};
|
|
173
|
-
|
|
174
161
|
const literal = function literal(literalValue) {
|
|
175
162
|
return nullSafeChain(this, createLiteralValidator(literalValue));
|
|
176
163
|
};
|
|
177
|
-
|
|
178
164
|
const number = function number() {
|
|
179
165
|
return nullSafeChain(this, numberValidator, {
|
|
180
166
|
minimum: minimumNumber,
|
|
@@ -182,13 +168,11 @@ const number = function number() {
|
|
|
182
168
|
unique
|
|
183
169
|
});
|
|
184
170
|
};
|
|
185
|
-
|
|
186
171
|
const mapOfValues = function mapOfValues(valuesValidator) {
|
|
187
172
|
return nullSafeChain(this, createMapOfValuesValidator(valuesValidator), {
|
|
188
173
|
nonEmpty: nonEmptyObject
|
|
189
174
|
});
|
|
190
175
|
};
|
|
191
|
-
|
|
192
176
|
const createObjectOfAdditionalProperties = schema => ({
|
|
193
177
|
noUnknownFields: function noUnknownFields() {
|
|
194
178
|
return nullSafeChain(this, createNoUnknownFieldsValidator(schema));
|
|
@@ -196,7 +180,8 @@ const createObjectOfAdditionalProperties = schema => ({
|
|
|
196
180
|
nonEmpty: nonEmptyObject,
|
|
197
181
|
concat: function concat(otherObjectOfValidator) {
|
|
198
182
|
// combine the schema so that noUnknownFields, and concat have the combined schema
|
|
199
|
-
const newSchema = {
|
|
183
|
+
const newSchema = {
|
|
184
|
+
...schema,
|
|
200
185
|
...otherObjectOfValidator.schema
|
|
201
186
|
};
|
|
202
187
|
return nullSafeChain(this, otherObjectOfValidator, createObjectOfAdditionalProperties(newSchema));
|
|
@@ -208,11 +193,9 @@ const createObjectOfAdditionalProperties = schema => ({
|
|
|
208
193
|
},
|
|
209
194
|
schema
|
|
210
195
|
});
|
|
211
|
-
|
|
212
196
|
const objectOf = function objectOf(schema) {
|
|
213
197
|
return nullSafeChain(this, createObjectOfValidator(schema), createObjectOfAdditionalProperties(schema));
|
|
214
198
|
};
|
|
215
|
-
|
|
216
199
|
const string = function string() {
|
|
217
200
|
return nullSafeChain(this, stringValidator, {
|
|
218
201
|
regexp,
|
|
@@ -221,7 +204,6 @@ const string = function string() {
|
|
|
221
204
|
unique
|
|
222
205
|
});
|
|
223
206
|
};
|
|
224
|
-
|
|
225
207
|
const boundAnyOf = anyOf.bind(base);
|
|
226
208
|
const boundAnything = anything.bind(base);
|
|
227
209
|
const boundArrayOf = arrayOf.bind(base);
|
|
@@ -231,10 +213,10 @@ const boundLiteral = literal.bind(base);
|
|
|
231
213
|
const boundNumber = number.bind(base);
|
|
232
214
|
const boundMapOfValues = mapOfValues.bind(base);
|
|
233
215
|
const boundObjectOf = objectOf.bind(base);
|
|
234
|
-
const boundString = string.bind(base);
|
|
216
|
+
const boundString = string.bind(base);
|
|
235
217
|
|
|
218
|
+
// compound validators
|
|
236
219
|
const boundEnumOf = function boundEnumOf(...values) {
|
|
237
220
|
return boundAnyOf(values.map(boundLiteral), `one of these values: [${JSON.stringify(values)}]`);
|
|
238
221
|
};
|
|
239
|
-
|
|
240
222
|
export { boundAnyOf as anyOf, boundAnything as anything, boundArrayOf as arrayOf, boundBoolean as boolean, boundCallback as callback, boundLiteral as literal, boundNumber as number, boundMapOfValues as mapOfValues, boundObjectOf as objectOf, boundString as string, boundEnumOf as enumOf };
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import isInteger from "../isInteger";
|
|
13
14
|
import { assertValid } from "./utils";
|
|
14
15
|
export default ((value, path) => {
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import isNumber from "../isNumber";
|
|
13
14
|
import { assertValid } from "./utils";
|
|
14
15
|
export default ((value, path) => {
|
|
@@ -9,6 +9,7 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
import { assertValid } from "./utils";
|
|
13
14
|
import isValidRegExp from "../isValidRegExp";
|
|
14
15
|
export default ((value, path) => {
|
|
@@ -9,10 +9,10 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
|
|
|
9
9
|
OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
10
|
governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
+
|
|
12
13
|
export default ((value, path) => {
|
|
13
14
|
if (value == null) {
|
|
14
15
|
throw new Error(`'${path}' is a required option`);
|
|
15
16
|
}
|
|
16
|
-
|
|
17
17
|
return value;
|
|
18
18
|
});
|