@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
package/apiKey.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apiKey.js","sourceRoot":"","sources":["src/apiKey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["src/apiKey.ts"],"sourcesContent":["export type ParsedPrivateKey = {\n algorithm: string,\n encodedKey: string,\n};\n\ntype Algorithm = {\n keyAlgorithm: EcKeyImportParams,\n signatureAlgorithm: EcdsaParams,\n};\n\nexport class ApiKey {\n private static readonly IDENTIFIER_PATTERN = /^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$/i;\n\n private static readonly PRIVATE_KEY_PATTERN = /^[a-z0-9]+;[^;]+$/i;\n\n private static readonly ALGORITHMS: Record<string, Algorithm> = {\n ES256: {\n keyAlgorithm: {\n name: 'ECDSA',\n namedCurve: 'P-256',\n },\n signatureAlgorithm: {\n name: 'ECDSA',\n hash: 'SHA-256',\n },\n },\n };\n\n private readonly identifier: string;\n\n private readonly privateKey?: ParsedPrivateKey;\n\n private importedKey: Promise<CryptoKey>;\n\n private constructor(identifier: string, privateKey?: ParsedPrivateKey) {\n this.identifier = identifier;\n this.privateKey = privateKey;\n }\n\n public static from(apiKey: string | ApiKey): ApiKey {\n if (apiKey instanceof ApiKey) {\n return apiKey;\n }\n\n return ApiKey.parse(apiKey);\n }\n\n public static parse(apiKey: string): ApiKey {\n const parts = apiKey.split(':');\n\n if (parts.length > 2) {\n throw new Error('Invalid API key format.');\n }\n\n return ApiKey.of(parts[0], parts[1]);\n }\n\n public static of(identifier: string, privateKey?: string): ApiKey {\n if (!ApiKey.IDENTIFIER_PATTERN.test(identifier)) {\n throw new Error('The identifier must be a UUID.');\n }\n\n if (privateKey === undefined || privateKey === '') {\n return new ApiKey(identifier);\n }\n\n if (!ApiKey.PRIVATE_KEY_PATTERN.test(privateKey)) {\n throw new Error('The private key is malformed.');\n }\n\n const [algorithmName, encodedKey] = privateKey.split(';');\n\n if (!(algorithmName in ApiKey.ALGORITHMS)) {\n throw new Error(`Unsupported signing algorithm \"${algorithmName}\".`);\n }\n\n return new ApiKey(identifier, {\n algorithm: algorithmName,\n encodedKey: encodedKey,\n });\n }\n\n public getIdentifier(): string {\n return this.identifier;\n }\n\n public async getIdentifierHash(): Promise<string> {\n const identifierBytes = ApiKey.createByteArrayFromHexString(this.identifier.replace(/-/g, ''));\n const rawHash = await crypto.subtle.digest('SHA-256', identifierBytes);\n\n return ApiKey.convertBufferToHexString(rawHash);\n }\n\n public hasPrivateKey(): boolean {\n return this.privateKey !== undefined;\n }\n\n public getPrivateKey(): string {\n if (this.privateKey === undefined) {\n throw new Error('The API key does not have a private key.');\n }\n\n return `${this.privateKey.algorithm};${this.privateKey.encodedKey}`;\n }\n\n public async sign(data: string): Promise<string> {\n const key = await this.importKey();\n const algorithm = this.getSigningAlgorithm();\n\n return ApiKey.convertBufferToString(\n await crypto.subtle.sign(\n ApiKey.ALGORITHMS[algorithm].signatureAlgorithm,\n key,\n ApiKey.createByteArrayFromString(data),\n ),\n );\n }\n\n public getSigningAlgorithm(): string {\n const {algorithm} = this.getParsedPrivateKey();\n\n return algorithm;\n }\n\n private importKey(): Promise<CryptoKey> {\n const {algorithm, encodedKey} = this.getParsedPrivateKey();\n\n if (this.importedKey === undefined) {\n this.importedKey = crypto.subtle\n .importKey(\n 'pkcs8',\n ApiKey.createByteArrayFromString(atob(encodedKey)),\n ApiKey.ALGORITHMS[algorithm].keyAlgorithm,\n false,\n ['sign'],\n );\n }\n\n return this.importedKey;\n }\n\n private getParsedPrivateKey(): ParsedPrivateKey {\n if (this.privateKey === undefined) {\n throw new Error('The API key does not have a private key.');\n }\n\n return this.privateKey;\n }\n\n public export(): string {\n return this.identifier + (this.hasPrivateKey() ? `:${this.getPrivateKey()}` : '');\n }\n\n public toString(): string {\n return '[redacted]';\n }\n\n /**\n * Create an array buffer from a string.\n *\n * @see https://developers.google.com/web/updates/2012/06/How-to-convert-ArrayBuffer-to-and-from-String\n *\n * @param data The string to convert.\n * @returns The array buffer.\n */\n private static createByteArrayFromString(data: string): Uint8Array {\n const byteArray = new Uint8Array(data.length);\n\n for (let i = 0; i < byteArray.length; i++) {\n byteArray[i] = data.charCodeAt(i);\n }\n\n return byteArray;\n }\n\n private static createByteArrayFromHexString(data: string): Uint8Array {\n const byteArray = new Uint8Array(data.length / 2);\n\n for (let i = 0; i < byteArray.length; i++) {\n byteArray[i] = parseInt(data.substring(i * 2, i * 2 + 2), 16);\n }\n\n return byteArray;\n }\n\n /**\n * Convert an array buffer to a string.\n *\n * @see https://developers.google.com/web/updates/2012/06/How-to-convert-ArrayBuffer-to-and-from-String\n *\n * @param buffer The buffer to convert.\n * @returns The string.\n */\n private static convertBufferToString(buffer: ArrayLike<number> | ArrayBufferLike): string {\n return String.fromCharCode(...new Uint8Array(buffer));\n }\n\n private static convertBufferToHexString(buffer: ArrayLike<number> | ArrayBufferLike): string {\n const bytes = new Uint8Array(buffer);\n let hexString = '';\n\n for (let i = 0; i < bytes.length; i++) {\n hexString += bytes[i].toString(16).padStart(2, '0');\n }\n\n return hexString;\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/base64Url.ts"],"sourcesContent":["function base64Unescape(value: string): string {\n return (value + '==='.slice((value.length + 3) % 4)).replace(/-/g, '+').replace(/_/g, '/');\n}\n\nfunction base64Escape(value: string): string {\n return value\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '');\n}\n\nexport function base64UrlEncode(value: string, utf8 = false): string {\n return utf8\n ? base64Escape(btoa(String.fromCodePoint(...new TextEncoder().encode(value))))\n : base64Escape(btoa(value));\n}\n\nexport function base64UrlDecode(value: string, utf8 = false): string {\n return utf8\n ? new TextDecoder().decode(Uint8Array.from(atob(base64Unescape(value)), m => m.codePointAt(0)!))\n : atob(base64Unescape(value));\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAS,eAAe,OAAuB;AAC3C,UAAQ,QAAQ,MAAM,OAAO,MAAM,SAAS,KAAK,CAAC,GAAG,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG;AAC7F;AAEA,SAAS,aAAa,OAAuB;AACzC,SAAO,MACF,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,MAAM,EAAE;AACzB;AAEO,SAAS,gBAAgB,OAAe,OAAO,OAAe;AACjE,SAAO,OACD,aAAa,KAAK,OAAO,cAAc,GAAG,IAAI,YAAY,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAC3E,aAAa,KAAK,KAAK,CAAC;AAClC;AAEO,SAAS,gBAAgB,OAAe,OAAO,OAAe;AACjE,SAAO,OACD,IAAI,YAAY,EAAE,OAAO,WAAW,KAAK,KAAK,eAAe,KAAK,CAAC,GAAG,OAAK,EAAE,YAAY,CAAC,CAAE,CAAC,IAC7F,KAAK,eAAe,KAAK,CAAC;AACpC;","names":[]}
package/base64Url.d.ts CHANGED
@@ -1,2 +1,4 @@
1
- export declare function base64UrlEncode(value: string, utf8?: boolean): string;
2
- export declare function base64UrlDecode(value: string, utf8?: boolean): string;
1
+ declare function base64UrlEncode(value: string, utf8?: boolean): string;
2
+ declare function base64UrlDecode(value: string, utf8?: boolean): string;
3
+
4
+ export { base64UrlDecode, base64UrlEncode };
package/base64Url.js CHANGED
@@ -1,24 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.base64UrlEncode = base64UrlEncode;
4
- exports.base64UrlDecode = base64UrlDecode;
5
1
  function base64Unescape(value) {
6
- return (value + '==='.slice((value.length + 3) % 4)).replace(/-/g, '+').replace(/_/g, '/');
2
+ return (value + "===".slice((value.length + 3) % 4)).replace(/-/g, "+").replace(/_/g, "/");
7
3
  }
