@darajs/core 1.7.0 → 1.7.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/persistence.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMpC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAW,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAgB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA4H9D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CASxE;AAuGD,UAAU,SAAS;IACf,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,GAAG,GAAG,CAAC,OAAO,CAAC;CACvD;AAED,UAAU,MAAM,CAAC,CAAC,GAAG,GAAG;IACpB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,yBAAyB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;CAC1F;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CACvB,MAAM,EACN;IACI,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACnB,CAUJ,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,MAAM,GAAG,IAAI,CAQxF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAOvF"}
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/persistence.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMpC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAW,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAgB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA4G9D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CASxE;AAuGD,UAAU,SAAS;IACf,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,GAAG,GAAG,CAAC,OAAO,CAAC;CACvD;AAED,UAAU,MAAM,CAAC,CAAC,GAAG,GAAG;IACpB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,yBAAyB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;CAC1F;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CACvB,MAAM,EACN;IACI,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACnB,CAUJ,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,MAAM,GAAG,IAAI,CAQxF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAOvF"}
@@ -16,6 +16,10 @@ import { handleAuthErrors } from '../../api';
16
16
  import { request } from '../../api/http';
17
17
  import { WebSocketCtx, useRequestExtras } from '../context';
18
18
  import { isEmbedded } from '../utils/embed';
19
+ /**
20
+ * Global map to store the extras for each store uid
21
+ */
22
+ const STORE_EXTRAS_MAP = new Map();
19
23
  /**
20
24
  * RecoilSync implementation for BackendStore
21
25
  *
@@ -25,37 +29,34 @@ import { isEmbedded } from '../utils/embed';
25
29
  */
