@posthog/core 1.0.2 → 1.2.0

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 (204) hide show
  1. package/dist/error-tracking/chunk-ids.d.ts +5 -0
  2. package/dist/error-tracking/chunk-ids.d.ts.map +1 -0
  3. package/dist/error-tracking/chunk-ids.js +68 -0
  4. package/dist/error-tracking/chunk-ids.mjs +34 -0
  5. package/dist/error-tracking/coercers/dom-exception-coercer.d.ts +10 -0
  6. package/dist/error-tracking/coercers/dom-exception-coercer.d.ts.map +1 -0
  7. package/dist/error-tracking/coercers/dom-exception-coercer.js +65 -0
  8. package/dist/error-tracking/coercers/dom-exception-coercer.mjs +31 -0
  9. package/dist/error-tracking/coercers/error-coercer.d.ts +9 -0
  10. package/dist/error-tracking/coercers/error-coercer.d.ts.map +1 -0
  11. package/dist/error-tracking/coercers/error-coercer.js +61 -0
  12. package/dist/error-tracking/coercers/error-coercer.mjs +27 -0
  13. package/dist/error-tracking/coercers/error-event-coercer.d.ts +7 -0
  14. package/dist/error-tracking/coercers/error-event-coercer.d.ts.map +1 -0
  15. package/dist/error-tracking/coercers/error-event-coercer.js +52 -0
  16. package/dist/error-tracking/coercers/error-event-coercer.mjs +18 -0
  17. package/dist/error-tracking/coercers/event-coercer.d.ts +6 -0
  18. package/dist/error-tracking/coercers/event-coercer.d.ts.map +1 -0
  19. package/dist/error-tracking/coercers/event-coercer.js +51 -0
  20. package/dist/error-tracking/coercers/event-coercer.mjs +17 -0
  21. package/dist/error-tracking/coercers/index.d.ts +9 -0
  22. package/dist/error-tracking/coercers/index.d.ts.map +1 -0
  23. package/dist/error-tracking/coercers/index.js +123 -0
  24. package/dist/error-tracking/coercers/index.mjs +8 -0
  25. package/dist/error-tracking/coercers/object-coercer.d.ts +14 -0
  26. package/dist/error-tracking/coercers/object-coercer.d.ts.map +1 -0
  27. package/dist/error-tracking/coercers/object-coercer.js +85 -0
  28. package/dist/error-tracking/coercers/object-coercer.mjs +51 -0
  29. package/dist/error-tracking/coercers/primitive-coercer.d.ts +7 -0
  30. package/dist/error-tracking/coercers/primitive-coercer.d.ts.map +1 -0
  31. package/dist/error-tracking/coercers/primitive-coercer.js +49 -0
  32. package/dist/error-tracking/coercers/primitive-coercer.mjs +15 -0
  33. package/dist/error-tracking/coercers/promise-rejection-event.d.ts +7 -0
  34. package/dist/error-tracking/coercers/promise-rejection-event.d.ts.map +1 -0
  35. package/dist/error-tracking/coercers/promise-rejection-event.js +59 -0
  36. package/dist/error-tracking/coercers/promise-rejection-event.mjs +25 -0
  37. package/dist/error-tracking/coercers/string-coercer.d.ts +7 -0
  38. package/dist/error-tracking/coercers/string-coercer.d.ts.map +1 -0
  39. package/dist/error-tracking/coercers/string-coercer.js +63 -0
  40. package/dist/error-tracking/coercers/string-coercer.mjs +29 -0
  41. package/dist/error-tracking/coercers/utils.d.ts +8 -0
  42. package/dist/error-tracking/coercers/utils.d.ts.map +1 -0
  43. package/dist/error-tracking/coercers/utils.js +55 -0
  44. package/dist/error-tracking/coercers/utils.mjs +18 -0
  45. package/dist/error-tracking/error-properties-builder.d.ts +18 -0
  46. package/dist/error-tracking/error-properties-builder.d.ts.map +1 -0
  47. package/dist/error-tracking/error-properties-builder.js +152 -0
  48. package/dist/error-tracking/error-properties-builder.mjs +118 -0
  49. package/dist/error-tracking/index.d.ts +6 -0
  50. package/dist/error-tracking/index.d.ts.map +1 -0
  51. package/dist/error-tracking/index.js +87 -0
  52. package/dist/error-tracking/index.mjs +4 -0
  53. package/dist/error-tracking/parsers/base.d.ts +9 -0
  54. package/dist/error-tracking/parsers/base.d.ts.map +1 -0
  55. package/dist/error-tracking/parsers/base.js +71 -0
  56. package/dist/error-tracking/parsers/base.mjs +19 -0
  57. package/dist/error-tracking/parsers/chrome.d.ts +3 -0
  58. package/dist/error-tracking/parsers/chrome.d.ts.map +1 -0
  59. package/dist/error-tracking/parsers/chrome.js +61 -0
  60. package/dist/error-tracking/parsers/chrome.mjs +27 -0
  61. package/dist/error-tracking/parsers/gecko.d.ts +3 -0
  62. package/dist/error-tracking/parsers/gecko.d.ts.map +1 -0
  63. package/dist/error-tracking/parsers/gecko.js +58 -0
  64. package/dist/error-tracking/parsers/gecko.mjs +24 -0
  65. package/dist/error-tracking/parsers/index.d.ts +9 -0
  66. package/dist/error-tracking/parsers/index.d.ts.map +1 -0
  67. package/dist/error-tracking/parsers/index.js +99 -0
  68. package/dist/error-tracking/parsers/index.mjs +44 -0
  69. package/dist/error-tracking/parsers/node.d.ts +3 -0
  70. package/dist/error-tracking/parsers/node.d.ts.map +1 -0
  71. package/dist/error-tracking/parsers/node.js +99 -0
  72. package/dist/error-tracking/parsers/node.mjs +65 -0
  73. package/dist/error-tracking/parsers/opera.d.ts +4 -0
  74. package/dist/error-tracking/parsers/opera.d.ts.map +1 -0
  75. package/dist/error-tracking/parsers/opera.js +49 -0
  76. package/dist/error-tracking/parsers/opera.mjs +12 -0
  77. package/dist/error-tracking/parsers/react-native.d.ts +1 -0
  78. package/dist/error-tracking/parsers/react-native.d.ts.map +1 -0
  79. package/dist/error-tracking/parsers/react-native.js +5 -0
  80. package/dist/error-tracking/parsers/react-native.mjs +0 -0
  81. package/dist/error-tracking/parsers/safari.d.ts +22 -0
  82. package/dist/error-tracking/parsers/safari.d.ts.map +1 -0
  83. package/dist/error-tracking/parsers/safari.js +47 -0
  84. package/dist/error-tracking/parsers/safari.mjs +13 -0
  85. package/dist/error-tracking/parsers/winjs.d.ts +3 -0
  86. package/dist/error-tracking/parsers/winjs.d.ts.map +1 -0
  87. package/dist/error-tracking/parsers/winjs.js +41 -0
  88. package/dist/error-tracking/parsers/winjs.mjs +7 -0
  89. package/dist/error-tracking/types.d.ts +87 -0
  90. package/dist/error-tracking/types.d.ts.map +1 -0
  91. package/dist/error-tracking/types.js +43 -0
  92. package/dist/error-tracking/types.mjs +9 -0
  93. package/dist/error-tracking/utils.d.ts +13 -0
  94. package/dist/error-tracking/utils.d.ts.map +1 -0
  95. package/dist/error-tracking/utils.js +57 -0
  96. package/dist/error-tracking/utils.mjs +23 -0
  97. package/dist/eventemitter.js +4 -4
  98. package/dist/eventemitter.mjs +4 -4
  99. package/dist/featureFlagUtils.js +20 -45
  100. package/dist/featureFlagUtils.mjs +20 -45
  101. package/dist/gzip.js +1 -2
  102. package/dist/gzip.mjs +1 -2
  103. package/dist/index.d.ts +5 -255
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +61 -1223
  106. package/dist/index.mjs +6 -1190
  107. package/dist/posthog-core-stateless.d.ts +204 -0
  108. package/dist/posthog-core-stateless.d.ts.map +1 -0
  109. package/dist/posthog-core-stateless.js +675 -0
  110. package/dist/posthog-core-stateless.mjs +632 -0
  111. package/dist/posthog-core.d.ts +171 -0
  112. package/dist/posthog-core.d.ts.map +1 -0
  113. package/dist/posthog-core.js +554 -0
  114. package/dist/posthog-core.mjs +520 -0
  115. package/dist/testing/PostHogCoreTestClient.d.ts +2 -1
  116. package/dist/testing/PostHogCoreTestClient.d.ts.map +1 -1
  117. package/dist/testing/PostHogCoreTestClient.js +9 -11
  118. package/dist/testing/PostHogCoreTestClient.mjs +8 -10
  119. package/dist/testing/test-utils.d.ts +2 -0
  120. package/dist/testing/test-utils.d.ts.map +1 -1
  121. package/dist/testing/test-utils.js +13 -1
  122. package/dist/testing/test-utils.mjs +11 -2
  123. package/dist/utils/bucketed-rate-limiter.d.ts.map +1 -1
  124. package/dist/utils/bucketed-rate-limiter.js +8 -12
  125. package/dist/utils/bucketed-rate-limiter.mjs +8 -12
  126. package/dist/utils/index.js +3 -3
  127. package/dist/utils/index.mjs +3 -3
  128. package/dist/utils/number-utils.d.ts.map +1 -1
  129. package/dist/utils/type-utils.d.ts +8 -1
  130. package/dist/utils/type-utils.d.ts.map +1 -1
  131. package/dist/utils/type-utils.js +61 -6
  132. package/dist/utils/type-utils.mjs +36 -2
  133. package/dist/vendor/uuidv7.js +12 -16
  134. package/dist/vendor/uuidv7.mjs +12 -16
  135. package/package.json +10 -4
  136. package/src/__tests__/featureFlagUtils.spec.ts +427 -0
  137. package/src/__tests__/gzip.spec.ts +69 -0
  138. package/src/__tests__/posthog.ai.spec.ts +110 -0
  139. package/src/__tests__/posthog.capture.spec.ts +91 -0
  140. package/src/__tests__/posthog.core.spec.ts +135 -0
  141. package/src/__tests__/posthog.debug.spec.ts +36 -0
  142. package/src/__tests__/posthog.enqueue.spec.ts +93 -0
  143. package/src/__tests__/posthog.featureflags.spec.ts +1106 -0
  144. package/src/__tests__/posthog.featureflags.v1.spec.ts +922 -0
  145. package/src/__tests__/posthog.flush.spec.ts +237 -0
  146. package/src/__tests__/posthog.gdpr.spec.ts +50 -0
  147. package/src/__tests__/posthog.groups.spec.ts +96 -0
  148. package/src/__tests__/posthog.identify.spec.ts +194 -0
  149. package/src/__tests__/posthog.init.spec.ts +110 -0
  150. package/src/__tests__/posthog.listeners.spec.ts +51 -0
  151. package/src/__tests__/posthog.register.spec.ts +47 -0
  152. package/src/__tests__/posthog.reset.spec.ts +76 -0
  153. package/src/__tests__/posthog.sessions.spec.ts +63 -0
  154. package/src/__tests__/posthog.setProperties.spec.ts +102 -0
  155. package/src/__tests__/posthog.shutdown.spec.ts +88 -0
  156. package/src/__tests__/utils.spec.ts +36 -0
  157. package/src/error-tracking/chunk-ids.ts +58 -0
  158. package/src/error-tracking/coercers/dom-exception-coercer.ts +38 -0
  159. package/src/error-tracking/coercers/error-coercer.ts +36 -0
  160. package/src/error-tracking/coercers/error-event-coercer.ts +24 -0
  161. package/src/error-tracking/coercers/event-coercer.ts +19 -0
  162. package/src/error-tracking/coercers/index.ts +8 -0
  163. package/src/error-tracking/coercers/object-coercer.ts +76 -0
  164. package/src/error-tracking/coercers/primitive-coercer.ts +19 -0
  165. package/src/error-tracking/coercers/promise-rejection-event.spec.ts +77 -0
  166. package/src/error-tracking/coercers/promise-rejection-event.ts +53 -0
  167. package/src/error-tracking/coercers/string-coercer.spec.ts +26 -0
  168. package/src/error-tracking/coercers/string-coercer.ts +31 -0
  169. package/src/error-tracking/coercers/utils.ts +33 -0
  170. package/src/error-tracking/error-properties-builder.coerce.spec.ts +202 -0
  171. package/src/error-tracking/error-properties-builder.parse.spec.ts +30 -0
  172. package/src/error-tracking/error-properties-builder.ts +169 -0
  173. package/src/error-tracking/index.ts +5 -0
  174. package/src/error-tracking/parsers/base.ts +29 -0
  175. package/src/error-tracking/parsers/chrome.ts +53 -0
  176. package/src/error-tracking/parsers/gecko.ts +38 -0
  177. package/src/error-tracking/parsers/index.ts +104 -0
  178. package/src/error-tracking/parsers/node.ts +111 -0
  179. package/src/error-tracking/parsers/opera.ts +18 -0
  180. package/src/error-tracking/parsers/react-native.ts +0 -0
  181. package/src/error-tracking/parsers/safari.ts +33 -0
  182. package/src/error-tracking/parsers/winjs.ts +12 -0
  183. package/src/error-tracking/types.ts +107 -0
  184. package/src/error-tracking/utils.ts +39 -0
  185. package/src/eventemitter.ts +27 -0
  186. package/src/featureFlagUtils.ts +192 -0
  187. package/src/gzip.ts +29 -0
  188. package/src/index.ts +8 -0
  189. package/src/posthog-core-stateless.ts +1226 -0
  190. package/src/posthog-core.ts +958 -0
  191. package/src/testing/PostHogCoreTestClient.ts +91 -0
  192. package/src/testing/index.ts +2 -0
  193. package/src/testing/test-utils.ts +47 -0
  194. package/src/types.ts +544 -0
  195. package/src/utils/bucketed-rate-limiter.spec.ts +33 -0
  196. package/src/utils/bucketed-rate-limiter.ts +85 -0
  197. package/src/utils/index.ts +98 -0
  198. package/src/utils/number-utils.spec.ts +89 -0
  199. package/src/utils/number-utils.ts +30 -0
  200. package/src/utils/promise-queue.spec.ts +55 -0
  201. package/src/utils/promise-queue.ts +30 -0
  202. package/src/utils/string-utils.ts +23 -0
  203. package/src/utils/type-utils.ts +134 -0
  204. package/src/vendor/uuidv7.ts +479 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/error-tracking/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ severityLevels: ()=>severityLevels