8
4
  function base64Escape(value) {
9
- return value
10
- .replace(/\+/g, '-')
11
- .replace(/\//g, '_')
12
- .replace(/=/g, '');
5
+ return value.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
13
6
  }
14
7
  function base64UrlEncode(value, utf8 = false) {
15
- return utf8
16
- ? base64Escape(btoa(String.fromCodePoint(...new TextEncoder().encode(value))))
17
- : base64Escape(btoa(value));
8
+ return utf8 ? base64Escape(btoa(String.fromCodePoint(...new TextEncoder().encode(value)))) : base64Escape(btoa(value));
18
9
  }
19
10
  function base64UrlDecode(value, utf8 = false) {
20
- return utf8
21
- ? new TextDecoder().decode(Uint8Array.from(atob(base64Unescape(value)), m => m.codePointAt(0)))
22
- : atob(base64Unescape(value));
11
+ return utf8 ? new TextDecoder().decode(Uint8Array.from(atob(base64Unescape(value)), (m) => m.codePointAt(0))) : atob(base64Unescape(value));
23
12
  }
13
+ export {
14
+ base64UrlDecode,
15
+ base64UrlEncode
16
+ };
24
17
  //# sourceMappingURL=base64Url.js.map
package/base64Url.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"base64Url.js","sourceRoot":"","sources":["src/base64Url.ts"],"names":[],"mappings":";;AAWA,0CAIC;AAED,0CAIC;AArBD,SAAS,cAAc,CAAC,KAAa;IACjC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,OAAO,KAAK;SACP,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa,EAAE,IAAI,GAAG,KAAK;IACvD,OAAO,IAAI;QACP,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa,EAAE,IAAI,GAAG,KAAK;IACvD,OAAO,IAAI;QACP,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,CAAC;QAChG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"sources":["src/base64Url.ts"],"sourcesContent":["function base64Unescape(value: string): string {\n return (value + '==='.slice((value.length + 3) % 4)).replace(/-/g, '+').replace(/_/g, '/');\n}\n\nfunction base64Escape(value: string): string {\n return value\n .replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '');\n}\n\nexport function base64UrlEncode(value: string, utf8 = false): string {\n return utf8\n ? base64Escape(btoa(String.fromCodePoint(...new TextEncoder().encode(value))))\n : base64Escape(btoa(value));\n}\n\nexport function base64UrlDecode(value: string, utf8 = false): string {\n return utf8\n ? new TextDecoder().decode(Uint8Array.from(atob(base64Unescape(value)), m => m.codePointAt(0)!))\n : atob(base64Unescape(value));\n}\n"],"mappings":"AAAA,SAAS,eAAe,OAAuB;AAC3C,UAAQ,QAAQ,MAAM,OAAO,MAAM,SAAS,KAAK,CAAC,GAAG,QAAQ,MAAM,GAAG,EAAE,QAAQ,MAAM,GAAG;AAC7F;AAEA,SAAS,aAAa,OAAuB;AACzC,SAAO,MACF,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,MAAM,EAAE;AACzB;AAEO,SAAS,gBAAgB,OAAe,OAAO,OAAe;AACjE,SAAO,OACD,aAAa,KAAK,OAAO,cAAc,GAAG,IAAI,YAAY,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAC3E,aAAa,KAAK,KAAK,CAAC;AAClC;AAEO,SAAS,gBAAgB,OAAe,OAAO,OAAe;AACjE,SAAO,OACD,IAAI,YAAY,EAAE,OAAO,WAAW,KAAK,KAAK,eAAe,KAAK,CAAC,GAAG,OAAK,EAAE,YAAY,CAAC,CAAE,CAAC,IAC7F,KAAK,eAAe,KAAK,CAAC;AACpC;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cache/cache.ts"],"sourcesContent":["export interface Cache {\n get(): string|null;\n put(value: string): void;\n clear(): void;\n}\n\nexport interface CacheListener {\n (value: string|null): void;\n}\n\nexport interface ObservableCache extends Cache {\n addListener(listener: CacheListener): void;\n\n removeListener(listener: CacheListener): void;\n}\n\nexport namespace ObservableCache {\n export function isObservable(cache: Cache): cache is ObservableCache {\n return typeof (cache as ObservableCache).addListener === 'function'\n && typeof (cache as ObservableCache).removeListener === 'function';\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBO,IAAU;AAAA,CAAV,CAAUA,qBAAV;AACI,WAAS,aAAa,OAAwC;AACjE,WAAO,OAAQ,MAA0B,gBAAgB,cAClD,OAAQ,MAA0B,mBAAmB;AAAA,EAChE;AAHO,EAAAA,iBAAS;AAAA,GADH;","names":["ObservableCache"]}
package/cache/cache.d.ts CHANGED
@@ -1,15 +1,17 @@
1
- export interface Cache {
1
+ interface Cache {
2
2
  get(): string | null;
3
3
  put(value: string): void;
4
4
  clear(): void;
5
5
  }
6
- export interface CacheListener {
6
+ interface CacheListener {
7
7
  (value: string | null): void;
8
8
  }
9
- export interface ObservableCache extends Cache {
9
+ interface ObservableCache extends Cache {
10
10
  addListener(listener: CacheListener): void;
11
11
  removeListener(listener: CacheListener): void;
12
12
  }
13
- export declare namespace ObservableCache {
13
+ declare namespace ObservableCache {
14
14
  function isObservable(cache: Cache): cache is ObservableCache;
15
15
  }
16
+
17
+ export { type Cache, type CacheListener, ObservableCache };
package/cache/cache.js CHANGED
@@ -1,12 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ObservableCache = void 0;
4
1
  var ObservableCache;
5
- (function (ObservableCache) {
6
- function isObservable(cache) {
7
- return typeof cache.addListener === 'function'
8
- && typeof cache.removeListener === 'function';
9
- }
10
- ObservableCache.isObservable = isObservable;
11
- })(ObservableCache || (exports.ObservableCache = ObservableCache = {}));
2
+ ((ObservableCache2) => {
3
+ function isObservable(cache) {
4
+ return typeof cache.addListener === "function" && typeof cache.removeListener === "function";
5
+ }
6
+ ObservableCache2.isObservable = isObservable;
7
+ })(ObservableCache || (ObservableCache = {}));
8
+ export {
9
+ ObservableCache
10
+ };
12
11
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache/cache.ts"],"names":[],"mappings":";;;AAgBA,IAAiB,eAAe,CAK/B;AALD,WAAiB,eAAe;IAC5B,SAAgB,YAAY,CAAC,KAAY;QACrC,OAAO,OAAQ,KAAyB,CAAC,WAAW,KAAK,UAAU;eAC5D,OAAQ,KAAyB,CAAC,cAAc,KAAK,UAAU,CAAC;IAC3E,CAAC;IAHe,4BAAY,eAG3B,CAAA;AACL,CAAC,EALgB,eAAe,+BAAf,eAAe,QAK/B"}
1
+ {"version":3,"sources":["../src/cache/cache.ts"],"sourcesContent":["export interface Cache {\n get(): string|null;\n put(value: string): void;\n clear(): void;\n}\n\nexport interface CacheListener {\n (value: string|null): void;\n}\n\nexport interface ObservableCache extends Cache {\n addListener(listener: CacheListener): void;\n\n removeListener(listener: CacheListener): void;\n}\n\nexport namespace ObservableCache {\n export function isObservable(cache: Cache): cache is ObservableCache {\n return typeof (cache as ObservableCache).addListener === 'function'\n && typeof (cache as ObservableCache).removeListener === 'function';\n }\n}\n"],"mappings":"AAgBO,IAAU;AAAA,CAAV,CAAUA,qBAAV;AACI,WAAS,aAAa,OAAwC;AACjE,WAAO,OAAQ,MAA0B,gBAAgB,cAClD,OAAQ,MAA0B,mBAAmB;AAAA,EAChE;AAHO,EAAAA,iBAAS;AAAA,GADH;","names":["ObservableCache"]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cache/cookieCache.ts"],"sourcesContent":["import {Cache} from './cache';\n\nexport type CookieCacheConfiguration = {\n name: string,\n secure?: boolean,\n maxAge?: number,\n domain?: string,\n path?: string,\n sameSite?: 'strict' | 'lax' | 'none',\n};\n\nexport class CookieCache implements Cache {\n private readonly config: CookieCacheConfiguration;\n\n public constructor(config: CookieCacheConfiguration, defaultSecure = window.location.protocol === 'https:') {\n this.config = {\n ...config,\n path: config.path ?? '/',\n };\n\n if (defaultSecure && this.config.secure === undefined) {\n this.config.secure = true;\n }\n\n if (this.config.secure === true && this.config.sameSite === undefined) {\n this.config.sameSite = 'none';\n }\n }\n\n public get(): string | null {\n const entries = document.cookie.split(';');\n\n for (const entry of entries) {\n const [name, value] = entry.split('=');\n\n if (CookieCache.decode(name).trim() === this.config.name) {\n return CookieCache.decode(value.trim());\n }\n }\n\n return null;\n }\n\n public put(value: string): void {\n document.cookie = CookieCache.serializeCookie(value, this.config);\n }\n\n public clear(): void {\n document.cookie = CookieCache.serializeCookie('', {\n ...this.config,\n maxAge: 0,\n });\n }\n\n private static serializeCookie(value: string, config: CookieCacheConfiguration): string {\n const cookie = [`${CookieCache.encode(config.name)}=${CookieCache.encode(value)}`];\n\n if (config.maxAge !== undefined) {\n cookie.push(`Max-Age=${config.maxAge}`);\n }\n\n if (config.domain !== undefined) {\n cookie.push(`Domain=${CookieCache.encode(config.domain)}`);\n }\n\n if (config.path !== undefined) {\n cookie.push(`Path=${CookieCache.encode(config.path)}`);\n }\n\n if (config.secure === true) {\n cookie.push('Secure');\n }\n\n if (config.sameSite !== undefined) {\n cookie.push(`SameSite=${({strict: 'Strict', lax: 'Lax', none: 'None'})[config.sameSite]}`);\n }\n\n return cookie.join('; ');\n }\n\n private static encode(value: string): string {\n return value.replace(/[,; ]+/g, encodeURIComponent);\n }\n\n private static decode(value: string): string {\n return decodeURIComponent(value);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,YAA6B;AAAA,EAG/B,YAAY,QAAkC,gBAAgB,OAAO,SAAS,aAAa,UAAU;AACxG,SAAK,SAAS;AAAA,MACV,GAAG;AAAA,MACH,MAAM,OAAO,QAAQ;AAAA,IACzB;AAEA,QAAI,iBAAiB,KAAK,OAAO,WAAW,QAAW;AACnD,WAAK,OAAO,SAAS;AAAA,IACzB;AAEA,QAAI,KAAK,OAAO,WAAW,QAAQ,KAAK,OAAO,aAAa,QAAW;AACnE,WAAK,OAAO,WAAW;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEO,MAAqB;AACxB,UAAM,UAAU,SAAS,OAAO,MAAM,GAAG;AAEzC,eAAW,SAAS,SAAS;AACzB,YAAM,CAAC,MAAM,KAAK,IAAI,MAAM,MAAM,GAAG;AAErC,UAAI,YAAY,OAAO,IAAI,EAAE,KAAK,MAAM,KAAK,OAAO,MAAM;AACtD,eAAO,YAAY,OAAO,MAAM,KAAK,CAAC;AAAA,MAC1C;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,IAAI,OAAqB;AAC5B,aAAS,SAAS,YAAY,gBAAgB,OAAO,KAAK,MAAM;AAAA,EACpE;AAAA,EAEO,QAAc;AACjB,aAAS,SAAS,YAAY,gBAAgB,IAAI;AAAA,MAC9C,GAAG,KAAK;AAAA,MACR,QAAQ;AAAA,IACZ,CAAC;AAAA,EACL;AAAA,EAEA,OAAe,gBAAgB,OAAe,QAA0C;AACpF,UAAM,SAAS,CAAC,GAAG,YAAY,OAAO,OAAO,IAAI,CAAC,IAAI,YAAY,OAAO,KAAK,CAAC,EAAE;AAEjF,QAAI,OAAO,WAAW,QAAW;AAC7B,aAAO,KAAK,WAAW,OAAO,MAAM,EAAE;AAAA,IAC1C;AAEA,QAAI,OAAO,WAAW,QAAW;AAC7B,aAAO,KAAK,UAAU,YAAY,OAAO,OAAO,MAAM,CAAC,EAAE;AAAA,IAC7D;AAEA,QAAI,OAAO,SAAS,QAAW;AAC3B,aAAO,KAAK,QAAQ,YAAY,OAAO,OAAO,IAAI,CAAC,EAAE;AAAA,IACzD;AAEA,QAAI,OAAO,WAAW,MAAM;AACxB,aAAO,KAAK,QAAQ;AAAA,IACxB;AAEA,QAAI,OAAO,aAAa,QAAW;AAC/B,aAAO,KAAK,YAAa,EAAC,QAAQ,UAAU,KAAK,OAAO,MAAM,OAAM,EAAG,OAAO,QAAQ,CAAC,EAAE;AAAA,IAC7F;AAEA,WAAO,OAAO,KAAK,IAAI;AAAA,EAC3B;AAAA,EAEA,OAAe,OAAO,OAAuB;AACzC,WAAO,MAAM,QAAQ,WAAW,kBAAkB;AAAA,EACtD;AAAA,EAEA,OAAe,OAAO,OAAuB;AACzC,WAAO,mBAAmB,KAAK;AAAA,EACnC;AACJ;","names":[]}
@@ -1,5 +1,6 @@
1
- import { Cache } from './cache';
2
- export type CookieCacheConfiguration = {
1
+ import { Cache } from './cache.js';
2
+
3
+ type CookieCacheConfiguration = {
3
4
  name: string;
4
5
  secure?: boolean;
5
6
  maxAge?: number;
@@ -7,7 +8,7 @@ export type CookieCacheConfiguration = {
7
8
  path?: string;
8
9
  sameSite?: 'strict' | 'lax' | 'none';
9
10
  };
10
- export declare class CookieCache implements Cache {
11
+ declare class CookieCache implements Cache {
11
12
  private readonly config;
12
13
  constructor(config: CookieCacheConfiguration, defaultSecure?: boolean);
13
14
  get(): string | null;
@@ -17,3 +18,5 @@ export declare class CookieCache implements Cache {
17
18
  private static encode;
18
19
  private static decode;
19
20
  }
21
+
22
+ export { CookieCache, type CookieCacheConfiguration };
@@ -1,64 +1,62 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CookieCache = void 0;
4
1
  class CookieCache {
5
- constructor(config, defaultSecure = window.location.protocol === 'https:') {
6
- var _a;
7
- this.config = {
8
- ...config,
9
- path: (_a = config.path) !== null && _a !== void 0 ? _a : '/',
10
- };
11
- if (defaultSecure && this.config.secure === undefined) {
12
- this.config.secure = true;
13
- }
14
- if (this.config.secure === true && this.config.sameSite === undefined) {
15
- this.config.sameSite = 'none';
16
- }
2
+ constructor(config, defaultSecure = window.location.protocol === "https:") {
3
+ this.config = {
4
+ ...config,
5
+ path: config.path ?? "/"
6
+ };
7
+ if (defaultSecure && this.config.secure === void 0) {
8
+ this.config.secure = true;
17
9
  }
18
- get() {
19
- const entries = document.cookie.split(';');
20
- for (const entry of entries) {
21
- const [name, value] = entry.split('=');
22
- if (CookieCache.decode(name).trim() === this.config.name) {
23
- return CookieCache.decode(value.trim());
24
- }
25
- }
26
- return null;
10
+ if (this.config.secure === true && this.config.sameSite === void 0) {
11
+ this.config.sameSite = "none";
27
12
  }
28
- put(value) {
29
- document.cookie = CookieCache.serializeCookie(value, this.config);
13
+ }
14
+ get() {
15
+ const entries = document.cookie.split(";");
16
+ for (const entry of entries) {
17
+ const [name, value] = entry.split("=");
18
+ if (CookieCache.decode(name).trim() === this.config.name) {
19
+ return CookieCache.decode(value.trim());
20
+ }
30
21
  }
31
- clear() {
32
- document.cookie = CookieCache.serializeCookie('', {
33
- ...this.config,
34
- maxAge: 0,
35
- });
22
+ return null;
23
+ }
24
+ put(value) {
25
+ document.cookie = CookieCache.serializeCookie(value, this.config);
26
+ }
27
+ clear() {
28
+ document.cookie = CookieCache.serializeCookie("", {
29
+ ...this.config,
30
+ maxAge: 0
31
+ });
32
+ }
33
+ static serializeCookie(value, config) {
34
+ const cookie = [`${CookieCache.encode(config.name)}=${CookieCache.encode(value)}`];
35
+ if (config.maxAge !== void 0) {
36
+ cookie.push(`Max-Age=${config.maxAge}`);
36
37
  }
37
- static serializeCookie(value, config) {
38
- const cookie = [`${CookieCache.encode(config.name)}=${CookieCache.encode(value)}`];
39
- if (config.maxAge !== undefined) {
40
- cookie.push(`Max-Age=${config.maxAge}`);
41
- }
42
- if (config.domain !== undefined) {
43
- cookie.push(`Domain=${CookieCache.encode(config.domain)}`);
44
- }
45
- if (config.path !== undefined) {
46
- cookie.push(`Path=${CookieCache.encode(config.path)}`);
47
- }
48
- if (config.secure === true) {
49
- cookie.push('Secure');
50
- }
51
- if (config.sameSite !== undefined) {
52
- cookie.push(`SameSite=${({ strict: 'Strict', lax: 'Lax', none: 'None' })[config.sameSite]}`);
53
- }
54
- return cookie.join('; ');
38
+ if (config.domain !== void 0) {
39
+ cookie.push(`Domain=${CookieCache.encode(config.domain)}`);
55
40
  }
56
- static encode(value) {
57
- return value.replace(/[,; ]+/g, encodeURIComponent);
41
+ if (config.path !== void 0) {
42
+ cookie.push(`Path=${CookieCache.encode(config.path)}`);
58
43
  }
59
- static decode(value) {
60
- return decodeURIComponent(value);
44
+ if (config.secure === true) {
45
+ cookie.push("Secure");
61
46
  }
47
+ if (config.sameSite !== void 0) {
48
+ cookie.push(`SameSite=${{ strict: "Strict", lax: "Lax", none: "None" }[config.sameSite]}`);
49
+ }
50
+ return cookie.join("; ");
51
+ }
52
+ static encode(value) {
53
+ return value.replace(/[,; ]+/g, encodeURIComponent);
54
+ }
55
+ static decode(value) {
56
+ return decodeURIComponent(value);
57
+ }
62
58
  }
63
- exports.CookieCache = CookieCache;
59
+ export {
60
+ CookieCache
61
+ };
64
62
  //# sourceMappingURL=cookieCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cookieCache.js","sourceRoot":"","sources":["../src/cache/cookieCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../src/cache/cookieCache.ts"],"sourcesContent":["import {Cache} from './cache';\n\nexport type CookieCacheConfiguration = {\n name: string,\n secure?: boolean,\n maxAge?: number,\n domain?: string,\n path?: string,\n sameSite?: 'strict' | 'lax' | 'none',\n};\n\nexport class CookieCache implements Cache {\n private readonly config: CookieCacheConfiguration;\n\n public constructor(config: CookieCacheConfiguration, defaultSecure = window.location.protocol === 'https:') {\n this.config = {\n ...config,\n path: config.path ?? '/',\n };\n\n if (defaultSecure && this.config.secure === undefined) {\n this.config.secure = true;\n }\n\n if (this.config.secure === true && this.config.sameSite === undefined) {\n this.config.sameSite = 'none';\n }\n }\n\n public get(): string | null {\n const entries = document.cookie.split(';');\n\n for (const entry of entries) {\n const [name, value] = entry.split('=');\n\n if (CookieCache.decode(name).trim() === this.config.name) {\n return CookieCache.decode(value.trim());\n }\n }\n\n return null;\n }\n\n public put(value: string): void {\n document.cookie = CookieCache.serializeCookie(value, this.config);\n }\n\n public clear(): void {\n document.cookie = CookieCache.serializeCookie('', {\n ...this.config,\n maxAge: 0,\n });\n }\n\n private static serializeCookie(value: string, config: CookieCacheConfiguration): string {\n const cookie = [`${CookieCache.encode(config.name)}=${CookieCache.encode(value)}`];\n\n if (config.maxAge !== undefined) {\n cookie.push(`Max-Age=${config.maxAge}`);\n }\n\n if (config.domain !== undefined) {\n cookie.push(`Domain=${CookieCache.encode(config.domain)}`);\n }\n\n if (config.path !== undefined) {\n cookie.push(`Path=${CookieCache.encode(config.path)}`);\n }\n\n if (config.secure === true) {\n cookie.push('Secure');\n }\n\n if (config.sameSite !== undefined) {\n cookie.push(`SameSite=${({strict: 'Strict', lax: 'Lax', none: 'None'})[config.sameSite]}`);\n }\n\n return cookie.join('; ');\n }\n\n private static encode(value: string): string {\n return value.replace(/[,; ]+/g, encodeURIComponent);\n }\n\n private static decode(value: string): string {\n return decodeURIComponent(value);\n }\n}\n"],"mappings":"AAWO,MAAM,YAA6B;AAAA,EAG/B,YAAY,QAAkC,gBAAgB,OAAO,SAAS,aAAa,UAAU;AACxG,SAAK,SAAS;AAAA,MACV,GAAG;AAAA,MACH,MAAM,OAAO,QAAQ;AAAA,IACzB;AAEA,QAAI,iBAAiB,KAAK,OAAO,WAAW,QAAW;AACnD,WAAK,OAAO,SAAS;AAAA,IACzB;AAEA,QAAI,KAAK,OAAO,WAAW,QAAQ,KAAK,OAAO,aAAa,QAAW;AACnE,WAAK,OAAO,WAAW;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEO,MAAqB;AACxB,UAAM,UAAU,SAAS,OAAO,MAAM,GAAG;AAEzC,eAAW,SAAS,SAAS;AACzB,YAAM,CAAC,MAAM,KAAK,IAAI,MAAM,MAAM,GAAG;AAErC,UAAI,YAAY,OAAO,IAAI,EAAE,KAAK,MAAM,KAAK,OAAO,MAAM;AACtD,eAAO,YAAY,OAAO,MAAM,KAAK,CAAC;AAAA,MAC1C;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,IAAI,OAAqB;AAC5B,aAAS,SAAS,YAAY,gBAAgB,OAAO,KAAK,MAAM;AAAA,EACpE;AAAA,EAEO,QAAc;AACjB,aAAS,SAAS,YAAY,gBAAgB,IAAI;AAAA,MAC9C,GAAG,KAAK;AAAA,MACR,QAAQ;AAAA,IACZ,CAAC;AAAA,EACL;AAAA,EAEA,OAAe,gBAAgB,OAAe,QAA0C;AACpF,UAAM,SAAS,CAAC,GAAG,YAAY,OAAO,OAAO,IAAI,CAAC,IAAI,YAAY,OAAO,KAAK,CAAC,EAAE;AAEjF,QAAI,OAAO,WAAW,QAAW;AAC7B,aAAO,KAAK,WAAW,OAAO,MAAM,EAAE;AAAA,IAC1C;AAEA,QAAI,OAAO,WAAW,QAAW;AAC7B,aAAO,KAAK,UAAU,YAAY,OAAO,OAAO,MAAM,CAAC,EAAE;AAAA,IAC7D;AAEA,QAAI,OAAO,SAAS,QAAW;AAC3B,aAAO,KAAK,QAAQ,YAAY,OAAO,OAAO,IAAI,CAAC,EAAE;AAAA,IACzD;AAEA,QAAI,OAAO,WAAW,MAAM;AACxB,aAAO,KAAK,QAAQ;AAAA,IACxB;AAEA,QAAI,OAAO,aAAa,QAAW;AAC/B,aAAO,KAAK,YAAa,EAAC,QAAQ,UAAU,KAAK,OAAO,MAAM,OAAM,EAAG,OAAO,QAAQ,CAAC,EAAE;AAAA,IAC7F;AAEA,WAAO,OAAO,KAAK,IAAI;AAAA,EAC3B;AAAA,EAEA,OAAe,OAAO,OAAuB;AACzC,WAAO,MAAM,QAAQ,WAAW,kBAAkB;AAAA,EACtD;AAAA,EAEA,OAAe,OAAO,OAAuB;AACzC,WAAO,mBAAmB,KAAK;AAAA,EACnC;AACJ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cache/fallbackCache.ts"],"sourcesContent":["import {Cache} from './cache';\n\nexport class FallbackCache implements Cache {\n private readonly caches: Cache[];\n\n public constructor(...caches: Cache[]) {\n this.caches = caches;\n }\n\n public get(): string|null {\n for (const cache of this.caches) {\n const value = cache.get();\n\n if (value !== null) {\n return value;\n }\n }\n\n return null;\n }\n\n public put(value: string): void {\n this.caches.forEach(cache => cache.put(value));\n }\n\n public clear(): void {\n this.caches.forEach(cache => cache.clear());\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,cAA+B;AAAA,EAGjC,eAAe,QAAiB;AACnC,SAAK,SAAS;AAAA,EAClB;AAAA,EAEO,MAAmB;AACtB,eAAW,SAAS,KAAK,QAAQ;AAC7B,YAAM,QAAQ,MAAM,IAAI;AAExB,UAAI,UAAU,MAAM;AAChB,eAAO;AAAA,MACX;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,IAAI,OAAqB;AAC5B,SAAK,OAAO,QAAQ,WAAS,MAAM,IAAI,KAAK,CAAC;AAAA,EACjD;AAAA,EAEO,QAAc;AACjB,SAAK,OAAO,QAAQ,WAAS,MAAM,MAAM,CAAC;AAAA,EAC9C;AACJ;","names":[]}
@@ -1,8 +1,11 @@
1
- import { Cache } from './cache';
2
- export declare class FallbackCache implements Cache {
1
+ import { Cache } from './cache.js';
2
+
3
+ declare class FallbackCache implements Cache {
3
4
  private readonly caches;
4
5
  constructor(...caches: Cache[]);
5
6
  get(): string | null;
6
7
  put(value: string): void;
7
8
  clear(): void;
8
9
  }
10
+
11
+ export { FallbackCache };
@@ -1,25 +1,24 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FallbackCache = void 0;
4
1
  class FallbackCache {
5
- constructor(...caches) {
6
- this.caches = caches;
7
- }
8
- get() {
9
- for (const cache of this.caches) {
10
- const value = cache.get();
11
- if (value !== null) {
12
- return value;
13
- }
14
- }
15
- return null;
16
- }
17
- put(value) {
18
- this.caches.forEach(cache => cache.put(value));
19
- }
20
- clear() {
21
- this.caches.forEach(cache => cache.clear());
2
+ constructor(...caches) {
3
+ this.caches = caches;
4
+ }
5
+ get() {
6
+ for (const cache of this.caches) {
7
+ const value = cache.get();
8
+ if (value !== null) {
9
+ return value;
10
+ }
22
11
  }
12
+ return null;
13
+ }
14
+ put(value) {
15
+ this.caches.forEach((cache) => cache.put(value));
16
+ }
17
+ clear() {
18
+ this.caches.forEach((cache) => cache.clear());
19
+ }
23
20
  }
24
- exports.FallbackCache = FallbackCache;
21
+ export {
22
+ FallbackCache
23
+ };
25
24
  //# sourceMappingURL=fallbackCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fallbackCache.js","sourceRoot":"","sources":["../src/cache/fallbackCache.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAGtB,YAAmB,GAAG,MAAe;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEM,GAAG;QACN,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YAE1B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,GAAG,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;CACJ;AA1BD,sCA0BC"}
1
+ {"version":3,"sources":["../src/cache/fallbackCache.ts"],"sourcesContent":["import {Cache} from './cache';\n\nexport class FallbackCache implements Cache {\n private readonly caches: Cache[];\n\n public constructor(...caches: Cache[]) {\n this.caches = caches;\n }\n\n public get(): string|null {\n for (const cache of this.caches) {\n const value = cache.get();\n\n if (value !== null) {\n return value;\n }\n }\n\n return null;\n }\n\n public put(value: string): void {\n this.caches.forEach(cache => cache.put(value));\n }\n\n public clear(): void {\n this.caches.forEach(cache => cache.clear());\n }\n}\n"],"mappings":"AAEO,MAAM,cAA+B;AAAA,EAGjC,eAAe,QAAiB;AACnC,SAAK,SAAS;AAAA,EAClB;AAAA,EAEO,MAAmB;AACtB,eAAW,SAAS,KAAK,QAAQ;AAC7B,YAAM,QAAQ,MAAM,IAAI;AAExB,UAAI,UAAU,MAAM;AAChB,eAAO;AAAA,MACX;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,IAAI,OAAqB;AAC5B,SAAK,OAAO,QAAQ,WAAS,MAAM,IAAI,KAAK,CAAC;AAAA,EACjD;AAAA,EAEO,QAAc;AACjB,SAAK,OAAO,QAAQ,WAAS,MAAM,MAAM,CAAC;AAAA,EAC9C;AACJ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cache/inMemoryCache.ts"],"sourcesContent":["import {Cache} from './cache';\n\nexport class InMemoryCache implements Cache {\n private cache?: string;\n\n public constructor(cache?: string) {\n this.cache = cache;\n }\n\n public get(): string | null {\n return this.cache ?? null;\n }\n\n public put(value: string): void {\n this.cache = value;\n }\n\n public clear(): void {\n delete this.cache;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,cAA+B;AAAA,EAGjC,YAAY,OAAgB;AAC/B,SAAK,QAAQ;AAAA,EACjB;AAAA,EAEO,MAAqB;AACxB,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEO,IAAI,OAAqB;AAC5B,SAAK,QAAQ;AAAA,EACjB;AAAA,EAEO,QAAc;AACjB,WAAO,KAAK;AAAA,EAChB;AACJ;","names":[]}
@@ -1,8 +1,11 @@
1
- import { Cache } from './cache';
2
- export declare class InMemoryCache implements Cache {
1
+ import { Cache } from './cache.js';
2
+
3
+ declare class InMemoryCache implements Cache {
3
4
  private cache?;
4
5
  constructor(cache?: string);
5
6
  get(): string | null;
6
7
  put(value: string): void;
7
8
  clear(): void;
8
9
  }
10
+
11
+ export { InMemoryCache };
@@ -1,20 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.InMemoryCache = void 0;
4
1
  class InMemoryCache {
5
- constructor(cache) {
6
- this.cache = cache;
7
- }
8
- get() {
9
- var _a;
10
- return (_a = this.cache) !== null && _a !== void 0 ? _a : null;
11
- }
12
- put(value) {
13
- this.cache = value;
14
- }
15
- clear() {
16
- delete this.cache;
17
- }
2
+ constructor(cache) {
3
+ this.cache = cache;
4
+ }
5
+ get() {
6
+ return this.cache ?? null;
7
+ }
8
+ put(value) {
9
+ this.cache = value;
10
+ }
11
+ clear() {
12
+ delete this.cache;
13
+ }
18
14
  }
19
- exports.InMemoryCache = InMemoryCache;
15
+ export {
16
+ InMemoryCache
17
+ };
20
18
  //# sourceMappingURL=inMemoryCache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inMemoryCache.js","sourceRoot":"","sources":["../src/cache/inMemoryCache.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAGtB,YAAmB,KAAc;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,GAAG;;QACN,OAAO,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC;IAC9B,CAAC;IAEM,GAAG,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;CACJ;AAlBD,sCAkBC"}
1
+ {"version":3,"sources":["../src/cache/inMemoryCache.ts"],"sourcesContent":["import {Cache} from './cache';\n\nexport class InMemoryCache implements Cache {\n private cache?: string;\n\n public constructor(cache?: string) {\n this.cache = cache;\n }\n\n public get(): string | null {\n return this.cache ?? null;\n }\n\n public put(value: string): void {\n this.cache = value;\n }\n\n public clear(): void {\n delete this.cache;\n }\n}\n"],"mappings":"AAEO,MAAM,cAA+B;AAAA,EAGjC,YAAY,OAAgB;AAC/B,SAAK,QAAQ;AAAA,EACjB;AAAA,EAEO,MAAqB;AACxB,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEO,IAAI,OAAqB;AAC5B,SAAK,QAAQ;AAAA,EACjB;AAAA,EAEO,QAAc;AACjB,WAAO,KAAK;AAAA,EAChB;AACJ;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cache/index.ts"],"sourcesContent":["export * from './cache';\nexport {FallbackCache} from './fallbackCache';\nexport {InMemoryCache} from './inMemoryCache';\nexport {LocalStorageCache} from './localStorageCache';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAc,oBAAd;AACA,2BAA4B;AAC5B,2BAA4B;AAC5B,+BAAgC;","names":[]}
package/cache/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export * from './cache';
2
- export { FallbackCache } from './fallbackCache';
3
- export { InMemoryCache } from './inMemoryCache';
4
- export { LocalStorageCache } from './localStorageCache';
1
+ export { Cache, CacheListener, ObservableCache } from './cache.js';
2
+ export { FallbackCache } from './fallbackCache.js';
3
+ export { InMemoryCache } from './inMemoryCache.js';
4
+ export { LocalStorageCache } from './localStorageCache.js';
package/cache/index.js CHANGED
@@ -1,12 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LocalStorageCache = exports.InMemoryCache = exports.FallbackCache = void 0;
4
- const tslib_1 = require("tslib");
5
- tslib_1.__exportStar(require("./cache"), exports);
6
- var fallbackCache_1 = require("./fallbackCache");
7
- Object.defineProperty(exports, "FallbackCache", { enumerable: true, get: function () { return fallbackCache_1.FallbackCache; } });
8
- var inMemoryCache_1 = require("./inMemoryCache");
9
- Object.defineProperty(exports, "InMemoryCache", { enumerable: true, get: function () { return inMemoryCache_1.InMemoryCache; } });
10
- var localStorageCache_1 = require("./localStorageCache");
11
- Object.defineProperty(exports, "LocalStorageCache", { enumerable: true, get: function () { return localStorageCache_1.LocalStorageCache; } });
1
+ export * from "./cache";
2
+ import { FallbackCache } from "./fallbackCache";
3
+ import { InMemoryCache } from "./inMemoryCache";
4
+ import { LocalStorageCache } from "./localStorageCache";
5
+ export {
6
+ FallbackCache,
7
+ InMemoryCache,
8
+ LocalStorageCache
9
+ };
12
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/cache/index.ts"],"names":[],"mappings":";;;;AAAA,kDAAwB;AACxB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"sources":["../src/cache/index.ts"],"sourcesContent":["export * from './cache';\nexport {FallbackCache} from './fallbackCache';\nexport {InMemoryCache} from './inMemoryCache';\nexport {LocalStorageCache} from './localStorageCache';\n"],"mappings":"AAAA,cAAc;AACd,SAAQ,qBAAoB;AAC5B,SAAQ,qBAAoB;AAC5B,SAAQ,yBAAwB;","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/cache/localStorageCache.ts"],"sourcesContent":["import {CacheListener, ObservableCache} from './cache';\n\nexport class LocalStorageCache implements ObservableCache {\n private readonly storage: Storage;\n\n private readonly key: string;\n\n private value: string|null;\n\n private readonly listeners: CacheListener[] = [];\n\n public constructor(storage: Storage, key: string) {\n this.storage = storage;\n this.key = key;\n this.value = storage.getItem(key);\n }\n\n public static autoSync(cache: LocalStorageCache): (() => void) {\n const listener = cache.sync.bind(cache);\n\n window.addEventListener('storage', listener);\n\n return (): void => window.removeEventListener('storage', listener);\n }\n\n public get(): string|null {\n return this.value;\n }\n\n public put(value: string): void {\n this.storage.setItem(this.key, value);\n\n if (this.value !== value) {\n this.value = value;\n this.notifyChange(value);\n }\n }\n\n public clear(): void {\n this.storage.removeItem(this.key);\n\n if (this.value !== null) {\n this.value = null;\n this.notifyChange(null);\n }\n }\n\n public addListener(listener: CacheListener): void {\n if (!this.listeners.includes(listener)) {\n this.listeners.push(listener);\n }\n }\n\n public removeListener(listener: CacheListener): void {\n const index = this.listeners.indexOf(listener);\n\n if (index > -1) {\n this.listeners.splice(index, 1);\n }\n }\n\n private notifyChange(value: string|null): void {\n this.listeners.forEach(listener => listener(value));\n }\n\n private sync(event: StorageEvent): void {\n if (event.storageArea !== this.storage || (event.key !== null && event.key !== this.key)) {\n // Ignore unrelated changes\n return;\n }\n\n /*\n * Retrieving the value from the store rather than the event ensures\n * the cache will be in sync with the latest value set.\n * In case of cascading changes, it prevents notifying listeners\n * about intermediate states already outdated at this point.\n */\n const value = this.storage.getItem(this.key);\n\n if (this.value !== value) {\n this.value = value;\n this.notifyChange(value);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,kBAA6C;AAAA,EAS/C,YAAY,SAAkB,KAAa;AAFlD,SAAiB,YAA6B,CAAC;AAG3C,SAAK,UAAU;AACf,SAAK,MAAM;AACX,SAAK,QAAQ,QAAQ,QAAQ,GAAG;AAAA,EACpC;AAAA,EAEA,OAAc,SAAS,OAAwC;AAC3D,UAAM,WAAW,MAAM,KAAK,KAAK,KAAK;AAEtC,WAAO,iBAAiB,WAAW,QAAQ;AAE3C,WAAO,MAAY,OAAO,oBAAoB,WAAW,QAAQ;AAAA,EACrE;AAAA,EAEO,MAAmB;AACtB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEO,IAAI,OAAqB;AAC5B,SAAK,QAAQ,QAAQ,KAAK,KAAK,KAAK;AAEpC,QAAI,KAAK,UAAU,OAAO;AACtB,WAAK,QAAQ;AACb,WAAK,aAAa,KAAK;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEO,QAAc;AACjB,SAAK,QAAQ,WAAW,KAAK,GAAG;AAEhC,QAAI,KAAK,UAAU,MAAM;AACrB,WAAK,QAAQ;AACb,WAAK,aAAa,IAAI;AAAA,IAC1B;AAAA,EACJ;AAAA,EAEO,YAAY,UAA+B;AAC9C,QAAI,CAAC,KAAK,UAAU,SAAS,QAAQ,GAAG;AACpC,WAAK,UAAU,KAAK,QAAQ;AAAA,IAChC;AAAA,EACJ;AAAA,EAEO,eAAe,UAA+B;AACjD,UAAM,QAAQ,KAAK,UAAU,QAAQ,QAAQ;AAE7C,QAAI,QAAQ,IAAI;AACZ,WAAK,UAAU,OAAO,OAAO,CAAC;AAAA,IAClC;AAAA,EACJ;AAAA,EAEQ,aAAa,OAA0B;AAC3C,SAAK,UAAU,QAAQ,cAAY,SAAS,KAAK,CAAC;AAAA,EACtD;AAAA,EAEQ,KAAK,OAA2B;AACpC,QAAI,MAAM,gBAAgB,KAAK,WAAY,MAAM,QAAQ,QAAQ,MAAM,QAAQ,KAAK,KAAM;AAEtF;AAAA,IACJ;AAQA,UAAM,QAAQ,KAAK,QAAQ,QAAQ,KAAK,GAAG;AAE3C,QAAI,KAAK,UAAU,OAAO;AACtB,WAAK,QAAQ;AACb,WAAK,aAAa,KAAK;AAAA,IAC3B;AAAA,EACJ;AACJ;","names":[]}
@@ -1,5 +1,6 @@
1
- import { CacheListener, ObservableCache } from './cache';
2
- export declare class LocalStorageCache implements ObservableCache {
1
+ import { ObservableCache, CacheListener } from './cache.js';
2
+
3
+ declare class LocalStorageCache implements ObservableCache {
3
4
  private readonly storage;
4
5
  private readonly key;
5
6
  private value;
@@ -14,3 +15,5 @@ export declare class LocalStorageCache implements ObservableCache {
14
15
  private notifyChange;
15
16
  private sync;
16
17
  }
18
+
19
+ export { LocalStorageCache };