26
30
  function BackendStoreSync({ children }) {
27
31
  const { client } = React.useContext(WebSocketCtx);
28
- const extras = useRequestExtras();
29
32
  const getStoreValue = React.useCallback((itemKey) => __awaiter(this, void 0, void 0, function* () {
30
- const response = yield request(`/api/core/store/${itemKey}`, {}, extras);
33
+ const serializableExtras = STORE_EXTRAS_MAP.get(itemKey);
34
+ const response = yield request(`/api/core/store/${itemKey}`, {}, serializableExtras.extras);
31
35
  yield handleAuthErrors(response, true);
32
36
  yield validateResponse(response, `Failed to fetch the store value for key: ${itemKey}`);
33
37
  const val = yield response.json();
34
38
  return val;
35
- }), [extras]);
39
+ }), []);
36
40
  const syncStoreValues = React.useCallback(({ diff }) => __awaiter(this, void 0, void 0, function* () {
37
41
  // keep track of extras -> diff to send each set of extras as a separate request
38
42
  const extrasMap = new Map();
39
- /*
40
- The diff keys are encoded to include request extras, see the `write` part of `backendStoreEffect`
41
- */
42
- for (const [encodedKey, value] of diff.entries()) {
43
- const { serializedExtras, store_uid } = JSON.parse(encodedKey);
44
- if (!extrasMap.has(serializedExtras)) {
45
- extrasMap.set(serializedExtras, {});
43
+ for (const [itemKey, value] of diff.entries()) {
44
+ const extras = STORE_EXTRAS_MAP.get(itemKey);
45
+ if (!extrasMap.has(extras)) {
46
+ extrasMap.set(extras, {});
46
47
  }
47
48
  // store the value in the extras map
48
- extrasMap.get(serializedExtras)[store_uid] = value;
49
+ extrasMap.get(extras)[itemKey] = value;
49
50
  }
50
- function sendRequest(serializedExtras, storeDiff) {
51
+ function sendRequest(serializableExtras, storeDiff) {
51
52
  return __awaiter(this, void 0, void 0, function* () {
52
- const response = yield request(`/api/core/store`, { body: JSON.stringify(storeDiff), method: 'POST' }, JSON.parse(serializedExtras));
53
+ const response = yield request(`/api/core/store`, { body: JSON.stringify(storeDiff), method: 'POST' }, serializableExtras.extras);
53
54
  yield handleAuthErrors(response, true);
54
55
  yield validateResponse(response, `Failed to sync the store values`);
55
56
  });
56
57
  }
57
58
  // Send a request with each different set of extras
58
- yield Promise.allSettled(Array.from(extrasMap.entries()).map(([serializedExtras, storeDiff]) => sendRequest(serializedExtras, storeDiff)));
59
+ yield Promise.allSettled(Array.from(extrasMap.entries()).map(([serializableExtras, storeDiff]) => sendRequest(serializableExtras, storeDiff)));
59
60
  }), []);
60
61
  const listenToStoreChanges = React.useCallback(({ updateItem }) => {
61
62
  if (!client) {
@@ -75,25 +76,13 @@ function BackendStoreSync({ children }) {
75
76
  * @param requestExtras extras object to create the effect for; used to pass through correct extras to write requests
76
77
  */
77
78
  function backendStoreEffect(variable, requestExtras) {
79
+ // Assumption: the set of extras is unique to the store, i.e. the variable will not be used under different sets of extras
80
+ STORE_EXTRAS_MAP.set(variable.store.uid, requestExtras);
78
81
  return syncEffect({
79
82
  /** Use store uid as the unique identifier */
80
83
  itemKey: variable.store.uid,
81
84
  refine: mixed(),
82
85
  storeKey: 'BackendStore',
83
- /**
84
- * This customizes how the value is written to the diff object then passed to the write function in the sync component.
85
- */
86
- write: ({ write }, newValue) => {
87
- /*
88
- Encode the request extras into the key used so they can be passed through to the request.
89
- This is needed as we need to read the correct extras to use for the request in the BackendStoreSync component which receives
90
- the diff created with this `write` function.
91
- */
92
- write(JSON.stringify({
93
- serializedExtras: requestExtras.toJSON(),
94
- store_uid: variable.store.uid,
95
- }), newValue);
96
- },
97
86
  });
98
87
  }
99
88
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../js/shared/interactivity/persistence.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../js/shared/interactivity/persistence.tsx"],"names":[],"mappings":"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"}
@@ -56323,40 +56323,38 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
56323
56323
  writableObject: writableObject$1
56324
56324
  };
56325
56325
  var Refine_index_6 = Refine_index.mixed;
56326
+ const STORE_EXTRAS_MAP = /* @__PURE__ */ new Map();
56326
56327
  function BackendStoreSync({ children }) {
56327
56328
  const { client } = React__namespace.useContext(websocketCtx);
56328
- const extras = useRequestExtras();
56329
- const getStoreValue = React__namespace.useCallback(
56330
- async (itemKey) => {
56331
- const response = await request(`/api/core/store/${itemKey}`, {}, extras);
56332
- await handleAuthErrors(response, true);
56333
- await validateResponse(response, `Failed to fetch the store value for key: ${itemKey}`);
56334
- const val = await response.json();
56335
- return val;
56336
- },
56337
- [extras]
56338
- );
56329
+ const getStoreValue = React__namespace.useCallback(async (itemKey) => {
56330
+ const serializableExtras = STORE_EXTRAS_MAP.get(itemKey);
56331
+ const response = await request(`/api/core/store/${itemKey}`, {}, serializableExtras.extras);
56332
+ await handleAuthErrors(response, true);
56333
+ await validateResponse(response, `Failed to fetch the store value for key: ${itemKey}`);
56334
+ const val = await response.json();
56335
+ return val;
56336
+ }, []);
56339
56337
  const syncStoreValues = React__namespace.useCallback(async ({ diff }) => {
56340
56338
  const extrasMap = /* @__PURE__ */ new Map();
56341
- for (const [encodedKey, value] of diff.entries()) {
56342
- const { serializedExtras, store_uid } = JSON.parse(encodedKey);
56343
- if (!extrasMap.has(serializedExtras)) {
56344
- extrasMap.set(serializedExtras, {});
56339
+ for (const [itemKey, value] of diff.entries()) {
56340
+ const extras = STORE_EXTRAS_MAP.get(itemKey);
56341
+ if (!extrasMap.has(extras)) {
56342
+ extrasMap.set(extras, {});
56345
56343
  }
56346
- extrasMap.get(serializedExtras)[store_uid] = value;
56344
+ extrasMap.get(extras)[itemKey] = value;
56347
56345
  }
56348
- async function sendRequest(serializedExtras, storeDiff) {
56346
+ async function sendRequest(serializableExtras, storeDiff) {
56349
56347
  const response = await request(
56350
56348
  `/api/core/store`,
56351
56349
  { body: JSON.stringify(storeDiff), method: "POST" },
56352
- JSON.parse(serializedExtras)
56350
+ serializableExtras.extras
56353
56351
  );
56354
56352
  await handleAuthErrors(response, true);
56355
56353
  await validateResponse(response, `Failed to sync the store values`);
56356
56354
  }
56357
56355
  await Promise.allSettled(
56358
56356
  Array.from(extrasMap.entries()).map(
56359
- ([serializedExtras, storeDiff]) => sendRequest(serializedExtras, storeDiff)
56357
+ ([serializableExtras, storeDiff]) => sendRequest(serializableExtras, storeDiff)
56360
56358
  )
56361
56359
  );
56362
56360
  }, []);
@@ -56375,19 +56373,11 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
56375
56373
  return /* @__PURE__ */ React__namespace.createElement(RecoilSync_index_1, { listen: listenToStoreChanges, read: getStoreValue, storeKey: "BackendStore", write: syncStoreValues }, children);
56376
56374
  }
56377
56375
  function backendStoreEffect(variable, requestExtras) {
56376
+ STORE_EXTRAS_MAP.set(variable.store.uid, requestExtras);
56378
56377
  return RecoilSync_index_2({
56379
56378
  itemKey: variable.store.uid,
56380
56379
  refine: Refine_index_6(),
56381
- storeKey: "BackendStore",
56382
- write: ({ write: write2 }, newValue) => {
56383
- write2(
56384
- JSON.stringify({
56385
- serializedExtras: requestExtras.toJSON(),
56386
- store_uid: variable.store.uid
56387
- }),
56388
- newValue
56389
- );
56390
- }
56380
+ storeKey: "BackendStore"
56391
56381
  });
56392
56382
  }
56393
56383
  function getSessionKey(extras, uid2) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darajs/core",
3
- "version": "1.7.0",
3
+ "version": "1.7.1",
4
4
  "description": "Dara Framework core",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -113,5 +113,5 @@
113
113
  "publishConfig": {
114
114
  "access": "public"
115
115
  },
116
- "gitHead": "7d1a18c0819739d83ba315a0882f244df84648ec"
116
+ "gitHead": "d68b7ad95cf8c9184fe8fdd1fa3cf438a8a50936"
117
117
  }