@es-joy/jsoe 0.20.6 → 0.22.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@es-joy/jsoe",
3
- "version": "0.20.6",
3
+ "version": "0.22.0",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./src/index.js",
@@ -42,7 +42,7 @@
42
42
  "@rollup/plugin-commonjs": "^26.0.1",
43
43
  "@rollup/plugin-node-resolve": "^15.2.3",
44
44
  "@types/jsdom": "^21.1.7",
45
- "@types/node": "^22.4.2",
45
+ "@types/node": "^22.5.0",
46
46
  "axe-core": "^4.10.0",
47
47
  "coveradge": "^0.8.2",
48
48
  "cypress": "^13.13.3",
package/rollup.config.js CHANGED
@@ -10,6 +10,7 @@ export default [{
10
10
  input: 'src/index.js',
11
11
  external: ['react'], // Todo: remove when removed from Zodex
12
12
  output: {
13
+ sourcemap: true,
13
14
  file: 'dist/index.js',
14
15
  format: 'es'
15
16
  },
@@ -70,6 +71,7 @@ export default [{
70
71
  output: {
71
72
  file: 'src/deepEqual.js',
72
73
  format: 'es',
74
+ sourcemap: true,
73
75
  name: 'deepEqual'
74
76
  },
75
77
  plugins: [
package/src/deepEqual.js CHANGED
@@ -70,3 +70,4 @@ var es6 = function equal(a, b) {
70
70
  var index = /*@__PURE__*/getDefaultExportFromCjs(es6);
71
71
 
72
72
  export { index as default };
73
+ //# sourceMappingURL=deepEqual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepEqual.js","sources":["../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/es6/index.js"],"sourcesContent":["'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n var envHasBigInt64Array = typeof BigInt64Array !== 'undefined';\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n if ((a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n for (i of a.entries())\n if (!b.has(i[0])) return false;\n for (i of a.entries())\n if (!equal(i[1], b.get(i[0]))) return false;\n return true;\n }\n\n if ((a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n for (i of a.entries())\n if (!b.has(i[0])) return false;\n return true;\n }\n\n if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -484,47 +484,45 @@ const canonicalTypeToAvailableTypeAndSchema = (
484
484
 
485
485
  /** @type {import('../formats.js').Format} */
486
486
  const structuredCloning = {
487
- iterate (records, stateObj) {
487
+ async iterate (records, stateObj) {
488
488
  /* istanbul ignore if -- Just a guard */
489
489
  if (!stateObj.format) {
490
490
  stateObj.format = 'structuredCloning';
491
491
  }
492
- // Todo: Replace this with async typeson?
493
- // eslint-disable-next-line promise/avoid-new -- Our own API for now
494
- return new Promise((resolve, reject) => {
495
- const structuredCloningFixed = structuredCloningThrowing.filter(
496
- (typeSpecSet) => {
497
- return ![
498
- // Not yet supported within JSOE
499
- 'imagedata',
500
- 'imagebitmap',
501
- 'cryptokey',
502
- 'domquad'
503
- ].some((prop) => {
504
- return Object.hasOwn(typeSpecSet, prop);
505
- });
506
- }
507
- );
508
- structuredCloningFixed.splice(
509
- // Add after userObjects
510
- 1,
511
- 0,
512
- noneditable
513
- );
514
- const typeson = new Typeson({
515
- encapsulateObserver: encapsulateObserver(stateObj)
516
- }).register(structuredCloningFixed);
517
- typeson.encapsulate(records);
518
- // Todo (low): We might want to run async encapsulate for
519
- // async types (and put this after Promise resolves)
520
- if (stateObj.error) {
521
- reject(stateObj.error);
522
- } else {
523
- resolve(/** @type {Required<import('../types.js').StateObject>} */ (
524
- stateObj
525
- ));
492
+
493
+ const structuredCloningFixed = structuredCloningThrowing.filter(
494
+ (typeSpecSet) => {
495
+ return ![
496
+ // Not yet supported within JSOE
497
+ 'imagedata',
498
+ 'imagebitmap',
499
+ 'cryptokey',
500
+ 'domquad'
501
+ ].some((prop) => {
502
+ return Object.hasOwn(typeSpecSet, prop);
503
+ });
526
504
  }
505
+ );
506
+ structuredCloningFixed.splice(
507
+ // Add after userObjects
508
+ 1,
509
+ 0,
510
+ noneditable
511
+ );
512
+ const typeson = new Typeson({
513
+ encapsulateObserver: encapsulateObserver(stateObj)
514
+ }).register(structuredCloningFixed);
515
+
516
+ await typeson.encapsulateAsync(records, null, {
517
+ throwOnBadSyncType: false
527
518
  });
519
+
520
+ if (stateObj.error) {
521
+ throw stateObj.error;
522
+ }
523
+ return (/** @type {Required<import('../types.js').StateObject>} */ (
524
+ stateObj
525
+ ));
528
526
  },
529
527
  getTypesAndSchemasForState (types, state) {
530
528
  if (state && types.getContextInfo('structuredCloning', state)) {