@customerio/cdp-analytics-node 0.0.1 → 0.0.3

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 (152) hide show
  1. package/README.md +27 -1
  2. package/dist/cjs/app/analytics-node.js +0 -0
  3. package/dist/cjs/app/analytics-node.js.map +0 -0
  4. package/dist/cjs/app/context.js +0 -0
  5. package/dist/cjs/app/context.js.map +0 -0
  6. package/dist/cjs/app/dispatch-emit.js +0 -0
  7. package/dist/cjs/app/dispatch-emit.js.map +0 -0
  8. package/dist/cjs/app/emitter.js +0 -0
  9. package/dist/cjs/app/emitter.js.map +0 -0
  10. package/dist/cjs/app/event-factory.js +0 -0
  11. package/dist/cjs/app/event-factory.js.map +0 -0
  12. package/dist/cjs/app/event-queue.js +0 -0
  13. package/dist/cjs/app/event-queue.js.map +0 -0
  14. package/dist/cjs/app/settings.js +0 -0
  15. package/dist/cjs/app/settings.js.map +0 -0
  16. package/dist/cjs/app/types/event.js +0 -0
  17. package/dist/cjs/app/types/event.js.map +0 -0
  18. package/dist/cjs/app/types/index.js +0 -0
  19. package/dist/cjs/app/types/index.js.map +0 -0
  20. package/dist/cjs/app/types/params.js +0 -0
  21. package/dist/cjs/app/types/params.js.map +0 -0
  22. package/dist/cjs/app/types/plugin.js +0 -0
  23. package/dist/cjs/app/types/plugin.js.map +0 -0
  24. package/dist/cjs/generated/version.js +0 -0
  25. package/dist/cjs/generated/version.js.map +0 -0
  26. package/dist/cjs/index.js +0 -0
  27. package/dist/cjs/index.js.map +0 -0
  28. package/dist/cjs/lib/abort.js +1 -1
  29. package/dist/cjs/lib/abort.js.map +1 -1
  30. package/dist/cjs/lib/base-64-encode.js +3 -9
  31. package/dist/cjs/lib/base-64-encode.js.map +1 -1
  32. package/dist/cjs/lib/create-url.js +0 -0
  33. package/dist/cjs/lib/create-url.js.map +0 -0
  34. package/dist/cjs/lib/env.js +4 -0
  35. package/dist/cjs/lib/env.js.map +1 -1
  36. package/dist/cjs/lib/extract-promise-parts.js +0 -0
  37. package/dist/cjs/lib/extract-promise-parts.js.map +0 -0
  38. package/dist/cjs/lib/fetch.js +37 -3
  39. package/dist/cjs/lib/fetch.js.map +1 -1
  40. package/dist/cjs/lib/get-message-id.js +0 -0
  41. package/dist/cjs/lib/get-message-id.js.map +0 -0
  42. package/dist/cjs/lib/uuid.js +0 -0
  43. package/dist/cjs/lib/uuid.js.map +0 -0
  44. package/dist/cjs/plugins/customerio/context-batch.js +0 -0
  45. package/dist/cjs/plugins/customerio/context-batch.js.map +0 -0
  46. package/dist/cjs/plugins/customerio/index.js +4 -1
  47. package/dist/cjs/plugins/customerio/index.js.map +1 -1
  48. package/dist/cjs/plugins/customerio/publisher.js +0 -0
  49. package/dist/cjs/plugins/customerio/publisher.js.map +0 -0
  50. package/dist/esm/app/analytics-node.js +0 -0
  51. package/dist/esm/app/analytics-node.js.map +0 -0
  52. package/dist/esm/app/context.js +0 -0
  53. package/dist/esm/app/context.js.map +0 -0
  54. package/dist/esm/app/dispatch-emit.js +0 -0
  55. package/dist/esm/app/dispatch-emit.js.map +0 -0
  56. package/dist/esm/app/emitter.js +0 -0
  57. package/dist/esm/app/emitter.js.map +0 -0
  58. package/dist/esm/app/event-factory.js +0 -0
  59. package/dist/esm/app/event-factory.js.map +0 -0
  60. package/dist/esm/app/event-queue.js +0 -0
  61. package/dist/esm/app/event-queue.js.map +0 -0
  62. package/dist/esm/app/settings.js +0 -0
  63. package/dist/esm/app/settings.js.map +0 -0
  64. package/dist/esm/app/types/event.js +0 -0
  65. package/dist/esm/app/types/event.js.map +0 -0
  66. package/dist/esm/app/types/index.js +0 -0
  67. package/dist/esm/app/types/index.js.map +0 -0
  68. package/dist/esm/app/types/params.js +0 -0
  69. package/dist/esm/app/types/params.js.map +0 -0
  70. package/dist/esm/app/types/plugin.js +0 -0
  71. package/dist/esm/app/types/plugin.js.map +0 -0
  72. package/dist/esm/generated/version.js +0 -0
  73. package/dist/esm/generated/version.js.map +0 -0
  74. package/dist/esm/index.js +0 -0
  75. package/dist/esm/index.js.map +0 -0
  76. package/dist/esm/lib/abort.js +1 -1
  77. package/dist/esm/lib/abort.js.map +1 -1
  78. package/dist/esm/lib/base-64-encode.js +3 -9
  79. package/dist/esm/lib/base-64-encode.js.map +1 -1
  80. package/dist/esm/lib/create-url.js +0 -0
  81. package/dist/esm/lib/create-url.js.map +0 -0
  82. package/dist/esm/lib/env.js +4 -0
  83. package/dist/esm/lib/env.js.map +1 -1
  84. package/dist/esm/lib/extract-promise-parts.js +0 -0
  85. package/dist/esm/lib/extract-promise-parts.js.map +0 -0
  86. package/dist/esm/lib/fetch.js +13 -2
  87. package/dist/esm/lib/fetch.js.map +1 -1
  88. package/dist/esm/lib/get-message-id.js +0 -0
  89. package/dist/esm/lib/get-message-id.js.map +0 -0
  90. package/dist/esm/lib/uuid.js +0 -0
  91. package/dist/esm/lib/uuid.js.map +0 -0
  92. package/dist/esm/plugins/customerio/context-batch.js +0 -0
  93. package/dist/esm/plugins/customerio/context-batch.js.map +0 -0
  94. package/dist/esm/plugins/customerio/index.js +4 -1
  95. package/dist/esm/plugins/customerio/index.js.map +1 -1
  96. package/dist/esm/plugins/customerio/publisher.js +0 -0
  97. package/dist/esm/plugins/customerio/publisher.js.map +0 -0
  98. package/dist/types/app/analytics-node.d.ts +0 -0
  99. package/dist/types/app/analytics-node.d.ts.map +0 -0
  100. package/dist/types/app/context.d.ts +0 -0
  101. package/dist/types/app/context.d.ts.map +0 -0
  102. package/dist/types/app/dispatch-emit.d.ts +0 -0
  103. package/dist/types/app/dispatch-emit.d.ts.map +0 -0
  104. package/dist/types/app/emitter.d.ts +0 -0
  105. package/dist/types/app/emitter.d.ts.map +0 -0
  106. package/dist/types/app/event-factory.d.ts +0 -0
  107. package/dist/types/app/event-factory.d.ts.map +0 -0
  108. package/dist/types/app/event-queue.d.ts +0 -0
  109. package/dist/types/app/event-queue.d.ts.map +0 -0
  110. package/dist/types/app/settings.d.ts +0 -0
  111. package/dist/types/app/settings.d.ts.map +0 -0
  112. package/dist/types/app/types/event.d.ts +0 -0
  113. package/dist/types/app/types/event.d.ts.map +0 -0
  114. package/dist/types/app/types/index.d.ts +0 -0
  115. package/dist/types/app/types/index.d.ts.map +0 -0
  116. package/dist/types/app/types/params.d.ts +4 -1
  117. package/dist/types/app/types/params.d.ts.map +1 -1
  118. package/dist/types/app/types/plugin.d.ts +0 -0
  119. package/dist/types/app/types/plugin.d.ts.map +0 -0
  120. package/dist/types/generated/version.d.ts +0 -0
  121. package/dist/types/generated/version.d.ts.map +0 -0
  122. package/dist/types/index.d.ts +0 -0
  123. package/dist/types/index.d.ts.map +0 -0
  124. package/dist/types/lib/abort.d.ts +0 -0
  125. package/dist/types/lib/abort.d.ts.map +0 -0
  126. package/dist/types/lib/base-64-encode.d.ts +1 -0
  127. package/dist/types/lib/base-64-encode.d.ts.map +1 -1
  128. package/dist/types/lib/create-url.d.ts +0 -0
  129. package/dist/types/lib/create-url.d.ts.map +0 -0
  130. package/dist/types/lib/env.d.ts +1 -1
  131. package/dist/types/lib/env.d.ts.map +1 -1
  132. package/dist/types/lib/extract-promise-parts.d.ts +0 -0
  133. package/dist/types/lib/extract-promise-parts.d.ts.map +0 -0
  134. package/dist/types/lib/fetch.d.ts +0 -0
  135. package/dist/types/lib/fetch.d.ts.map +1 -1
  136. package/dist/types/lib/get-message-id.d.ts +0 -0
  137. package/dist/types/lib/get-message-id.d.ts.map +0 -0
  138. package/dist/types/lib/uuid.d.ts +0 -0
  139. package/dist/types/lib/uuid.d.ts.map +0 -0
  140. package/dist/types/plugins/customerio/context-batch.d.ts +0 -0
  141. package/dist/types/plugins/customerio/context-batch.d.ts.map +0 -0
  142. package/dist/types/plugins/customerio/index.d.ts +0 -0
  143. package/dist/types/plugins/customerio/index.d.ts.map +1 -1
  144. package/dist/types/plugins/customerio/publisher.d.ts +0 -0
  145. package/dist/types/plugins/customerio/publisher.d.ts.map +0 -0
  146. package/package.json +3 -3
  147. package/src/app/types/params.ts +1 -1
  148. package/src/lib/abort.ts +2 -2
  149. package/src/lib/base-64-encode.ts +3 -9
  150. package/src/lib/env.ts +6 -0
  151. package/src/lib/fetch.ts +14 -3
  152. package/src/plugins/customerio/index.ts +4 -1
