@schematichq/schematic-react 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -256,7 +256,7 @@ var Schematic = class {
256
256
  if (this.conn) {
257
257
  resolve();
258
258
  }
259
- const wsUrl = `${this.webSocketUrl}/flags/subscribe`;
259
+ const wsUrl = `${this.webSocketUrl}/flags/bootstrap`;
260
260
  const webSocket = new WebSocket(wsUrl);
261
261
  this.conn = webSocket;
262
262
  webSocket.onopen = () => {
@@ -272,6 +272,7 @@ var Schematic = class {
272
272
  return new Promise((resolve, reject) => {
273
273
  if (contextString(context) == contextString(this.context)) {
274
274
  resolve();
275
+ return;
275
276
  }
276
277
  this.context = context;
277
278
  if (!this.conn) {
@@ -282,9 +283,14 @@ var Schematic = class {
282
283
  let resolved = false;
283
284
  this.conn.onmessage = (event) => {
284
285
  const message = JSON.parse(event.data);
285
- (message.flags ?? []).forEach((flag) => {
286
- this.values[contextString(context)][flag.flag] = flag.value;
287
- });
286
+ if (!(contextString(context) in this.values)) {
287
+ this.values[contextString(context)] = {};
288
+ }
289
+ (message.flags ?? []).forEach(
290
+ (flag) => {
291
+ this.values[contextString(context)][flag.flag] = flag.value;
292
+ }
293
+ );
288
294
  if (this.flagListener) {
289
295
  this.flagListener(this.values[contextString(context)]);
290
296
  }
@@ -225,7 +225,7 @@ var Schematic = class {
225
225
  if (this.conn) {
226
226
  resolve();
227
227
  }
228
- const wsUrl = `${this.webSocketUrl}/flags/subscribe`;
228
+ const wsUrl = `${this.webSocketUrl}/flags/bootstrap`;
229
229
  const webSocket = new WebSocket(wsUrl);
230
230
  this.conn = webSocket;
231
231
  webSocket.onopen = () => {
@@ -241,6 +241,7 @@ var Schematic = class {
241
241
  return new Promise((resolve, reject) => {
242
242
  if (contextString(context) == contextString(this.context)) {
243
243
  resolve();
244
+ return;
244
245
  }
245
246
  this.context = context;
246
247
  if (!this.conn) {
@@ -251,9 +252,14 @@ var Schematic = class {
251
252
  let resolved = false;
252
253
  this.conn.onmessage = (event) => {
253
254
  const message = JSON.parse(event.data);
254
- (message.flags ?? []).forEach((flag) => {
255
- this.values[contextString(context)][flag.flag] = flag.value;
256
- });
255
+ if (!(contextString(context) in this.values)) {
256
+ this.values[contextString(context)] = {};
257
+ }
258
+ (message.flags ?? []).forEach(
259
+ (flag) => {
260
+ this.values[contextString(context)][flag.flag] = flag.value;
261
+ }
262
+ );
257
263
  if (this.flagListener) {
258
264
  this.flagListener(this.values[contextString(context)]);
259
265
  }
package/package.json CHANGED
@@ -42,9 +42,9 @@
42
42
  "test": "jest --config jest.config.js"
43
43
  },
44
44
  "types": "dist/schematic-react.d.ts",
45
- "version": "0.1.7",
45
+ "version": "0.1.8",
46
46
  "dependencies": {
47
- "@schematichq/schematic-js": "^0.1.8"
47
+ "@schematichq/schematic-js": "^0.1.10"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "react": ">=18"