@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/sdk.js CHANGED
@@ -1,113 +1,111 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Sdk = void 0;
4
- const container_1 = require("./container");
5
- const constants_1 = require("./constants");
6
- const schema_1 = require("./schema");
7
- const error_1 = require("./error");
1
+ import { Container } from "./container";
2
+ import { BASE_ENDPOINT_URL, VERSION } from "./constants";
3
+ import { sdkConfigurationSchema } from "./schema";
4
+ import { formatCause } from "./error";
8
5
  function validateConfiguration(configuration) {
9
- if (typeof configuration !== 'object' || configuration === null) {
10
- throw new Error('The configuration must be a key-value map.');
11
- }
12
- try {
13
- schema_1.sdkConfigurationSchema.validate(configuration);
14
- }
15
- catch (violation) {
16
- throw new Error(`Invalid configuration: ${(0, error_1.formatCause)(violation)}`);
17
- }
6
+ if (typeof configuration !== "object" || configuration === null) {
7
+ throw new Error("The configuration must be a key-value map.");
8
+ }
9
+ try {
10
+ sdkConfigurationSchema.validate(configuration);
11
+ } catch (violation) {
12
+ throw new Error(`Invalid configuration: ${formatCause(violation)}`);
13
+ }
18
14
  }
19
15
  class Sdk {
20
- constructor(container) {
21
- this.container = container;
22
- }
23
- static init(configuration) {
24
- var _a;
25
- validateConfiguration(configuration);
26
- const { eventMetadata: customMetadata = {}, baseEndpointUrl = constants_1.BASE_ENDPOINT_URL, cidAssignerEndpointUrl, ...containerConfiguration } = configuration;
27
- const eventMetadata = {
28
- sdkVersion: constants_1.VERSION,
29
- };
30
- for (const metadata of Object.keys(customMetadata)) {
31
- eventMetadata[`custom_${metadata}`] = customMetadata[metadata];
32
- }
33
- const baseHttpEndpoint = baseEndpointUrl.replace(/\/+$/, '');
34
- const container = new container_1.Container({
35
- ...containerConfiguration,
36
- evaluationBaseEndpointUrl: baseHttpEndpoint,
37
- contentBaseEndpointUrl: baseHttpEndpoint,
38
- trackerEndpointUrl: `${baseHttpEndpoint}/client/web/track`,
39
- cidAssignerEndpointUrl: cidAssignerEndpointUrl !== null && cidAssignerEndpointUrl !== void 0 ? cidAssignerEndpointUrl : `${baseHttpEndpoint}/client/web/cid`,
40
- beaconQueueSize: (_a = containerConfiguration.beaconQueueSize) !== null && _a !== void 0 ? _a : 100,
41
- eventMetadata: eventMetadata,
42
- });
43
- const logger = container.getLogger();
44
- const { appId, tokenScope } = container.getConfiguration();
45
- logger.debug('\n\n'
46
- + ' ██████ ██████  ██████  ██████ ████████ \n'
47
- + '██      ██   ██ ██    ██ ██         ██    \n'
48
- + '██  ██████  ██  ██ ██  ██    \n'
49
- + '██  ██   ██ ██  ██ ██  ██    \n'
50
- + ' ██████ ██  ██  ██████   ██████  ██    \n'
51
- + '\n');
52
- logger.info(`Initializing SDK v${constants_1.VERSION}...`);
53
- logger.debug(`App ID: ${appId}`);
54
- const context = container.getContext();
55
- const tab = context.getTab();
56
- const user = context.getUser();
57
- logger.debug(`${tab.isNew ? 'New' : 'Current'} tab: ${tab.id}`);
58
- logger.debug(`Token scope: ${tokenScope}`);
59
- logger.debug(`Current user: ${user !== null ? user : 'anonymous'}`);
60
- logger.debug(`Test mode: ${containerConfiguration.test}`);
61
- logger.info('⚡ Croct SDK is ready!');
62
- return new Sdk(container);
63
- }
64
- get appId() {
65
- const { appId } = this.container.getConfiguration();
66
- return appId;
67
- }
68
- get cidAssigner() {
69
- return this.container.getCidAssigner();
70
- }
71
- get previewTokenStore() {
72
- return this.container.getPreviewTokenStore();
73
- }
74
- get userTokenStore() {
75
- return this.container.getUserTokenStore();
76
- }
77
- get context() {
78
- return this.container.getContext();
79
- }
80
- get tracker() {
81
- return this.container.getTracker();
82
- }
83
- get evaluator() {
84
- return this.container.getEvaluator();
85
- }
86
- get contentFetcher() {
87
- return this.container.getContentFetcher();
88
- }
89
- get eventManager() {
90
- return this.container.getEventManager();
91
- }
92
- getLogger(...namespace) {
93
- return this.container.getLogger(...namespace);
94
- }
95
- getTabStorage(namespace, ...subnamespace) {
96
- return this.container.getTabStorage(namespace, ...subnamespace);
97
- }
98
- getBrowserStorage(namespace, ...subnamespace) {
99
- return this.container.getBrowserStorage(namespace, ...subnamespace);
100
- }
101
- async close() {
102
- if (this.closed) {
103
- return;
104
- }
105
- const logger = this.getLogger();
106
- logger.debug('Closing SDK...');
107
- this.closed = true;
108
- await this.container.dispose();
109
- logger.info('SDK closed.');
110
- }
16
+ constructor(container) {
17
+ this.container = container;
18
+ }
19
+ static init(configuration) {
20
+ validateConfiguration(configuration);
21
+ const {
22
+ eventMetadata: customMetadata = {},
23
+ baseEndpointUrl = BASE_ENDPOINT_URL,
24
+ cidAssignerEndpointUrl,
25
+ ...containerConfiguration
26
+ } = configuration;
27
+ const eventMetadata = {
28
+ sdkVersion: VERSION
29
+ };
30
+ for (const metadata of Object.keys(customMetadata)) {
31
+ eventMetadata[`custom_${metadata}`] = customMetadata[metadata];
32
+ }
33
+ const baseHttpEndpoint = baseEndpointUrl.replace(/\/+$/, "");
34
+ const container = new Container({
35
+ ...containerConfiguration,
36
+ evaluationBaseEndpointUrl: baseHttpEndpoint,
37
+ contentBaseEndpointUrl: baseHttpEndpoint,
38
+ trackerEndpointUrl: `${baseHttpEndpoint}/client/web/track`,
39
+ cidAssignerEndpointUrl: cidAssignerEndpointUrl ?? `${baseHttpEndpoint}/client/web/cid`,
40
+ beaconQueueSize: containerConfiguration.beaconQueueSize ?? 100,
41
+ eventMetadata
42
+ });
43
+ const logger = container.getLogger();
44
+ const { appId, tokenScope } = container.getConfiguration();
45
+ logger.debug(
46
+ "\n\n \u2588\u2588\u2588\u2588\u2588\u2588\u2001\u2588\u2588\u2588\u2588\u2588\u2588\u2001 \u2588\u2588\u2588\u2588\u2588\u2588\u2001 \u2588\u2588\u2588\u2588\u2588\u2588\u2001\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2001\n\u2588\u2588\u2001\u2001\u2001\u2001\u2001\u2001\u2588\u2588\u2001\u2001\u2001\u2588\u2588\u2001\u2588\u2588\u2001\u2001\u2001\u2001\u2588\u2588\u2001\u2588\u2588\u2001\u2001\u2001\u2001\u2001\u2001\u2001\u2001\u2001\u2588\u2588\u2001\u2001\u2001\u2001\n\u2588\u2588\u2001 \u2588\u2588\u2588\u2588\u2588\u2588\u2001\u2001\u2588\u2588\u2001 \u2588\u2588\u2001\u2588\u2588\u2001 \u2588\u2588\u2001\u2001\u2001\u2001\n\u2588\u2588\u2001 \u2588\u2588\u2001\u2001\u2001\u2588\u2588\u2001\u2588\u2588\u2001 \u2588\u2588\u2001\u2588\u2588\u2001 \u2588\u2588\u2001\u2001\u2001\u2001\n \u2588\u2588\u2588\u2588\u2588\u2588\u2001\u2588\u2588\u2001 \u2588\u2588\u2001\u2001\u2588\u2588\u2588\u2588\u2588\u2588\u2001\u2001\u2001\u2588\u2588\u2588\u2588\u2588\u2588\u2001 \u2588\u2588\u2001\u2001\u2001\u2001\n\n"
47
+ );
48
+ logger.info(`Initializing SDK v${VERSION}...`);
49
+ logger.debug(`App ID: ${appId}`);
50
+ const context = container.getContext();
51
+ const tab = context.getTab();
52
+ const user = context.getUser();
53
+ logger.debug(`${tab.isNew ? "New" : "Current"} tab: ${tab.id}`);
54
+ logger.debug(`Token scope: ${tokenScope}`);
55
+ logger.debug(`Current user: ${user !== null ? user : "anonymous"}`);
56
+ logger.debug(`Test mode: ${containerConfiguration.test}`);
57
+ logger.info("\u26A1 Croct SDK is ready!");
58
+ return new Sdk(container);
59
+ }
60
+ get appId() {
61
+ const { appId } = this.container.getConfiguration();
62
+ return appId;
63
+ }
64
+ get cidAssigner() {
65
+ return this.container.getCidAssigner();
66
+ }
67
+ get previewTokenStore() {
68
+ return this.container.getPreviewTokenStore();
69
+ }
70
+ get userTokenStore() {
71
+ return this.container.getUserTokenStore();
72
+ }
73
+ get context() {
74
+ return this.container.getContext();
75
+ }
76
+ get tracker() {
77
+ return this.container.getTracker();
78
+ }
79
+ get evaluator() {
80
+ return this.container.getEvaluator();
81
+ }
82
+ get contentFetcher() {
83
+ return this.container.getContentFetcher();
84
+ }
85
+ get eventManager() {
86
+ return this.container.getEventManager();
87
+ }
88
+ getLogger(...namespace) {
89
+ return this.container.getLogger(...namespace);
90
+ }
91
+ getTabStorage(namespace, ...subnamespace) {
92
+ return this.container.getTabStorage(namespace, ...subnamespace);
93
+ }
94
+ getBrowserStorage(namespace, ...subnamespace) {
95
+ return this.container.getBrowserStorage(namespace, ...subnamespace);
96
+ }
97
+ async close() {
98
+ if (this.closed) {
99
+ return;
100
+ }
101
+ const logger = this.getLogger();
102
+ logger.debug("Closing SDK...");
103
+ this.closed = true;
104
+ await this.container.dispose();
105
+ logger.info("SDK closed.");
106
+ }
111
107
  }
