@croct/sdk 0.17.7 → 0.17.8

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 (409) hide show
  1. package/activeRecord.cjs.map +1 -0
  2. package/activeRecord.d.ts +8 -4
  3. package/activeRecord.js +115 -106
  4. package/activeRecord.js.map +1 -1
  5. package/apiKey.cjs.map +1 -0
  6. package/apiKey.d.ts +4 -2
  7. package/apiKey.js +152 -141
  8. package/apiKey.js.map +1 -1
  9. package/base64Url.cjs.map +1 -0
  10. package/base64Url.d.ts +4 -2
  11. package/base64Url.js +8 -15
  12. package/base64Url.js.map +1 -1
  13. package/cache/cache.cjs.map +1 -0
  14. package/cache/cache.d.ts +6 -4
  15. package/cache/cache.js +9 -10
  16. package/cache/cache.js.map +1 -1
  17. package/cache/cookieCache.cjs.map +1 -0
  18. package/cache/cookieCache.d.ts +6 -3
  19. package/cache/cookieCache.js +52 -54
  20. package/cache/cookieCache.js.map +1 -1
  21. package/cache/fallbackCache.cjs.map +1 -0
  22. package/cache/fallbackCache.d.ts +5 -2
  23. package/cache/fallbackCache.js +20 -21
  24. package/cache/fallbackCache.js.map +1 -1
  25. package/cache/inMemoryCache.cjs.map +1 -0
  26. package/cache/inMemoryCache.d.ts +5 -2
  27. package/cache/inMemoryCache.js +15 -17
  28. package/cache/inMemoryCache.js.map +1 -1
  29. package/cache/index.cjs.map +1 -0
  30. package/cache/index.d.ts +4 -4
  31. package/cache/index.js +9 -11
  32. package/cache/index.js.map +1 -1
  33. package/cache/localStorageCache.cjs.map +1 -0
  34. package/cache/localStorageCache.d.ts +5 -2
  35. package/cache/localStorageCache.js +55 -63
  36. package/cache/localStorageCache.js.map +1 -1
  37. package/channel/channel.cjs.map +1 -0
  38. package/channel/channel.d.ts +8 -6
  39. package/channel/channel.js +21 -22
  40. package/channel/channel.js.map +1 -1
  41. package/channel/encodedChannel.cjs.map +1 -0
  42. package/channel/encodedChannel.d.ts +6 -3
  43. package/channel/encodedChannel.js +13 -14
  44. package/channel/encodedChannel.js.map +1 -1
  45. package/channel/guaranteedChannel.cjs.map +1 -0
  46. package/channel/guaranteedChannel.d.ts +9 -7
  47. package/channel/guaranteedChannel.js +74 -73
  48. package/channel/guaranteedChannel.js.map +1 -1
  49. package/channel/httpBeaconChannel.cjs.map +1 -0
  50. package/channel/httpBeaconChannel.d.ts +9 -6
  51. package/channel/httpBeaconChannel.js +82 -83
  52. package/channel/httpBeaconChannel.js.map +1 -1
  53. package/channel/index.cjs.map +1 -0
  54. package/channel/index.d.ts +12 -7
  55. package/channel/index.js +15 -17
  56. package/channel/index.js.map +1 -1
  57. package/channel/queuedChannel.cjs.map +1 -0
  58. package/channel/queuedChannel.d.ts +7 -4
  59. package/channel/queuedChannel.js +87 -97
  60. package/channel/queuedChannel.js.map +1 -1
  61. package/channel/retryChannel.cjs.map +1 -0
  62. package/channel/retryChannel.d.ts +7 -5
  63. package/channel/retryChannel.js +58 -57
  64. package/channel/retryChannel.js.map +1 -1
  65. package/channel/sandboxChannel.cjs.map +1 -0
  66. package/channel/sandboxChannel.d.ts +5 -2
  67. package/channel/sandboxChannel.js +34 -35
  68. package/channel/sandboxChannel.js.map +1 -1
  69. package/cid/assigner.cjs.map +1 -0
  70. package/cid/assigner.d.ts +3 -1
  71. package/cid/assigner.js +0 -2
  72. package/cid/assigner.js.map +1 -1
  73. package/cid/cachedAssigner.cjs.map +1 -0
  74. package/cid/cachedAssigner.d.ts +7 -5
  75. package/cid/cachedAssigner.js +37 -43
  76. package/cid/cachedAssigner.js.map +1 -1
  77. package/cid/fixedAssigner.cjs.map +1 -0
  78. package/cid/fixedAssigner.d.ts +5 -2
  79. package/cid/fixedAssigner.js +9 -10
  80. package/cid/fixedAssigner.js.map +1 -1
  81. package/cid/index.cjs.map +1 -0
  82. package/cid/index.d.ts +6 -4
  83. package/cid/index.js +9 -11
  84. package/cid/index.js.map +1 -1
  85. package/cid/remoteAssigner.cjs.map +1 -0
  86. package/cid/remoteAssigner.d.ts +6 -3
  87. package/cid/remoteAssigner.js +36 -37
  88. package/cid/remoteAssigner.js.map +1 -1
  89. package/constants.cjs.map +1 -0
  90. package/constants.d.ts +6 -4
  91. package/constants.js +10 -7
  92. package/constants.js.map +1 -1
  93. package/container.cjs.map +1 -0
  94. package/container.d.ts +28 -15
  95. package/container.js +269 -252
  96. package/container.js.map +1 -1
  97. package/contentFetcher.cjs.map +1 -0
  98. package/contentFetcher.d.ts +17 -14
  99. package/contentFetcher.js +156 -163
  100. package/contentFetcher.js.map +1 -1
  101. package/context.cjs.map +1 -0
  102. package/context.d.ts +13 -9
  103. package/context.js +80 -81
  104. package/context.js.map +1 -1
  105. package/error.cjs.map +1 -0
  106. package/error.d.ts +4 -2
  107. package/error.js +21 -21
  108. package/error.js.map +1 -1
  109. package/evaluator.cjs.map +1 -0
  110. package/evaluator.d.ts +18 -16
  111. package/evaluator.js +179 -179
  112. package/evaluator.js.map +1 -1
  113. package/eventManager.cjs.map +1 -0
  114. package/eventManager.d.ts +8 -6
  115. package/eventManager.js +24 -26
  116. package/eventManager.js.map +1 -1
  117. package/eventSubjectProcessor.cjs.map +1 -0
  118. package/eventSubjectProcessor.d.ts +16 -3
  119. package/eventSubjectProcessor.js +53 -59
  120. package/eventSubjectProcessor.js.map +1 -1
  121. package/facade/contentFetcherFacade.cjs.map +1 -0
  122. package/facade/contentFetcherFacade.d.ts +16 -7
  123. package/facade/contentFetcherFacade.js +32 -35
  124. package/facade/contentFetcherFacade.js.map +1 -1
  125. package/facade/evaluatorFacade.cjs.map +1 -0
  126. package/facade/evaluatorFacade.d.ts +17 -10
  127. package/facade/evaluatorFacade.js +56 -60
  128. package/facade/evaluatorFacade.js.map +1 -1
  129. package/facade/index.cjs.map +1 -0
  130. package/facade/index.d.ts +29 -7
  131. package/facade/index.js +19 -19
  132. package/facade/index.js.map +1 -1
  133. package/facade/sdkFacade.cjs.map +1 -0
  134. package/facade/sdkFacade.d.ts +33 -15
  135. package/facade/sdkFacade.js +201 -214
  136. package/facade/sdkFacade.js.map +1 -1
  137. package/facade/sessionFacade.cjs.map +1 -0
  138. package/facade/sessionFacade.d.ts +18 -3
  139. package/facade/sessionFacade.js +10 -11
  140. package/facade/sessionFacade.js.map +1 -1
  141. package/facade/sessionPatch.cjs.map +1 -0
  142. package/facade/sessionPatch.d.ts +17 -4
  143. package/facade/sessionPatch.js +22 -24
  144. package/facade/sessionPatch.js.map +1 -1
  145. package/facade/trackerFacade.cjs.map +1 -0
  146. package/facade/trackerFacade.d.ts +17 -4
  147. package/facade/trackerFacade.js +67 -57
  148. package/facade/trackerFacade.js.map +1 -1
  149. package/facade/userFacade.cjs.map +1 -0
  150. package/facade/userFacade.d.ts +21 -4
  151. package/facade/userFacade.js +17 -18
  152. package/facade/userFacade.js.map +1 -1
  153. package/facade/userPatch.cjs.map +1 -0
  154. package/facade/userPatch.d.ts +17 -4
  155. package/facade/userPatch.js +22 -24
  156. package/facade/userPatch.js.map +1 -1
  157. package/help.cjs.map +1 -0
  158. package/help.d.ts +3 -1
  159. package/help.js +19 -23
  160. package/help.js.map +1 -1
  161. package/index.cjs.map +1 -0
  162. package/index.d.ts +25 -3
  163. package/index.js +7 -7
  164. package/index.js.map +1 -1
  165. package/logging/consoleLogger.cjs.map +1 -0
  166. package/logging/consoleLogger.d.ts +5 -2
  167. package/logging/consoleLogger.js +23 -24
  168. package/logging/consoleLogger.js.map +1 -1
  169. package/logging/filteredLogger.cjs.map +1 -0
  170. package/logging/filteredLogger.d.ts +8 -5
  171. package/logging/filteredLogger.js +36 -37
  172. package/logging/filteredLogger.js.map +1 -1
  173. package/logging/index.cjs.map +1 -0
  174. package/logging/index.d.ts +5 -5
  175. package/logging/index.js +11 -13
  176. package/logging/index.js.map +1 -1
  177. package/logging/logger.cjs.map +1 -0
  178. package/logging/logger.d.ts +4 -2
  179. package/logging/logger.js +0 -2
  180. package/logging/logger.js.map +1 -1
  181. package/logging/namespacedLogger.cjs.map +1 -0
  182. package/logging/namespacedLogger.d.ts +5 -2
  183. package/logging/namespacedLogger.js +22 -23
  184. package/logging/namespacedLogger.js.map +1 -1
  185. package/logging/nullLogger.cjs.map +1 -0
  186. package/logging/nullLogger.d.ts +5 -2
  187. package/logging/nullLogger.js +11 -16
  188. package/logging/nullLogger.js.map +1 -1
  189. package/namespacedStorage.cjs.map +1 -0
  190. package/namespacedStorage.d.ts +3 -1
  191. package/namespacedStorage.js +51 -52
  192. package/namespacedStorage.js.map +1 -1
  193. package/package.json +60 -6
  194. package/patch.cjs.map +1 -0
  195. package/patch.d.ts +6 -4
  196. package/patch.js +0 -2
  197. package/patch.js.map +1 -1
  198. package/queue/capacityRestrictedQueue.cjs.map +1 -0
  199. package/queue/capacityRestrictedQueue.d.ts +5 -2
  200. package/queue/capacityRestrictedQueue.js +31 -32
  201. package/queue/capacityRestrictedQueue.js.map +1 -1
  202. package/queue/inMemoryQueue.cjs.map +1 -0
  203. package/queue/inMemoryQueue.d.ts +5 -2
  204. package/queue/inMemoryQueue.js +32 -34
  205. package/queue/inMemoryQueue.js.map +1 -1
  206. package/queue/index.cjs.map +1 -0
  207. package/queue/index.d.ts +6 -5
  208. package/queue/index.js +11 -13
  209. package/queue/index.js.map +1 -1
  210. package/queue/monitoredQueue.cjs.map +1 -0
  211. package/queue/monitoredQueue.d.ts +8 -5
  212. package/queue/monitoredQueue.js +104 -110
  213. package/queue/monitoredQueue.js.map +1 -1
  214. package/queue/persistentQueue.cjs.map +1 -0
  215. package/queue/persistentQueue.d.ts +5 -2
  216. package/queue/persistentQueue.js +52 -54
  217. package/queue/persistentQueue.js.map +1 -1
  218. package/queue/queue.cjs.map +1 -0
  219. package/queue/queue.d.ts +3 -1
  220. package/queue/queue.js +0 -2
  221. package/queue/queue.js.map +1 -1
  222. package/retry/arbitraryPolicy.cjs.map +1 -0
  223. package/retry/arbitraryPolicy.d.ts +5 -2
  224. package/retry/arbitraryPolicy.js +14 -15
  225. package/retry/arbitraryPolicy.js.map +1 -1
  226. package/retry/backoffPolicy.cjs.map +1 -0
  227. package/retry/backoffPolicy.d.ts +5 -3
  228. package/retry/backoffPolicy.js +52 -50
  229. package/retry/backoffPolicy.js.map +1 -1
  230. package/retry/index.cjs.map +1 -0
  231. package/retry/index.d.ts +5 -5
  232. package/retry/index.js +11 -13
  233. package/retry/index.js.map +1 -1
  234. package/retry/maxAttemptsPolicy.cjs.map +1 -0
  235. package/retry/maxAttemptsPolicy.d.ts +5 -2
  236. package/retry/maxAttemptsPolicy.js +17 -18
  237. package/retry/maxAttemptsPolicy.js.map +1 -1
  238. package/retry/neverPolicy.cjs.map +1 -0
  239. package/retry/neverPolicy.d.ts +5 -2
  240. package/retry/neverPolicy.js +9 -10
  241. package/retry/neverPolicy.js.map +1 -1
  242. package/retry/policy.cjs.map +1 -0
  243. package/retry/policy.d.ts +3 -1
  244. package/retry/policy.js +0 -2
  245. package/retry/policy.js.map +1 -1
  246. package/schema/attributeSchema.cjs.map +1 -0
  247. package/schema/attributeSchema.d.ts +6 -2
  248. package/schema/attributeSchema.js +7 -7
  249. package/schema/attributeSchema.js.map +1 -1
  250. package/schema/contentFetcherSchemas.cjs.map +1 -0
  251. package/schema/contentFetcherSchemas.d.ts +6 -2
  252. package/schema/contentFetcherSchemas.js +24 -21
  253. package/schema/contentFetcherSchemas.js.map +1 -1
  254. package/schema/contentSchemas.cjs.map +1 -0
  255. package/schema/contentSchemas.d.ts +6 -2
  256. package/schema/contentSchemas.js +45 -45
  257. package/schema/contentSchemas.js.map +1 -1
  258. package/schema/contextSchemas.cjs.map +1 -0
  259. package/schema/contextSchemas.d.ts +6 -2
  260. package/schema/contextSchemas.js +6 -6
  261. package/schema/contextSchemas.js.map +1 -1
  262. package/schema/ecommerceSchemas.cjs.map +1 -0
  263. package/schema/ecommerceSchemas.d.ts +10 -6
  264. package/schema/ecommerceSchemas.js +176 -172
  265. package/schema/ecommerceSchemas.js.map +1 -1
  266. package/schema/evaluatorSchemas.cjs.map +1 -0
  267. package/schema/evaluatorSchemas.d.ts +6 -2
  268. package/schema/evaluatorSchemas.js +46 -30
  269. package/schema/evaluatorSchemas.js.map +1 -1
  270. package/schema/eventSchemas.cjs.map +1 -0
  271. package/schema/eventSchemas.d.ts +16 -12
  272. package/schema/eventSchemas.js +125 -102
  273. package/schema/eventSchemas.js.map +1 -1
  274. package/schema/index.cjs.map +1 -0
  275. package/schema/index.d.ts +14 -11
  276. package/schema/index.js +11 -14
  277. package/schema/index.js.map +1 -1
  278. package/schema/loggerSchema.cjs.map +1 -0
  279. package/schema/loggerSchema.d.ts +6 -2
  280. package/schema/loggerSchema.js +13 -13
  281. package/schema/loggerSchema.js.map +1 -1
  282. package/schema/operationSchemas.cjs.map +1 -0
  283. package/schema/operationSchemas.d.ts +14 -10
  284. package/schema/operationSchemas.js +85 -69
  285. package/schema/operationSchemas.js.map +1 -1
  286. package/schema/sdkFacadeSchemas.cjs.map +1 -0
  287. package/schema/sdkFacadeSchemas.d.ts +6 -2
  288. package/schema/sdkFacadeSchemas.js +65 -51
  289. package/schema/sdkFacadeSchemas.js.map +1 -1
  290. package/schema/sdkSchemas.cjs.map +1 -0
  291. package/schema/sdkSchemas.d.ts +8 -4
  292. package/schema/sdkSchemas.js +80 -78
  293. package/schema/sdkSchemas.js.map +1 -1
  294. package/schema/tokenSchema.cjs.map +1 -0
  295. package/schema/tokenSchema.d.ts +6 -2
  296. package/schema/tokenSchema.js +41 -38
  297. package/schema/tokenSchema.js.map +1 -1
  298. package/schema/userSchema.cjs.map +1 -0
  299. package/schema/userSchema.d.ts +6 -2
  300. package/schema/userSchema.js +183 -134
  301. package/schema/userSchema.js.map +1 -1
  302. package/sdk.cjs.map +1 -0
  303. package/sdk.d.ts +28 -14
  304. package/sdk.js +106 -108
  305. package/sdk.js.map +1 -1
  306. package/sdkEvents.cjs.map +1 -0
  307. package/sdkEvents.d.ts +10 -5
  308. package/sdkEvents.js +0 -2
  309. package/sdkEvents.js.map +1 -1
  310. package/sourceLocation.cjs.map +1 -0
  311. package/sourceLocation.d.ts +7 -5
  312. package/sourceLocation.js +56 -57
  313. package/sourceLocation.js.map +1 -1
  314. package/tab.cjs.map +1 -0
  315. package/tab.d.ts +9 -7
  316. package/tab.js +93 -90
  317. package/tab.js.map +1 -1
  318. package/token/cachedTokenStore.cjs.map +1 -0
  319. package/token/cachedTokenStore.d.ts +8 -3
  320. package/token/cachedTokenStore.js +22 -24
  321. package/token/cachedTokenStore.js.map +1 -1
  322. package/token/inMemoryTokenStore.cjs.map +1 -0
  323. package/token/inMemoryTokenStore.d.ts +7 -2
  324. package/token/inMemoryTokenStore.js +12 -13
  325. package/token/inMemoryTokenStore.js.map +1 -1
  326. package/token/index.cjs.map +1 -0
  327. package/token/index.d.ts +7 -4
  328. package/token/index.js +9 -11
  329. package/token/index.js.map +1 -1
  330. package/token/replicatedTokenStore.cjs.map +1 -0
  331. package/token/replicatedTokenStore.d.ts +7 -2
  332. package/token/replicatedTokenStore.js +14 -15
  333. package/token/replicatedTokenStore.js.map +1 -1
  334. package/token/token.cjs.map +1 -0
  335. package/token/token.d.ts +11 -8
  336. package/token/token.js +212 -195
  337. package/token/token.js.map +1 -1
  338. package/tracker.cjs.map +1 -0
  339. package/tracker.d.ts +20 -13
  340. package/tracker.js +307 -307
  341. package/tracker.js.map +1 -1
  342. package/trackingEvents.cjs.map +1 -0
  343. package/trackingEvents.d.ts +65 -62
  344. package/trackingEvents.js +57 -56
  345. package/trackingEvents.js.map +1 -1
  346. package/transformer.cjs.map +1 -0
  347. package/transformer.d.ts +4 -2
  348. package/transformer.js +5 -6
  349. package/transformer.js.map +1 -1
  350. package/utilityTypes.cjs.map +1 -0
  351. package/utilityTypes.d.ts +4 -2
  352. package/utilityTypes.js +0 -2
  353. package/utilityTypes.js.map +1 -1
  354. package/uuid.cjs.map +1 -0
  355. package/uuid.d.ts +3 -1
  356. package/uuid.js +27 -32
  357. package/uuid.js.map +1 -1
  358. package/validation/arrayType.cjs.map +1 -0
  359. package/validation/arrayType.d.ts +5 -3
  360. package/validation/arrayType.js +45 -41
  361. package/validation/arrayType.js.map +1 -1
  362. package/validation/booleanType.cjs.map +1 -0
  363. package/validation/booleanType.d.ts +5 -2
  364. package/validation/booleanType.js +19 -16
  365. package/validation/booleanType.js.map +1 -1
  366. package/validation/functionType.cjs.map +1 -0
  367. package/validation/functionType.d.ts +5 -2
  368. package/validation/functionType.js +19 -16
  369. package/validation/functionType.js.map +1 -1
  370. package/validation/index.cjs.map +1 -0
  371. package/validation/index.d.ts +12 -12
  372. package/validation/index.js +27 -29
  373. package/validation/index.js.map +1 -1
  374. package/validation/jsonType.cjs.map +1 -0
  375. package/validation/jsonType.d.ts +8 -6
  376. package/validation/jsonType.js +89 -82
  377. package/validation/jsonType.js.map +1 -1
  378. package/validation/mixedSchema.cjs.map +1 -0
  379. package/validation/mixedSchema.d.ts +5 -2
  380. package/validation/mixedSchema.js +5 -7
  381. package/validation/mixedSchema.js.map +1 -1
  382. package/validation/nullType.cjs.map +1 -0
  383. package/validation/nullType.d.ts +5 -2
  384. package/validation/nullType.js +19 -16
  385. package/validation/nullType.js.map +1 -1
  386. package/validation/numberType.cjs.map +1 -0
  387. package/validation/numberType.d.ts +5 -3
  388. package/validation/numberType.js +40 -32
  389. package/validation/numberType.js.map +1 -1
  390. package/validation/objectType.cjs.map +1 -0
  391. package/validation/objectType.d.ts +5 -3
  392. package/validation/objectType.js +84 -85
  393. package/validation/objectType.js.map +1 -1
  394. package/validation/schema.cjs.map +1 -0
  395. package/validation/schema.d.ts +5 -3
  396. package/validation/schema.js +8 -9
  397. package/validation/schema.js.map +1 -1
  398. package/validation/stringType.cjs.map +1 -0
  399. package/validation/stringType.d.ts +5 -3
  400. package/validation/stringType.js +74 -70
  401. package/validation/stringType.js.map +1 -1
  402. package/validation/unionType.cjs.map +1 -0
  403. package/validation/unionType.d.ts +5 -2
  404. package/validation/unionType.js +37 -35
  405. package/validation/unionType.js.map +1 -1
  406. package/validation/violation.cjs.map +1 -0
  407. package/validation/violation.d.ts +4 -2
  408. package/validation/violation.js +18 -18
  409. package/validation/violation.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/facade/sdkFacade.ts"],"sourcesContent":["import {EvaluatorFacade, TabContextFactory} from './evaluatorFacade';\nimport {TrackerFacade} from './trackerFacade';\nimport {Context, TokenScope} from '../context';\nimport {UserFacade} from './userFacade';\nimport {Token, TokenStore} from '../token';\nimport {formatCause} from '../error';\nimport {sdkFacadeConfigurationSchema} from '../schema';\nimport {Sdk} from '../sdk';\nimport {SessionFacade} from './sessionFacade';\nimport {Logger} from '../logging';\nimport {SdkEventMap} from '../sdkEvents';\nimport {EventManager} from '../eventManager';\nimport {CidAssigner} from '../cid';\nimport {PartialTrackingEvent} from '../trackingEvents';\nimport {UrlSanitizer} from '../tab';\nimport {ContentFetcherFacade} from './contentFetcherFacade';\nimport {CookieCacheConfiguration} from '../cache/cookieCache';\nimport {EventSubjectProcessor} from '../eventSubjectProcessor';\n\nexport type Configuration = {\n appId: string,\n tokenScope?: TokenScope,\n debug?: boolean,\n test?: boolean,\n track?: boolean,\n token?: string | null,\n userId?: string | null,\n clientId?: string,\n eventMetadata?: {[key: string]: string},\n logger?: Logger,\n urlSanitizer?: UrlSanitizer,\n baseEndpointUrl?: string,\n disableCidMirroring?: boolean,\n cidAssignerEndpointUrl?: string,\n cookie?: {\n clientId?: CookieCacheConfiguration,\n userToken?: CookieCacheConfiguration,\n previewToken?: CookieCacheConfiguration,\n },\n defaultFetchTimeout?: number,\n defaultPreferredLocale?: string,\n};\n\nfunction validateConfiguration(configuration: unknown): asserts configuration is Configuration {\n try {\n sdkFacadeConfigurationSchema.validate(configuration);\n } catch (violation) {\n throw new Error(`Invalid configuration: ${formatCause(violation)}`);\n }\n}\n\nexport class SdkFacade {\n private readonly sdk: Sdk;\n\n private trackerFacade?: TrackerFacade;\n\n private userFacade?: UserFacade;\n\n private sessionFacade?: SessionFacade;\n\n private evaluatorFacade?: EvaluatorFacade;\n\n private contentFetcherFacade?: ContentFetcherFacade;\n\n private constructor(sdk: Sdk) {\n this.sdk = sdk;\n }\n\n public static init(configuration: Configuration): SdkFacade {\n validateConfiguration(configuration);\n\n const {track = true, userId, token, ...containerConfiguration} = configuration;\n\n if (userId !== undefined && token !== undefined) {\n throw new Error('Either the user ID or token can be specified, but not both.');\n }\n\n const sdk = new SdkFacade(\n Sdk.init({\n ...containerConfiguration,\n tokenScope: containerConfiguration.tokenScope ?? 'global',\n debug: containerConfiguration.debug ?? false,\n test: containerConfiguration.test ?? false,\n disableCidMirroring: containerConfiguration.disableCidMirroring ?? false,\n eventProcessor: container => new EventSubjectProcessor(container.getLogger('EventSubjectProcessor')),\n }),\n );\n\n if (userId !== undefined) {\n const currentToken = sdk.context.getToken();\n const currentSubject = currentToken?.getSubject() ?? null;\n\n if (currentSubject !== userId) {\n if (userId === null) {\n sdk.unsetToken();\n } else {\n sdk.identify(userId);\n }\n }\n } else if (token !== undefined) {\n if (token === null) {\n sdk.unsetToken();\n } else {\n sdk.setToken(Token.parse(token));\n }\n }\n\n if (track) {\n sdk.tracker.enable();\n }\n\n return sdk;\n }\n\n public get context(): Context {\n return this.sdk.context;\n }\n\n public get cidAssigner(): CidAssigner {\n return this.sdk.cidAssigner;\n }\n\n public get previewTokenStore(): TokenStore {\n return this.sdk.previewTokenStore;\n }\n\n public get userTokenStore(): TokenStore {\n return this.sdk.userTokenStore;\n }\n\n public get tracker(): TrackerFacade {\n if (this.trackerFacade === undefined) {\n this.trackerFacade = new TrackerFacade(this.sdk.tracker);\n }\n\n return this.trackerFacade;\n }\n\n public get user(): UserFacade {\n if (this.userFacade === undefined) {\n this.userFacade = new UserFacade(this.context, this.sdk.tracker);\n }\n\n return this.userFacade;\n }\n\n public get session(): SessionFacade {\n if (this.sessionFacade === undefined) {\n this.sessionFacade = new SessionFacade(this.sdk.tracker);\n }\n\n return this.sessionFacade;\n }\n\n public get evaluator(): EvaluatorFacade {\n if (this.evaluatorFacade === undefined) {\n this.evaluatorFacade = new EvaluatorFacade({\n evaluator: this.sdk.evaluator,\n contextFactory: new TabContextFactory(this.sdk\n .context\n .getTab()),\n cidAssigner: this.sdk.cidAssigner,\n userTokenProvider: this.sdk.userTokenStore,\n });\n }\n\n return this.evaluatorFacade;\n }\n\n public get contentFetcher(): ContentFetcherFacade {\n if (this.contentFetcherFacade === undefined) {\n this.contentFetcherFacade = new ContentFetcherFacade({\n contentFetcher: this.sdk.contentFetcher,\n contextFactory: new TabContextFactory(this.sdk\n .context\n .getTab()),\n cidAssigner: this.sdk.cidAssigner,\n previewTokenProvider: this.sdk.previewTokenStore,\n userTokenProvider: this.sdk.userTokenStore,\n });\n }\n\n return this.contentFetcherFacade;\n }\n\n public get eventManager(): EventManager<Record<string, Record<string, unknown>>, SdkEventMap> {\n const {eventManager} = this.sdk;\n\n return {\n addListener: eventManager.addListener.bind(eventManager),\n removeListener: eventManager.removeListener.bind(eventManager),\n dispatch: (eventName: string, event: Record<string, unknown>): void => {\n if (!/[a-z][a-z_]+\\.[a-z][a-z_]+/i.test(eventName)) {\n throw new Error(\n 'The event name must be in the form of \"namespaced.eventName\", where '\n + 'both the namespace and event name must start with a letter, followed by '\n + 'any series of letters and underscores.',\n );\n }\n\n eventManager.dispatch(eventName, event);\n },\n };\n }\n\n public identify(userId: string): void {\n this.setToken(Token.issue(this.sdk.appId, userId));\n }\n\n public anonymize(): void {\n if (!this.context.isAnonymous()) {\n this.unsetToken();\n }\n }\n\n public getToken(): Token|null {\n return this.context.getToken();\n }\n\n public setToken(token: Token): void {\n const currentToken = this.getToken();\n\n if (currentToken !== null && currentToken.toString() === token.toString()) {\n return;\n }\n\n const currentSubject = currentToken?.getSubject() ?? null;\n const subject = token.getSubject();\n const logger = this.getLogger();\n\n if (subject === currentSubject) {\n this.context.setToken(token);\n\n logger.debug('Token refreshed');\n\n return;\n }\n\n if (currentSubject !== null) {\n this.trackInternalEvent({\n type: 'userSignedOut',\n userId: currentSubject,\n });\n\n logger.info('User signed out');\n }\n\n this.context.setToken(token);\n\n if (subject !== null) {\n this.trackInternalEvent({\n type: 'userSignedIn',\n userId: subject,\n });\n\n logger.info(`User signed in as ${subject}`);\n }\n\n logger.debug('New token saved, ');\n }\n\n public unsetToken(): void {\n const token = this.getToken();\n\n if (token === null) {\n return;\n }\n\n const logger = this.getLogger();\n const subject = token.getSubject();\n\n if (subject !== null) {\n this.trackInternalEvent({\n type: 'userSignedOut',\n userId: subject,\n });\n\n logger.info('User signed out');\n }\n\n this.context.setToken(null);\n\n logger.debug('Token removed');\n }\n\n private trackInternalEvent(event: PartialTrackingEvent): void {\n this.sdk\n .tracker\n .track(event)\n .catch(() => {\n // suppress error as it is already logged by the tracker\n });\n }\n\n public getLogger(...namespace: string[]): Logger {\n return this.sdk.getLogger(...namespace);\n }\n\n public getTabStorage(namespace: string, ...subnamespace: string[]): Storage {\n return this.sdk.getTabStorage(namespace, ...subnamespace);\n }\n\n public getBrowserStorage(namespace: string, ...subnamespace: string[]): Storage {\n return this.sdk.getBrowserStorage(namespace, ...subnamespace);\n }\n\n public close(): Promise<void> {\n return this.sdk.close();\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,17 +1,33 @@
1
- import { EvaluatorFacade } from './evaluatorFacade';
2
- import { TrackerFacade } from './trackerFacade';
3
- import { Context, TokenScope } from '../context';
4
- import { UserFacade } from './userFacade';
5
- import { Token, TokenStore } from '../token';
6
- import { SessionFacade } from './sessionFacade';
7
- import { Logger } from '../logging';
8
- import { SdkEventMap } from '../sdkEvents';
9
- import { EventManager } from '../eventManager';
10
- import { CidAssigner } from '../cid';
11
- import { UrlSanitizer } from '../tab';
12
- import { ContentFetcherFacade } from './contentFetcherFacade';
13
- import { CookieCacheConfiguration } from '../cache/cookieCache';
14
- export type Configuration = {
1
+ import { EvaluatorFacade } from './evaluatorFacade.js';
2
+ import { TrackerFacade } from './trackerFacade.js';
3
+ import { TokenScope, Context } from '../context.js';
4
+ import { UserFacade } from './userFacade.js';
5
+ import { TokenStore, Token } from '../token/token.js';
6
+ import { SessionFacade } from './sessionFacade.js';
7
+ import { Logger } from '../logging/logger.js';
8
+ import { SdkEventMap } from '../sdkEvents.js';
9
+ import { EventManager } from '../eventManager.js';
10
+ import { CidAssigner } from '../cid/assigner.js';
11
+ import { UrlSanitizer } from '../tab.js';
12
+ import { ContentFetcherFacade } from './contentFetcherFacade.js';
13
+ import { CookieCacheConfiguration } from '../cache/cookieCache.js';
14
+ import './sessionPatch.js';
15
+ import './userPatch.js';
16
+ import '@croct/json';
17
+ import '../evaluator.js';
18
+ import '../sourceLocation.js';
19
+ import '../apiKey.js';
20
+ import '../trackingEvents.js';
21
+ import '../patch.js';
22
+ import '../utilityTypes.js';
23
+ import '../tracker.js';
24
+ import '../channel/channel.js';
25
+ import '../retry/policy.js';
26
+ import '../cache/cache.js';
27
+ import '../activeRecord.js';
28
+ import '../contentFetcher.js';
29
+
30
+ type Configuration = {
15
31
  appId: string;
16
32
  tokenScope?: TokenScope;
17
33
  debug?: boolean;
@@ -36,7 +52,7 @@ export type Configuration = {
36
52
  defaultFetchTimeout?: number;
37
53
  defaultPreferredLocale?: string;
38
54
  };
39
- export declare class SdkFacade {
55
+ declare class SdkFacade {
40
56
  private readonly sdk;
41
57
  private trackerFacade?;
42
58
  private userFacade?;
@@ -66,3 +82,5 @@ export declare class SdkFacade {
66
82
  getBrowserStorage(namespace: string, ...subnamespace: string[]): Storage;
67
83
  close(): Promise<void>;
68
84
  }
85
+
86
+ export { type Configuration, SdkFacade };
@@ -1,219 +1,206 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SdkFacade = void 0;
4
- const evaluatorFacade_1 = require("./evaluatorFacade");
5
- const trackerFacade_1 = require("./trackerFacade");
6
- const userFacade_1 = require("./userFacade");
7
- const token_1 = require("../token");
8
- const error_1 = require("../error");
9
- const schema_1 = require("../schema");
10
- const sdk_1 = require("../sdk");
11
- const sessionFacade_1 = require("./sessionFacade");
12
- const contentFetcherFacade_1 = require("./contentFetcherFacade");
13
- const eventSubjectProcessor_1 = require("../eventSubjectProcessor");
1
+ import { EvaluatorFacade, TabContextFactory } from "./evaluatorFacade";
2
+ import { TrackerFacade } from "./trackerFacade";
3
+ import { UserFacade } from "./userFacade";
4
+ import { Token } from "../token";
5
+ import { formatCause } from "../error";
6
+ import { sdkFacadeConfigurationSchema } from "../schema";
7
+ import { Sdk } from "../sdk";
8
+ import { SessionFacade } from "./sessionFacade";
9
+ import { ContentFetcherFacade } from "./contentFetcherFacade";
10
+ import { EventSubjectProcessor } from "../eventSubjectProcessor";
14
11
  function validateConfiguration(configuration) {
15
- try {
16
- schema_1.sdkFacadeConfigurationSchema.validate(configuration);
17
- }
18
- catch (violation) {
19
- throw new Error(`Invalid configuration: ${(0, error_1.formatCause)(violation)}`);
20
- }
12
+ try {
13
+ sdkFacadeConfigurationSchema.validate(configuration);
14
+ } catch (violation) {
15
+ throw new Error(`Invalid configuration: ${formatCause(violation)}`);
16
+ }
21
17
  }
22
18
  class SdkFacade {
23
- constructor(sdk) {
24
- this.sdk = sdk;
25
- }
26
- static init(configuration) {
27
- var _a, _b, _c, _d, _e;
28
- validateConfiguration(configuration);
29
- const { track = true, userId, token, ...containerConfiguration } = configuration;
30
- if (userId !== undefined && token !== undefined) {
31
- throw new Error('Either the user ID or token can be specified, but not both.');
32
- }
33
- const sdk = new SdkFacade(sdk_1.Sdk.init({
34
- ...containerConfiguration,
35
- tokenScope: (_a = containerConfiguration.tokenScope) !== null && _a !== void 0 ? _a : 'global',
36
- debug: (_b = containerConfiguration.debug) !== null && _b !== void 0 ? _b : false,
37
- test: (_c = containerConfiguration.test) !== null && _c !== void 0 ? _c : false,
38
- disableCidMirroring: (_d = containerConfiguration.disableCidMirroring) !== null && _d !== void 0 ? _d : false,
39
- eventProcessor: container => new eventSubjectProcessor_1.EventSubjectProcessor(container.getLogger('EventSubjectProcessor')),
40
- }));
41
- if (userId !== undefined) {
42
- const currentToken = sdk.context.getToken();
43
- const currentSubject = (_e = currentToken === null || currentToken === void 0 ? void 0 : currentToken.getSubject()) !== null && _e !== void 0 ? _e : null;
44
- if (currentSubject !== userId) {
45
- if (userId === null) {
46
- sdk.unsetToken();
47
- }
48
- else {
49
- sdk.identify(userId);
50
- }
51
- }
52
- }
53
- else if (token !== undefined) {
54
- if (token === null) {
55
- sdk.unsetToken();
56
- }
57
- else {
58
- sdk.setToken(token_1.Token.parse(token));
59
- }
60
- }
61
- if (track) {
62
- sdk.tracker.enable();
63
- }
64
- return sdk;
65
- }
66
- get context() {
67
- return this.sdk.context;
68
- }
69
- get cidAssigner() {
70
- return this.sdk.cidAssigner;
71
- }
72
- get previewTokenStore() {
73
- return this.sdk.previewTokenStore;
74
- }
75
- get userTokenStore() {
76
- return this.sdk.userTokenStore;
77
- }
78
- get tracker() {
79
- if (this.trackerFacade === undefined) {
80
- this.trackerFacade = new trackerFacade_1.TrackerFacade(this.sdk.tracker);
81
- }
82
- return this.trackerFacade;
83
- }
84
- get user() {
85
- if (this.userFacade === undefined) {
86
- this.userFacade = new userFacade_1.UserFacade(this.context, this.sdk.tracker);
87
- }
88
- return this.userFacade;
89
- }
90
- get session() {
91
- if (this.sessionFacade === undefined) {
92
- this.sessionFacade = new sessionFacade_1.SessionFacade(this.sdk.tracker);
93
- }
94
- return this.sessionFacade;
95
- }
96
- get evaluator() {
97
- if (this.evaluatorFacade === undefined) {
98
- this.evaluatorFacade = new evaluatorFacade_1.EvaluatorFacade({
99
- evaluator: this.sdk.evaluator,
100
- contextFactory: new evaluatorFacade_1.TabContextFactory(this.sdk
101
- .context
102
- .getTab()),
103
- cidAssigner: this.sdk.cidAssigner,
104
- userTokenProvider: this.sdk.userTokenStore,
105
- });
106
- }
107
- return this.evaluatorFacade;
108
- }
109
- get contentFetcher() {
110
- if (this.contentFetcherFacade === undefined) {
111
- this.contentFetcherFacade = new contentFetcherFacade_1.ContentFetcherFacade({
112
- contentFetcher: this.sdk.contentFetcher,
113
- contextFactory: new evaluatorFacade_1.TabContextFactory(this.sdk
114
- .context
115
- .getTab()),
116
- cidAssigner: this.sdk.cidAssigner,
117
- previewTokenProvider: this.sdk.previewTokenStore,
118
- userTokenProvider: this.sdk.userTokenStore,
119
- });
120
- }
121
- return this.contentFetcherFacade;
122
- }
123
- get eventManager() {
124
- const { eventManager } = this.sdk;
125
- return {
126
- addListener: eventManager.addListener.bind(eventManager),
127
- removeListener: eventManager.removeListener.bind(eventManager),
128
- dispatch: (eventName, event) => {
129
- if (!/[a-z][a-z_]+\.[a-z][a-z_]+/i.test(eventName)) {
130
- throw new Error('The event name must be in the form of "namespaced.eventName", where '
131
- + 'both the namespace and event name must start with a letter, followed by '
132
- + 'any series of letters and underscores.');
133
- }
134
- eventManager.dispatch(eventName, event);
135
- },
136
- };
137
- }
138
- identify(userId) {
139
- this.setToken(token_1.Token.issue(this.sdk.appId, userId));
140
- }
141
- anonymize() {
142
- if (!this.context.isAnonymous()) {
143
- this.unsetToken();
144
- }
145
- }
146
- getToken() {
147
- return this.context.getToken();
148
- }
149
- setToken(token) {
150
- var _a;
151
- const currentToken = this.getToken();
152
- if (currentToken !== null && currentToken.toString() === token.toString()) {
153
- return;
154
- }
155
- const currentSubject = (_a = currentToken === null || currentToken === void 0 ? void 0 : currentToken.getSubject()) !== null && _a !== void 0 ? _a : null;
156
- const subject = token.getSubject();
157
- const logger = this.getLogger();
158
- if (subject === currentSubject) {
159
- this.context.setToken(token);
160
- logger.debug('Token refreshed');
161
- return;
162
- }
163
- if (currentSubject !== null) {
164
- this.trackInternalEvent({
165
- type: 'userSignedOut',
166
- userId: currentSubject,
167
- });
168
- logger.info('User signed out');
169
- }
170
- this.context.setToken(token);
171
- if (subject !== null) {
172
- this.trackInternalEvent({
173
- type: 'userSignedIn',
174
- userId: subject,
175
- });
176
- logger.info(`User signed in as ${subject}`);
177
- }
178
- logger.debug('New token saved, ');
179
- }
180
- unsetToken() {
181
- const token = this.getToken();
182
- if (token === null) {
183
- return;
184
- }
185
- const logger = this.getLogger();
186
- const subject = token.getSubject();
187
- if (subject !== null) {
188
- this.trackInternalEvent({
189
- type: 'userSignedOut',
190
- userId: subject,
191
- });
192
- logger.info('User signed out');
193
- }
194
- this.context.setToken(null);
195
- logger.debug('Token removed');
196
- }
197
- trackInternalEvent(event) {
198
- this.sdk
199
- .tracker
200
- .track(event)
201
- .catch(() => {
202
- // suppress error as it is already logged by the tracker
203
- });
204
- }
205
- getLogger(...namespace) {
206
- return this.sdk.getLogger(...namespace);
207
- }
208
- getTabStorage(namespace, ...subnamespace) {
209
- return this.sdk.getTabStorage(namespace, ...subnamespace);
210
- }
211
- getBrowserStorage(namespace, ...subnamespace) {
212
- return this.sdk.getBrowserStorage(namespace, ...subnamespace);
213
- }
214
- close() {
215
- return this.sdk.close();
216
- }
19
+ constructor(sdk) {
20
+ this.sdk = sdk;
21
+ }
22
+ static init(configuration) {
23
+ validateConfiguration(configuration);
24
+ const { track = true, userId, token, ...containerConfiguration } = configuration;
25
+ if (userId !== void 0 && token !== void 0) {
26
+ throw new Error("Either the user ID or token can be specified, but not both.");
27
+ }
28
+ const sdk = new SdkFacade(
29
+ Sdk.init({
30
+ ...containerConfiguration,
31
+ tokenScope: containerConfiguration.tokenScope ?? "global",
32
+ debug: containerConfiguration.debug ?? false,
33
+ test: containerConfiguration.test ?? false,
34
+ disableCidMirroring: containerConfiguration.disableCidMirroring ?? false,
35
+ eventProcessor: (container) => new EventSubjectProcessor(container.getLogger("EventSubjectProcessor"))
36
+ })
37
+ );
38
+ if (userId !== void 0) {
39
+ const currentToken = sdk.context.getToken();
40
+ const currentSubject = currentToken?.getSubject() ?? null;
41
+ if (currentSubject !== userId) {
42
+ if (userId === null) {
43
+ sdk.unsetToken();
44
+ } else {
45
+ sdk.identify(userId);
46
+ }
47
+ }
48
+ } else if (token !== void 0) {
49
+ if (token === null) {
50
+ sdk.unsetToken();
51
+ } else {
52
+ sdk.setToken(Token.parse(token));
53
+ }
54
+ }
55
+ if (track) {
56
+ sdk.tracker.enable();
57
+ }
58
+ return sdk;
59
+ }
60
+ get context() {
61
+ return this.sdk.context;
62
+ }
63
+ get cidAssigner() {
64
+ return this.sdk.cidAssigner;
65
+ }
66
+ get previewTokenStore() {
67
+ return this.sdk.previewTokenStore;
68
+ }
69
+ get userTokenStore() {
70
+ return this.sdk.userTokenStore;
71
+ }
72
+ get tracker() {
73
+ if (this.trackerFacade === void 0) {
74
+ this.trackerFacade = new TrackerFacade(this.sdk.tracker);
75
+ }
76
+ return this.trackerFacade;
77
+ }
78
+ get user() {
79
+ if (this.userFacade === void 0) {
80
+ this.userFacade = new UserFacade(this.context, this.sdk.tracker);
81
+ }
82
+ return this.userFacade;
83
+ }
84
+ get session() {
85
+ if (this.sessionFacade === void 0) {
86
+ this.sessionFacade = new SessionFacade(this.sdk.tracker);
87
+ }
88
+ return this.sessionFacade;
89
+ }
90
+ get evaluator() {
91
+ if (this.evaluatorFacade === void 0) {
92
+ this.evaluatorFacade = new EvaluatorFacade({
93
+ evaluator: this.sdk.evaluator,
94
+ contextFactory: new TabContextFactory(this.sdk.context.getTab()),
95
+ cidAssigner: this.sdk.cidAssigner,
96
+ userTokenProvider: this.sdk.userTokenStore
97
+ });
98
+ }
99
+ return this.evaluatorFacade;
100
+ }
101
+ get contentFetcher() {
102
+ if (this.contentFetcherFacade === void 0) {
103
+ this.contentFetcherFacade = new ContentFetcherFacade({
104
+ contentFetcher: this.sdk.contentFetcher,
105
+ contextFactory: new TabContextFactory(this.sdk.context.getTab()),
106
+ cidAssigner: this.sdk.cidAssigner,
107
+ previewTokenProvider: this.sdk.previewTokenStore,
108
+ userTokenProvider: this.sdk.userTokenStore
109
+ });
110
+ }
111
+ return this.contentFetcherFacade;
112
+ }
113
+ get eventManager() {
114
+ const { eventManager } = this.sdk;
115
+ return {
116
+ addListener: eventManager.addListener.bind(eventManager),
117
+ removeListener: eventManager.removeListener.bind(eventManager),
118
+ dispatch: (eventName, event) => {
119
+ if (!/[a-z][a-z_]+\.[a-z][a-z_]+/i.test(eventName)) {
120
+ throw new Error(
121
+ 'The event name must be in the form of "namespaced.eventName", where both the namespace and event name must start with a letter, followed by any series of letters and underscores.'
122
+ );
123
+ }
124
+ eventManager.dispatch(eventName, event);
125
+ }
126
+ };
127
+ }
128
+ identify(userId) {
129
+ this.setToken(Token.issue(this.sdk.appId, userId));
130
+ }
131
+ anonymize() {
132
+ if (!this.context.isAnonymous()) {
133
+ this.unsetToken();
134
+ }
135
+ }
136
+ getToken() {
137
+ return this.context.getToken();
138
+ }
139
+ setToken(token) {
140
+ const currentToken = this.getToken();
141
+ if (currentToken !== null && currentToken.toString() === token.toString()) {
142
+ return;
143
+ }
144
+ const currentSubject = currentToken?.getSubject() ?? null;
145
+ const subject = token.getSubject();
146
+ const logger = this.getLogger();
147
+ if (subject === currentSubject) {
148
+ this.context.setToken(token);
149
+ logger.debug("Token refreshed");
150
+ return;
151
+ }
152
+ if (currentSubject !== null) {
153
+ this.trackInternalEvent({
154
+ type: "userSignedOut",
155
+ userId: currentSubject
156
+ });
157
+ logger.info("User signed out");
158
+ }
159
+ this.context.setToken(token);
160
+ if (subject !== null) {
161
+ this.trackInternalEvent({
162
+ type: "userSignedIn",
163
+ userId: subject
164
+ });
165
+ logger.info(`User signed in as ${subject}`);
166
+ }
167
+ logger.debug("New token saved, ");
168
+ }
169
+ unsetToken() {
170
+ const token = this.getToken();
171
+ if (token === null) {
172
+ return;
173
+ }
174
+ const logger = this.getLogger();
175
+ const subject = token.getSubject();
176
+ if (subject !== null) {
177
+ this.trackInternalEvent({
178
+ type: "userSignedOut",
179
+ userId: subject
180
+ });
181
+ logger.info("User signed out");
182
+ }
183
+ this.context.setToken(null);
184
+ logger.debug("Token removed");
185
+ }
186
+ trackInternalEvent(event) {
187
+ this.sdk.tracker.track(event).catch(() => {
188
+ });
189
+ }
190
+ getLogger(...namespace) {
191
+ return this.sdk.getLogger(...namespace);
192
+ }
193
+ getTabStorage(namespace, ...subnamespace) {
194
+ return this.sdk.getTabStorage(namespace, ...subnamespace);
195
+ }
196
+ getBrowserStorage(namespace, ...subnamespace) {
197
+ return this.sdk.getBrowserStorage(namespace, ...subnamespace);
198
+ }
199
+ close() {
200
+ return this.sdk.close();
201
+ }
217
202
  }
218
- exports.SdkFacade = SdkFacade;
203
+ export {
204
+ SdkFacade
205
+ };
219
206
  //# sourceMappingURL=sdkFacade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdkFacade.js","sourceRoot":"","sources":["../src/facade/sdkFacade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../src/facade/sdkFacade.ts"],"sourcesContent":["import {EvaluatorFacade, TabContextFactory} from './evaluatorFacade';\nimport {TrackerFacade} from './trackerFacade';\nimport {Context, TokenScope} from '../context';\nimport {UserFacade} from './userFacade';\nimport {Token, TokenStore} from '../token';\nimport {formatCause} from '../error';\nimport {sdkFacadeConfigurationSchema} from '../schema';\nimport {Sdk} from '../sdk';\nimport {SessionFacade} from './sessionFacade';\nimport {Logger} from '../logging';\nimport {SdkEventMap} from '../sdkEvents';\nimport {EventManager} from '../eventManager';\nimport {CidAssigner} from '../cid';\nimport {PartialTrackingEvent} from '../trackingEvents';\nimport {UrlSanitizer} from '../tab';\nimport {ContentFetcherFacade} from './contentFetcherFacade';\nimport {CookieCacheConfiguration} from '../cache/cookieCache';\nimport {EventSubjectProcessor} from '../eventSubjectProcessor';\n\nexport type Configuration = {\n appId: string,\n tokenScope?: TokenScope,\n debug?: boolean,\n test?: boolean,\n track?: boolean,\n token?: string | null,\n userId?: string | null,\n clientId?: string,\n eventMetadata?: {[key: string]: string},\n logger?: Logger,\n urlSanitizer?: UrlSanitizer,\n baseEndpointUrl?: string,\n disableCidMirroring?: boolean,\n cidAssignerEndpointUrl?: string,\n cookie?: {\n clientId?: CookieCacheConfiguration,\n userToken?: CookieCacheConfiguration,\n previewToken?: CookieCacheConfiguration,\n },\n defaultFetchTimeout?: number,\n defaultPreferredLocale?: string,\n};\n\nfunction validateConfiguration(configuration: unknown): asserts configuration is Configuration {\n try {\n sdkFacadeConfigurationSchema.validate(configuration);\n } catch (violation) {\n throw new Error(`Invalid configuration: ${formatCause(violation)}`);\n }\n}\n\nexport class SdkFacade {\n private readonly sdk: Sdk;\n\n private trackerFacade?: TrackerFacade;\n\n private userFacade?: UserFacade;\n\n private sessionFacade?: SessionFacade;\n\n private evaluatorFacade?: EvaluatorFacade;\n\n private contentFetcherFacade?: ContentFetcherFacade;\n\n private constructor(sdk: Sdk) {\n this.sdk = sdk;\n }\n\n public static init(configuration: Configuration): SdkFacade {\n validateConfiguration(configuration);\n\n const {track = true, userId, token, ...containerConfiguration} = configuration;\n\n if (userId !== undefined && token !== undefined) {\n throw new Error('Either the user ID or token can be specified, but not both.');\n }\n\n const sdk = new SdkFacade(\n Sdk.init({\n ...containerConfiguration,\n tokenScope: containerConfiguration.tokenScope ?? 'global',\n debug: containerConfiguration.debug ?? false,\n test: containerConfiguration.test ?? false,\n disableCidMirroring: containerConfiguration.disableCidMirroring ?? false,\n eventProcessor: container => new EventSubjectProcessor(container.getLogger('EventSubjectProcessor')),\n }),\n );\n\n if (userId !== undefined) {\n const currentToken = sdk.context.getToken();\n const currentSubject = currentToken?.getSubject() ?? null;\n\n if (currentSubject !== userId) {\n if (userId === null) {\n sdk.unsetToken();\n } else {\n sdk.identify(userId);\n }\n }\n } else if (token !== undefined) {\n if (token === null) {\n sdk.unsetToken();\n } else {\n sdk.setToken(Token.parse(token));\n }\n }\n\n if (track) {\n sdk.tracker.enable();\n }\n\n return sdk;\n }\n\n public get context(): Context {\n return this.sdk.context;\n }\n\n public get cidAssigner(): CidAssigner {\n return this.sdk.cidAssigner;\n }\n\n public get previewTokenStore(): TokenStore {\n return this.sdk.previewTokenStore;\n }\n\n public get userTokenStore(): TokenStore {\n return this.sdk.userTokenStore;\n }\n\n public get tracker(): TrackerFacade {\n if (this.trackerFacade === undefined) {\n this.trackerFacade = new TrackerFacade(this.sdk.tracker);\n }\n\n return this.trackerFacade;\n }\n\n public get user(): UserFacade {\n if (this.userFacade === undefined) {\n this.userFacade = new UserFacade(this.context, this.sdk.tracker);\n }\n\n return this.userFacade;\n }\n\n public get session(): SessionFacade {\n if (this.sessionFacade === undefined) {\n this.sessionFacade = new SessionFacade(this.sdk.tracker);\n }\n\n return this.sessionFacade;\n }\n\n public get evaluator(): EvaluatorFacade {\n if (this.evaluatorFacade === undefined) {\n this.evaluatorFacade = new EvaluatorFacade({\n evaluator: this.sdk.evaluator,\n contextFactory: new TabContextFactory(this.sdk\n .context\n .getTab()),\n cidAssigner: this.sdk.cidAssigner,\n userTokenProvider: this.sdk.userTokenStore,\n });\n }\n\n return this.evaluatorFacade;\n }\n\n public get contentFetcher(): ContentFetcherFacade {\n if (this.contentFetcherFacade === undefined) {\n this.contentFetcherFacade = new ContentFetcherFacade({\n contentFetcher: this.sdk.contentFetcher,\n contextFactory: new TabContextFactory(this.sdk\n .context\n .getTab()),\n cidAssigner: this.sdk.cidAssigner,\n previewTokenProvider: this.sdk.previewTokenStore,\n userTokenProvider: this.sdk.userTokenStore,\n });\n }\n\n return this.contentFetcherFacade;\n }\n\n public get eventManager(): EventManager<Record<string, Record<string, unknown>>, SdkEventMap> {\n const {eventManager} = this.sdk;\n\n return {\n addListener: eventManager.addListener.bind(eventManager),\n removeListener: eventManager.removeListener.bind(eventManager),\n dispatch: (eventName: string, event: Record<string, unknown>): void => {\n if (!/[a-z][a-z_]+\\.[a-z][a-z_]+/i.test(eventName)) {\n throw new Error(\n 'The event name must be in the form of \"namespaced.eventName\", where '\n + 'both the namespace and event name must start with a letter, followed by '\n + 'any series of letters and underscores.',\n );\n }\n\n eventManager.dispatch(eventName, event);\n },\n };\n }\n\n public identify(userId: string): void {\n this.setToken(Token.issue(this.sdk.appId, userId));\n }\n\n public anonymize(): void {\n if (!this.context.isAnonymous()) {\n this.unsetToken();\n }\n }\n\n public getToken(): Token|null {\n return this.context.getToken();\n }\n\n public setToken(token: Token): void {\n const currentToken = this.getToken();\n\n if (currentToken !== null && currentToken.toString() === token.toString()) {\n return;\n }\n\n const currentSubject = currentToken?.getSubject() ?? null;\n const subject = token.getSubject();\n const logger = this.getLogger();\n\n if (subject === currentSubject) {\n this.context.setToken(token);\n\n logger.debug('Token refreshed');\n\n return;\n }\n\n if (currentSubject !== null) {\n this.trackInternalEvent({\n type: 'userSignedOut',\n userId: currentSubject,\n });\n\n logger.info('User signed out');\n }\n\n this.context.setToken(token);\n\n if (subject !== null) {\n this.trackInternalEvent({\n type: 'userSignedIn',\n userId: subject,\n });\n\n logger.info(`User signed in as ${subject}`);\n }\n\n logger.debug('New token saved, ');\n }\n\n public unsetToken(): void {\n const token = this.getToken();\n\n if (token === null) {\n return;\n }\n\n const logger = this.getLogger();\n const subject = token.getSubject();\n\n if (subject !== null) {\n this.trackInternalEvent({\n type: 'userSignedOut',\n userId: subject,\n });\n\n logger.info('User signed out');\n }\n\n this.context.setToken(null);\n\n logger.debug('Token removed');\n }\n\n private trackInternalEvent(event: PartialTrackingEvent): void {\n this.sdk\n .tracker\n .track(event)\n .catch(() => {\n // suppress error as it is already logged by the tracker\n });\n }\n\n public getLogger(...namespace: string[]): Logger {\n return this.sdk.getLogger(...namespace);\n }\n\n public getTabStorage(namespace: string, ...subnamespace: string[]): Storage {\n return this.sdk.getTabStorage(namespace, ...subnamespace);\n }\n\n public getBrowserStorage(namespace: string, ...subnamespace: string[]): Storage {\n return this.sdk.getBrowserStorage(namespace, ...subnamespace);\n }\n\n public close(): Promise<void> {\n return this.sdk.close();\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/facade/sessionFacade.ts"],"sourcesContent":["import {Tracker} from '../tracker';\nimport {SessionPatch} from './sessionPatch';\n\nexport class SessionFacade {\n private readonly tracker: Tracker;\n\n public constructor(tracker: Tracker) {\n this.tracker = tracker;\n }\n\n public edit(): SessionPatch {\n return new SessionPatch(this.tracker);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAA2B;AAEpB,MAAM,cAAc;AAAA,EAGhB,YAAY,SAAkB;AACjC,SAAK,UAAU;AAAA,EACnB;AAAA,EAEO,OAAqB;AACxB,WAAO,IAAI,iCAAa,KAAK,OAAO;AAAA,EACxC;AACJ;","names":[]}
@@ -1,7 +1,22 @@
1
- import { Tracker } from '../tracker';
2
- import { SessionPatch } from './sessionPatch';
3
- export declare class SessionFacade {
1
+ import { Tracker } from '../tracker.js';
2
+ import { SessionPatch } from './sessionPatch.js';
3
+ import '../logging/logger.js';
4
+ import '../tab.js';
5
+ import '../eventManager.js';
6
+ import '../channel/channel.js';
7
+ import '../retry/policy.js';
8
+ import '../token/token.js';
9
+ import '@croct/json';
10
+ import '../apiKey.js';
11
+ import '../trackingEvents.js';
12
+ import '../patch.js';
13
+ import '../utilityTypes.js';
14
+ import '../activeRecord.js';
15
+
16
+ declare class SessionFacade {
4
17
  private readonly tracker;
5
18
  constructor(tracker: Tracker);
6
19
  edit(): SessionPatch;
7
20
  }
21
+
22
+ export { SessionFacade };
@@ -1,14 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SessionFacade = void 0;
4
- const sessionPatch_1 = require("./sessionPatch");
1
+ import { SessionPatch } from "./sessionPatch";
5
2
  class SessionFacade {
6
- constructor(tracker) {
7
- this.tracker = tracker;
8
- }
9
- edit() {
10
- return new sessionPatch_1.SessionPatch(this.tracker);
11
- }
3
+ constructor(tracker) {
4
+ this.tracker = tracker;
5
+ }
6
+ edit() {
7
+ return new SessionPatch(this.tracker);
8
+ }
12
9
  }
13
- exports.SessionFacade = SessionFacade;
10
+ export {
11
+ SessionFacade
12
+ };
14
13
  //# sourceMappingURL=sessionFacade.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessionFacade.js","sourceRoot":"","sources":["../src/facade/sessionFacade.ts"],"names":[],"mappings":";;;AACA,iDAA4C;AAE5C,MAAa,aAAa;IAGtB,YAAmB,OAAgB;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,IAAI;QACP,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;CACJ;AAVD,sCAUC"}
1
+ {"version":3,"sources":["../src/facade/sessionFacade.ts"],"sourcesContent":["import {Tracker} from '../tracker';\nimport {SessionPatch} from './sessionPatch';\n\nexport class SessionFacade {\n private readonly tracker: Tracker;\n\n public constructor(tracker: Tracker) {\n this.tracker = tracker;\n }\n\n public edit(): SessionPatch {\n return new SessionPatch(this.tracker);\n }\n}\n"],"mappings":"AACA,SAAQ,oBAAmB;AAEpB,MAAM,cAAc;AAAA,EAGhB,YAAY,SAAkB;AACjC,SAAK,UAAU;AAAA,EACnB;AAAA,EAEO,OAAqB;AACxB,WAAO,IAAI,aAAa,KAAK,OAAO;AAAA,EACxC;AACJ;","names":[]}