@adobe/alloy 2.18.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.
Files changed (576) hide show
  1. package/libEs5/baseCode/index.js +2 -12
  2. package/libEs5/components/ActivityCollector/attachClickActivityCollector.js +9 -12
  3. package/libEs5/components/ActivityCollector/configValidators.js +1 -4
  4. package/libEs5/components/ActivityCollector/createGetLinkDetails.js +7 -17
  5. package/libEs5/components/ActivityCollector/createLinkClick.js +3 -8
  6. package/libEs5/components/ActivityCollector/getLinkName.js +8 -26
  7. package/libEs5/components/ActivityCollector/getLinkRegion.js +2 -16
  8. package/libEs5/components/ActivityCollector/index.js +8 -18
  9. package/libEs5/components/ActivityCollector/utils.js +3 -40
  10. package/libEs5/components/Audiences/index.js +2 -8
  11. package/libEs5/components/Audiences/injectProcessDestinations.js +20 -19
  12. package/libEs5/components/Audiences/injectProcessResponse.js +0 -5
  13. package/libEs5/components/Context/createComponent.js +0 -4
  14. package/libEs5/components/Context/implementationDetails.js +0 -5
  15. package/libEs5/components/Context/index.js +12 -19
  16. package/libEs5/components/Context/injectDevice.js +3 -20
  17. package/libEs5/components/Context/injectEnvironment.js +1 -8
  18. package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +14 -21
  19. package/libEs5/components/Context/injectPlaceContext.js +2 -8
  20. package/libEs5/components/Context/injectTimestamp.js +0 -3
  21. package/libEs5/components/Context/injectWeb.js +0 -3
  22. package/libEs5/components/DataCollector/index.js +25 -35
  23. package/libEs5/components/DataCollector/validateApplyResponse.js +6 -4
  24. package/libEs5/components/DataCollector/validateUserEventOptions.js +5 -6
  25. package/libEs5/components/EventMerge/createComponent.js +0 -2
  26. package/libEs5/components/EventMerge/createEventMergeId.js +0 -3
  27. package/libEs5/components/EventMerge/index.js +1 -4
  28. package/libEs5/components/Identity/addEcidQueryToPayload.js +0 -3
  29. package/libEs5/components/Identity/addEcidToPayload.js +0 -3
  30. package/libEs5/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +0 -5
  31. package/libEs5/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +5 -19
  32. package/libEs5/components/Identity/configValidators.js +1 -2
  33. package/libEs5/components/Identity/constants/authState.js +1 -1
  34. package/libEs5/components/Identity/constants/defaultIdSyncTtlMinutes.js +0 -2
  35. package/libEs5/components/Identity/createComponent.js +16 -22
  36. package/libEs5/components/Identity/createLegacyIdentity.js +5 -19
  37. package/libEs5/components/Identity/getEcidFromResponse.js +0 -4
  38. package/libEs5/components/Identity/getIdentity/createGetIdentity.js +5 -9
  39. package/libEs5/components/Identity/getIdentity/createIdentityRequest.js +1 -4
  40. package/libEs5/components/Identity/getIdentity/createIdentityRequestPayload.js +0 -3
  41. package/libEs5/components/Identity/getIdentity/getIdentityOptionsValidator.js +0 -5
  42. package/libEs5/components/Identity/index.js +8 -29
  43. package/libEs5/components/Identity/injectAddLegacyEcidToPayload.js +1 -5
  44. package/libEs5/components/Identity/injectAddQueryStringIdentityToPayload.js +22 -28
  45. package/libEs5/components/Identity/injectAwaitIdentityCookie.js +7 -8
  46. package/libEs5/components/Identity/injectEnsureSingleIdentity.js +17 -20
  47. package/libEs5/components/Identity/injectHandleResponseForIdSyncs.js +0 -2
  48. package/libEs5/components/Identity/injectProcessIdSyncs.js +2 -7
  49. package/libEs5/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -4
  50. package/libEs5/components/Identity/visitorService/awaitVisitorOptIn.js +0 -3
  51. package/libEs5/components/Identity/visitorService/getVisitor.js +0 -3
  52. package/libEs5/components/Identity/visitorService/injectGetEcidFromVisitor.js +2 -7
  53. package/libEs5/components/LibraryInfo/index.js +13 -21
  54. package/libEs5/components/MachineLearning/index.js +1 -3
  55. package/libEs5/components/MachineLearning/processResponse.js +0 -2
  56. package/libEs5/components/Personalization/constants/eventType.js +1 -1
  57. package/libEs5/components/Personalization/constants/loggerMessage.js +0 -1
  58. package/libEs5/components/Personalization/constants/propositionEventType.js +1 -1
  59. package/libEs5/components/Personalization/constants/schema.js +1 -1
  60. package/libEs5/components/Personalization/constants/scopeType.js +1 -1
  61. package/libEs5/components/Personalization/constants/surface.js +1 -1
  62. package/libEs5/components/Personalization/createApplyPropositions.js +47 -49
  63. package/libEs5/components/Personalization/createClickStorage.js +1 -10
  64. package/libEs5/components/Personalization/createCollect.js +5 -15
  65. package/libEs5/components/Personalization/createComponent.js +40 -42
  66. package/libEs5/components/Personalization/createFetchDataHandler.js +81 -26
  67. package/libEs5/components/Personalization/createGetPageLocation.js +0 -2
  68. package/libEs5/components/Personalization/createOnClickHandler.js +8 -18
  69. package/libEs5/components/Personalization/{utils/composePersonalizationResultingObject.js → createPendingNotificationsHandler.js} +9 -18
  70. package/libEs5/components/Personalization/createPersonalizationDetails.js +24 -30
  71. package/libEs5/components/Personalization/createSetTargetMigration.js +0 -5
  72. package/libEs5/components/Personalization/createViewCacheManager.js +54 -28
  73. package/libEs5/components/Personalization/createViewChangeHandler.js +25 -37
  74. package/libEs5/components/Personalization/dom-actions/action.js +6 -37
  75. package/libEs5/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -13
  76. package/libEs5/components/Personalization/dom-actions/appendHtml.js +0 -7
  77. package/libEs5/components/Personalization/dom-actions/clicks/collectClicks.js +16 -27
  78. package/{libEs6/components/Personalization/utils/composePersonalizationResultingObject.js → libEs5/components/Personalization/dom-actions/createPreprocess.js} +14 -14
  79. package/libEs5/components/Personalization/dom-actions/dom/createFragment.js +0 -4
  80. package/libEs5/components/Personalization/dom-actions/dom/getAttribute.js +0 -2
  81. package/libEs5/components/Personalization/dom-actions/dom/getChildNodes.js +0 -5
  82. package/libEs5/components/Personalization/dom-actions/dom/getChildren.js +0 -5
  83. package/libEs5/components/Personalization/dom-actions/dom/getElementById.js +0 -3
  84. package/libEs5/components/Personalization/dom-actions/dom/getFirstChild.js +0 -2
  85. package/libEs5/components/Personalization/dom-actions/dom/getNextSibling.js +0 -2
  86. package/libEs5/components/Personalization/dom-actions/dom/getNonce.js +4 -10
  87. package/libEs5/components/Personalization/dom-actions/dom/getParent.js +0 -2
  88. package/libEs5/components/Personalization/dom-actions/dom/helperForEq.js +1 -6
  89. package/libEs5/components/Personalization/dom-actions/dom/index.js +0 -14
  90. package/libEs5/components/Personalization/dom-actions/dom/insertAfter.js +0 -6
  91. package/libEs5/components/Personalization/dom-actions/dom/insertBefore.js +0 -5
  92. package/libEs5/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +6 -11
  93. package/libEs5/components/Personalization/dom-actions/dom/removeAttribute.js +0 -2
  94. package/libEs5/components/Personalization/dom-actions/dom/selectNodesWithEq.js +16 -36
  95. package/libEs5/components/Personalization/dom-actions/dom/setAttribute.js +0 -2
  96. package/libEs5/components/Personalization/dom-actions/dom/setStyle.js +0 -4
  97. package/libEs5/components/Personalization/dom-actions/images.js +1 -11
  98. package/libEs5/components/Personalization/dom-actions/index.js +1 -10
  99. package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +2 -14
  100. package/libEs5/components/Personalization/dom-actions/insertHtmlAfter.js +0 -6
  101. package/libEs5/components/Personalization/dom-actions/insertHtmlBefore.js +0 -6
  102. package/libEs5/components/Personalization/dom-actions/prependHtml.js +4 -12
  103. package/libEs5/components/Personalization/dom-actions/rearrangeChildren.js +1 -6
  104. package/libEs5/components/Personalization/dom-actions/remapCustomCodeOffers.js +2 -8
  105. package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +5 -15
  106. package/libEs5/components/Personalization/dom-actions/replaceHtml.js +0 -4
  107. package/libEs5/components/Personalization/dom-actions/scripts.js +13 -35
  108. package/libEs5/components/Personalization/dom-actions/setAttributes.js +0 -3
  109. package/libEs5/components/Personalization/dom-actions/setHtml.js +1 -6
  110. package/libEs5/components/Personalization/dom-actions/setStyles.js +12 -8
  111. package/libEs5/components/Personalization/dom-actions/setText.js +0 -2
  112. package/libEs5/components/Personalization/dom-actions/swapImage.js +6 -9
  113. package/libEs5/components/Personalization/event.js +2 -10
  114. package/libEs5/components/Personalization/flicker/index.js +17 -31
  115. package/libEs5/components/Personalization/handlers/createProcessDomAction.js +54 -0
  116. package/libEs5/components/Personalization/handlers/createProcessHtmlContent.js +38 -0
  117. package/libEs5/components/Personalization/handlers/createProcessPropositions.js +195 -0
  118. package/libEs5/components/Personalization/handlers/createProcessRedirect.js +42 -0
  119. package/libEs5/components/Personalization/handlers/injectCreateProposition.js +118 -0
  120. package/libEs5/components/Personalization/{dom-actions/clicks/index.js → handlers/processDefaultContent.js} +7 -5
  121. package/libEs5/components/Personalization/index.js +72 -80
  122. package/libEs5/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -4
  123. package/libEs5/components/Personalization/utils/createAsyncArray.js +39 -0
  124. package/libEs5/components/Personalization/utils/isAuthoringModeEnabled.js +0 -2
  125. package/libEs5/components/Personalization/utils/isPageWideScope.js +0 -4
  126. package/libEs5/components/Personalization/utils/surfaceUtils.js +1 -27
  127. package/libEs5/components/Personalization/validateApplyPropositionsOptions.js +5 -8
  128. package/libEs5/components/Privacy/computeConsentHash.js +11 -8
  129. package/libEs5/components/Privacy/createComponent.js +24 -26
  130. package/libEs5/components/Privacy/createConsentHashStore.js +14 -15
  131. package/libEs5/components/Privacy/createConsentRequest.js +1 -4
  132. package/libEs5/components/Privacy/createConsentRequestPayload.js +0 -5
  133. package/libEs5/components/Privacy/createStoredConsent.js +2 -6
  134. package/libEs5/components/Privacy/index.js +5 -15
  135. package/libEs5/components/Privacy/injectSendSetConsentRequest.js +7 -12
  136. package/libEs5/components/Privacy/parseConsentCookie.js +3 -13
  137. package/libEs5/components/Privacy/validateSetConsentOptions.js +0 -4
  138. package/libEs5/constants/apiVersion.js +0 -1
  139. package/libEs5/constants/browser.js +1 -1
  140. package/libEs5/constants/consentPurpose.js +1 -1
  141. package/libEs5/constants/consentStatus.js +1 -1
  142. package/libEs5/constants/cookieNameKey.js +1 -1
  143. package/libEs5/constants/cookieNamePrefix.js +0 -1
  144. package/libEs5/constants/coreCommands.js +1 -1
  145. package/libEs5/constants/debugQueryParam.js +0 -1
  146. package/libEs5/constants/domain.js +1 -1
  147. package/libEs5/constants/ecidNamespace.js +0 -1
  148. package/libEs5/constants/edgeBasePath.js +0 -1
  149. package/libEs5/constants/elementAttribute.js +1 -1
  150. package/libEs5/constants/highEntropyUserAgentClientHints.js +0 -1
  151. package/libEs5/constants/httpHeaderNames.js +1 -1
  152. package/libEs5/constants/httpStatusCode.js +1 -1
  153. package/libEs5/constants/identityMapAuthenticatedState.js +0 -1
  154. package/libEs5/constants/legacyCookies.js +1 -1
  155. package/libEs5/constants/libraryName.js +0 -1
  156. package/libEs5/constants/libraryVersion.js +1 -2
  157. package/libEs5/constants/namespace.js +0 -1
  158. package/libEs5/constants/pageWideScope.js +0 -1
  159. package/libEs5/constants/queryStringIdentityParam.js +0 -1
  160. package/libEs5/constants/shadowSeparator.js +0 -1
  161. package/libEs5/constants/tagName.js +1 -1
  162. package/libEs5/core/buildAndValidateConfig.js +21 -32
  163. package/libEs5/core/componentCreators.js +0 -12
  164. package/libEs5/core/config/createConfig.js +1 -3
  165. package/libEs5/core/config/createCoreConfigs.js +0 -7
  166. package/libEs5/core/consent/createConsent.js +1 -11
  167. package/libEs5/core/consent/createConsentStateMachine.js +1 -18
  168. package/libEs5/core/createComponentRegistry.js +4 -14
  169. package/libEs5/core/createCookieTransfer.js +9 -18
  170. package/libEs5/core/createEvent.js +41 -32
  171. package/libEs5/core/createEventManager.js +27 -33
  172. package/libEs5/core/createInstanceFunction.js +0 -2
  173. package/libEs5/core/createLifecycle.js +14 -14
  174. package/libEs5/core/createLogController.js +5 -17
  175. package/libEs5/core/createLogger.js +3 -17
  176. package/libEs5/core/edgeNetwork/handleRequestFailure.js +0 -3
  177. package/libEs5/core/edgeNetwork/injectApplyResponse.js +12 -18
  178. package/libEs5/core/edgeNetwork/injectExtractEdgeInfo.js +4 -8
  179. package/libEs5/core/edgeNetwork/injectGetLocationHint.js +1 -11
  180. package/libEs5/core/edgeNetwork/injectProcessWarningsAndErrors.js +6 -11
  181. package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +18 -26
  182. package/libEs5/core/edgeNetwork/mergeLifecycleResponses.js +11 -10
  183. package/libEs5/core/index.js +12 -54
  184. package/libEs5/core/initializeComponents.js +5 -10
  185. package/libEs5/core/injectCreateResponse.js +8 -16
  186. package/libEs5/core/injectExecuteCommand.js +8 -19
  187. package/libEs5/core/injectHandleError.js +4 -8
  188. package/libEs5/core/injectShouldTransferCookie.js +1 -5
  189. package/libEs5/core/network/getRequestRetryDelay.js +10 -17
  190. package/libEs5/core/network/injectSendNetworkRequest.js +20 -22
  191. package/libEs5/core/network/isRequestRetryable.js +5 -7
  192. package/libEs5/core/network/requestMethods/injectSendBeaconRequest.js +5 -8
  193. package/libEs5/core/network/requestMethods/injectSendFetchRequest.js +0 -2
  194. package/libEs5/core/network/requestMethods/injectSendXhrRequest.js +0 -5
  195. package/libEs5/core/validateCommandOptions.js +5 -9
  196. package/libEs5/index.js +7 -15
  197. package/libEs5/utils/areThirdPartyCookiesSupportedByDefault.js +1 -5
  198. package/libEs5/utils/assign.js +0 -2
  199. package/libEs5/utils/assignIf.js +0 -4
  200. package/libEs5/utils/clone.js +0 -3
  201. package/libEs5/utils/cookieJar.js +0 -2
  202. package/libEs5/utils/crc32.js +0 -8
  203. package/libEs5/utils/createCallbackAggregator.js +0 -4
  204. package/libEs5/utils/createLoggingCookieJar.js +1 -6
  205. package/libEs5/utils/createMerger.js +0 -4
  206. package/libEs5/utils/createTaskQueue.js +0 -7
  207. package/libEs5/utils/deduplicateArray.js +32 -0
  208. package/libEs5/utils/deepAssign.js +2 -10
  209. package/libEs5/utils/defer.js +0 -3
  210. package/libEs5/utils/dom/appendNode.js +0 -2
  211. package/libEs5/utils/dom/awaitSelector.js +1 -29
  212. package/libEs5/utils/dom/createNode.js +1 -5
  213. package/libEs5/utils/dom/index.js +0 -8
  214. package/libEs5/utils/dom/isShadowSelector.js +0 -3
  215. package/libEs5/utils/dom/matchesSelector.js +2 -5
  216. package/libEs5/utils/dom/querySelectorAll.js +3 -6
  217. package/libEs5/utils/dom/removeNode.js +0 -4
  218. package/libEs5/utils/dom/selectNodes.js +0 -8
  219. package/libEs5/utils/dom/selectNodesWithShadow.js +6 -20
  220. package/libEs5/utils/endsWith.js +0 -3
  221. package/libEs5/utils/filterObject.js +13 -17
  222. package/libEs5/utils/find.js +0 -5
  223. package/libEs5/utils/fireImage.js +2 -7
  224. package/libEs5/utils/flatMap.js +0 -2
  225. package/libEs5/utils/getApexDomain.js +4 -8
  226. package/libEs5/utils/getBrowser.js +11 -11
  227. package/libEs5/utils/getLastArrayItems.js +0 -3
  228. package/libEs5/utils/getNamespacedCookieName.js +0 -4
  229. package/libEs5/utils/groupBy.js +0 -5
  230. package/libEs5/utils/includes.js +0 -3
  231. package/libEs5/utils/index.js +7 -55
  232. package/libEs5/utils/injectDoesIdentityCookieExist.js +0 -6
  233. package/libEs5/utils/injectFireReferrerHideableImage.js +21 -29
  234. package/libEs5/utils/injectStorage.js +1 -7
  235. package/libEs5/utils/intersection.js +0 -4
  236. package/libEs5/utils/isBlankString.js +0 -4
  237. package/libEs5/utils/isBoolean.js +0 -3
  238. package/libEs5/utils/isEmptyObject.js +0 -4
  239. package/libEs5/utils/isFunction.js +0 -3
  240. package/libEs5/utils/isInteger.js +0 -4
  241. package/libEs5/utils/isNamespacedCookieName.js +0 -5
  242. package/libEs5/utils/isNil.js +0 -3
  243. package/libEs5/utils/isNonEmptyArray.js +0 -3
  244. package/libEs5/utils/isNonEmptyString.js +0 -4
  245. package/libEs5/utils/isNumber.js +0 -3
  246. package/libEs5/utils/isObject.js +11 -5
  247. package/libEs5/utils/isString.js +0 -3
  248. package/libEs5/utils/isUnique.js +0 -7
  249. package/libEs5/utils/isValidRegExp.js +0 -3
  250. package/libEs5/utils/memoize.js +0 -5
  251. package/libEs5/utils/noop.js +0 -3
  252. package/libEs5/utils/padStart.js +0 -6
  253. package/libEs5/utils/prepareConfigOverridesForEdge.js +13 -21
  254. package/libEs5/utils/querystring.js +0 -2
  255. package/libEs5/utils/request/createAddIdentity.js +0 -2
  256. package/libEs5/utils/request/createDataCollectionRequest.js +1 -6
  257. package/libEs5/utils/request/createDataCollectionRequestPayload.js +0 -8
  258. package/libEs5/utils/request/createGetAssuranceValidationTokenParams.js +2 -11
  259. package/libEs5/utils/request/createHasIdentity.js +0 -2
  260. package/libEs5/utils/request/createRequest.js +3 -6
  261. package/libEs5/utils/request/createRequestParams.js +4 -12
  262. package/libEs5/utils/request/createRequestPayload.js +2 -7
  263. package/libEs5/utils/request/index.js +0 -8
  264. package/libEs5/utils/sanitizeOrgIdForCookieName.js +0 -2
  265. package/libEs5/utils/stackError.js +1 -6
  266. package/libEs5/utils/startsWith.js +0 -3
  267. package/libEs5/utils/stringToBoolean.js +0 -3
  268. package/libEs5/utils/toArray.js +0 -4
  269. package/libEs5/utils/toError.js +0 -3
  270. package/libEs5/utils/toISOStringLocal.js +3 -7
  271. package/libEs5/utils/toInteger.js +2 -8
  272. package/libEs5/utils/updateErrorMessage.js +3 -5
  273. package/libEs5/utils/uuid.js +0 -2
  274. package/libEs5/utils/validateConfigOverride.js +0 -3
  275. package/libEs5/utils/validateIdentityMap.js +0 -4
  276. package/libEs5/utils/validation/booleanValidator.js +0 -4
  277. package/libEs5/utils/validation/callbackValidator.js +0 -4
  278. package/libEs5/utils/validation/createAnyOfValidator.js +0 -5
  279. package/libEs5/utils/validation/createArrayOfValidator.js +0 -6
  280. package/libEs5/utils/validation/createDefaultValidator.js +0 -3
  281. package/libEs5/utils/validation/createDeprecatedValidator.js +13 -21
  282. package/libEs5/utils/validation/createLiteralValidator.js +0 -3
  283. package/libEs5/utils/validation/createMapOfValuesValidator.js +0 -9
  284. package/libEs5/utils/validation/createMinimumValidator.js +0 -3
  285. package/libEs5/utils/validation/createNoUnknownFieldsValidator.js +0 -4
  286. package/libEs5/utils/validation/createNonEmptyValidator.js +0 -6
  287. package/libEs5/utils/validation/createObjectOfValidator.js +2 -10
  288. package/libEs5/utils/validation/createUniqueItemsValidator.js +0 -4
  289. package/libEs5/utils/validation/createUniqueValidator.js +0 -3
  290. package/libEs5/utils/validation/domainValidator.js +1 -4
  291. package/libEs5/utils/validation/index.js +76 -59
  292. package/libEs5/utils/validation/integerValidator.js +0 -4
  293. package/libEs5/utils/validation/numberValidator.js +0 -4
  294. package/libEs5/utils/validation/regexpValidator.js +0 -4
  295. package/libEs5/utils/validation/requiredValidator.js +0 -3
  296. package/libEs5/utils/validation/stringValidator.js +0 -4
  297. package/libEs5/utils/validation/utils.js +7 -21
  298. package/libEs5/utils/values.js +0 -3
  299. package/libEs6/baseCode/index.js +3 -8
  300. package/libEs6/components/ActivityCollector/attachClickActivityCollector.js +5 -6
  301. package/libEs6/components/ActivityCollector/configValidators.js +1 -0
  302. package/libEs6/components/ActivityCollector/createGetLinkDetails.js +1 -8
  303. package/libEs6/components/ActivityCollector/createLinkClick.js +0 -3
  304. package/libEs6/components/ActivityCollector/getLinkName.js +8 -23
  305. package/libEs6/components/ActivityCollector/getLinkRegion.js +2 -12
  306. package/libEs6/components/ActivityCollector/index.js +3 -6
  307. package/libEs6/components/ActivityCollector/utils.js +2 -29
  308. package/libEs6/components/Audiences/index.js +1 -2
  309. package/libEs6/components/Audiences/injectProcessDestinations.js +3 -6
  310. package/libEs6/components/Audiences/injectProcessResponse.js +1 -2
  311. package/libEs6/components/Context/createComponent.js +1 -2
  312. package/libEs6/components/Context/index.js +3 -3
  313. package/libEs6/components/Context/injectDevice.js +1 -16
  314. package/libEs6/components/Context/injectEnvironment.js +1 -4
  315. package/libEs6/components/Context/injectHighEntropyUserAgentHints.js +2 -5
  316. package/libEs6/components/Context/injectPlaceContext.js +2 -5
  317. package/libEs6/components/Context/injectTimestamp.js +1 -0
  318. package/libEs6/components/Context/injectWeb.js +1 -0
  319. package/libEs6/components/DataCollector/index.js +5 -12
  320. package/libEs6/components/DataCollector/validateApplyResponse.js +6 -1
  321. package/libEs6/components/DataCollector/validateUserEventOptions.js +6 -2
  322. package/libEs6/components/EventMerge/createComponent.js +1 -0
  323. package/libEs6/components/EventMerge/createEventMergeId.js +1 -0
  324. package/libEs6/components/EventMerge/index.js +1 -2
  325. package/libEs6/components/Identity/addEcidQueryToPayload.js +1 -0
  326. package/libEs6/components/Identity/addEcidToPayload.js +1 -0
  327. package/libEs6/components/Identity/appendIdentityToUrl/appendIdentityToUrlOptionsValidator.js +1 -1
  328. package/libEs6/components/Identity/appendIdentityToUrl/injectAppendIdentityToUrl.js +0 -4
  329. package/libEs6/components/Identity/configValidators.js +1 -0
  330. package/libEs6/components/Identity/constants/authState.js +1 -0
  331. package/libEs6/components/Identity/constants/defaultIdSyncTtlMinutes.js +1 -0
  332. package/libEs6/components/Identity/createComponent.js +5 -7
  333. package/libEs6/components/Identity/createLegacyIdentity.js +0 -10
  334. package/libEs6/components/Identity/getEcidFromResponse.js +1 -0
  335. package/libEs6/components/Identity/getIdentity/createGetIdentity.js +1 -0
  336. package/libEs6/components/Identity/getIdentity/createIdentityRequest.js +1 -3
  337. package/libEs6/components/Identity/getIdentity/createIdentityRequestPayload.js +1 -0
  338. package/libEs6/components/Identity/getIdentity/getIdentityOptionsValidator.js +1 -1
  339. package/libEs6/components/Identity/index.js +1 -2
  340. package/libEs6/components/Identity/injectAddLegacyEcidToPayload.js +1 -1
  341. package/libEs6/components/Identity/injectAddQueryStringIdentityToPayload.js +5 -7
  342. package/libEs6/components/Identity/injectAwaitIdentityCookie.js +6 -3
  343. package/libEs6/components/Identity/injectEnsureSingleIdentity.js +12 -11
  344. package/libEs6/components/Identity/injectHandleResponseForIdSyncs.js +1 -0
  345. package/libEs6/components/Identity/injectProcessIdSyncs.js +0 -4
  346. package/libEs6/components/Identity/injectSetDomainForInitialIdentityPayload.js +1 -0
  347. package/libEs6/components/Identity/visitorService/awaitVisitorOptIn.js +1 -0
  348. package/libEs6/components/Identity/visitorService/getVisitor.js +1 -0
  349. package/libEs6/components/Identity/visitorService/injectGetEcidFromVisitor.js +1 -2
  350. package/libEs6/components/LibraryInfo/index.js +3 -6
  351. package/libEs6/components/MachineLearning/index.js +1 -2
  352. package/libEs6/components/MachineLearning/processResponse.js +1 -0
  353. package/libEs6/components/Personalization/constants/eventType.js +1 -0
  354. package/libEs6/components/Personalization/constants/propositionEventType.js +1 -0
  355. package/libEs6/components/Personalization/constants/schema.js +1 -0
  356. package/libEs6/components/Personalization/constants/scopeType.js +1 -0
  357. package/libEs6/components/Personalization/constants/surface.js +1 -0
  358. package/libEs6/components/Personalization/createApplyPropositions.js +31 -34
  359. package/libEs6/components/Personalization/createClickStorage.js +1 -8
  360. package/libEs6/components/Personalization/createCollect.js +0 -5
  361. package/libEs6/components/Personalization/createComponent.js +23 -21
  362. package/libEs6/components/Personalization/createFetchDataHandler.js +61 -10
  363. package/libEs6/components/Personalization/createGetPageLocation.js +1 -0
  364. package/libEs6/components/Personalization/createOnClickHandler.js +4 -7
  365. package/{libEs5/components/Personalization/dom-actions/click.js → libEs6/components/Personalization/createPendingNotificationsHandler.js} +11 -15
  366. package/libEs6/components/Personalization/createPersonalizationDetails.js +9 -22
  367. package/libEs6/components/Personalization/createSetTargetMigration.js +1 -1
  368. package/libEs6/components/Personalization/createViewCacheManager.js +50 -24
  369. package/libEs6/components/Personalization/createViewChangeHandler.js +25 -29
  370. package/libEs6/components/Personalization/dom-actions/action.js +5 -14
  371. package/libEs6/components/Personalization/dom-actions/addNonceToInlineStyleElements.js +1 -8
  372. package/libEs6/components/Personalization/dom-actions/appendHtml.js +1 -0
  373. package/libEs6/components/Personalization/dom-actions/clicks/collectClicks.js +2 -14
  374. package/libEs6/components/Personalization/dom-actions/{click.js → createPreprocess.js} +7 -11
  375. package/libEs6/components/Personalization/dom-actions/dom/createFragment.js +1 -0
  376. package/libEs6/components/Personalization/dom-actions/dom/getAttribute.js +1 -0
  377. package/libEs6/components/Personalization/dom-actions/dom/getChildNodes.js +1 -2
  378. package/libEs6/components/Personalization/dom-actions/dom/getChildren.js +1 -2
  379. package/libEs6/components/Personalization/dom-actions/dom/getFirstChild.js +1 -0
  380. package/libEs6/components/Personalization/dom-actions/dom/getNextSibling.js +1 -0
  381. package/libEs6/components/Personalization/dom-actions/dom/getNonce.js +6 -5
  382. package/libEs6/components/Personalization/dom-actions/dom/getParent.js +1 -0
  383. package/libEs6/components/Personalization/dom-actions/dom/helperForEq.js +1 -0
  384. package/libEs6/components/Personalization/dom-actions/dom/index.js +1 -0
  385. package/libEs6/components/Personalization/dom-actions/dom/insertAfter.js +1 -2
  386. package/libEs6/components/Personalization/dom-actions/dom/insertBefore.js +1 -2
  387. package/libEs6/components/Personalization/dom-actions/dom/matchesSelectorWithEq.js +7 -6
  388. package/libEs6/components/Personalization/dom-actions/dom/removeAttribute.js +1 -0
  389. package/libEs6/components/Personalization/dom-actions/dom/selectNodesWithEq.js +6 -18
  390. package/libEs6/components/Personalization/dom-actions/dom/setAttribute.js +1 -0
  391. package/libEs6/components/Personalization/dom-actions/dom/setStyle.js +1 -2
  392. package/libEs6/components/Personalization/dom-actions/images.js +1 -1
  393. package/libEs6/components/Personalization/dom-actions/index.js +2 -2
  394. package/libEs6/components/Personalization/dom-actions/initDomActionsModules.js +4 -7
  395. package/libEs6/components/Personalization/dom-actions/insertHtmlAfter.js +1 -0
  396. package/libEs6/components/Personalization/dom-actions/insertHtmlBefore.js +1 -0
  397. package/libEs6/components/Personalization/dom-actions/prependHtml.js +5 -5
  398. package/libEs6/components/Personalization/dom-actions/rearrangeChildren.js +1 -2
  399. package/libEs6/components/Personalization/dom-actions/remapCustomCodeOffers.js +0 -3
  400. package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +4 -6
  401. package/libEs6/components/Personalization/dom-actions/replaceHtml.js +1 -0
  402. package/libEs6/components/Personalization/dom-actions/scripts.js +5 -16
  403. package/libEs6/components/Personalization/dom-actions/setAttributes.js +1 -0
  404. package/libEs6/components/Personalization/dom-actions/setHtml.js +1 -2
  405. package/libEs6/components/Personalization/dom-actions/setStyles.js +1 -0
  406. package/libEs6/components/Personalization/dom-actions/setText.js +1 -0
  407. package/libEs6/components/Personalization/dom-actions/swapImage.js +7 -4
  408. package/libEs6/components/Personalization/event.js +4 -4
  409. package/libEs6/components/Personalization/flicker/index.js +9 -12
  410. package/libEs6/components/Personalization/handlers/createProcessDomAction.js +48 -0
  411. package/libEs6/components/Personalization/handlers/createProcessHtmlContent.js +34 -0
  412. package/libEs6/components/Personalization/handlers/createProcessPropositions.js +175 -0
  413. package/libEs6/components/Personalization/handlers/createProcessRedirect.js +38 -0
  414. package/libEs6/components/Personalization/handlers/injectCreateProposition.js +113 -0
  415. package/libEs6/components/Personalization/{dom-actions/clicks/index.js → handlers/processDefaultContent.js} +7 -3
  416. package/libEs6/components/Personalization/index.js +61 -42
  417. package/libEs6/components/Personalization/utils/addRenderAttemptedToDecisions.js +1 -0
  418. package/libEs6/components/Personalization/utils/createAsyncArray.js +35 -0
  419. package/libEs6/components/Personalization/utils/isAuthoringModeEnabled.js +1 -0
  420. package/libEs6/components/Personalization/utils/isPageWideScope.js +1 -0
  421. package/libEs6/components/Personalization/utils/surfaceUtils.js +1 -20
  422. package/libEs6/components/Personalization/validateApplyPropositionsOptions.js +4 -4
  423. package/libEs6/components/Privacy/computeConsentHash.js +3 -4
  424. package/libEs6/components/Privacy/createComponent.js +5 -10
  425. package/libEs6/components/Privacy/createConsentHashStore.js +0 -10
  426. package/libEs6/components/Privacy/createConsentRequest.js +1 -3
  427. package/libEs6/components/Privacy/createConsentRequestPayload.js +1 -2
  428. package/libEs6/components/Privacy/createStoredConsent.js +1 -2
  429. package/libEs6/components/Privacy/index.js +1 -2
  430. package/libEs6/components/Privacy/injectSendSetConsentRequest.js +3 -3
  431. package/libEs6/constants/browser.js +1 -0
  432. package/libEs6/constants/consentPurpose.js +1 -0
  433. package/libEs6/constants/consentStatus.js +1 -0
  434. package/libEs6/constants/cookieNameKey.js +1 -0
  435. package/libEs6/constants/cookieNamePrefix.js +1 -0
  436. package/libEs6/constants/coreCommands.js +1 -0
  437. package/libEs6/constants/debugQueryParam.js +1 -0
  438. package/libEs6/constants/domain.js +1 -0
  439. package/libEs6/constants/ecidNamespace.js +1 -0
  440. package/libEs6/constants/elementAttribute.js +1 -0
  441. package/libEs6/constants/highEntropyUserAgentClientHints.js +1 -0
  442. package/libEs6/constants/httpHeaderNames.js +1 -0
  443. package/libEs6/constants/httpStatusCode.js +1 -0
  444. package/libEs6/constants/legacyCookies.js +1 -0
  445. package/libEs6/constants/libraryName.js +1 -0
  446. package/libEs6/constants/libraryVersion.js +3 -1
  447. package/libEs6/constants/namespace.js +1 -0
  448. package/libEs6/constants/pageWideScope.js +1 -0
  449. package/libEs6/constants/queryStringIdentityParam.js +1 -0
  450. package/libEs6/constants/shadowSeparator.js +1 -0
  451. package/libEs6/constants/tagName.js +1 -0
  452. package/libEs6/core/buildAndValidateConfig.js +4 -10
  453. package/libEs6/core/componentCreators.js +3 -3
  454. package/libEs6/core/config/createConfig.js +1 -2
  455. package/libEs6/core/config/createCoreConfigs.js +1 -0
  456. package/libEs6/core/consent/createConsent.js +1 -9
  457. package/libEs6/core/consent/createConsentStateMachine.js +1 -20
  458. package/libEs6/core/createComponentRegistry.js +3 -15
  459. package/libEs6/core/createCookieTransfer.js +6 -12
  460. package/libEs6/core/createEvent.js +25 -31
  461. package/libEs6/core/createEventManager.js +8 -10
  462. package/libEs6/core/createInstanceFunction.js +1 -0
  463. package/libEs6/core/createLifecycle.js +14 -10
  464. package/libEs6/core/createLogController.js +1 -7
  465. package/libEs6/core/createLogger.js +1 -17
  466. package/libEs6/core/edgeNetwork/handleRequestFailure.js +0 -1
  467. package/libEs6/core/edgeNetwork/injectApplyResponse.js +2 -3
  468. package/libEs6/core/edgeNetwork/injectExtractEdgeInfo.js +5 -6
  469. package/libEs6/core/edgeNetwork/injectGetLocationHint.js +1 -5
  470. package/libEs6/core/edgeNetwork/injectProcessWarningsAndErrors.js +1 -2
  471. package/libEs6/core/edgeNetwork/injectSendEdgeNetworkRequest.js +5 -5
  472. package/libEs6/core/index.js +4 -10
  473. package/libEs6/core/initializeComponents.js +3 -4
  474. package/libEs6/core/injectCreateResponse.js +3 -7
  475. package/libEs6/core/injectExecuteCommand.js +5 -11
  476. package/libEs6/core/injectHandleError.js +4 -3
  477. package/libEs6/core/injectShouldTransferCookie.js +1 -0
  478. package/libEs6/core/network/getRequestRetryDelay.js +11 -13
  479. package/libEs6/core/network/injectSendNetworkRequest.js +3 -7
  480. package/libEs6/core/network/isRequestRetryable.js +4 -2
  481. package/libEs6/core/network/requestMethods/injectSendBeaconRequest.js +4 -6
  482. package/libEs6/core/network/requestMethods/injectSendFetchRequest.js +1 -2
  483. package/libEs6/core/network/requestMethods/injectSendXhrRequest.js +1 -5
  484. package/libEs6/core/validateCommandOptions.js +1 -2
  485. package/libEs6/index.js +5 -3
  486. package/libEs6/utils/areThirdPartyCookiesSupportedByDefault.js +4 -2
  487. package/libEs6/utils/assign.js +1 -0
  488. package/libEs6/utils/assignIf.js +1 -1
  489. package/libEs6/utils/cookieJar.js +1 -0
  490. package/libEs6/utils/crc32.js +0 -7
  491. package/libEs6/utils/createCallbackAggregator.js +0 -2
  492. package/libEs6/utils/createLoggingCookieJar.js +3 -3
  493. package/libEs6/utils/createMerger.js +2 -1
  494. package/libEs6/utils/createTaskQueue.js +0 -4
  495. package/libEs6/utils/deduplicateArray.js +23 -0
  496. package/libEs6/utils/deepAssign.js +2 -5
  497. package/libEs6/utils/dom/appendNode.js +1 -0
  498. package/libEs6/utils/dom/awaitSelector.js +1 -14
  499. package/libEs6/utils/dom/createNode.js +1 -2
  500. package/libEs6/utils/dom/index.js +1 -0
  501. package/libEs6/utils/dom/isShadowSelector.js +1 -0
  502. package/libEs6/utils/dom/matchesSelector.js +2 -2
  503. package/libEs6/utils/dom/querySelectorAll.js +3 -2
  504. package/libEs6/utils/dom/removeNode.js +1 -2
  505. package/libEs6/utils/dom/selectNodes.js +2 -2
  506. package/libEs6/utils/dom/selectNodesWithShadow.js +6 -16
  507. package/libEs6/utils/filterObject.js +8 -12
  508. package/libEs6/utils/find.js +0 -2
  509. package/libEs6/utils/fireImage.js +2 -1
  510. package/libEs6/utils/getApexDomain.js +4 -4
  511. package/libEs6/utils/getBrowser.js +1 -7
  512. package/libEs6/utils/getNamespacedCookieName.js +1 -0
  513. package/libEs6/utils/groupBy.js +0 -2
  514. package/libEs6/utils/index.js +2 -0
  515. package/libEs6/utils/injectDoesIdentityCookieExist.js +1 -1
  516. package/libEs6/utils/injectFireReferrerHideableImage.js +1 -4
  517. package/libEs6/utils/injectStorage.js +1 -5
  518. package/libEs6/utils/intersection.js +2 -1
  519. package/libEs6/utils/isBlankString.js +2 -1
  520. package/libEs6/utils/isEmptyObject.js +2 -1
  521. package/libEs6/utils/isInteger.js +2 -1
  522. package/libEs6/utils/isNamespacedCookieName.js +2 -1
  523. package/libEs6/utils/isNonEmptyString.js +2 -1
  524. package/libEs6/utils/isObject.js +2 -1
  525. package/libEs6/utils/isUnique.js +0 -5
  526. package/libEs6/utils/memoize.js +0 -2
  527. package/libEs6/utils/padStart.js +1 -4
  528. package/libEs6/utils/prepareConfigOverridesForEdge.js +5 -12
  529. package/libEs6/utils/querystring.js +1 -0
  530. package/libEs6/utils/request/createDataCollectionRequest.js +1 -3
  531. package/libEs6/utils/request/createDataCollectionRequestPayload.js +0 -3
  532. package/libEs6/utils/request/createGetAssuranceValidationTokenParams.js +1 -6
  533. package/libEs6/utils/request/createHasIdentity.js +1 -0
  534. package/libEs6/utils/request/createRequest.js +3 -9
  535. package/libEs6/utils/request/createRequestParams.js +0 -3
  536. package/libEs6/utils/request/createRequestPayload.js +4 -4
  537. package/libEs6/utils/request/index.js +1 -0
  538. package/libEs6/utils/sanitizeOrgIdForCookieName.js +1 -0
  539. package/libEs6/utils/stackError.js +2 -1
  540. package/libEs6/utils/toArray.js +1 -2
  541. package/libEs6/utils/toISOStringLocal.js +4 -3
  542. package/libEs6/utils/toInteger.js +4 -4
  543. package/libEs6/utils/updateErrorMessage.js +3 -1
  544. package/libEs6/utils/uuid.js +1 -0
  545. package/libEs6/utils/validateConfigOverride.js +1 -0
  546. package/libEs6/utils/validateIdentityMap.js +1 -0
  547. package/libEs6/utils/validation/booleanValidator.js +1 -0
  548. package/libEs6/utils/validation/createArrayOfValidator.js +0 -2
  549. package/libEs6/utils/validation/createDefaultValidator.js +1 -1
  550. package/libEs6/utils/validation/createDeprecatedValidator.js +0 -4
  551. package/libEs6/utils/validation/createMapOfValuesValidator.js +1 -4
  552. package/libEs6/utils/validation/createNoUnknownFieldsValidator.js +1 -2
  553. package/libEs6/utils/validation/createNonEmptyValidator.js +1 -1
  554. package/libEs6/utils/validation/createObjectOfValidator.js +3 -5
  555. package/libEs6/utils/validation/createUniqueValidator.js +1 -0
  556. package/libEs6/utils/validation/index.js +14 -32
  557. package/libEs6/utils/validation/integerValidator.js +1 -0
  558. package/libEs6/utils/validation/numberValidator.js +1 -0
  559. package/libEs6/utils/validation/regexpValidator.js +1 -0
  560. package/libEs6/utils/validation/requiredValidator.js +1 -1
  561. package/libEs6/utils/validation/utils.js +8 -12
  562. package/package.json +2 -2
  563. package/libEs5/components/Personalization/createAutoRenderingHandler.js +0 -92
  564. package/libEs5/components/Personalization/createExecuteDecisions.js +0 -89
  565. package/libEs5/components/Personalization/createNonRenderingHandler.js +0 -66
  566. package/libEs5/components/Personalization/createOnResponseHandler.js +0 -73
  567. package/libEs5/components/Personalization/createRedirectHandler.js +0 -58
  568. package/libEs5/components/Personalization/dom-actions/executeActions.js +0 -75
  569. package/libEs5/components/Personalization/groupDecisions.js +0 -160
  570. package/libEs6/components/Personalization/createAutoRenderingHandler.js +0 -84
  571. package/libEs6/components/Personalization/createExecuteDecisions.js +0 -77
  572. package/libEs6/components/Personalization/createNonRenderingHandler.js +0 -56
  573. package/libEs6/components/Personalization/createOnResponseHandler.js +0 -68
  574. package/libEs6/components/Personalization/createRedirectHandler.js +0 -57
  575. package/libEs6/components/Personalization/dom-actions/executeActions.js +0 -66
  576. package/libEs6/components/Personalization/groupDecisions.js +0 -131
@@ -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
@@ -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"); // The time-zone offset is the difference, in minutes, from local time to UTC. Note that this
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)); // eslint-disable-next-line no-restricted-globals
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) {// We'll set a new message when we can, but some errors, like DOMException,
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
  });
@@ -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) => {
@@ -21,10 +21,8 @@ export default (elementValidator => function arrayOf(value, path) {
21
21
  return undefined;
22
22
  }
23
23
  });
24
-
25
24
  if (errors.length) {
26
25
  throw new Error(errors.join("\n"));
27
26
  }
28
-
29
27
  return validatedArray;
30
28
  });
@@ -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
- }); // copy over unknown properties
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"; // The base validator does no validation and just returns the value unchanged
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
- const base = value => value; // The 'default', 'required', and 'deprecated' methods are available after any
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
- }; // helper validators
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
- }; // top-level validators. These are the first functions that are called to create a validator.
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 = { ...schema,
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); // compound validators
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
  });