@launchdarkly/react-native-client-sdk 0.1.4 → 0.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 (77) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +5 -1
  3. package/dist/babel.config.d.ts +2 -0
  4. package/dist/babel.config.d.ts.map +1 -0
  5. package/dist/babel.config.js +5 -0
  6. package/dist/babel.config.js.map +1 -0
  7. package/dist/package.json +8 -5
  8. package/dist/src/ReactNativeLDClient.d.ts +7 -3
  9. package/dist/src/ReactNativeLDClient.d.ts.map +1 -1
  10. package/dist/src/ReactNativeLDClient.js +10 -6
  11. package/dist/src/ReactNativeLDClient.js.map +1 -1
  12. package/dist/src/fromExternal/js-sha256/index.d.ts +17 -0
  13. package/dist/src/fromExternal/js-sha256/index.d.ts.map +1 -0
  14. package/dist/src/fromExternal/js-sha256/index.js +572 -0
  15. package/dist/src/fromExternal/js-sha256/index.js.map +1 -0
  16. package/dist/src/{react-native-sse → fromExternal/react-native-sse}/EventSource.d.ts +8 -5
  17. package/dist/src/fromExternal/react-native-sse/EventSource.d.ts.map +1 -0
  18. package/dist/src/{react-native-sse → fromExternal/react-native-sse}/EventSource.js +47 -32
  19. package/dist/src/fromExternal/react-native-sse/EventSource.js.map +1 -0
  20. package/dist/src/fromExternal/react-native-sse/index.d.ts.map +1 -0
  21. package/dist/src/fromExternal/react-native-sse/index.js.map +1 -0
  22. package/dist/src/{react-native-sse → fromExternal/react-native-sse}/types.d.ts +3 -3
  23. package/dist/src/fromExternal/react-native-sse/types.d.ts.map +1 -0
  24. package/dist/src/fromExternal/react-native-sse/types.js.map +1 -0
  25. package/dist/src/platform/autoEnv.d.ts +4 -0
  26. package/dist/src/platform/autoEnv.d.ts.map +1 -0
  27. package/dist/src/platform/autoEnv.js +36 -0
  28. package/dist/src/platform/autoEnv.js.map +1 -0
  29. package/dist/src/platform/crypto/PlatformHasher.d.ts +9 -0
  30. package/dist/src/platform/crypto/PlatformHasher.d.ts.map +1 -0
  31. package/dist/src/platform/crypto/PlatformHasher.js +28 -0
  32. package/dist/src/platform/crypto/PlatformHasher.js.map +1 -0
  33. package/dist/src/platform/crypto/index.d.ts +14 -0
  34. package/dist/src/platform/crypto/index.d.ts.map +1 -0
  35. package/dist/src/platform/crypto/index.js +34 -0
  36. package/dist/src/platform/crypto/index.js.map +1 -0
  37. package/dist/src/platform/crypto/types.d.ts +3 -0
  38. package/dist/src/platform/crypto/types.d.ts.map +1 -0
  39. package/dist/src/platform/crypto/types.js +2 -0
  40. package/dist/src/{react-native-sse → platform/crypto}/types.js.map +1 -1
  41. package/dist/src/platform/index.d.ts +9 -1
  42. package/dist/src/platform/index.d.ts.map +1 -1
  43. package/dist/src/platform/index.js +24 -19
  44. package/dist/src/platform/index.js.map +1 -1
  45. package/dist/src/platform/locale.d.ts +7 -0
  46. package/dist/src/platform/locale.d.ts.map +1 -0
  47. package/dist/src/platform/locale.js +10 -0
  48. package/dist/src/platform/locale.js.map +1 -0
  49. package/dist/src/polyfills/btoa.d.ts +2 -1
  50. package/dist/src/polyfills/btoa.d.ts.map +1 -1
  51. package/dist/src/polyfills/btoa.js +4 -1
  52. package/dist/src/polyfills/btoa.js.map +1 -1
  53. package/dist/src/polyfills/index.d.ts +3 -3
  54. package/dist/src/polyfills/index.d.ts.map +1 -1
  55. package/dist/src/polyfills/index.js +3 -3
  56. package/dist/src/polyfills/index.js.map +1 -1
  57. package/dist/src/provider/LDProvider.d.ts +2 -6
  58. package/dist/src/provider/LDProvider.d.ts.map +1 -1
  59. package/dist/src/provider/LDProvider.js +4 -9
  60. package/dist/src/provider/LDProvider.js.map +1 -1
  61. package/dist/src/provider/useAppState.d.ts +13 -0
  62. package/dist/src/provider/useAppState.d.ts.map +1 -0
  63. package/dist/src/provider/useAppState.js +50 -0
  64. package/dist/src/provider/useAppState.js.map +1 -0
  65. package/package.json +8 -5
  66. package/dist/jest.config.d.ts +0 -4
  67. package/dist/jest.config.d.ts.map +0 -1
  68. package/dist/jest.config.js +0 -15
  69. package/dist/jest.config.js.map +0 -1
  70. package/dist/src/react-native-sse/EventSource.d.ts.map +0 -1
  71. package/dist/src/react-native-sse/EventSource.js.map +0 -1
  72. package/dist/src/react-native-sse/index.d.ts.map +0 -1
  73. package/dist/src/react-native-sse/index.js.map +0 -1
  74. package/dist/src/react-native-sse/types.d.ts.map +0 -1
  75. /package/dist/src/{react-native-sse → fromExternal/react-native-sse}/index.d.ts +0 -0
  76. /package/dist/src/{react-native-sse → fromExternal/react-native-sse}/index.js +0 -0
  77. /package/dist/src/{react-native-sse → fromExternal/react-native-sse}/types.js +0 -0