112
- exports.Sdk = Sdk;
108
+ export {
109
+ Sdk
110
+ };
113
111
  //# sourceMappingURL=sdk.js.map
package/sdk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["src/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["src/sdk.ts"],"sourcesContent":["import {Container, DependencyResolver} from './container';\nimport {Context, TokenScope} from './context';\nimport {Logger} from './logging';\nimport {BASE_ENDPOINT_URL, VERSION} from './constants';\nimport {sdkConfigurationSchema} from './schema';\nimport {formatCause} from './error';\nimport {Tracker, TrackingEventProcessor} from './tracker';\nimport {Evaluator} from './evaluator';\nimport {SdkEventMap} from './sdkEvents';\nimport {EventManager} from './eventManager';\nimport {CidAssigner} from './cid';\nimport {UrlSanitizer} from './tab';\nimport {ContentFetcher} from './contentFetcher';\nimport {TokenStore} from './token';\nimport {CookieCacheConfiguration} from './cache/cookieCache';\n\nexport type Configuration = {\n appId: string,\n tokenScope: TokenScope,\n debug: boolean,\n test: boolean,\n clientId?: string,\n baseEndpointUrl?: string,\n disableCidMirroring: boolean,\n cidAssignerEndpointUrl?: string,\n beaconQueueSize?: number,\n urlSanitizer?: UrlSanitizer,\n logger?: Logger,\n eventMetadata?: {[key: string]: string},\n cookie?: {\n clientId?: CookieCacheConfiguration,\n userToken?: CookieCacheConfiguration,\n previewToken?: CookieCacheConfiguration,\n },\n eventProcessor?: DependencyResolver<TrackingEventProcessor>,\n defaultFetchTimeout?: number,\n defaultPreferredLocale?: string,\n};\n\nfunction validateConfiguration(configuration: unknown): asserts configuration is Configuration {\n if (typeof configuration !== 'object' || configuration === null) {\n throw new Error('The configuration must be a key-value map.');\n }\n\n try {\n sdkConfigurationSchema.validate(configuration);\n } catch (violation) {\n throw new Error(`Invalid configuration: ${formatCause(violation)}`);\n }\n}\n\nexport class Sdk {\n private container: Container;\n\n private closed: boolean;\n\n private constructor(container: Container) {\n this.container = container;\n }\n\n public static init(configuration: Configuration): Sdk {\n validateConfiguration(configuration);\n\n const {\n eventMetadata: customMetadata = {},\n baseEndpointUrl = BASE_ENDPOINT_URL,\n cidAssignerEndpointUrl,\n ...containerConfiguration\n } = configuration;\n\n const eventMetadata: {[key: string]: string} = {\n sdkVersion: VERSION,\n };\n\n for (const metadata of Object.keys(customMetadata)) {\n eventMetadata[`custom_${metadata}`] = customMetadata[metadata];\n }\n\n const baseHttpEndpoint = baseEndpointUrl.replace(/\\/+$/, '');\n\n const container = new Container({\n ...containerConfiguration,\n evaluationBaseEndpointUrl: baseHttpEndpoint,\n contentBaseEndpointUrl: baseHttpEndpoint,\n trackerEndpointUrl: `${baseHttpEndpoint}/client/web/track`,\n cidAssignerEndpointUrl: cidAssignerEndpointUrl ?? `${baseHttpEndpoint}/client/web/cid`,\n beaconQueueSize: containerConfiguration.beaconQueueSize ?? 100,\n eventMetadata: eventMetadata,\n });\n\n const logger = container.getLogger();\n const {appId, tokenScope} = container.getConfiguration();\n\n logger.debug(\n '\\n\\n'\n + ' ██████ ██████  ██████  ██████ ████████ \\n'\n + '██      ██   ██ ██    ██ ██         ██    \\n'\n + '██  ██████  ██  ██ ██  ██    \\n'\n + '██  ██   ██ ██  ██ ██  ██    \\n'\n + ' ██████ ██  ██  ██████   ██████  ██    \\n'\n + '\\n',\n );\n\n logger.info(`Initializing SDK v${VERSION}...`);\n logger.debug(`App ID: ${appId}`);\n\n const context = container.getContext();\n const tab = context.getTab();\n const user = context.getUser();\n\n logger.debug(`${tab.isNew ? 'New' : 'Current'} tab: ${tab.id}`);\n logger.debug(`Token scope: ${tokenScope}`);\n logger.debug(`Current user: ${user !== null ? user : 'anonymous'}`);\n logger.debug(`Test mode: ${containerConfiguration.test}`);\n logger.info('⚡ Croct SDK is ready!');\n\n return new Sdk(container);\n }\n\n public get appId(): string {\n const {appId} = this.container.getConfiguration();\n\n return appId;\n }\n\n public get cidAssigner(): CidAssigner {\n return this.container.getCidAssigner();\n }\n\n public get previewTokenStore(): TokenStore {\n return this.container.getPreviewTokenStore();\n }\n\n public get userTokenStore(): TokenStore {\n return this.container.getUserTokenStore();\n }\n\n public get context(): Context {\n return this.container.getContext();\n }\n\n public get tracker(): Tracker {\n return this.container.getTracker();\n }\n\n public get evaluator(): Evaluator {\n return this.container.getEvaluator();\n }\n\n public get contentFetcher(): ContentFetcher {\n return this.container.getContentFetcher();\n }\n\n public get eventManager(): EventManager<SdkEventMap> {\n return this.container.getEventManager();\n }\n\n public getLogger(...namespace: string[]): Logger {\n return this.container.getLogger(...namespace);\n }\n\n public getTabStorage(namespace: string, ...subnamespace: string[]): Storage {\n return this.container.getTabStorage(namespace, ...subnamespace);\n }\n\n public getBrowserStorage(namespace: string, ...subnamespace: string[]): Storage {\n return this.container.getBrowserStorage(namespace, ...subnamespace);\n }\n\n public async close(): Promise<void> {\n if (this.closed) {\n return;\n }\n\n const logger = this.getLogger();\n\n logger.debug('Closing SDK...');\n this.closed = true;\n await this.container.dispose();\n\n logger.info('SDK closed.');\n }\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sdkEvents.ts"],"sourcesContent":["import {Token} from './token';\n\nexport interface TokenChanged {\n oldToken: Token|null;\n newToken: Token|null;\n}\n\nexport type SdkEventMap = Record<string, Record<string, unknown>> & {\n tokenChanged: TokenChanged,\n};\n\nexport type SdkEventType = keyof SdkEventMap;\n\nexport type SdkEvent<T extends SdkEventType = SdkEventType> =\n T extends SdkEventType ? SdkEventMap[T] : SdkEventMap[SdkEventType];\n"],"mappings":";;;;;;;;;;;;;AAAA;AAAA;","names":[]}
package/sdkEvents.d.ts CHANGED
@@ -1,10 +1,15 @@
1
- import { Token } from './token';
2
- export interface TokenChanged {
1
+ import { Token } from './token/token.js';
2
+ import '@croct/json';
3
+ import './apiKey.js';
4
+
5
+ interface TokenChanged {
3
6
  oldToken: Token | null;
4
7
  newToken: Token | null;
5
8
  }
6
- export type SdkEventMap = Record<string, Record<string, unknown>> & {
9
+ type SdkEventMap = Record<string, Record<string, unknown>> & {
7
10
  tokenChanged: TokenChanged;
8
11
  };
9
- export type SdkEventType = keyof SdkEventMap;
10
- export type SdkEvent<T extends SdkEventType = SdkEventType> = T extends SdkEventType ? SdkEventMap[T] : SdkEventMap[SdkEventType];
12
+ type SdkEventType = keyof SdkEventMap;
13
+ type SdkEvent<T extends SdkEventType = SdkEventType> = T extends SdkEventType ? SdkEventMap[T] : SdkEventMap[SdkEventType];
14
+
15
+ export type { SdkEvent, SdkEventMap, SdkEventType, TokenChanged };
package/sdkEvents.js CHANGED
@@ -1,3 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  //# sourceMappingURL=sdkEvents.js.map
package/sdkEvents.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdkEvents.js","sourceRoot":"","sources":["src/sdkEvents.ts"],"names":[],"mappings":""}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/sourceLocation.ts"],"sourcesContent":["export type Position = {\n line: number,\n column: number,\n index: number,\n};\n\nexport type Location = {\n start: Position,\n end: Position,\n};\n\nexport function getLength(input: string): number {\n return [...input].length;\n}\n\nexport function getLocation(input: string, startIndex: number, endIndex: number): Location {\n if (startIndex < 0) {\n throw Error('The start index cannot be negative.');\n }\n\n if (endIndex < startIndex) {\n throw new Error('The end index must greater than or equal to the start index.');\n }\n\n let start: Position | undefined;\n let end: Position | undefined;\n\n const chars = [...input];\n let line = 1;\n let column = 0;\n\n for (let offset = 0; offset < chars.length; offset++) {\n const char = chars[offset];\n\n if (offset === startIndex) {\n start = {\n index: offset,\n line: line,\n column: column,\n };\n }\n\n if (offset === endIndex) {\n end = {\n index: offset,\n line: line,\n column: column,\n };\n\n break;\n }\n\n if (char === '\\n') {\n line += 1;\n column = 0;\n } else {\n column += 1;\n }\n }\n\n if (start === undefined) {\n start = {\n index: chars.length,\n line: line,\n column: column,\n };\n }\n\n if (end === undefined) {\n end = {\n index: chars.length,\n line: line,\n column: column,\n };\n }\n\n return {\n start: start,\n end: end,\n };\n}\n\nexport function getPosition(input: string, index: number): Position {\n return getLocation(input, index, index).start;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,SAAS,UAAU,OAAuB;AAC7C,SAAO,CAAC,GAAG,KAAK,EAAE;AACtB;AAEO,SAAS,YAAY,OAAe,YAAoB,UAA4B;AACvF,MAAI,aAAa,GAAG;AAChB,UAAM,MAAM,qCAAqC;AAAA,EACrD;AAEA,MAAI,WAAW,YAAY;AACvB,UAAM,IAAI,MAAM,8DAA8D;AAAA,EAClF;AAEA,MAAI;AACJ,MAAI;AAEJ,QAAM,QAAQ,CAAC,GAAG,KAAK;AACvB,MAAI,OAAO;AACX,MAAI,SAAS;AAEb,WAAS,SAAS,GAAG,SAAS,MAAM,QAAQ,UAAU;AAClD,UAAM,OAAO,MAAM,MAAM;AAEzB,QAAI,WAAW,YAAY;AACvB,cAAQ;AAAA,QACJ,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,WAAW,UAAU;AACrB,YAAM;AAAA,QACF,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MACJ;AAEA;AAAA,IACJ;AAEA,QAAI,SAAS,MAAM;AACf,cAAQ;AACR,eAAS;AAAA,IACb,OAAO;AACH,gBAAU;AAAA,IACd;AAAA,EACJ;AAEA,MAAI,UAAU,QAAW;AACrB,YAAQ;AAAA,MACJ,OAAO,MAAM;AAAA,MACb;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,QAAQ,QAAW;AACnB,UAAM;AAAA,MACF,OAAO,MAAM;AAAA,MACb;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,EACJ;AACJ;AAEO,SAAS,YAAY,OAAe,OAAyB;AAChE,SAAO,YAAY,OAAO,OAAO,KAAK,EAAE;AAC5C;","names":[]}
@@ -1,12 +1,14 @@
1
- export type Position = {
1
+ type Position = {
2
2
  line: number;
3
3
  column: number;
4
4
  index: number;
5
5
  };
6
- export type Location = {
6
+ type Location = {
7
7
  start: Position;
8
8
  end: Position;
9
9
  };
10
- export declare function getLength(input: string): number;
11
- export declare function getLocation(input: string, startIndex: number, endIndex: number): Location;
12
- export declare function getPosition(input: string, index: number): Position;
10
+ declare function getLength(input: string): number;
11
+ declare function getLocation(input: string, startIndex: number, endIndex: number): Location;
12
+ declare function getPosition(input: string, index: number): Position;
13
+
14
+ export { type Location, type Position, getLength, getLocation, getPosition };
package/sourceLocation.js CHANGED
@@ -1,68 +1,67 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLength = getLength;
4
- exports.getLocation = getLocation;
5
- exports.getPosition = getPosition;
6
1
  function getLength(input) {
7
- return [...input].length;
2
+ return [...input].length;
8
3
  }
9
4
  function getLocation(input, startIndex, endIndex) {
10
- if (startIndex < 0) {
11
- throw Error('The start index cannot be negative.');
5
+ if (startIndex < 0) {
6
+ throw Error("The start index cannot be negative.");
7
+ }
8
+ if (endIndex < startIndex) {
9
+ throw new Error("The end index must greater than or equal to the start index.");
10
+ }
11
+ let start;
12
+ let end;
13
+ const chars = [...input];
14
+ let line = 1;
15
+ let column = 0;
16
+ for (let offset = 0; offset < chars.length; offset++) {
17
+ const char = chars[offset];
18
+ if (offset === startIndex) {
19
+ start = {
20
+ index: offset,
21
+ line,
22
+ column
23
+ };
12
24
  }
13
- if (endIndex < startIndex) {
14
- throw new Error('The end index must greater than or equal to the start index.');
25
+ if (offset === endIndex) {
26
+ end = {
27
+ index: offset,
28
+ line,
29
+ column
30
+ };
31
+ break;
15
32
  }
16
- let start;
17
- let end;
18
- const chars = [...input];
19
- let line = 1;
20
- let column = 0;
21
- for (let offset = 0; offset < chars.length; offset++) {
22
- const char = chars[offset];
23
- if (offset === startIndex) {
24
- start = {
25
- index: offset,
26
- line: line,
27
- column: column,
28
- };
29
- }
30
- if (offset === endIndex) {
31
- end = {
32
- index: offset,
33
- line: line,
34
- column: column,
35
- };
36
- break;
37
- }
38
- if (char === '\n') {
39
- line += 1;
40
- column = 0;
41
- }
42
- else {
43
- column += 1;
44
- }
33
+ if (char === "\n") {
34
+ line += 1;
35
+ column = 0;
36
+ } else {
37
+ column += 1;
45
38
  }
46
- if (start === undefined) {
47
- start = {
48
- index: chars.length,
49
- line: line,
50
- column: column,
51
- };
52
- }
53
- if (end === undefined) {
54
- end = {
55
- index: chars.length,
56
- line: line,
57
- column: column,
58
- };
59
- }
60
- return {
61
- start: start,
62
- end: end,
39
+ }
40
+ if (start === void 0) {
41
+ start = {
42
+ index: chars.length,
43
+ line,
44
+ column
45
+ };
46
+ }
47
+ if (end === void 0) {
48
+ end = {
49
+ index: chars.length,
50
+ line,
51
+ column
63
52
  };
53
+ }
54
+ return {
55
+ start,
56
+ end
57
+ };
64
58
  }
65
59
  function getPosition(input, index) {
66
- return getLocation(input, index, index).start;
60
+ return getLocation(input, index, index).start;
67
61
  }
62
+ export {
63
+ getLength,
64
+ getLocation,
65
+ getPosition
66
+ };
68
67
  //# sourceMappingURL=sourceLocation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sourceLocation.js","sourceRoot":"","sources":["src/sourceLocation.ts"],"names":[],"mappings":";;AAWA,8BAEC;AAED,kCAiEC;AAED,kCAEC;AAzED,SAAgB,SAAS,CAAC,KAAa;IACnC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,SAAgB,WAAW,CAAC,KAAa,EAAE,UAAkB,EAAE,QAAgB;IAC3E,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACjB,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,KAA2B,CAAC;IAChC,IAAI,GAAyB,CAAC;IAE9B,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACzB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3B,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;YACxB,KAAK,GAAG;gBACJ,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM;aACjB,CAAC;QACN,CAAC;QAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtB,GAAG,GAAG;gBACF,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM;aACjB,CAAC;YAEF,MAAM;QACV,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,CAAC;YACV,MAAM,GAAG,CAAC,CAAC;QACf,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,KAAK,GAAG;YACJ,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;SACjB,CAAC;IACN,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpB,GAAG,GAAG;YACF,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;SACjB,CAAC;IACN,CAAC;IAED,OAAO;QACH,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,GAAG;KACX,CAAC;AACN,CAAC;AAED,SAAgB,WAAW,CAAC,KAAa,EAAE,KAAa;IACpD,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC;AAClD,CAAC"}
1
+ {"version":3,"sources":["src/sourceLocation.ts"],"sourcesContent":["export type Position = {\n line: number,\n column: number,\n index: number,\n};\n\nexport type Location = {\n start: Position,\n end: Position,\n};\n\nexport function getLength(input: string): number {\n return [...input].length;\n}\n\nexport function getLocation(input: string, startIndex: number, endIndex: number): Location {\n if (startIndex < 0) {\n throw Error('The start index cannot be negative.');\n }\n\n if (endIndex < startIndex) {\n throw new Error('The end index must greater than or equal to the start index.');\n }\n\n let start: Position | undefined;\n let end: Position | undefined;\n\n const chars = [...input];\n let line = 1;\n let column = 0;\n\n for (let offset = 0; offset < chars.length; offset++) {\n const char = chars[offset];\n\n if (offset === startIndex) {\n start = {\n index: offset,\n line: line,\n column: column,\n };\n }\n\n if (offset === endIndex) {\n end = {\n index: offset,\n line: line,\n column: column,\n };\n\n break;\n }\n\n if (char === '\\n') {\n line += 1;\n column = 0;\n } else {\n column += 1;\n }\n }\n\n if (start === undefined) {\n start = {\n index: chars.length,\n line: line,\n column: column,\n };\n }\n\n if (end === undefined) {\n end = {\n index: chars.length,\n line: line,\n column: column,\n };\n }\n\n return {\n start: start,\n end: end,\n };\n}\n\nexport function getPosition(input: string, index: number): Position {\n return getLocation(input, index, index).start;\n}\n"],"mappings":"AAWO,SAAS,UAAU,OAAuB;AAC7C,SAAO,CAAC,GAAG,KAAK,EAAE;AACtB;AAEO,SAAS,YAAY,OAAe,YAAoB,UAA4B;AACvF,MAAI,aAAa,GAAG;AAChB,UAAM,MAAM,qCAAqC;AAAA,EACrD;AAEA,MAAI,WAAW,YAAY;AACvB,UAAM,IAAI,MAAM,8DAA8D;AAAA,EAClF;AAEA,MAAI;AACJ,MAAI;AAEJ,QAAM,QAAQ,CAAC,GAAG,KAAK;AACvB,MAAI,OAAO;AACX,MAAI,SAAS;AAEb,WAAS,SAAS,GAAG,SAAS,MAAM,QAAQ,UAAU;AAClD,UAAM,OAAO,MAAM,MAAM;AAEzB,QAAI,WAAW,YAAY;AACvB,cAAQ;AAAA,QACJ,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,WAAW,UAAU;AACrB,YAAM;AAAA,QACF,OAAO;AAAA,QACP;AAAA,QACA;AAAA,MACJ;AAEA;AAAA,IACJ;AAEA,QAAI,SAAS,MAAM;AACf,cAAQ;AACR,eAAS;AAAA,IACb,OAAO;AACH,gBAAU;AAAA,IACd;AAAA,EACJ;AAEA,MAAI,UAAU,QAAW;AACrB,YAAQ;AAAA,MACJ,OAAO,MAAM;AAAA,MACb;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,QAAQ,QAAW;AACnB,UAAM;AAAA,MACF,OAAO,MAAM;AAAA,MACb;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,EACJ;AACJ;AAEO,SAAS,YAAY,OAAe,OAAyB;AAChE,SAAO,YAAY,OAAO,OAAO,KAAK,EAAE;AAC5C;","names":[]}
package/tab.cjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tab.ts"],"sourcesContent":["import {SynchronousEventManager, EventListener} from './eventManager';\n\nexport type TabEvent<T = Record<string, unknown>> = CustomEvent<{tab: Tab} & T>;\nexport type TabVisibilityChangeEvent = TabEvent<{visible: boolean}>;\nexport type TabUrlChangeEvent = TabEvent<{url: string}>;\n\nexport type UrlSanitizer = (url: string) => URL;\n\ntype TabEventMap = {\n focus: TabEvent,\n blur: TabEvent,\n load: TabEvent,\n unload: TabEvent,\n visibilityChange: TabVisibilityChangeEvent,\n urlChange: TabUrlChangeEvent,\n};\n\nconst EventMap: {[key: string]: keyof TabEventMap} = {\n focus: 'focus',\n blur: 'blur',\n beforeunload: 'unload',\n DOMContentLoaded: 'load',\n visibilitychange: 'visibilityChange',\n};\n\nexport class Tab {\n public readonly id: string;\n\n public readonly isNew: boolean;\n\n public readonly urlSanitizer?: UrlSanitizer;\n\n private readonly eventManager = new SynchronousEventManager<TabEventMap>();\n\n public constructor(id: string, isNew: boolean, urlSanitizer?: UrlSanitizer) {\n this.id = id;\n this.isNew = isNew;\n this.urlSanitizer = urlSanitizer;\n\n this.initialize();\n }\n\n private initialize(): void {\n const listener = (event: Event): void => {\n this.emit(EventMap[event.type], new CustomEvent(EventMap[event.type], {detail: {tab: this}}));\n };\n\n window.addEventListener('focus', listener, true);\n window.addEventListener('blur', listener, true);\n window.addEventListener('beforeunload', listener, true);\n window.addEventListener('DOMContentLoaded', listener, true);\n\n document.addEventListener(\n 'visibilitychange',\n () => {\n this.emit('visibilityChange', new CustomEvent('visibilityChange', {\n detail: {\n tab: this,\n visible: this.isVisible,\n },\n }));\n },\n true,\n );\n\n Tab.addUrlChangeListener(url => {\n this.emit('urlChange', new CustomEvent('urlChange', {detail: {tab: this, url: this.sanitizeUrl(url)}}));\n });\n }\n\n public get url(): string {\n return this.sanitizeUrl(window.location.href);\n }\n\n public get title(): string {\n return document.title;\n }\n\n public get referrer(): string {\n return document.referrer === '' ? '' : this.sanitizeUrl(document.referrer);\n }\n\n public get isVisible(): boolean {\n return document.visibilityState === 'visible';\n }\n\n public get document(): Document {\n return document;\n }\n\n public addListener<T extends keyof TabEventMap>(type: T, listener: EventListener<TabEventMap[T]>): void {\n this.eventManager.addListener(type, listener);\n }\n\n public removeListener<T extends keyof TabEventMap>(type: T, listener: EventListener<TabEventMap[T]>): void {\n this.eventManager.removeListener(type, listener);\n }\n\n private sanitizeUrl(url: string): string {\n const normalized = window.encodeURI(window.decodeURI(url));\n\n if (this.urlSanitizer !== undefined) {\n return this.urlSanitizer(normalized).toString();\n }\n\n return normalized;\n }\n\n private emit<T extends keyof TabEventMap>(type: T, event: TabEventMap[T]): void {\n this.eventManager.dispatch(type, event);\n }\n\n private static addUrlChangeListener(listener: {(url: string): void}): void {\n let url = window.location.href;\n\n const updateUrl = (): void => {\n const currentUrl = window.location.href;\n\n if (url !== currentUrl) {\n listener(currentUrl);\n\n url = currentUrl;\n }\n };\n\n const {pushState} = window.history;\n\n window.history.pushState = function interceptPushState(...args): any {\n const result = pushState.apply(window.history, args);\n\n updateUrl();\n\n return result;\n };\n\n const {replaceState} = window.history;\n\n window.history.replaceState = function interceptReplaceState(...args): any {\n const result = replaceState.apply(window.history, args);\n\n updateUrl();\n\n return result;\n };\n\n window.addEventListener('popstate', updateUrl, true);\n }\n}\n"],"mappings":"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","names":[]}
package/tab.d.ts CHANGED
@@ -1,14 +1,15 @@
1
- import { EventListener } from './eventManager';
2
- export type TabEvent<T = Record<string, unknown>> = CustomEvent<{
1
+ import { EventListener } from './eventManager.js';
2
+
3
+ type TabEvent<T = Record<string, unknown>> = CustomEvent<{
3
4
  tab: Tab;
4
5
  } & T>;
5
- export type TabVisibilityChangeEvent = TabEvent<{
6
+ type TabVisibilityChangeEvent = TabEvent<{
6
7
  visible: boolean;
7
8
  }>;
8
- export type TabUrlChangeEvent = TabEvent<{
9
+ type TabUrlChangeEvent = TabEvent<{
9
10
  url: string;
10
11
  }>;
11
- export type UrlSanitizer = (url: string) => URL;
12
+ type UrlSanitizer = (url: string) => URL;
12
13
  type TabEventMap = {
13
14
  focus: TabEvent;
14
15
  blur: TabEvent;
@@ -17,7 +18,7 @@ type TabEventMap = {
17
18
  visibilityChange: TabVisibilityChangeEvent;
18
19
  urlChange: TabUrlChangeEvent;
19
20
  };
20
- export declare class Tab {
21
+ declare class Tab {
21
22
  readonly id: string;
22
23
  readonly isNew: boolean;
23
24
  readonly urlSanitizer?: UrlSanitizer;
@@ -35,4 +36,5 @@ export declare class Tab {
35
36
  private emit;
36
37
  private static addUrlChangeListener;
37
38
  }
38
- export {};
39
+
40
+ export { Tab, type TabEvent, type TabUrlChangeEvent, type TabVisibilityChangeEvent, type UrlSanitizer };