@scalar/workspace-store 0.15.3 → 0.15.4

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @scalar/workspace-store
2
2
 
3
+ ## 0.15.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 019a22a: Try catch merge object to avoid uncaught proxy errors
8
+
3
9
  ## 0.15.3
4
10
 
5
11
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"merge-object.d.ts","sourceRoot":"","sources":["../../src/helpers/merge-object.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAC5B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,QAAO,GAAG,CAAC,OAAO,CAAa,KAC9B,CA8BF,CAAA"}
1
+ {"version":3,"file":"merge-object.d.ts","sourceRoot":"","sources":["../../src/helpers/merge-object.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAC5B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,QAAO,GAAG,CAAC,OAAO,CAAa,KAC9B,CAmCF,CAAA"}
@@ -16,7 +16,12 @@ const mergeObjects = (a, b, cache = /* @__PURE__ */ new Set()) => {
16
16
  cache.add(rawB);
17
17
  mergeObjects(aValue, bValue, cache);
18
18
  } else {
19
- a[key] = bValue;
19
+ try {
20
+ a[key] = bValue;
21
+ } catch (error) {
22
+ console.warn(`Issue setting ${key} on object`);
23
+ console.warn(error);
24
+ }
20
25
  }
21
26
  }
22
27
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/helpers/merge-object.ts"],
4
- "sourcesContent": ["import { getRaw } from '@scalar/json-magic/magic-proxy'\n\nimport type { UnknownObject } from '@/helpers/general'\n\n/**\n * Deep merges two objects, combining their properties recursively.\n * Handles circular references by tracking visited objects to prevent infinite recursion.\n *\n * \u26A0\uFE0F Note: This operation assumes there are no key collisions between the objects.\n * Use isKeyCollisions() to check for collisions before merging.\n *\n * @param a - Target object to merge into\n * @param b - Source object to merge from\n * @param cache - Set of visited objects to prevent circular reference issues\n * @returns The merged object (mutates and returns a)\n *\n * @example\n * // Simple merge\n * const a = { name: 'John' }\n * const b = { age: 30 }\n * mergeObjects(a, b) // { name: 'John', age: 30 }\n *\n * // Nested merge\n * const a = { user: { name: 'John' } }\n * const b = { user: { age: 30 } }\n * mergeObjects(a, b) // { user: { name: 'John', age: 30 } }\n *\n * // Circular reference safe\n * const obj = { name: 'John' }\n * obj.self = obj\n * const target = { age: 30 }\n * mergeObjects(target, obj) // Safely merges without infinite recursion\n */\nexport const mergeObjects = <R>(\n a: Record<string, unknown>,\n b: Record<string, unknown>,\n cache: Set<unknown> = new Set(),\n): R => {\n for (const key in b) {\n if (!(key in a)) {\n a[key] = b[key]\n } else {\n const aValue = a[key]\n const bValue = b[key]\n\n if (typeof aValue === 'object' && aValue !== null && typeof bValue === 'object' && bValue !== null) {\n const rawA = getRaw(aValue as UnknownObject)\n const rawB = getRaw(bValue as UnknownObject)\n\n // Check for circular references before recursive merge\n if (cache.has(rawA) || cache.has(rawB)) {\n // Skip merging this branch to prevent infinite recursion\n continue\n }\n\n // Add objects to cache before recursive call\n cache.add(rawA)\n cache.add(rawB)\n\n mergeObjects(aValue as Record<string, unknown>, bValue as Record<string, unknown>, cache)\n } else {\n a[key] = bValue // Overwrite with b's value if not an object\n }\n }\n }\n\n return a as R\n}\n"],
5
- "mappings": "AAAA,SAAS,cAAc;AAiChB,MAAM,eAAe,CAC1B,GACA,GACA,QAAsB,oBAAI,IAAI,MACxB;AACN,aAAW,OAAO,GAAG;AACnB,QAAI,EAAE,OAAO,IAAI;AACf,QAAE,GAAG,IAAI,EAAE,GAAG;AAAA,IAChB,OAAO;AACL,YAAM,SAAS,EAAE,GAAG;AACpB,YAAM,SAAS,EAAE,GAAG;AAEpB,UAAI,OAAO,WAAW,YAAY,WAAW,QAAQ,OAAO,WAAW,YAAY,WAAW,MAAM;AAClG,cAAM,OAAO,OAAO,MAAuB;AAC3C,cAAM,OAAO,OAAO,MAAuB;AAG3C,YAAI,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,GAAG;AAEtC;AAAA,QACF;AAGA,cAAM,IAAI,IAAI;AACd,cAAM,IAAI,IAAI;AAEd,qBAAa,QAAmC,QAAmC,KAAK;AAAA,MAC1F,OAAO;AACL,UAAE,GAAG,IAAI;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
4
+ "sourcesContent": ["import { getRaw } from '@scalar/json-magic/magic-proxy'\n\nimport type { UnknownObject } from '@/helpers/general'\n\n/**\n * Deep merges two objects, combining their properties recursively.\n * Handles circular references by tracking visited objects to prevent infinite recursion.\n *\n * \u26A0\uFE0F Note: This operation assumes there are no key collisions between the objects.\n * Use isKeyCollisions() to check for collisions before merging.\n *\n * @param a - Target object to merge into\n * @param b - Source object to merge from\n * @param cache - Set of visited objects to prevent circular reference issues\n * @returns The merged object (mutates and returns a)\n *\n * @example\n * // Simple merge\n * const a = { name: 'John' }\n * const b = { age: 30 }\n * mergeObjects(a, b) // { name: 'John', age: 30 }\n *\n * // Nested merge\n * const a = { user: { name: 'John' } }\n * const b = { user: { age: 30 } }\n * mergeObjects(a, b) // { user: { name: 'John', age: 30 } }\n *\n * // Circular reference safe\n * const obj = { name: 'John' }\n * obj.self = obj\n * const target = { age: 30 }\n * mergeObjects(target, obj) // Safely merges without infinite recursion\n */\nexport const mergeObjects = <R>(\n a: Record<string, unknown>,\n b: Record<string, unknown>,\n cache: Set<unknown> = new Set(),\n): R => {\n for (const key in b) {\n if (!(key in a)) {\n a[key] = b[key]\n } else {\n const aValue = a[key]\n const bValue = b[key]\n\n if (typeof aValue === 'object' && aValue !== null && typeof bValue === 'object' && bValue !== null) {\n const rawA = getRaw(aValue as UnknownObject)\n const rawB = getRaw(bValue as UnknownObject)\n\n // Check for circular references before recursive merge\n if (cache.has(rawA) || cache.has(rawB)) {\n // Skip merging this branch to prevent infinite recursion\n continue\n }\n\n // Add objects to cache before recursive call\n cache.add(rawA)\n cache.add(rawB)\n\n mergeObjects(aValue as Record<string, unknown>, bValue as Record<string, unknown>, cache)\n } else {\n try {\n a[key] = bValue // Overwrite with b's value if not an object\n } catch (error) {\n console.warn(`Issue setting ${key} on object`)\n console.warn(error)\n }\n }\n }\n }\n\n return a as R\n}\n"],
5
+ "mappings": "AAAA,SAAS,cAAc;AAiChB,MAAM,eAAe,CAC1B,GACA,GACA,QAAsB,oBAAI,IAAI,MACxB;AACN,aAAW,OAAO,GAAG;AACnB,QAAI,EAAE,OAAO,IAAI;AACf,QAAE,GAAG,IAAI,EAAE,GAAG;AAAA,IAChB,OAAO;AACL,YAAM,SAAS,EAAE,GAAG;AACpB,YAAM,SAAS,EAAE,GAAG;AAEpB,UAAI,OAAO,WAAW,YAAY,WAAW,QAAQ,OAAO,WAAW,YAAY,WAAW,MAAM;AAClG,cAAM,OAAO,OAAO,MAAuB;AAC3C,cAAM,OAAO,OAAO,MAAuB;AAG3C,YAAI,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,GAAG;AAEtC;AAAA,QACF;AAGA,cAAM,IAAI,IAAI;AACd,cAAM,IAAI,IAAI;AAEd,qBAAa,QAAmC,QAAmC,KAAK;AAAA,MAC1F,OAAO;AACL,YAAI;AACF,YAAE,GAAG,IAAI;AAAA,QACX,SAAS,OAAO;AACd,kBAAQ,KAAK,iBAAiB,GAAG,YAAY;AAC7C,kBAAQ,KAAK,KAAK;AAAA,QACpB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -16,7 +16,7 @@
16
16
  "openapi",
17
17
  "scalar"
18
18
  ],
19
- "version": "0.15.3",
19
+ "version": "0.15.4",
20
20
  "engines": {
21
21
  "node": ">=18"
22
22
  },
@@ -80,10 +80,10 @@
80
80
  "yaml": "2.8.0",
81
81
  "@scalar/code-highlight": "0.1.9",
82
82
  "@scalar/helpers": "0.0.10",
83
- "@scalar/snippetz": "0.4.9",
84
83
  "@scalar/json-magic": "0.4.1",
85
84
  "@scalar/openapi-parser": "0.20.4",
86
- "@scalar/types": "0.2.15"
85
+ "@scalar/types": "0.2.15",
86
+ "@scalar/snippetz": "0.4.9"
87
87
  },
88
88
  "devDependencies": {
89
89
  "@google-cloud/storage": "7.16.0",