@@ -1,15 +1,23 @@
1
1
  const XMLReadyStateMap = ['UNSENT', 'OPENED', 'HEADERS_RECEIVED', 'LOADING', 'DONE'];
2
2
  const defaultOptions = {
3
3
  body: undefined,
4
- debug: false,
5
4
  headers: {},
6
5
  method: 'GET',
7
- pollingInterval: 5000,
8
6
  timeout: 0,
9
- timeoutBeforeConnection: 0,
10
7
  withCredentials: false,
11
8
  retryAndHandleError: undefined,
9
+ initialRetryDelayMillis: 1000,
10
+ logger: undefined,
12
11
  };
12
+ const maxRetryDelay = 30 * 1000; // Maximum retry delay 30 seconds.
13
+ const jitterRatio = 0.5; // Delay should be 50%-100% of calculated time.
14
+ export function backoff(base, retryCount) {
15
+ const delay = base * Math.pow(2, retryCount);
16
+ return Math.min(delay, maxRetryDelay);
17
+ }
18
+ export function jitter(computedDelayMillis) {
19
+ return computedDelayMillis - Math.trunc(Math.random() * jitterRatio * computedDelayMillis);
20
+ }
13
21
  export default class EventSource {
14
22
  constructor(url, options) {
15
23
  this.ERROR = -1;
@@ -25,27 +33,33 @@ export default class EventSource {
25
33
  close: [],
26
34
  };
27
35
  this.xhr = new XMLHttpRequest();
36
+ this.initialRetryDelayMillis = 1000;
37
+ this.retryCount = 0;
28
38
  const opts = Object.assign(Object.assign({}, defaultOptions), options);
29
39
  this.url = url;
30
40
  this.method = opts.method;
31
41
  this.timeout = opts.timeout;
32
- this.timeoutBeforeConnection = opts.timeoutBeforeConnection;
33
42
  this.withCredentials = opts.withCredentials;
34
43
  this.headers = opts.headers;
35
44
  this.body = opts.body;
36
- this.debug = opts.debug;
37
- this.pollingInterval = opts.pollingInterval;
38
45
  this.retryAndHandleError = opts.retryAndHandleError;
39
- this.pollAgain(this.timeoutBeforeConnection, true);
46
+ this.initialRetryDelayMillis = opts.initialRetryDelayMillis;
47
+ this.logger = opts.logger;
48
+ this.tryConnect(true);
40
49
  }
41
- pollAgain(time, allowZero) {
42
- if (time > 0 || allowZero) {
43
- this.logDebug(`[EventSource] Will open new connection in ${time} ms.`);
44
- this.dispatch('retry', { type: 'retry' });
45
- this.pollTimer = setTimeout(() => {
46
- this.open();
47
- }, time);
48
- }
50
+ getNextRetryDelay() {
51
+ const delay = jitter(backoff(this.initialRetryDelayMillis, this.retryCount));
52
+ this.retryCount += 1;
53
+ return delay;
54
+ }
55
+ tryConnect(forceNoDelay = false) {
56
+ var _a;
57
+ let delay = forceNoDelay ? 0 : this.getNextRetryDelay();
58
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug(`[EventSource] Will open new connection in ${delay} ms.`);
59
+ this.dispatch('retry', { type: 'retry', delayMillis: delay });
60
+ this.pollTimer = setTimeout(() => {
61
+ this.open();
62
+ }, delay);
49
63
  }
50
64
  open() {
51
65
  try {
@@ -68,24 +82,27 @@ export default class EventSource {
68
82
  }
69
83
  this.xhr.timeout = this.timeout;
70
84
  this.xhr.onreadystatechange = () => {
85
+ var _a, _b, _c, _d;
71
86
  if (this.status === this.CLOSED) {
72
87
  return;
73
88
  }
74
- this.logDebug(`[EventSource][onreadystatechange] ReadyState: ${XMLReadyStateMap[this.xhr.readyState] || 'Unknown'}(${this.xhr.readyState}), status: ${this.xhr.status}`);
89
+ (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug(`[EventSource][onreadystatechange] ReadyState: ${XMLReadyStateMap[this.xhr.readyState] || 'Unknown'}(${this.xhr.readyState}), status: ${this.xhr.status}`);
75
90
  if (this.xhr.readyState !== XMLHttpRequest.DONE &&
76
91
  this.xhr.readyState !== XMLHttpRequest.LOADING) {
77
92
  return;
78
93
  }
79
94
  if (this.xhr.status >= 200 && this.xhr.status < 400) {
80
95
  if (this.status === this.CONNECTING) {
96
+ this.retryCount = 0;
81
97
  this.status = this.OPEN;
82
98
  this.dispatch('open', { type: 'open' });
83
- this.logDebug('[EventSource][onreadystatechange][OPEN] Connection opened.');
99
+ (_b = this.logger) === null || _b === void 0 ? void 0 : _b.debug('[EventSource][onreadystatechange][OPEN] Connection opened.');
84
100
  }
101
+ // retry from server gets set here
85
102
  this.handleEvent(this.xhr.responseText || '');
86
103
  if (this.xhr.readyState === XMLHttpRequest.DONE) {
87
- this.logDebug('[EventSource][onreadystatechange][DONE] Operation done.');
88
- this.pollAgain(this.pollingInterval, false);
104
+ (_c = this.logger) === null || _c === void 0 ? void 0 : _c.debug('[EventSource][onreadystatechange][DONE] Operation done.');
105
+ this.tryConnect();
89
106
  }
90
107
  }
91
108
  else if (this.xhr.status !== 0) {
@@ -97,19 +114,19 @@ export default class EventSource {
97
114
  xhrState: this.xhr.readyState,
98
115
  });
99
116
  if (this.xhr.readyState === XMLHttpRequest.DONE) {
100
- this.logDebug('[EventSource][onreadystatechange][ERROR] Response status error.');
117
+ (_d = this.logger) === null || _d === void 0 ? void 0 : _d.debug('[EventSource][onreadystatechange][ERROR] Response status error.');
101
118
  if (!this.retryAndHandleError) {
102
- // default implementation
103
- this.pollAgain(this.pollingInterval, false);
119
+ // by default just try and reconnect if there's an error.
120
+ this.tryConnect();
104
121
  }
105
122
  else {
106
- // custom retry logic
123
+ // custom retry logic taking into account status codes.
107
124
  const shouldRetry = this.retryAndHandleError({
108
125
  status: this.xhr.status,
109
126
  message: this.xhr.responseText,
110
127
  });
111
128
  if (shouldRetry) {
112
- this.pollAgain(this.pollingInterval, true);
129
+ this.tryConnect();
113
130
  }
114
131
  }
115
132
  }
@@ -151,12 +168,6 @@ export default class EventSource {
151
168
  });
152
169
  }
153
170
  }
154
- logDebug(...msg) {
155
- if (this.debug) {
156
- // eslint-disable-next-line no-console
157
- console.debug(...msg);
158
- }
159
- }
160
171
  handleEvent(response) {
161
172
  const parts = response.slice(this.lastIndexProcessed).split('\n');
162
173
  const indexOfDoubleNewline = response.lastIndexOf('\n\n');
@@ -175,7 +186,8 @@ export default class EventSource {
175
186
  else if (line.indexOf('retry') === 0) {
176
187
  retry = parseInt(line.replace(/retry:?\s*/, ''), 10);
177
188
  if (!Number.isNaN(retry)) {
178
- this.pollingInterval = retry;
189
+ // GOTCHA: Ignore the server retry recommendation. Use our own custom getNextRetryDelay logic.
190
+ // this.pollingInterval = retry;
179
191
  }
180
192
  }
181
193
  else if (line.indexOf('data') === 0) {
@@ -242,7 +254,7 @@ export default class EventSource {
242
254
  this.onerror(data);
243
255
  break;
244
256
  case 'retry':
245
- this.onretrying({ delayMillis: this.pollingInterval });
257
+ this.onretrying(data);
246
258
  break;
247
259
  default:
248
260
  break;
@@ -256,6 +268,9 @@ export default class EventSource {
256
268
  }
257
269
  this.dispatch('close', { type: 'close' });
258
270
  }
271
+ getStatus() {
272
+ return this.status;
273
+ }
259
274
  onopen() { }
260
275
  onclose() { }
261
276
  onerror(_err) { }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventSource.js","sourceRoot":"","sources":["../../../../src/fromExternal/react-native-sse/EventSource.ts"],"names":[],"mappings":"AAUA,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAErF,MAAM,cAAc,GAAuB;IACzC,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,KAAK;IACtB,mBAAmB,EAAE,SAAS;IAC9B,uBAAuB,EAAE,IAAI;IAC7B,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,kCAAkC;AACnE,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,+CAA+C;AAExE,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,UAAkB;IACtD,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,mBAA2B;IAChD,OAAO,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,WAAW,GAAG,mBAAmB,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,WAAW;IA8B9B,YAAY,GAAW,EAAE,OAA4B;QA7BrD,UAAK,GAAG,CAAC,CAAC,CAAC;QACX,eAAU,GAAG,CAAC,CAAC;QACf,SAAI,GAAG,CAAC,CAAC;QACT,WAAM,GAAG,CAAC,CAAC;QAGH,uBAAkB,GAAG,CAAC,CAAC;QAEvB,WAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QACzB,kBAAa,GAAQ;YAC3B,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;SACV,CAAC;QAQM,QAAG,GAAmB,IAAI,cAAc,EAAE,CAAC;QAG3C,4BAAuB,GAAW,IAAI,CAAC;QACvC,eAAU,GAAW,CAAC,CAAC;QAI7B,MAAM,IAAI,mCACL,cAAc,GACd,OAAO,CACX,CAAC;QAEF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAO,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAgB,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAQ,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAwB,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAEO,iBAAiB;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU,CAAC,eAAwB,KAAK;;QAC9C,IAAI,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAAC,6CAA6C,KAAK,MAAM,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IAED,IAAI;QACF,IAAI;YACF,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAE3C,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;aACjC;YAED,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;YAEhE,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBACpD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW,EAAE;gBAC3C,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aAC9D;YAED,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAEhC,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,GAAG,EAAE;;gBACjC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;oBAC/B,OAAO;iBACR;gBAED,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAChB,iDACE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,cAAc,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CACvD,CAAC;gBAEF,IACE,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI;oBAC3C,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,cAAc,CAAC,OAAO,EAC9C;oBACA,OAAO;iBACR;gBAED,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;oBACnD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;wBACnC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;wBACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;wBACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;wBACxC,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAAC,4DAA4D,CAAC,CAAC;qBAClF;oBAED,kCAAkC;oBAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;oBAE9C,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,EAAE;wBAC/C,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAAC,yDAAyD,CAAC,CAAC;wBAC9E,IAAI,CAAC,UAAU,EAAE,CAAC;qBACnB;iBACF;qBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;oBAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;oBACzB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;wBACrB,IAAI,EAAE,OAAO;wBACb,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY;wBAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;wBAC1B,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;qBAC9B,CAAC,CAAC;oBAEH,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,cAAc,CAAC,IAAI,EAAE;wBAC/C,MAAA,IAAI,CAAC,MAAM,0CAAE,KAAK,CAAC,iEAAiE,CAAC,CAAC;wBAEtF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;4BAC7B,yDAAyD;4BACzD,IAAI,CAAC,UAAU,EAAE,CAAC;yBACnB;6BAAM;4BACL,uDAAuD;4BACvD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC;gCAC3C,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;gCACvB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY;6BAC/B,CAAC,CAAC;4BAEH,IAAI,WAAW,EAAE;gCACf,IAAI,CAAC,UAAU,EAAE,CAAC;6BACnB;yBACF;qBACF;iBACF;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;gBACtB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;oBAC/B,OAAO;iBACR;gBAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;oBACrB,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY;oBAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;oBAC1B,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;iBAC9B,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;aACjB;YAED,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE;gBACpB,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,KAAK,cAAc,CAAC,OAAO,EAAE;wBAClD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;qBACd;gBACH,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aAClB;SACF;QAAC,OAAO,CAAM,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACrB,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,WAAW,CAAC,QAAgB;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElE,MAAM,oBAAoB,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,oBAAoB,KAAK,CAAC,CAAC,EAAE;YAC/B,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,GAAG,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,uCAAuC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBAC/B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAiB,CAAC;aACjE;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACtC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;oBACxB,8FAA8F;oBAC9F,gCAAgC;iBACjC;aACF;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;aAC1C;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;aAChD;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACnC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;aAC9B;iBAAM,IAAI,IAAI,KAAK,EAAE,EAAE;gBACtB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;oBAC9C,MAAM,KAAK,GAAQ;wBACjB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBACrB,GAAG,EAAE,IAAI,CAAC,GAAG;wBACb,WAAW,EAAE,IAAI,CAAC,WAAW;qBAC9B,CAAC;oBAEF,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAEhC,IAAI,GAAG,EAAE,CAAC;oBACV,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;iBAC5B;aACF;SACF;IACH,CAAC;IAED,gBAAgB,CAAyB,IAAO,EAAE,QAAmC;QACnF,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;YAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,mBAAmB,CAAyB,IAAO,EAAE,QAAmC;QACtF,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;YAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CACxD,CAAC,OAAkC,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ,CAC7D,CAAC;SACH;IACH,CAAC;IAED,uBAAuB,CAAyB,IAAQ;QACtD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvD,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACnC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAClC,MAAM,KAAK,CAAC,kBAAkB,IAAI,qCAAqC,CAAC,CAAC;aAC1E;YAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAC/B;IACH,CAAC;IAED,QAAQ,CAAyB,IAAO,EAAE,IAAyB;;QACjE,MAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,0CAAE,OAAO,CAAC,CAAC,OAAkC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzF,QAAQ,IAAI,EAAE;YACZ,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnB,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtB,MAAM;YACR;gBACE,MAAM;SACT;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;SAClB;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,KAAI,CAAC;IACX,OAAO,KAAI,CAAC;IACZ,OAAO,CAAC,IAAS,IAAG,CAAC;IACrB,UAAU,CAAC,EAAO,IAAG,CAAC;CACvB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fromExternal/react-native-sse/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,eAAe,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fromExternal/react-native-sse/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,eAAe,WAAW,CAAC"}
@@ -14,6 +14,7 @@ export interface CloseEvent {
14
14
  }
15
15
  export interface RetryEvent {
16
16
  type: 'retry';
17
+ delayMillis: number;
17
18
  }
18
19
  export interface TimeoutEvent {
19
20
  type: 'timeout';
@@ -38,13 +39,12 @@ export interface ExceptionEvent {
38
39
  export interface EventSourceOptions {
39
40
  method?: string;
40
41
  timeout?: number;
41
- timeoutBeforeConnection?: number;
42
42
  withCredentials?: boolean;
43
43
  headers?: Record<string, any>;
44
44
  body?: any;
45
- debug?: boolean;
46
- pollingInterval?: number;
47
45
  retryAndHandleError?: (err: any) => boolean;
46
+ initialRetryDelayMillis?: number;
47
+ logger?: any;
48
48
  }
49
49
  type BuiltInEventMap = {
50
50
  message: MessageEvent;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/fromExternal/react-native-sse/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAChF,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,IAAI,CAAC,GAAG,gBAAgB,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,MAAM;IAC3C,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC;IAC5C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,GAAG,CAAC;CACd;AAED,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,cAAc,CAAC;IAClD,KAAK,EAAE,UAAU,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,gBAAgB,GAC1F,eAAe,CAAC,CAAC,CAAC,GAClB,WAAW,CAAC,CAAC,CAAC,CAAC;AAEnB,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CACjG,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KACvB,IAAI,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/fromExternal/react-native-sse/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { LDApplication, LDDevice } from '@launchdarkly/js-client-sdk-common';
2
+ export declare const ldApplication: LDApplication;
3
+ export declare const ldDevice: LDDevice;
4
+ //# sourceMappingURL=autoEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoEnv.d.ts","sourceRoot":"","sources":["../../../src/platform/autoEnv.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAIlF,eAAO,MAAM,aAAa,EAAE,aAa3B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,QAoBtB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { Platform } from 'react-native';
2
+ import locale from './locale';
3
+ export const ldApplication = {
4
+ // key is populated by common/client-sdk
5
+ key: '',
6
+ envAttributesVersion: '1.0',
7
+ locale,
8
+ // These are not automatically generated. Use LDOptions.applicationInfo
9
+ // to specify these values.
10
+ id: '',
11
+ name: '',
12
+ version: '',
13
+ versionName: '',
14
+ };
15
+ export const ldDevice = {
16
+ // key is populated by common/client-sdk
17
+ key: '',
18
+ envAttributesVersion: '1.0',
19
+ manufacturer: Platform.select({
20
+ ios: 'apple',
21
+ android: Platform.constants.Manufacturer,
22
+ }),
23
+ model: Platform.select({
24
+ // ios: model n/a from PlatformIOSStatic
25
+ android: Platform.constants.Model,
26
+ }),
27
+ os: {
28
+ family: Platform.select({
29
+ ios: 'apple',
30
+ default: Platform.OS,
31
+ }),
32
+ name: Platform.OS,
33
+ version: Platform.Version.toString(),
34
+ },
35
+ };
36
+ //# sourceMappingURL=autoEnv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoEnv.js","sourceRoot":"","sources":["../../../src/platform/autoEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA8B,MAAM,cAAc,CAAC;AAIpE,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,wCAAwC;IACxC,GAAG,EAAE,EAAE;IACP,oBAAoB,EAAE,KAAK;IAE3B,MAAM;IAEN,uEAAuE;IACvE,2BAA2B;IAC3B,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,EAAE;CAChB,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,wCAAwC;IACxC,GAAG,EAAE,EAAE;IACP,oBAAoB,EAAE,KAAK;IAC3B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;QAC5B,GAAG,EAAE,OAAO;QACZ,OAAO,EAAG,QAAkC,CAAC,SAAS,CAAC,YAAY;KACpE,CAAC;IACF,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;QACrB,wCAAwC;QACxC,OAAO,EAAG,QAAkC,CAAC,SAAS,CAAC,KAAK;KAC7D,CAAC;IACF,EAAE,EAAE;QACF,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;YACtB,GAAG,EAAE,OAAO;YACZ,OAAO,EAAE,QAAQ,CAAC,EAAE;SACrB,CAAC;QACF,IAAI,EAAE,QAAQ,CAAC,EAAE;QACjB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE;KACrC;CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Hasher as LDHasher } from '@launchdarkly/js-client-sdk-common';
2
+ import { SupportedHashAlgorithm, SupportedOutputEncoding } from './types';
3
+ export default class PlatformHasher implements LDHasher {
4
+ private hasher;
5
+ constructor(algorithm: SupportedHashAlgorithm, hmacKey?: string);
6
+ digest(encoding: SupportedOutputEncoding): string;
7
+ update(data: string): this;
8
+ }
9
+ //# sourceMappingURL=PlatformHasher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformHasher.d.ts","sourceRoot":"","sources":["../../../../src/platform/crypto/PlatformHasher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAIxE,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE1E,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,QAAQ;IACrD,OAAO,CAAC,MAAM,CAAS;gBAEX,SAAS,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,MAAM;IAU/D,MAAM,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM;IAajD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAI3B"}
@@ -0,0 +1,28 @@
1
+ import { sha256 } from '../../fromExternal/js-sha256';
2
+ import { base64FromByteArray } from '../../polyfills';
3
+ export default class PlatformHasher {
4
+ constructor(algorithm, hmacKey) {
5
+ switch (algorithm) {
6
+ case 'sha256':
7
+ this.hasher = hmacKey ? sha256.hmac.create(hmacKey) : sha256.create();
8
+ break;
9
+ default:
10
+ throw new Error(`Unsupported hash algorithm: ${algorithm}. Only sha256 is supported.`);
11
+ }
12
+ }
13
+ digest(encoding) {
14
+ switch (encoding) {
15
+ case 'base64':
16
+ return base64FromByteArray(new Uint8Array(this.hasher.arrayBuffer()));
17
+ case 'hex':
18
+ return this.hasher.hex();
19
+ default:
20
+ throw new Error(`unsupported output encoding: ${encoding}. Only base64 and hex are supported.`);
21
+ }
22
+ }
23
+ update(data) {
24
+ this.hasher.update(data);
25
+ return this;
26
+ }
27
+ }
28
+ //# sourceMappingURL=PlatformHasher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlatformHasher.js","sourceRoot":"","sources":["../../../../src/platform/crypto/PlatformHasher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,cAAc;IAGjC,YAAY,SAAiC,EAAE,OAAgB;QAC7D,QAAQ,SAAS,EAAE;YACjB,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtE,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,6BAA6B,CAAC,CAAC;SAC1F;IACH,CAAC;IAED,MAAM,CAAC,QAAiC;QACtC,QAAQ,QAAQ,EAAE;YAChB,KAAK,QAAQ;gBACX,OAAO,mBAAmB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACxE,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC3B;gBACE,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,sCAAsC,CAC/E,CAAC;SACL;IACH,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import type { Crypto, Hmac } from '@launchdarkly/js-client-sdk-common';
2
+ import PlatformHasher from './PlatformHasher';
3
+ import { SupportedHashAlgorithm } from './types';
4
+ /**
5
+ * Uses crypto-js as substitute to node:crypto because the latter
6
+ * is not yet supported in some runtimes.
7
+ * https://cryptojs.gitbook.io/docs/
8
+ */
9
+ export default class PlatformCrypto implements Crypto {
10
+ createHash(algorithm: SupportedHashAlgorithm): PlatformHasher;
11
+ createHmac(algorithm: SupportedHashAlgorithm, key: string): Hmac;
12
+ randomUUID(): string;
13
+ }
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platform/crypto/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAmBjD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,MAAM;IACnD,UAAU,CAAC,SAAS,EAAE,sBAAsB,GAAG,cAAc;IAI7D,UAAU,CAAC,SAAS,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAIhE,UAAU,IAAI,MAAM;CAGrB"}
@@ -0,0 +1,34 @@
1
+ import PlatformHasher from './PlatformHasher';
2
+ /* eslint-disable no-bitwise */
3
+ /**
4
+ * To avoid dependencies on uuid, this is good enough for now.
5
+ * Ripped from the react-native repo:
6
+ * https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Blob/BlobManager.js#L27
7
+ *
8
+ * Based on the rfc4122-compliant solution posted at
9
+ * http://stackoverflow.com/questions/105034
10
+ */
11
+ function uuidv4() {
12
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
13
+ const r = (Math.random() * 16) | 0;
14
+ const v = c === 'x' ? r : (r & 0x3) | 0x8;
15
+ return v.toString(16);
16
+ });
17
+ }
18
+ /**
19
+ * Uses crypto-js as substitute to node:crypto because the latter
20
+ * is not yet supported in some runtimes.
21
+ * https://cryptojs.gitbook.io/docs/
22
+ */
23
+ export default class PlatformCrypto {
24
+ createHash(algorithm) {
25
+ return new PlatformHasher(algorithm);
26
+ }
27
+ createHmac(algorithm, key) {
28
+ return new PlatformHasher(algorithm, key);
29
+ }
30
+ randomUUID() {
31
+ return uuidv4();
32
+ }
33
+ }
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/platform/crypto/index.ts"],"names":[],"mappings":"AAEA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAG9C,+BAA+B;AAC/B;;;;;;;GAOG;AACH,SAAS,MAAM;IACb,OAAO,sCAAsC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACnE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1C,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,UAAU,CAAC,SAAiC;QAC1C,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,SAAiC,EAAE,GAAW;QACvD,OAAO,IAAI,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU;QACR,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export type SupportedHashAlgorithm = 'sha256';
2
+ export type SupportedOutputEncoding = 'base64' | 'hex';
3
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/platform/crypto/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAC9C,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/react-native-sse/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/platform/crypto/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,12 @@
1
- import type { LDLogger, Platform } from '@launchdarkly/js-client-sdk-common';
1
+ import type { EventName, EventSource, EventSourceInitDict, LDLogger, Options, Platform, Requests, Response } from '@launchdarkly/js-client-sdk-common';
2
+ import RNEventSource from '../fromExternal/react-native-sse';
3
+ export declare class PlatformRequests implements Requests {
4
+ private readonly logger;
5
+ eventSource?: RNEventSource<EventName>;
6
+ constructor(logger: LDLogger);
7
+ createEventSource(url: string, eventSourceInitDict: EventSourceInitDict): EventSource;
8
+ fetch(url: string, options?: Options): Promise<Response>;
9
+ }
2
10
  declare const createPlatform: (logger: LDLogger) => Platform;
3
11
  export default createPlatform;
4
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EASV,QAAQ,EAER,QAAQ,EAMT,MAAM,oCAAoC,CAAC;AAiF5C,QAAA,MAAM,cAAc,WAAY,QAAQ,KAAG,QAMzC,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,SAAS,EACT,WAAW,EACX,mBAAmB,EAEnB,QAAQ,EACR,OAAO,EACP,QAAQ,EAER,QAAQ,EACR,QAAQ,EAGT,MAAM,oCAAoC,CAAC;AAG5C,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAM7D,qBAAa,gBAAiB,YAAW,QAAQ;IAGnC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,WAAW,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;gBAEV,MAAM,EAAE,QAAQ;IAE7C,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,GAAG,WAAW;IAUrF,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;CAIzD;AA2DD,QAAA,MAAM,cAAc,WAAY,QAAQ,KAAG,QAMzC,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1,13 +1,20 @@
1
1
  import { name, version } from '../../package.json';
2
- import { btoa, uuidv4 } from '../polyfills';
3
- import RNEventSource from '../react-native-sse';
2
+ import RNEventSource from '../fromExternal/react-native-sse';
3
+ import { btoa } from '../polyfills';
4
+ import { ldApplication, ldDevice } from './autoEnv';
4
5
  import AsyncStorage from './ConditionalAsyncStorage';
5
- class PlatformRequests {
6
+ import PlatformCrypto from './crypto';
7
+ export class PlatformRequests {
8
+ constructor(logger) {
9
+ this.logger = logger;
10
+ }
6
11
  createEventSource(url, eventSourceInitDict) {
7
- return new RNEventSource(url, {
12
+ this.eventSource = new RNEventSource(url, {
8
13
  headers: eventSourceInitDict.headers,
9
14
  retryAndHandleError: eventSourceInitDict.errorFilter,
15
+ logger: this.logger,
10
16
  });
17
+ return this.eventSource;
11
18
  }
12
19
  fetch(url, options) {
13
20
  // @ts-ignore
@@ -20,28 +27,26 @@ class PlatformEncoding {
20
27
  }
21
28
  }
22
29
  class PlatformInfo {
30
+ constructor(logger) {
31
+ this.logger = logger;
32
+ }
23
33
  platformData() {
24
- return {
34
+ const data = {
25
35
  name: 'React Native',
36
+ ld_application: ldApplication,
37
+ ld_device: ldDevice,
26
38
  };
39
+ this.logger.debug(`platformData: ${JSON.stringify(data, null, 2)}`);
40
+ return data;
27
41
  }
28
42
  sdkData() {
29
- return {
43
+ const data = {
30
44
  name,
31
45
  version,
32
46
  userAgentBase: 'ReactNativeClient',
33
47
  };
34
- }
35
- }
36
- class PlatformCrypto {
37
- createHash(_algorithm) {
38
- throw new Error('not implemented');
39
- }
40
- createHmac(_algorithm, _key) {
41
- throw new Error('not implemented');
42
- }
43
- randomUUID() {
44
- return uuidv4();
48
+ this.logger.debug(`sdkData: ${JSON.stringify(data, null, 2)}`);
49
+ return data;
45
50
  }
46
51
  }
47
52
  class PlatformStorage {
@@ -72,8 +77,8 @@ class PlatformStorage {
72
77
  }
73
78
  const createPlatform = (logger) => ({
74
79
  crypto: new PlatformCrypto(),
75
- info: new PlatformInfo(),
76
- requests: new PlatformRequests(),
80
+ info: new PlatformInfo(logger),
81
+ requests: new PlatformRequests(logger),
77
82
  encoding: new PlatformEncoding(),
78
83
  storage: new PlatformStorage(logger),
79
84
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAErD,MAAM,gBAAgB;IACpB,iBAAiB,CAAC,GAAW,EAAE,mBAAwC;QACrE,OAAO,IAAI,aAAa,CAAY,GAAG,EAAE;YACvC,OAAO,EAAE,mBAAmB,CAAC,OAAO;YACpC,mBAAmB,EAAE,mBAAmB,CAAC,WAAW;SACrD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,OAAiB;QAClC,aAAa;QACb,OAAO,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF;AACD,MAAM,gBAAgB;IACpB,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;CACF;AAED,MAAM,YAAY;IAChB,YAAY;QACV,OAAO;YACL,IAAI,EAAE,cAAc;SACrB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO;YACL,IAAI;YACJ,OAAO;YACP,aAAa,EAAE,mBAAmB;SACnC,CAAC;IACJ,CAAC;CACF;AAED,MAAM,cAAc;IAClB,UAAU,CAAC,UAAkB;QAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,UAAU,CAAC,UAAkB,EAAE,IAAY;QACzC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,UAAU;QACR,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;CACF;AAED,MAAM,eAAe;IACnB,YAA6B,MAAgB;QAAhB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IACjD,KAAK,CAAC,KAAK,CAAC,GAAW;QACrB,MAAM,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC;SACtB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,GAAG,YAAY,KAAK,EAAE,CAAC,CAAC;YAC7E,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI;YACF,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACxC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,GAAG,YAAY,KAAK,YAAY,KAAK,EAAE,CAAC,CAAC;SAC9F;IACH,CAAC;CACF;AAED,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAY,EAAE,CAAC,CAAC;IACtD,MAAM,EAAE,IAAI,cAAc,EAAE;IAC5B,IAAI,EAAE,IAAI,YAAY,EAAE;IACxB,QAAQ,EAAE,IAAI,gBAAgB,EAAE;IAChC,QAAQ,EAAE,IAAI,gBAAgB,EAAE;IAChC,OAAO,EAAE,IAAI,eAAe,CAAC,MAAM,CAAC;CACrC,CAAC,CAAC;AAEH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Ripped from:
3
+ * https://dev.to/medaimane/localization-and-internationalization-in-react-native-reaching-global-audiences-3acj
4
+ */
5
+ declare const locale: any;
6
+ export default locale;
7
+ //# sourceMappingURL=locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../src/platform/locale.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,QAAA,MAAM,MAAM,KAGoC,CAAC;AAEjD,eAAe,MAAM,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { NativeModules, Platform } from 'react-native';
2
+ /**
3
+ * Ripped from:
4
+ * https://dev.to/medaimane/localization-and-internationalization-in-react-native-reaching-global-audiences-3acj
5
+ */
6
+ const locale = Platform.OS === 'ios'
7
+ ? NativeModules.SettingsManager.settings.AppleLocale // iOS
8
+ : NativeModules.I18nManager.localeIdentifier; // Android and rest
9
+ export default locale;
10
+ //# sourceMappingURL=locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../../src/platform/locale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,GACV,QAAQ,CAAC,EAAE,KAAK,KAAK;IACnB,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM;IAC3D,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,mBAAmB;AAErE,eAAe,MAAM,CAAC"}
@@ -1,2 +1,3 @@
1
- export default function btoa(s: string): string;
1
+ export declare function btoa(s: string): string;
2
+ export declare function base64FromByteArray(a: Uint8Array): string;
2
3
  //# sourceMappingURL=btoa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"btoa.d.ts","sourceRoot":"","sources":["../../../src/polyfills/btoa.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,CAAC,EAAE,MAAM,UAErC"}
1
+ {"version":3,"file":"btoa.d.ts","sourceRoot":"","sources":["../../../src/polyfills/btoa.ts"],"names":[],"mappings":"AAUA,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,UAE7B;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,UAAU,UAEhD"}
@@ -6,7 +6,10 @@ function convertToByteArray(s) {
6
6
  }
7
7
  return Uint8Array.from(b);
8
8
  }
9
- export default function btoa(s) {
9
+ export function btoa(s) {
10
10
  return fromByteArray(convertToByteArray(s));
11
11
  }
12
+ export function base64FromByteArray(a) {
13
+ return fromByteArray(a);
14
+ }
12
15
  //# sourceMappingURL=btoa.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"btoa.js","sourceRoot":"","sources":["../../../src/polyfills/btoa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,SAAS,kBAAkB,CAAC,CAAS;IACnC,MAAM,CAAC,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACpC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,CAAS;IACpC,OAAO,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"btoa.js","sourceRoot":"","sources":["../../../src/polyfills/btoa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,SAAS,kBAAkB,CAAC,CAAS;IACnC,MAAM,CAAC,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QACpC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,CAAS;IAC5B,OAAO,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,CAAa;IAC/C,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC"}
@@ -1,5 +1,5 @@
1
- import btoa from './btoa';
2
- import uuidv4 from './uuid';
1
+ import { type Hasher, sha256 } from '../fromExternal/js-sha256';
2
+ import { base64FromByteArray, btoa } from './btoa';
3
3
  declare function setupPolyfill(): void;
4
- export { btoa, setupPolyfill, uuidv4 };
4
+ export { base64FromByteArray, btoa, type Hasher, setupPolyfill, sha256 };
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/polyfills/index.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,iBAAS,aAAa,SAKrB;AACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/polyfills/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAGnD,iBAAS,aAAa,SAKrB;AACD,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import EventTarget from 'event-target-shim';
2
- import btoa from './btoa';
2
+ import { sha256 } from '../fromExternal/js-sha256';
3
+ import { base64FromByteArray, btoa } from './btoa';
3
4
  import CustomEvent from './CustomEvent';
4
- import uuidv4 from './uuid';
5
5
  function setupPolyfill() {
6
6
  Object.assign(global, {
7
7
  EventTarget,
8
8
  CustomEvent,
9
9
  });
10
10
  }
11
- export { btoa, setupPolyfill, uuidv4 };
11
+ export { base64FromByteArray, btoa, setupPolyfill, sha256 };
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/polyfills/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAE5C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,SAAS,aAAa;IACpB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACpB,WAAW;QACX,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/polyfills/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAe,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,SAAS,aAAa;IACpB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;QACpB,WAAW;QACX,WAAW;KACZ,CAAC,CAAC;AACL,CAAC;AACD,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAe,aAAa,EAAE,MAAM,EAAE,CAAC"}