28
+ });
29
+ const severityLevels = [
30
+ 'fatal',
31
+ 'error',
32
+ 'warning',
33
+ 'log',
34
+ 'info',
35
+ 'debug'
36
+ ];
37
+ exports.severityLevels = __webpack_exports__.severityLevels;
38
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
39
+ "severityLevels"
40
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
41
+ Object.defineProperty(exports, '__esModule', {
42
+ value: true
43
+ });
@@ -0,0 +1,9 @@
1
+ const severityLevels = [
2
+ 'fatal',
3
+ 'error',
4
+ 'warning',
5
+ 'log',
6
+ 'info',
7
+ 'debug'
8
+ ];
9
+ export { severityLevels };
@@ -0,0 +1,13 @@
1
+ /** A simple Least Recently Used map */
2
+ export declare class ReduceableCache<K, V> {
3
+ private readonly _maxSize;
4
+ private readonly _cache;
5
+ constructor(_maxSize: number);
6
+ /** Get an entry or undefined if it was not in the cache. Re-inserts to update the recently used order */
7
+ get(key: K): V | undefined;
8
+ /** Insert an entry and evict an older entry if we've reached maxSize */
9
+ set(key: K, value: V): void;
10
+ /** Remove an entry and return the entry if it was in the cache */
11
+ reduce(): void;
12
+ }
13
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/error-tracking/utils.ts"],"names":[],"mappings":"AAGA,uCAAuC;AACvC,qBAAa,eAAe,CAAC,CAAC,EAAE,CAAC;IAGZ,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAF5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;gBAEE,QAAQ,EAAE,MAAM;IAIpD,yGAAyG;IAClG,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAWjC,wEAAwE;IACjE,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAIlC,kEAAkE;IAC3D,MAAM,IAAI,IAAI;CAStB"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ ReduceableCache: ()=>ReduceableCache
28
+ });
29
+ class ReduceableCache {
30
+ constructor(_maxSize){
31
+ this._maxSize = _maxSize;
32
+ this._cache = new Map();
33
+ }
34
+ get(key) {
35
+ const value = this._cache.get(key);
36
+ if (void 0 === value) return;
37
+ this._cache.delete(key);
38
+ this._cache.set(key, value);
39
+ return value;
40
+ }
41
+ set(key, value) {
42
+ this._cache.set(key, value);
43
+ }
44
+ reduce() {
45
+ while(this._cache.size >= this._maxSize){
46
+ const value = this._cache.keys().next().value;
47
+ if (value) this._cache.delete(value);
48
+ }
49
+ }
50
+ }
51
+ exports.ReduceableCache = __webpack_exports__.ReduceableCache;
52
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
53
+ "ReduceableCache"
54
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
55
+ Object.defineProperty(exports, '__esModule', {
56
+ value: true
57
+ });
@@ -0,0 +1,23 @@
1
+ class ReduceableCache {
2
+ constructor(_maxSize){
3
+ this._maxSize = _maxSize;
4
+ this._cache = new Map();
5
+ }
6
+ get(key) {
7
+ const value = this._cache.get(key);
8
+ if (void 0 === value) return;
9
+ this._cache.delete(key);
10
+ this._cache.set(key, value);
11
+ return value;
12
+ }
13
+ set(key, value) {
14
+ this._cache.set(key, value);
15
+ }
16
+ reduce() {
17
+ while(this._cache.size >= this._maxSize){
18
+ const value = this._cache.keys().next().value;
19
+ if (value) this._cache.delete(value);
20
+ }
21
+ }
22
+ }
23
+ export { ReduceableCache };
@@ -27,6 +27,10 @@ __webpack_require__.d(__webpack_exports__, {
27
27
  SimpleEventEmitter: ()=>SimpleEventEmitter
28
28
  });