package/README.md CHANGED
@@ -12,9 +12,35 @@ npm install @customerio/cdp-analytics-node
12
12
  import { Analytics } from '@customerio/cdp-analytics-node'
13
13
 
14
14
  // instantiation
15
- const analytics = new Analytics({ writeKey: '<MY_WRITE_KEY>' })
15
+ const analytics = new Analytics({ writeKey: '<MY_WRITE_KEY>' });
16
16
 
17
17
  analytics.identify({
18
18
  userId: '4'
19
19
  });
20
20
  ```
21
+
22
+ ## Other Regions
23
+
24
+ If you're using a [different data center](https://customer.io/docs/accounts-and-workspaces/data-centers/) such as our EU region, you can specify an alternate endpoint:
25
+
26
+ ```ts
27
+ import { Analytics } from '@customerio/cdp-analytics-node'
28
+
29
+ // instantiation
30
+ const analytics = new Analytics({
31
+ host: 'https://cdp-eu.customer.io',
32
+ writeKey: '<MY_WRITE_KEY>'
33
+ });
34
+
35
+ analytics.identify({
36
+ userId: '4'
37
+ });
38
+ ```
39
+
40
+ ## Documentation
41
+
42
+ The links below contain more detailed documentation on how to use this library:
43
+
44
+ * [Documentation](https://customer.io/docs/cdp/sources/connections/servers/node/)
45
+ * [Specs](https://customer.io/docs/cdp/sources/source-spec/source-events/)
46
+ * [npm](https://www.npmjs.com/package/@customerio/cdp-analytics-node)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/cjs/index.js CHANGED
File without changes
File without changes
@@ -65,7 +65,7 @@ const abortSignalAfterTimeout = (timeoutMs) => {
65
65
  if ((0, env_1.detectRuntime)() === 'cloudflare-worker') {
66
66
  return []; // TODO: this is broken in cloudflare workers, otherwise results in "A hanging Promise was canceled..." error.
67
67
  }
68
- const ac = new (global.AbortController || AbortController)();
68
+ const ac = new (globalThis.AbortController || AbortController)();
69
69
  const timeoutId = setTimeout(() => {
70
70
  ac.abort();
71
71
  }, timeoutMs);
@@ -1 +1 @@
1
- {"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../src/lib/abort.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,uEAAwD;AACxD,+BAAqC;AAErC;;GAEG;AACH,MAAM,WAAW;IAAjB;QACE,YAAO,GAAsC,IAAI,CAAA;QACjD,YAAO,GAAG,KAAK,CAAA;QACf,iBAAY,GAAG,IAAI,4BAAO,EAAE,CAAA;IAyB9B,CAAC;IAvBC,QAAQ;QACN,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,mBAAmB,CAAC,GAAG,IAAgC;QACrD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,gBAAgB,CAAC,GAAG,IAA+B;QACjD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;IAC/B,CAAC;IACD,aAAa,CAAC,IAAY;QACxB,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAEpC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAAA;QAE/B,IAAI,OAAQ,IAAY,CAAC,WAAW,CAAC,KAAK,UAAU,EAAE;YACpD,CAAC;YAAE,IAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAA;SACpC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,eAAe;IAArB;QACE,WAAM,GAAG,IAAI,WAAW,EAAE,CAAA;IAa5B,CAAC;IAZC,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAM;QAE/B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IACD,QAAQ;QACN,OAAO,0BAA0B,CAAA;IACnC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,iBAAiB,CAAA;IAC1B,CAAC;CACF;AAED;;GAEG;AACI,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC3D,IAAI,IAAA,mBAAa,GAAE,KAAK,mBAAmB,EAAE;QAC3C,OAAO,EAAE,CAAA,CAAC,8GAA8G;KACzH;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,eAAe,CAAC,EAAE,CAAA;IAE5D,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,EAAE,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC,EAAE,SAAS,CAAC,CAAA;IAEb,uEAAuE;IACvE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAA;IAEpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAU,CAAA;AACxC,CAAC,CAAA;AAdY,QAAA,uBAAuB,2BAcnC"}
1
+ {"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../src/lib/abort.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,uEAAwD;AACxD,+BAAqC;AAErC;;GAEG;AACH,MAAM,WAAW;IAAjB;QACE,YAAO,GAAsC,IAAI,CAAA;QACjD,YAAO,GAAG,KAAK,CAAA;QACf,iBAAY,GAAG,IAAI,4BAAO,EAAE,CAAA;IAyB9B,CAAC;IAvBC,QAAQ;QACN,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,mBAAmB,CAAC,GAAG,IAAgC;QACrD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,gBAAgB,CAAC,GAAG,IAA+B;QACjD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;IAC/B,CAAC;IACD,aAAa,CAAC,IAAY;QACxB,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAEpC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAAA;QAE/B,IAAI,OAAQ,IAAY,CAAC,WAAW,CAAC,KAAK,UAAU,EAAE;YACpD,CAAC;YAAC,IAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAA;SACnC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,eAAe;IAArB;QACE,WAAM,GAAG,IAAI,WAAW,EAAE,CAAA;IAa5B,CAAC;IAZC,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAM;QAE/B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IACD,QAAQ;QACN,OAAO,0BAA0B,CAAA;IACnC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,iBAAiB,CAAA;IAC1B,CAAC;CACF;AAED;;GAEG;AACI,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC3D,IAAI,IAAA,mBAAa,GAAE,KAAK,mBAAmB,EAAE;QAC3C,OAAO,EAAE,CAAA,CAAC,8GAA8G;KACzH;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,eAAe,CAAC,EAAE,CAAA;IAEhE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,EAAE,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC,EAAE,SAAS,CAAC,CAAA;IAEb,uEAAuE;IACvE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAA;IAEpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAU,CAAA;AACxC,CAAC,CAAA;AAdY,QAAA,uBAAuB,2BAcnC"}
@@ -1,19 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.b64encode = void 0;
4
+ const buffer_1 = require("buffer");
5
+ /**
4
6
  /**
5
7
  * Base64 encoder that works in browser, worker, node runtimes.
6
8
  */
7
9
  const b64encode = (str) => {
8
- if (
9
- // in node env
10
- typeof Buffer !== 'undefined') {
11
- return Buffer.from(str).toString('base64');
12
- }
13
- else {
14
- // in worker env
15
- return btoa(str);
16
- }
10
+ return buffer_1.Buffer.from(str).toString('base64');
17
11
  };
18
12
  exports.b64encode = b64encode;
19
13
  //# sourceMappingURL=base-64-encode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-64-encode.js","sourceRoot":"","sources":["../../../src/lib/base-64-encode.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACI,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IAC/C;IACE,cAAc;IACd,OAAO,MAAM,KAAK,WAAW,EAC7B;QACA,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;KAC3C;SAAM;QACL,gBAAgB;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;KACjB;AACH,CAAC,CAAA;AAVY,QAAA,SAAS,aAUrB"}
1
+ {"version":3,"file":"base-64-encode.js","sourceRoot":"","sources":["../../../src/lib/base-64-encode.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAC/B;;;GAGG;AACI,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IAC/C,OAAO,eAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC5C,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB"}
File without changes
File without changes
@@ -12,6 +12,10 @@ const detectRuntime = () => {
12
12
  if (typeof WebSocketPair !== 'undefined') {
13
13
  return 'cloudflare-worker';
14
14
  }
15
+ // @ts-ignore
16
+ if (typeof EdgeRuntime === 'string') {
17
+ return 'vercel-edge';
18
+ }
15
19
  if (
16
20
  // @ts-ignore
17
21
  typeof WorkerGlobalScope !== 'undefined' &&
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/lib/env.ts"],"names":[],"mappings":";;;AAOO,MAAM,aAAa,GAAG,GAAe,EAAE;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACzD,OAAO,MAAM,CAAA;KACd;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,SAAS,CAAA;KACjB;IAED,aAAa;IACb,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE;QACxC,OAAO,mBAAmB,CAAA;KAC3B;IAED;IACE,aAAa;IACb,OAAO,iBAAiB,KAAK,WAAW;QACxC,aAAa;QACb,OAAO,aAAa,KAAK,UAAU,EACnC;QACA,OAAO,YAAY,CAAA;KACpB;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAxBY,QAAA,aAAa,iBAwBzB"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/lib/env.ts"],"names":[],"mappings":";;;AAQO,MAAM,aAAa,GAAG,GAAe,EAAE;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACzD,OAAO,MAAM,CAAA;KACd;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,SAAS,CAAA;KACjB;IAED,aAAa;IACb,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE;QACxC,OAAO,mBAAmB,CAAA;KAC3B;IAED,aAAa;IACb,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,OAAO,aAAa,CAAA;KACrB;IAED;IACE,aAAa;IACb,OAAO,iBAAiB,KAAK,WAAW;QACxC,aAAa;QACb,OAAO,aAAa,KAAK,UAAU,EACnC;QACA,OAAO,YAAY,CAAA;KACpB;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AA7BY,QAAA,aAAa,iBA6BzB"}
File without changes
File without changes
@@ -1,7 +1,41 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.fetch = void 0;
4
- const tslib_1 = require("tslib");
5
- const node_fetch_1 = tslib_1.__importDefault(require("node-fetch"));
6
- exports.fetch = globalThis.fetch || node_fetch_1.default;
27
+ const fetch = async (...args) => {
28
+ if (globalThis.fetch) {
29
+ return globalThis.fetch(...args);
30
+ } // @ts-ignore
31
+ // This guard causes is important, as it causes dead-code elimination to be enabled inside this block.
32
+ else if (typeof EdgeRuntime !== 'string') {
33
+ // @ts-ignore
34
+ return (await Promise.resolve().then(() => __importStar(require('node-fetch')))).default(...args);
35
+ }
36
+ else {
37
+ throw new Error('Invariant: an edge runtime that does not support fetch should not exist');
38
+ }
39
+ };
40
+ exports.fetch = fetch;
7
41
  //# sourceMappingURL=fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":";;;;AAAA,oEAA8C;AAEjC,QAAA,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,oBAAM,CAAA"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAM,KAAK,GAA4B,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;IAC9D,IAAI,UAAU,CAAC,KAAK,EAAE;QACpB,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;KACjC,CAAC,aAAa;IACf,sGAAsG;SACjG,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACxC,aAAa;QACb,OAAO,CAAC,wDAAa,YAAY,GAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAa,CAAA;KACjE;SAAM;QACL,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAA;KACF;AACH,CAAC,CAAA;AAbY,QAAA,KAAK,SAajB"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -9,7 +9,10 @@ function normalizeEvent(ctx) {
9
9
  ctx.updateEvent('context.library.version', version_1.version);
10
10
  const runtime = (0, env_1.detectRuntime)();
11
11
  if (runtime === 'node') {
12
- ctx.updateEvent('_metadata.nodeVersion', process.versions.node);
12
+ // extra guard here was important for vercel edge.
13
+ if (typeof process.versions === 'object') {
14
+ ctx.updateEvent('_metadata.nodeVersion', process.versions.node);
15
+ }
13
16
  }
14
17
  ctx.updateEvent('_metadata.jsRuntime', runtime);
15
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/customerio/index.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAiD;AACjD,uCAA6C;AAK7C,SAAS,cAAc,CAAC,GAAY;IAClC,GAAG,CAAC,WAAW,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,CAAA;IACzE,GAAG,CAAC,WAAW,CAAC,yBAAyB,EAAE,iBAAO,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,IAAA,mBAAa,GAAE,CAAA;IAC/B,IAAI,OAAO,KAAK,MAAM,EAAE;QACtB,GAAG,CAAC,WAAW,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;KAChE;IACD,GAAG,CAAC,WAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;AACjD,CAAC;AAmBD,SAAgB,gBAAgB,CAAC,SAAoB;IACnD,SAAS,MAAM,CAAC,GAAY;QAC1B,cAAc,CAAC,GAAG,CAAC,CAAA;QACnB,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;QACpB,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAC7B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;KACd,CAAA;AACH,CAAC;AAnBD,4CAmBC;AAEM,MAAM,0BAA0B,GAAG,CACxC,KAA+B,EAC/B,OAAoB,EACpB,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC/C,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;KACpC,CAAA;AACH,CAAC,CAAA;AATY,QAAA,0BAA0B,8BAStC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/customerio/index.ts"],"names":[],"mappings":";;;AAAA,2CAAuD;AACvD,qDAAiD;AACjD,uCAA6C;AAK7C,SAAS,cAAc,CAAC,GAAY;IAClC,GAAG,CAAC,WAAW,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,CAAA;IACzE,GAAG,CAAC,WAAW,CAAC,yBAAyB,EAAE,iBAAO,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,IAAA,mBAAa,GAAE,CAAA;IAC/B,IAAI,OAAO,KAAK,MAAM,EAAE;QACtB,kDAAkD;QAClD,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,GAAG,CAAC,WAAW,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;SAChE;KACF;IACD,GAAG,CAAC,WAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;AACjD,CAAC;AAmBD,SAAgB,gBAAgB,CAAC,SAAoB;IACnD,SAAS,MAAM,CAAC,GAAY;QAC1B,cAAc,CAAC,GAAG,CAAC,CAAA;QACnB,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;QACpB,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAC7B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;KACd,CAAA;AACH,CAAC;AAnBD,4CAmBC;AAEM,MAAM,0BAA0B,GAAG,CACxC,KAA+B,EAC/B,OAAoB,EACpB,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC/C,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;KACpC,CAAA;AACH,CAAC,CAAA;AATY,QAAA,0BAA0B,8BAStC"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/esm/index.js CHANGED
File without changes
File without changes
@@ -62,7 +62,7 @@ export const abortSignalAfterTimeout = (timeoutMs) => {
62
62
  if (detectRuntime() === 'cloudflare-worker') {
63
63
  return []; // TODO: this is broken in cloudflare workers, otherwise results in "A hanging Promise was canceled..." error.
64
64
  }
65
- const ac = new (global.AbortController || AbortController)();
65
+ const ac = new (globalThis.AbortController || AbortController)();
66
66
  const timeoutId = setTimeout(() => {
67
67
  ac.abort();
68
68
  }, timeoutMs);
@@ -1 +1 @@
1
- {"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../src/lib/abort.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC;;GAEG;AACH,MAAM,WAAW;IAAjB;QACE,YAAO,GAAsC,IAAI,CAAA;QACjD,YAAO,GAAG,KAAK,CAAA;QACf,iBAAY,GAAG,IAAI,OAAO,EAAE,CAAA;IAyB9B,CAAC;IAvBC,QAAQ;QACN,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,mBAAmB,CAAC,GAAG,IAAgC;QACrD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,gBAAgB,CAAC,GAAG,IAA+B;QACjD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;IAC/B,CAAC;IACD,aAAa,CAAC,IAAY;QACxB,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAEpC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAAA;QAE/B,IAAI,OAAQ,IAAY,CAAC,WAAW,CAAC,KAAK,UAAU,EAAE;YACpD,CAAC;YAAE,IAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAA;SACpC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,eAAe;IAArB;QACE,WAAM,GAAG,IAAI,WAAW,EAAE,CAAA;IAa5B,CAAC;IAZC,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAM;QAE/B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IACD,QAAQ;QACN,OAAO,0BAA0B,CAAA;IACnC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,iBAAiB,CAAA;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC3D,IAAI,aAAa,EAAE,KAAK,mBAAmB,EAAE;QAC3C,OAAO,EAAE,CAAA,CAAC,8GAA8G;KACzH;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,eAAe,CAAC,EAAE,CAAA;IAE5D,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,EAAE,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC,EAAE,SAAS,CAAC,CAAA;IAEb,uEAAuE;IACvE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAA;IAEpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAU,CAAA;AACxC,CAAC,CAAA"}
1
+ {"version":3,"file":"abort.js","sourceRoot":"","sources":["../../../src/lib/abort.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC;;GAEG;AACH,MAAM,WAAW;IAAjB;QACE,YAAO,GAAsC,IAAI,CAAA;QACjD,YAAO,GAAG,KAAK,CAAA;QACf,iBAAY,GAAG,IAAI,OAAO,EAAE,CAAA;IAyB9B,CAAC;IAvBC,QAAQ;QACN,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,mBAAmB,CAAC,GAAG,IAAgC;QACrD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC;IACD,gBAAgB,CAAC,GAAG,IAA+B;QACjD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;IAC/B,CAAC;IACD,aAAa,CAAC,IAAY;QACxB,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;QAEpC,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAAA;QAE/B,IAAI,OAAQ,IAAY,CAAC,WAAW,CAAC,KAAK,UAAU,EAAE;YACpD,CAAC;YAAC,IAAY,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAA;SACnC;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,eAAe;IAArB;QACE,WAAM,GAAG,IAAI,WAAW,EAAE,CAAA;IAa5B,CAAC;IAZC,KAAK;QACH,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAM;QAE/B,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IACpC,CAAC;IACD,QAAQ;QACN,OAAO,0BAA0B,CAAA;IACnC,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,iBAAiB,CAAA;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAiB,EAAE,EAAE;IAC3D,IAAI,aAAa,EAAE,KAAK,mBAAmB,EAAE;QAC3C,OAAO,EAAE,CAAA,CAAC,8GAA8G;KACzH;IACD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,IAAI,eAAe,CAAC,EAAE,CAAA;IAEhE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,EAAE,CAAC,KAAK,EAAE,CAAA;IACZ,CAAC,EAAE,SAAS,CAAC,CAAA;IAEb,uEAAuE;IACvE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAA;IAEpB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAU,CAAA;AACxC,CAAC,CAAA"}
@@ -1,15 +1,9 @@
1
+ import { Buffer } from 'buffer';
2
+ /**
1
3
  /**
2
4
  * Base64 encoder that works in browser, worker, node runtimes.
3
5
  */
4
6
  export const b64encode = (str) => {
5
- if (
6
- // in node env
7
- typeof Buffer !== 'undefined') {
8
- return Buffer.from(str).toString('base64');
9
- }
10
- else {
11
- // in worker env
12
- return btoa(str);
13
- }
7
+ return Buffer.from(str).toString('base64');
14
8
  };
15
9
  //# sourceMappingURL=base-64-encode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-64-encode.js","sourceRoot":"","sources":["../../../src/lib/base-64-encode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IAC/C;IACE,cAAc;IACd,OAAO,MAAM,KAAK,WAAW,EAC7B;QACA,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;KAC3C;SAAM;QACL,gBAAgB;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;KACjB;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"base-64-encode.js","sourceRoot":"","sources":["../../../src/lib/base-64-encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IAC/C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC5C,CAAC,CAAA"}
File without changes
File without changes
@@ -9,6 +9,10 @@ export const detectRuntime = () => {
9
9
  if (typeof WebSocketPair !== 'undefined') {
10
10
  return 'cloudflare-worker';
11
11
  }
12
+ // @ts-ignore
13
+ if (typeof EdgeRuntime === 'string') {
14
+ return 'vercel-edge';
15
+ }
12
16
  if (
13
17
  // @ts-ignore
14
18
  typeof WorkerGlobalScope !== 'undefined' &&
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/lib/env.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,aAAa,GAAG,GAAe,EAAE;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACzD,OAAO,MAAM,CAAA;KACd;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,SAAS,CAAA;KACjB;IAED,aAAa;IACb,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE;QACxC,OAAO,mBAAmB,CAAA;KAC3B;IAED;IACE,aAAa;IACb,OAAO,iBAAiB,KAAK,WAAW;QACxC,aAAa;QACb,OAAO,aAAa,KAAK,UAAU,EACnC;QACA,OAAO,YAAY,CAAA;KACpB;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/lib/env.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,aAAa,GAAG,GAAe,EAAE;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACzD,OAAO,MAAM,CAAA;KACd;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,SAAS,CAAA;KACjB;IAED,aAAa;IACb,IAAI,OAAO,aAAa,KAAK,WAAW,EAAE;QACxC,OAAO,mBAAmB,CAAA;KAC3B;IAED,aAAa;IACb,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,OAAO,aAAa,CAAA;KACrB;IAED;IACE,aAAa;IACb,OAAO,iBAAiB,KAAK,WAAW;QACxC,aAAa;QACb,OAAO,aAAa,KAAK,UAAU,EACnC;QACA,OAAO,YAAY,CAAA;KACpB;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
File without changes
File without changes
@@ -1,3 +1,14 @@
1
- import { default as _fetch } from 'node-fetch';
2
- export const fetch = globalThis.fetch || _fetch;
1
+ export const fetch = async (...args) => {
2
+ if (globalThis.fetch) {
3
+ return globalThis.fetch(...args);
4
+ } // @ts-ignore
5
+ // This guard causes is important, as it causes dead-code elimination to be enabled inside this block.
6
+ else if (typeof EdgeRuntime !== 'string') {
7
+ // @ts-ignore
8
+ return (await import('node-fetch')).default(...args);
9
+ }
10
+ else {
11
+ throw new Error('Invariant: an edge runtime that does not support fetch should not exist');
12
+ }
13
+ };
3
14
  //# sourceMappingURL=fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,YAAY,CAAA;AAE9C,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,MAAM,CAAA"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAA4B,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;IAC9D,IAAI,UAAU,CAAC,KAAK,EAAE;QACpB,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;KACjC,CAAC,aAAa;IACf,sGAAsG;SACjG,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACxC,aAAa;QACb,OAAO,CAAC,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAa,CAAA;KACjE;SAAM;QACL,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAA;KACF;AACH,CAAC,CAAA"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -6,7 +6,10 @@ function normalizeEvent(ctx) {
6
6
  ctx.updateEvent('context.library.version', version);
7
7
  const runtime = detectRuntime();
8
8
  if (runtime === 'node') {
9
- ctx.updateEvent('_metadata.nodeVersion', process.versions.node);
9
+ // extra guard here was important for vercel edge.
10
+ if (typeof process.versions === 'object') {
11
+ ctx.updateEvent('_metadata.nodeVersion', process.versions.node);
12
+ }
10
13
  }
11
14
  ctx.updateEvent('_metadata.jsRuntime', runtime);
12
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/customerio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAK7C,SAAS,cAAc,CAAC,GAAY;IAClC,GAAG,CAAC,WAAW,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,CAAA;IACzE,GAAG,CAAC,WAAW,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;IAC/B,IAAI,OAAO,KAAK,MAAM,EAAE;QACtB,GAAG,CAAC,WAAW,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;KAChE;IACD,GAAG,CAAC,WAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;AACjD,CAAC;AAmBD,MAAM,UAAU,gBAAgB,CAAC,SAAoB;IACnD,SAAS,MAAM,CAAC,GAAY;QAC1B,cAAc,CAAC,GAAG,CAAC,CAAA;QACnB,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;QACpB,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAC7B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;KACd,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,KAA+B,EAC/B,OAAoB,EACpB,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC/C,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;KACpC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/customerio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAK7C,SAAS,cAAc,CAAC,GAAY;IAClC,GAAG,CAAC,WAAW,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,CAAA;IACzE,GAAG,CAAC,WAAW,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;IAC/B,IAAI,OAAO,KAAK,MAAM,EAAE;QACtB,kDAAkD;QAClD,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE;YACxC,GAAG,CAAC,WAAW,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;SAChE;KACF;IACD,GAAG,CAAC,WAAW,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAA;AACjD,CAAC;AAmBD,MAAM,UAAU,gBAAgB,CAAC,SAAoB;IACnD,SAAS,MAAM,CAAC,GAAY;QAC1B,cAAc,CAAC,GAAG,CAAC,CAAA;QACnB,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI;QACpB,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAC7B,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;KACd,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,KAA+B,EAC/B,OAAoB,EACpB,EAAE;IACF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAC/C,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC;KACpC,CAAA;AACH,CAAC,CAAA"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -32,7 +32,10 @@ export type GroupParams = {
32
32
  context?: ExtraContext;
33
33
  timestamp?: Timestamp;
34
34
  integrations?: Integrations;
35
- } & IdentityOptions;
35
+ } & (IdentityOptions | {
36
+ userId?: string;
37
+ anonymousId?: string;
38
+ });
36
39
  export type IdentifyParams = {
37
40
  /**
38
41
  * Traits are pieces of information you know about a group.
@@ -1 +1 @@
1
- {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../../src/app/types/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;AAEvC;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,gBAAgB;CAAI;AAE1D;;IAEI;AACJ,KAAK,eAAe,GAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG;IAExB,MAAM,EAAE,MAAM,CAAA;IAEd,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,GAAG,eAAe,CAAA;AAEnB,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,GAAG,eAAe,CAAA;AAEnB,MAAM,MAAM,UAAU,GAAG;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,GAAG,eAAe,CAAA;AAEnB,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../../../../src/app/types/params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,gCAAgC,CAAA;AAEvC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;AAEvC;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,gBAAgB;CAAI;AAE1D;;IAEI;AACJ,KAAK,eAAe,GAChB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG;IAExB,MAAM,EAAE,MAAM,CAAA;IAEd,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,GAAG,CAAC,eAAe,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAEjE,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,GAAG,eAAe,CAAA;AAEnB,MAAM,MAAM,UAAU,GAAG;IAEvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,GAAG,eAAe,CAAA;AAEnB,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B,GAAG,eAAe,CAAA"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,3 +1,4 @@
1
+ /**
1
2
  /**
2
3
  * Base64 encoder that works in browser, worker, node runtimes.
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base-64-encode.d.ts","sourceRoot":"","sources":["../../../src/lib/base-64-encode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,MAUvC,CAAA"}
1
+ {"version":3,"file":"base-64-encode.d.ts","sourceRoot":"","sources":["../../../src/lib/base-64-encode.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,KAAG,MAEvC,CAAA"}
File without changes
File without changes
@@ -1,3 +1,3 @@
1
- export type RuntimeEnv = 'node' | 'browser' | 'web-worker' | 'cloudflare-worker' | 'unknown';
1
+ export type RuntimeEnv = 'node' | 'browser' | 'web-worker' | 'cloudflare-worker' | 'vercel-edge' | 'unknown';
2
2
  export declare const detectRuntime: () => RuntimeEnv;
3
3
  //# sourceMappingURL=env.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/lib/env.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,SAAS,GACT,YAAY,GACZ,mBAAmB,GACnB,SAAS,CAAA;AAEb,eAAO,MAAM,aAAa,QAAO,UAwBhC,CAAA"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/lib/env.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,SAAS,GACT,YAAY,GACZ,mBAAmB,GACnB,aAAa,GACb,SAAS,CAAA;AAEb,eAAO,MAAM,aAAa,QAAO,UA6BhC,CAAA"}
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,yBAA6B,CAAA"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/lib/fetch.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,EAAE,OAAO,UAAU,CAAC,KAarC,CAAA"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/customerio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAY/C,KAAK,mBAAmB,GACpB,MAAM,GACN,MAAM,GACN,SAAS,GACT,UAAU,GACV,MAAM,GACN,OAAO,GACP,OAAO,GACP,UAAU,GACV,MAAM,GACN,QAAQ,GACR,OAAO,CAAA;AAEX,KAAK,oBAAoB,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAA;AAEhF,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAA;AAErD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,oBAAoB,CAmB3E;AAED,eAAO,MAAM,0BAA0B,UAC9B,wBAAwB,WACtB,WAAW;;;CAOrB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/customerio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAe/C,KAAK,mBAAmB,GACpB,MAAM,GACN,MAAM,GACN,SAAS,GACT,UAAU,GACV,MAAM,GACN,OAAO,GACP,OAAO,GACP,UAAU,GACV,MAAM,GACN,QAAQ,GACR,OAAO,CAAA;AAEX,KAAK,oBAAoB,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAA;AAEhF,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAA;AAErD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,oBAAoB,CAmB3E;AAED,eAAO,MAAM,0BAA0B,UAC9B,wBAAwB,WACtB,WAAW;;;CAOrB,CAAA"}
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@customerio/cdp-analytics-node",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "main": "./dist/cjs/index.js",
5
5
  "module": "./dist/esm/index.js",
6
6
  "types": "./dist/types/index.d.ts",
@@ -18,7 +18,6 @@
18
18
  "lint": "yarn concurrently 'yarn:eslint .' 'yarn:tsc --noEmit'",
19
19
  "build": "rm -rf dist && yarn concurrently 'yarn:build:*'",
20
20
  "build:cjs": "yarn tsc -p tsconfig.build.json --outDir ./dist/cjs --module commonjs",
21
- "version": "sh scripts/version.sh",
22
21
  "build:esm": "yarn tsc -p tsconfig.build.json",
23
22
  "watch": "yarn build:esm --watch",
24
23
  "watch:test": "yarn test --watch",
@@ -29,7 +28,8 @@
29
28
  "prepublish": "yarn run -T build"
30
29
  },
31
30
  "dependencies": {
32
- "@customerio/cdp-analytics-core": "1.2.2",
31
+ "@customerio/cdp-analytics-core": "0.0.2",
32
+ "buffer": "^6.0.3",
33
33
  "node-fetch": "^2.6.7",
34
34
  "tslib": "^2.4.1",
35
35
  "uuid": "^9.0.0"
@@ -41,7 +41,7 @@ export type GroupParams = {
41
41
  context?: ExtraContext
42
42
  timestamp?: Timestamp
43
43
  integrations?: Integrations
44
- } & IdentityOptions
44
+ } & (IdentityOptions | { userId?: string; anonymousId?: string })
45
45
 
46
46
  export type IdentifyParams = {
47
47
  /**
package/src/lib/abort.ts CHANGED
@@ -30,7 +30,7 @@ class AbortSignal {
30
30
  const handlerName = `on${type}`
31
31
 
32
32
  if (typeof (this as any)[handlerName] === 'function') {
33
- ; (this as any)[handlerName](event)
33
+ ;(this as any)[handlerName](event)
34
34
  }
35
35
 
36
36
  this.eventEmitter.emit(type, event)
@@ -64,7 +64,7 @@ export const abortSignalAfterTimeout = (timeoutMs: number) => {
64
64
  if (detectRuntime() === 'cloudflare-worker') {
65
65
  return [] // TODO: this is broken in cloudflare workers, otherwise results in "A hanging Promise was canceled..." error.
66
66
  }
67
- const ac = new (global.AbortController || AbortController)()
67
+ const ac = new (globalThis.AbortController || AbortController)()
68
68
 
69
69
  const timeoutId = setTimeout(() => {
70
70
  ac.abort()
@@ -1,14 +1,8 @@
1
+ import { Buffer } from 'buffer'
2
+ /**
1
3
  /**
2
4
  * Base64 encoder that works in browser, worker, node runtimes.
3
5
  */
4
6
  export const b64encode = (str: string): string => {
5
- if (
6
- // in node env
7
- typeof Buffer !== 'undefined'
8
- ) {
9
- return Buffer.from(str).toString('base64')
10
- } else {
11
- // in worker env
12
- return btoa(str)
13
- }
7
+ return Buffer.from(str).toString('base64')
14
8
  }
package/src/lib/env.ts CHANGED
@@ -3,6 +3,7 @@ export type RuntimeEnv =
3
3
  | 'browser'
4
4
  | 'web-worker'
5
5
  | 'cloudflare-worker'
6
+ | 'vercel-edge'
6
7
  | 'unknown'
7
8
 
8
9
  export const detectRuntime = (): RuntimeEnv => {
@@ -19,6 +20,11 @@ export const detectRuntime = (): RuntimeEnv => {
19
20
  return 'cloudflare-worker'
20
21
  }
21
22
 
23
+ // @ts-ignore
24
+ if (typeof EdgeRuntime === 'string') {
25
+ return 'vercel-edge'
26
+ }
27
+
22
28
  if (
23
29
  // @ts-ignore
24
30
  typeof WorkerGlobalScope !== 'undefined' &&
package/src/lib/fetch.ts CHANGED
@@ -1,3 +1,14 @@
1
- import { default as _fetch } from 'node-fetch'
2
-
3
- export const fetch = globalThis.fetch || _fetch
1
+ export const fetch: typeof globalThis.fetch = async (...args) => {
2
+ if (globalThis.fetch) {
3
+ return globalThis.fetch(...args)
4
+ } // @ts-ignore
5
+ // This guard causes is important, as it causes dead-code elimination to be enabled inside this block.
6
+ else if (typeof EdgeRuntime !== 'string') {
7
+ // @ts-ignore
8
+ return (await import('node-fetch')).default(...args) as Response
9
+ } else {
10
+ throw new Error(
11
+ 'Invariant: an edge runtime that does not support fetch should not exist'
12
+ )
13
+ }
14
+ }
@@ -10,7 +10,10 @@ function normalizeEvent(ctx: Context) {
10
10
  ctx.updateEvent('context.library.version', version)
11
11
  const runtime = detectRuntime()
12
12
  if (runtime === 'node') {
13
- ctx.updateEvent('_metadata.nodeVersion', process.versions.node)
13
+ // extra guard here was important for vercel edge.
14
+ if (typeof process.versions === 'object') {
15
+ ctx.updateEvent('_metadata.nodeVersion', process.versions.node)
16
+ }
14
17
  }
15
18
  ctx.updateEvent('_metadata.jsRuntime', runtime)
16
19
  }