29
29
  class SimpleEventEmitter {
30
+ constructor(){
31
+ this.events = {};
32
+ this.events = {};
33
+ }
30
34
  on(event, listener) {
31
35
  if (!this.events[event]) this.events[event] = [];
32
36
  this.events[event].push(listener);
@@ -38,10 +42,6 @@ class SimpleEventEmitter {
38
42
  for (const listener of this.events[event] || [])listener(payload);
39
43
  for (const listener of this.events['*'] || [])listener(event, payload);
40
44
  }
41
- constructor(){
42
- this.events = {};
43
- this.events = {};
44
- }
45
45
  }
46
46
  exports.SimpleEventEmitter = __webpack_exports__.SimpleEventEmitter;
47
47
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
@@ -1,4 +1,8 @@
1
1
  class SimpleEventEmitter {
2
+ constructor(){
3
+ this.events = {};
4
+ this.events = {};
5
+ }
2
6
  on(event, listener) {
3
7
  if (!this.events[event]) this.events[event] = [];
4
8
  this.events[event].push(listener);
@@ -10,9 +14,5 @@ class SimpleEventEmitter {
10
14
  for (const listener of this.events[event] || [])listener(payload);
11
15
  for (const listener of this.events['*'] || [])listener(event, payload);
12
16
  }
13
- constructor(){
14
- this.events = {};
15
- this.events = {};
16
- }
17
17
  }
18
18
  export { SimpleEventEmitter };
@@ -44,22 +44,15 @@ const normalizeFlagsResponse = (flagsResponse)=>{
44
44
  };
45
45
  }
46
46
  {
47
- var _flagsResponse_featureFlags;
48
- const featureFlags = null != (_flagsResponse_featureFlags = flagsResponse.featureFlags) ? _flagsResponse_featureFlags : {};
49
- const featureFlagPayloads = Object.fromEntries(Object.entries(flagsResponse.featureFlagPayloads || {}).map((param)=>{
50
- let [k, v] = param;
51
- return [
47
+ const featureFlags = flagsResponse.featureFlags ?? {};
48
+ const featureFlagPayloads = Object.fromEntries(Object.entries(flagsResponse.featureFlagPayloads || {}).map(([k, v])=>[
52
49
  k,
53
50
  parsePayload(v)
54
- ];
55
- }));
56
- const flags = Object.fromEntries(Object.entries(featureFlags).map((param)=>{
57
- let [key, value] = param;
58
- return [
51
+ ]));
52
+ const flags = Object.fromEntries(Object.entries(featureFlags).map(([key, value])=>[
59
53
  key,
60
54
  getFlagDetailFromFlagAndPayload(key, value, featureFlagPayloads[key])
61
- ];
62
- }));
55
+ ]));
63
56
  return {
64
57
  ...flagsResponse,
65
58
  featureFlags,
@@ -82,24 +75,17 @@ function getFlagDetailFromFlagAndPayload(key, value, payload) {
82
75
  }
83
76
  };
84
77
  }
85
- const getFlagValuesFromFlags = (flags)=>Object.fromEntries(Object.entries(null != flags ? flags : {}).map((param)=>{
86
- let [key, detail] = param;
87
- return [
78
+ const getFlagValuesFromFlags = (flags)=>Object.fromEntries(Object.entries(flags ?? {}).map(([key, detail])=>[
88
79
  key,
89
80
  getFeatureFlagValue(detail)
90
- ];
91
- }).filter((param)=>{
92
- let [, value] = param;
93
- return void 0 !== value;
94
- }));
81
+ ]).filter(([, value])=>void 0 !== value));
95
82
  const getPayloadsFromFlags = (flags)=>{
96
- const safeFlags = null != flags ? flags : {};
83
+ const safeFlags = flags ?? {};
97
84
  return Object.fromEntries(Object.keys(safeFlags).filter((flag)=>{
98
85
  const details = safeFlags[flag];
99
86
  return details.enabled && details.metadata && void 0 !== details.metadata.payload;
100
87
  }).map((flag)=>{
101
- var _safeFlags_flag_metadata;
102
- const payload = null == (_safeFlags_flag_metadata = safeFlags[flag].metadata) ? void 0 : _safeFlags_flag_metadata.payload;
88
+ const payload = safeFlags[flag].metadata?.payload;
103
89
  return [
104
90
  flag,
105
91
  payload ? parsePayload(payload) : void 0
@@ -107,13 +93,9 @@ const getPayloadsFromFlags = (flags)=>{
107
93
  }));
108
94
  };
109
95
  const getFlagDetailsFromFlagsAndPayloads = (flagsResponse)=>{
110
- var _flagsResponse_featureFlags;
111
- const flags = null != (_flagsResponse_featureFlags = flagsResponse.featureFlags) ? _flagsResponse_featureFlags : {};
112
- var _flagsResponse_featureFlagPayloads;
113
- const payloads = null != (_flagsResponse_featureFlagPayloads = flagsResponse.featureFlagPayloads) ? _flagsResponse_featureFlagPayloads : {};
114
- return Object.fromEntries(Object.entries(flags).map((param)=>{
115
- let [key, value] = param;
116
- return [
96
+ const flags = flagsResponse.featureFlags ?? {};
97
+ const payloads = flagsResponse.featureFlagPayloads ?? {};
98
+ return Object.fromEntries(Object.entries(flags).map(([key, value])=>[
117
99
  key,
118
100
  {
119
101
  key: key,
@@ -123,39 +105,32 @@ const getFlagDetailsFromFlagsAndPayloads = (flagsResponse)=>{
123
105
  metadata: {
124
106
  id: void 0,
125
107
  version: void 0,
126
- payload: (null == payloads ? void 0 : payloads[key]) ? JSON.stringify(payloads[key]) : void 0,
108
+ payload: payloads?.[key] ? JSON.stringify(payloads[key]) : void 0,
127
109
  description: void 0
128
110
  }
129
111
  }
130
- ];
131
- }));
132
- };
133
- const getFeatureFlagValue = (detail)=>{
134
- var _detail_variant;
135
- return void 0 === detail ? void 0 : null != (_detail_variant = detail.variant) ? _detail_variant : detail.enabled;
112
+ ]));
136
113
  };
114
+ const getFeatureFlagValue = (detail)=>void 0 === detail ? void 0 : detail.variant ?? detail.enabled;
137
115
  const parsePayload = (response)=>{
138
116
  if ('string' != typeof response) return response;
139
117
  try {
140
118
  return JSON.parse(response);
141
- } catch (e) {
119
+ } catch {
142
120
  return response;
143
121
  }
144
122
  };
145
123
  const createFlagsResponseFromFlagsAndPayloads = (featureFlags, featureFlagPayloads)=>{
146
124
  const allKeys = [
147
125
  ...new Set([
148
- ...Object.keys(null != featureFlags ? featureFlags : {}),
149
- ...Object.keys(null != featureFlagPayloads ? featureFlagPayloads : {})
126
+ ...Object.keys(featureFlags ?? {}),
127
+ ...Object.keys(featureFlagPayloads ?? {})
150
128
  ])
151
129
  ];
152
- const enabledFlags = allKeys.filter((flag)=>!!featureFlags[flag] || !!featureFlagPayloads[flag]).reduce((res, key)=>{
153
- var _featureFlags_key;
154
- return res[key] = null != (_featureFlags_key = featureFlags[key]) ? _featureFlags_key : true, res;
155
- }, {});
130
+ const enabledFlags = allKeys.filter((flag)=>!!featureFlags[flag] || !!featureFlagPayloads[flag]).reduce((res, key)=>(res[key] = featureFlags[key] ?? true, res), {});
156
131
  const flagDetails = {
157
132
  featureFlags: enabledFlags,
158
- featureFlagPayloads: null != featureFlagPayloads ? featureFlagPayloads : {}
133
+ featureFlagPayloads: featureFlagPayloads ?? {}
159
134
  };
160
135
  return normalizeFlagsResponse(flagDetails);
161
136
  };
@@ -9,22 +9,15 @@ const normalizeFlagsResponse = (flagsResponse)=>{
9
9
  };
10
10
  }
11
11
  {
12
- var _flagsResponse_featureFlags;
13
- const featureFlags = null != (_flagsResponse_featureFlags = flagsResponse.featureFlags) ? _flagsResponse_featureFlags : {};
14
- const featureFlagPayloads = Object.fromEntries(Object.entries(flagsResponse.featureFlagPayloads || {}).map((param)=>{
15
- let [k, v] = param;
16
- return [
12
+ const featureFlags = flagsResponse.featureFlags ?? {};
13
+ const featureFlagPayloads = Object.fromEntries(Object.entries(flagsResponse.featureFlagPayloads || {}).map(([k, v])=>[
17
14
  k,
18
15
  parsePayload(v)
19
- ];
20
- }));
21
- const flags = Object.fromEntries(Object.entries(featureFlags).map((param)=>{
22
- let [key, value] = param;
23
- return [
16
+ ]));
17
+ const flags = Object.fromEntries(Object.entries(featureFlags).map(([key, value])=>[
24
18
  key,
25
19
  getFlagDetailFromFlagAndPayload(key, value, featureFlagPayloads[key])
26
- ];
27
- }));
20
+ ]));
28
21
  return {
29
22
  ...flagsResponse,
30
23
  featureFlags,
@@ -47,24 +40,17 @@ function getFlagDetailFromFlagAndPayload(key, value, payload) {
47
40
  }
48
41
  };
49
42
  }
50
- const getFlagValuesFromFlags = (flags)=>Object.fromEntries(Object.entries(null != flags ? flags : {}).map((param)=>{
51
- let [key, detail] = param;
52
- return [
43
+ const getFlagValuesFromFlags = (flags)=>Object.fromEntries(Object.entries(flags ?? {}).map(([key, detail])=>[
53
44
  key,
54
45
  getFeatureFlagValue(detail)
55
- ];
56
- }).filter((param)=>{
57
- let [, value] = param;
58
- return void 0 !== value;
59
- }));
46
+ ]).filter(([, value])=>void 0 !== value));
60
47
  const getPayloadsFromFlags = (flags)=>{
61
- const safeFlags = null != flags ? flags : {};
48
+ const safeFlags = flags ?? {};
62
49
  return Object.fromEntries(Object.keys(safeFlags).filter((flag)=>{
63
50
  const details = safeFlags[flag];
64
51
  return details.enabled && details.metadata && void 0 !== details.metadata.payload;
65
52
  }).map((flag)=>{
66
- var _safeFlags_flag_metadata;
67
- const payload = null == (_safeFlags_flag_metadata = safeFlags[flag].metadata) ? void 0 : _safeFlags_flag_metadata.payload;
53
+ const payload = safeFlags[flag].metadata?.payload;
68
54
  return [
69
55
  flag,
70
56
  payload ? parsePayload(payload) : void 0
@@ -72,13 +58,9 @@ const getPayloadsFromFlags = (flags)=>{
72
58
  }));
73
59
  };
74
60
  const getFlagDetailsFromFlagsAndPayloads = (flagsResponse)=>{
75
- var _flagsResponse_featureFlags;
76
- const flags = null != (_flagsResponse_featureFlags = flagsResponse.featureFlags) ? _flagsResponse_featureFlags : {};
77
- var _flagsResponse_featureFlagPayloads;
78
- const payloads = null != (_flagsResponse_featureFlagPayloads = flagsResponse.featureFlagPayloads) ? _flagsResponse_featureFlagPayloads : {};
79
- return Object.fromEntries(Object.entries(flags).map((param)=>{
80
- let [key, value] = param;
81
- return [
61
+ const flags = flagsResponse.featureFlags ?? {};
62
+ const payloads = flagsResponse.featureFlagPayloads ?? {};
63
+ return Object.fromEntries(Object.entries(flags).map(([key, value])=>[
82
64
  key,
83
65
  {
84
66
  key: key,
@@ -88,39 +70,32 @@ const getFlagDetailsFromFlagsAndPayloads = (flagsResponse)=>{
88
70
  metadata: {
89
71
  id: void 0,
90
72
  version: void 0,
91
- payload: (null == payloads ? void 0 : payloads[key]) ? JSON.stringify(payloads[key]) : void 0,
73
+ payload: payloads?.[key] ? JSON.stringify(payloads[key]) : void 0,
92
74
  description: void 0
93
75
  }
94
76
  }
95
- ];
96
- }));
97
- };
98
- const getFeatureFlagValue = (detail)=>{
99
- var _detail_variant;
100
- return void 0 === detail ? void 0 : null != (_detail_variant = detail.variant) ? _detail_variant : detail.enabled;
77
+ ]));
101
78
  };
79
+ const getFeatureFlagValue = (detail)=>void 0 === detail ? void 0 : detail.variant ?? detail.enabled;
102
80
  const parsePayload = (response)=>{
103
81
  if ('string' != typeof response) return response;
104
82
  try {
105
83
  return JSON.parse(response);
106
- } catch (e) {
84
+ } catch {
107
85
  return response;
108
86
  }
109
87
  };
110
88
  const createFlagsResponseFromFlagsAndPayloads = (featureFlags, featureFlagPayloads)=>{
111
89
  const allKeys = [
112
90
  ...new Set([
113
- ...Object.keys(null != featureFlags ? featureFlags : {}),
114
- ...Object.keys(null != featureFlagPayloads ? featureFlagPayloads : {})
91
+ ...Object.keys(featureFlags ?? {}),
92
+ ...Object.keys(featureFlagPayloads ?? {})
115
93
  ])
116
94
  ];
117
- const enabledFlags = allKeys.filter((flag)=>!!featureFlags[flag] || !!featureFlagPayloads[flag]).reduce((res, key)=>{
118
- var _featureFlags_key;
119
- return res[key] = null != (_featureFlags_key = featureFlags[key]) ? _featureFlags_key : true, res;
120
- }, {});
95
+ const enabledFlags = allKeys.filter((flag)=>!!featureFlags[flag] || !!featureFlagPayloads[flag]).reduce((res, key)=>(res[key] = featureFlags[key] ?? true, res), {});
121
96
  const flagDetails = {
122
97
  featureFlags: enabledFlags,
123
- featureFlagPayloads: null != featureFlagPayloads ? featureFlagPayloads : {}
98
+ featureFlagPayloads: featureFlagPayloads ?? {}
124
99
  };
125
100
  return normalizeFlagsResponse(flagDetails);
126
101
  };
package/dist/gzip.js CHANGED
@@ -30,8 +30,7 @@ __webpack_require__.d(__webpack_exports__, {
30
30
  function isGzipSupported() {
31
31
  return 'CompressionStream' in globalThis;
32
32
  }
33
- async function gzipCompress(input) {
34
- let isDebug = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : true;
33
+ async function gzipCompress(input, isDebug = true) {
35
34
  try {
36
35
  const dataStream = new Blob([
37
36
  input
package/dist/gzip.mjs CHANGED
@@ -1,8 +1,7 @@
1
1
  function isGzipSupported() {
2
2
  return 'CompressionStream' in globalThis;
3
3
  }
4
- async function gzipCompress(input) {
5
- let isDebug = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : true;
4
+ async function gzipCompress(input, isDebug = true) {
6
5
  try {
7
6
  const dataStream = new Blob([
8
7
  input