@es-joy/jsoe 0.23.1 → 0.24.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.
Files changed (54) hide show
  1. package/CHANGES.md +10 -0
  2. package/README.md +25 -1
  3. package/badges/coverage-badge.svg +1 -1
  4. package/dist/formatAndTypeChoices.d.ts +9 -2
  5. package/dist/formatAndTypeChoices.d.ts.map +1 -1
  6. package/dist/formats/arbitraryJS.d.ts +4 -0
  7. package/dist/formats/arbitraryJS.d.ts.map +1 -0
  8. package/dist/formats/schema.d.ts.map +1 -1
  9. package/dist/formats/structuredCloning.d.ts +1 -1
  10. package/dist/formats/structuredCloning.d.ts.map +1 -1
  11. package/dist/formats.d.ts +13 -10
  12. package/dist/formats.d.ts.map +1 -1
  13. package/dist/fundamentalTypes/blobType.d.ts.map +1 -1
  14. package/dist/fundamentalTypes/fileType.d.ts.map +1 -1
  15. package/dist/fundamentalTypes/functionType.d.ts +1 -0
  16. package/dist/fundamentalTypes/functionType.d.ts.map +1 -1
  17. package/dist/fundamentalTypes/promiseType.d.ts.map +1 -1
  18. package/dist/fundamentalTypes/stringType.d.ts.map +1 -1
  19. package/dist/fundamentalTypes/symbolType.d.ts.map +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/types.d.ts +33 -27
  23. package/dist/types.d.ts.map +1 -1
  24. package/dist/vendor-imports.d.ts +2 -1
  25. package/package.json +13 -14
  26. package/rollup.config.js +12 -0
  27. package/src/formatAndTypeChoices.js +32 -7
  28. package/src/formats/arbitraryJS.js +27 -0
  29. package/src/formats/indexedDBKey.js +1 -1
  30. package/src/formats/json.js +1 -1
  31. package/src/formats/schema.js +17 -13
  32. package/src/formats/structuredCloning.js +37 -8
  33. package/src/formats.js +15 -7
  34. package/src/fundamentalTypes/arrayReferenceType.js +1 -1
  35. package/src/fundamentalTypes/bigintObjectType.js +1 -1
  36. package/src/fundamentalTypes/bigintType.js +1 -1
  37. package/src/fundamentalTypes/blobType.js +11 -3
  38. package/src/fundamentalTypes/fileType.js +9 -4
  39. package/src/fundamentalTypes/functionType.js +237 -69
  40. package/src/fundamentalTypes/numberType.js +3 -3
  41. package/src/fundamentalTypes/objectReferenceType.js +1 -1
  42. package/src/fundamentalTypes/promiseType.js +144 -15
  43. package/src/fundamentalTypes/stringType.js +8 -7
  44. package/src/fundamentalTypes/symbolType.js +14 -6
  45. package/src/subTypes/blobHTMLType.js +1 -1
  46. package/src/types.js +31 -25
  47. package/src/vendor-imports.js +6 -1
  48. package/vendor/acorn/dist/acorn.d.mts +856 -0
  49. package/vendor/acorn/dist/acorn.d.ts +856 -0
  50. package/vendor/acorn/dist/acorn.js +6065 -0
  51. package/vendor/acorn/dist/acorn.mjs +6036 -0
  52. package/vendor/acorn/dist/bin.js +90 -0
  53. package/vendor/jamilih/dist/jml-es.js +9 -14
  54. package/vendor/typeson-registry/dist/index.js +70 -26
package/dist/types.d.ts CHANGED
@@ -13,7 +13,7 @@ export type RootElement = HTMLDivElement;
13
13
  /**
14
14
  * Utility to retrieve the type out of a type root element.
15
15
  */
16
- export type GetTypeForRoot = (root: RootElement | null) => string;
16
+ export type GetTypeForRoot = (root: RootElement | null) => AvailableArbitraryType;
17
17
  /**
18
18
  * Utility to get the value out of a type root element with a given
19
19
  * state and path.
@@ -29,7 +29,7 @@ export type GetFormControlForRoot = (root: RootElement) => null | HTMLInputEleme
29
29
  export type GetValueFromRootAncestor = (selOrEl: string | HTMLElement, stateObj?: StateObject | undefined) => StructuredCloneValue;
30
30
  export type GetFormControlFromRootAncestor = (selOrEl: string | HTMLElement) => null | HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement;
31
31
  export type Integer = number;
32
- export type GetOptionForType = (type: AvailableType, schemaContent?: import("./formatAndTypeChoices.js").ZodexSchema | undefined) => [string, {
32
+ export type GetOptionForType = (type: AvailableArbitraryType, schemaContent?: import("./formatAndTypeChoices.js").ZodexSchema | undefined) => [string, {
33
33
  value: AvailableType;
34
34
  title?: string;
35
35
  }];
@@ -65,7 +65,7 @@ export type GetUIForModeAndType = (cfg: {
65
65
  readonly?: boolean;
66
66
  resultType?: "both" | "keys" | "values";
67
67
  typeNamespace?: string;
68
- type: AvailableType;
68
+ type: AvailableArbitraryType;
69
69
  topRoot?: RootElement;
70
70
  bringIntoFocus?: boolean | undefined;
71
71
  buildTypeChoices?: import("./typeChoices.js").BuildTypeChoices;
@@ -86,13 +86,13 @@ export type ValidateAllReferences = (cfg: {
86
86
  topRoot: RootElement;
87
87
  }) => void;
88
88
  export type Validate = (cfg: {
89
- type: AvailableType;
89
+ type: AvailableArbitraryType;
90
90
  root: RootElement;
91
91
  topRoot?: RootElement;
92
92
  avoidReport?: boolean;
93
93
  }) => boolean;
94
94
  export type SetValue = (cfg: {
95
- type: AvailableType;
95
+ type: AvailableArbitraryType;
96
96
  root: RootElement;
97
97
  value: StructuredCloneValue;
98
98
  }) => void;
@@ -227,6 +227,7 @@ export type TypeObject = {
227
227
  stateObj?: StateObject;
228
228
  currentPath?: string;
229
229
  }) => StructuredCloneValue;
230
+ types?: Types | undefined;
230
231
  /**
231
232
  * Should set the value of the
232
233
  * form's `getInput` element
@@ -235,7 +236,7 @@ export type TypeObject = {
235
236
  viewUI: (info: {
236
237
  value?: StructuredCloneValue;
237
238
  typeNamespace?: string;
238
- type?: AvailableType;
239
+ type?: AvailableArbitraryType;
239
240
  topRoot?: HTMLDivElement;
240
241
  resultType?: "keys" | "values" | "both";
241
242
  format: import("./formats.js").AvailableFormat;
@@ -254,7 +255,7 @@ export type TypeObject = {
254
255
  formats?: import("./formats.js").default;
255
256
  types: Types;
256
257
  resultType?: "keys" | "values" | "both";
257
- type?: AvailableType;
258
+ type?: AvailableArbitraryType;
258
259
  forcedState?: string;
259
260
  buildTypeChoices?: import("./typeChoices.js").BuildTypeChoices;
260
261
  topRoot?: HTMLDivElement;
@@ -306,6 +307,7 @@ export type TypeObject = {
306
307
  } | undefined;
307
308
  };
308
309
  export type AvailableType = "null" | "true" | "false" | "number" | "bigint" | "bigintObject" | "string" | "arrayReference" | "objectReference" | "array" | "object" | "date" | "userObject" | "undef" | "SpecialRealNumber" | "SpecialNumber" | "regexp" | "BooleanObject" | "NumberObject" | "StringObject" | "map" | "set" | "file" | "filelist" | "blobHTML" | "buffersource" | "dataview" | "imagedata" | "imagebitmap" | "int8array" | "uint8array" | "uint8clampedarray" | "int16array" | "uint16array" | "int32array" | "uint32array" | "float32array" | "float64array" | "ValidDate" | "arrayNonindexKeys" | "error" | "errors" | "blob" | "domexception" | "domrect" | "dompoint" | "dommatrix" | "resurrectable" | "boolean" | "nan" | "tuple" | "record" | "void" | "enum" | "literal" | "never" | "catch" | "nativeEnum";
310
+ export type AvailableArbitraryType = AvailableType | "symbol" | "promise" | "function";
309
311
  export type SuperTypeObject = TypeObject & {
310
312
  childTypes: string[];
311
313
  };
@@ -317,7 +319,7 @@ export type SuperTypeObject = TypeObject & {
317
319
  * Utility to retrieve the type out of a type root element.
318
320
  * @callback GetTypeForRoot
319
321
  * @param {?RootElement} root
320
- * @returns {string} Why would it not exist?
322
+ * @returns {AvailableArbitraryType} Why would it not exist?
321
323
  */
322
324
  /**
323
325
  * Utility to get the value out of a type root element with a given
@@ -353,7 +355,7 @@ export type SuperTypeObject = TypeObject & {
353
355
  */
354
356
  /**
355
357
  * @callback GetOptionForType
356
- * @param {AvailableType} type
358
+ * @param {AvailableArbitraryType} type
357
359
  * @param {import('./formatAndTypeChoices.js').ZodexSchema|
358
360
  * undefined} [schemaContent]
359
361
  * @returns {[string, {value: AvailableType, title?: string}]}
@@ -397,7 +399,7 @@ export type SuperTypeObject = TypeObject & {
397
399
  * readonly?: boolean,
398
400
  * resultType?: "both"|"keys"|"values",
399
401
  * typeNamespace?: string,
400
- * type: AvailableType,
402
+ * type: AvailableArbitraryType,
401
403
  * topRoot?: RootElement,
402
404
  * bringIntoFocus?: boolean|undefined,
403
405
  * buildTypeChoices?: import('./typeChoices.js').BuildTypeChoices,
@@ -424,7 +426,7 @@ export type SuperTypeObject = TypeObject & {
424
426
  */
425
427
  /**
426
428
  * @typedef {(cfg: {
427
- * type: AvailableType,
429
+ * type: AvailableArbitraryType,
428
430
  * root: RootElement,
429
431
  * topRoot?: RootElement,
430
432
  * avoidReport?: boolean
@@ -432,7 +434,7 @@ export type SuperTypeObject = TypeObject & {
432
434
  */
433
435
  /**
434
436
  * @typedef {(cfg: {
435
- * type: AvailableType,
437
+ * type: AvailableArbitraryType,
436
438
  * root: RootElement,
437
439
  * value: StructuredCloneValue,
438
440
  * }) => void} SetValue
@@ -492,10 +494,10 @@ export type SuperTypeObject = TypeObject & {
492
494
  /**
493
495
  * @typedef {(
494
496
  * info: {
495
- * root: HTMLDivElement,
496
- * value: StructuredCloneValue
497
- * }
498
- * ) => void} TypeObjectSetValue
497
+ * root: HTMLDivElement,
498
+ * value: StructuredCloneValue
499
+ * }
500
+ * ) => void} TypeObjectSetValue
499
501
  */
500
502
  /**
501
503
  * @typedef {(
@@ -550,12 +552,13 @@ export type SuperTypeObject = TypeObject & {
550
552
  * }) =>
551
553
  * StructuredCloneValue
552
554
  * } getValue Gets the value for the type
555
+ * @property {Types} [types]
553
556
  * @property {TypeObjectSetValue} [setValue] Should set the value of the
554
557
  * form's `getInput` element
555
558
  * @property {(info: {
556
559
  * value?: StructuredCloneValue,
557
560
  * typeNamespace?: string,
558
- * type?: AvailableType,
561
+ * type?: AvailableArbitraryType,
559
562
  * topRoot?: HTMLDivElement,
560
563
  * resultType?: "keys"|"values"|"both",
561
564
  * format: import('./formats.js').AvailableFormat,
@@ -574,7 +577,7 @@ export type SuperTypeObject = TypeObject & {
574
577
  * formats?: import('./formats.js').default,
575
578
  * types: Types,
576
579
  * resultType?: "keys"|"values"|"both",
577
- * type?: AvailableType,
580
+ * type?: AvailableArbitraryType,
578
581
  * forcedState?: string,
579
582
  * buildTypeChoices?: import('./typeChoices.js').BuildTypeChoices,
580
583
  * topRoot?: HTMLDivElement
@@ -622,6 +625,9 @@ export type SuperTypeObject = TypeObject & {
622
625
  * "record"|"void"|"enum"|"literal"|"never"|"catch"|"nativeEnum"
623
626
  * } AvailableType
624
627
  */
628
+ /**
629
+ * @typedef {AvailableType|"symbol"|"promise"|"function"} AvailableArbitraryType
630
+ */
625
631
  /**
626
632
  * @typedef {TypeObject & {
627
633
  * childTypes: string[]
@@ -636,10 +642,10 @@ declare class Types {
636
642
  customValidateAllReferences: CustomValidateAllReferences | undefined;
637
643
  /**
638
644
  * @type {{
639
- * [key in AvailableType]: Partial<TypeObject>|string[]
645
+ * [key in AvailableArbitraryType]: Partial<TypeObject>|string[]
640
646
  * }}
641
647
  */
642
- availableTypes: { [key in AvailableType]: Partial<TypeObject> | string[]; };
648
+ availableTypes: { [key in AvailableArbitraryType]: Partial<TypeObject> | string[]; };
643
649
  /**
644
650
  * @type {{
645
651
  * [key: string]: {
@@ -678,7 +684,7 @@ declare class Types {
678
684
  getFormControlForRoot(root: RootElement): null | HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement;
679
685
  getValueFromRootAncestor(selOrEl: string | HTMLElement, stateObj?: StateObject | undefined): StructuredCloneValue;
680
686
  getFormControlFromRootAncestor(selOrEl: string | HTMLElement): null | HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | HTMLButtonElement;
681
- getOptionForType(type: AvailableType, schemaContent?: import("./formatAndTypeChoices.js").ZodexSchema | undefined): [string, {
687
+ getOptionForType(type: AvailableArbitraryType, schemaContent?: import("./formatAndTypeChoices.js").ZodexSchema | undefined): [string, {
682
688
  value: AvailableType;
683
689
  title?: string;
684
690
  }];
@@ -693,7 +699,7 @@ declare class Types {
693
699
  readonly?: boolean;
694
700
  resultType?: "both" | "keys" | "values";
695
701
  typeNamespace?: string;
696
- type: AvailableType;
702
+ type: AvailableArbitraryType;
697
703
  topRoot?: RootElement;
698
704
  bringIntoFocus?: boolean | undefined;
699
705
  buildTypeChoices?: import("./typeChoices.js").BuildTypeChoices;
@@ -709,13 +715,13 @@ declare class Types {
709
715
  topRoot: RootElement;
710
716
  }): void;
711
717
  validate(cfg: {
712
- type: AvailableType;
718
+ type: AvailableArbitraryType;
713
719
  root: RootElement;
714
720
  topRoot?: RootElement;
715
721
  avoidReport?: boolean;
716
722
  }): boolean;
717
723
  setValue(cfg: {
718
- type: AvailableType;
724
+ type: AvailableArbitraryType;
719
725
  root: RootElement;
720
726
  value: StructuredCloneValue;
721
727
  }): void;
@@ -735,13 +741,13 @@ declare class Types {
735
741
  schemaOriginal?: import("./formatAndTypeChoices.js").ZodexSchema | undefined;
736
742
  }): [value: StructuredCloneValue, remnant: string, beginOnly: boolean, assign: boolean];
737
743
  /**
738
- * @param {AvailableType} type
744
+ * @param {AvailableArbitraryType} type
739
745
  * @returns {Partial<TypeObject>|string[]}
740
746
  */
741
- getTypeObject(type: AvailableType): Partial<TypeObject> | string[];
747
+ getTypeObject(type: AvailableArbitraryType): Partial<TypeObject> | string[];
742
748
  }
743
749
  declare namespace Types {
744
- function getTypeForRoot(root: RootElement | null): string;
750
+ function getTypeForRoot(root: RootElement | null): AvailableArbitraryType;
745
751
  function validValuesSet(cfg: {
746
752
  form: HTMLFormElement;
747
753
  typeNamespace?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.js"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export { parse as parseAcorn } from "acorn";
1
2
  export { jml, body, nbsp, $ } from "jamilih";
2
- export { getJSONType, Typeson, unescapeKeyPathComponent, structuredCloningThrowing, resurrectable, toStringTag, hasConstructorOf } from "typeson-registry";
3
+ export { getJSONType, Typeson, unescapeKeyPathComponent, structuredCloningThrowing, resurrectable, toStringTag, hasConstructorOf, symbol, promise } from "typeson-registry";
3
4
  //# sourceMappingURL=vendor-imports.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@es-joy/jsoe",
3
- "version": "0.23.1",
3
+ "version": "0.24.1",
4
4
  "type": "module",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./src/index.js",
@@ -18,17 +18,15 @@
18
18
  "excludeAfterRemap": true,
19
19
  "exclude": [
20
20
  "node_modules/**",
21
- "src/fundamentalTypes/functionType.js",
22
- "src/fundamentalTypes/promiseType.js",
23
- "src/fundamentalTypes/symbolType.js",
24
21
  "src/fundamentalTypes/sparseUndefinedType.js"
25
22
  ]
26
23
  },
27
24
  "dependencies": {
28
25
  "@brettz9/node-static": "^0.1.1",
26
+ "acorn": "^8.12.1",
29
27
  "jamilih": "0.60.0",
30
28
  "sceditor": "3.2.0",
31
- "typeson-registry": "11.0.0",
29
+ "typeson-registry": "11.1.0",
32
30
  "zod": "^3.23.8",
33
31
  "zodex": "github:brettz9/zodex#browser-dist"
34
32
  },
@@ -37,28 +35,28 @@
37
35
  "@babel/plugin-transform-modules-commonjs": "^7.24.8",
38
36
  "@babel/preset-env": "^7.25.4",
39
37
  "@babel/register": "^7.24.6",
40
- "@cypress/code-coverage": "^3.12.45",
38
+ "@cypress/code-coverage": "^3.12.47",
41
39
  "@rollup/plugin-babel": "^6.0.4",
42
40
  "@rollup/plugin-commonjs": "^26.0.1",
43
41
  "@rollup/plugin-node-resolve": "^15.2.3",
44
42
  "@rollup/plugin-terser": "^0.4.4",
45
43
  "@types/jsdom": "^21.1.7",
46
- "@types/node": "^22.5.0",
44
+ "@types/node": "^22.5.4",
47
45
  "axe-core": "^4.10.0",
48
46
  "coveradge": "^0.8.2",
49
- "cypress": "^13.13.3",
47
+ "cypress": "^13.14.2",
50
48
  "cypress-axe": "^1.5.0",
51
- "cypress-terminal-report": "^6.1.2",
52
- "eslint": "^9.9.0",
53
- "eslint-config-ash-nazg": "^36.13.0",
49
+ "cypress-terminal-report": "^6.1.3",
50
+ "eslint": "^9.10.0",
51
+ "eslint-config-ash-nazg": "^36.16.1",
54
52
  "fast-deep-equal": "^3.1.3",
55
- "jsdom": "^24.1.1",
53
+ "jsdom": "^25.0.0",
56
54
  "license-badger": "^0.21.1",
57
55
  "npm-run-all": "^4.1.5",
58
56
  "nyc": "^17.0.0",
59
57
  "open-cli": "^8.0.0",
60
58
  "rimraf": "^6.0.1",
61
- "rollup": "4.21.0",
59
+ "rollup": "4.21.2",
62
60
  "rollup-plugin-istanbul": "^5.0.0",
63
61
  "rollup-plugin-no-op": "^1.0.2",
64
62
  "rollup-plugin-node-builtins": "^2.1.2",
@@ -105,7 +103,8 @@
105
103
  "copy-typeson-registry": "cp node_modules/typeson-registry/dist/index.js vendor/typeson-registry/dist/index.js",
106
104
  "copy-zod": "cp node_modules/zod/lib/index.mjs vendor/zod/lib/index.mjs",
107
105
  "copy-zodex": "cp -R node_modules/zodex/dist/esm vendor/zodex/dist",
108
- "copy": "run-p copy-jamilih copy-typeson-registry copy-zod copy-zodex",
106
+ "copy-acorn": "cp -R node_modules/acorn/dist vendor/acorn/dist",
107
+ "copy": "run-p copy-jamilih copy-typeson-registry copy-zod copy-zodex copy-acorn",
109
108
  "instrument": "run-s -c instrument-remove instrument-add copy-index rollup",
110
109
  "coveradge": "coveradge badges/coverage-badge.svg",
111
110
  "cypress:log": "ELECTRON_ENABLE_LOGGING=1 cypress run; npm run report",
package/rollup.config.js CHANGED
@@ -73,6 +73,18 @@ export default [{
73
73
  nodeResolve(),
74
74
  commonjs()
75
75
  ]
76
+ }, {
77
+ input: 'demo/index-arbitraryJS.js',
78
+ output: {
79
+ file: 'instrumented/demo/index-arbitraryJS.js',
80
+ format: 'es'
81
+ },
82
+ plugins: [
83
+ noOp({ids: ['react']}), // todo: remove when Zodex may remove dep.
84
+ istanbul(),
85
+ nodeResolve(),
86
+ commonjs()
87
+ ]
76
88
  }, {
77
89
  input: 'node_modules/fast-deep-equal/es6/index.js',
78
90
  output: {
@@ -18,27 +18,39 @@ import {$e, DOM} from './utils/templateUtils.js';
18
18
  * @param {boolean} [cfg.hasKeyPath] Whether or not a key path is expected; if
19
19
  * true, an indexedDB key is not allowed here as a key does not support
20
20
  * the object type which is needed for a key path.
21
+ * @param {boolean} [cfg.arbitraryJS] Whether to allow the choice of
22
+ * arbitrary JavaScript
23
+ * @param {boolean} [cfg.preselectSchema] Whether to preselect schema
21
24
  * @returns {DocumentFragment}
22
25
  */
23
26
  export const getFormatAndSchemaChoices = ({
24
- schemas, selectedSchema, hasKeyPath
27
+ schemas, selectedSchema, hasKeyPath, preselectSchema, arbitraryJS = false
25
28
  } = {}) => {
26
29
  const hasSchema = schemas && schemas.length;
27
30
  // eslint-disable-next-line @stylistic/max-len -- Long
28
- return /** @type {[optText: string, opts: {value: string, selected?: boolean}][]} */ ([
31
+ return /** @type {[optText: string, opts: {value: import('./formats.js').AvailableFormat, selected?: boolean}][]} */ ([
29
32
  ['JSON only', {value: 'json'}],
30
33
  ...(hasKeyPath
31
34
  ? []
32
35
  : [['IndexedDB key', {value: 'indexedDBKey'}]]),
33
36
  ['Structured Clone (via Typeson JSON)', {
34
- value: 'structuredCloning', selected: !hasSchema
37
+ value: 'structuredCloning',
38
+ selected: (!preselectSchema || !hasSchema) && !arbitraryJS
35
39
  }],
40
+ ...(arbitraryJS
41
+ ? [['Arbitrary JavaScript Object', {
42
+ value: 'arbitraryJS',
43
+ selected: !preselectSchema || !hasSchema
44
+ }]]
45
+ : []),
36
46
  ...(hasSchema
37
47
  ? schemas.map((schema, idx) => {
38
48
  return [`Schema: ${schema}`, {
39
49
  value: 'schema',
40
50
  dataset: {schema},
41
- selected: selectedSchema ? schema === selectedSchema : idx === 0
51
+ selected: preselectSchema
52
+ ? selectedSchema ? schema === selectedSchema : idx === 0
53
+ : undefined
42
54
  }];
43
55
  })
44
56
  : [])
@@ -79,11 +91,14 @@ export const getFormatAndSchemaChoices = ({
79
91
  * will be set and required at the root level. This option will also
80
92
  * prevent selection of indexedDB key at root (since a key cannot be a
81
93
  * plain object).
94
+ * @param {boolean} [cfg.arbitraryJS] Whether to allow the choice of
95
+ * arbitrary JavaScript
82
96
  * @param {string} [cfg.typeNamespace] Used to prevent conflicts with other
83
97
  * instances of typeChoices on the page
84
98
  * @param {string} [cfg.selectedSchema]
85
99
  * @param {import('./formats.js').default} [cfg.formats]
86
100
  * @param {import('./types.js').default} [cfg.types]
101
+ * @param {boolean} [cfg.preselectSchema]
87
102
  * @returns {Promise<{
88
103
  * formatChoices: FormatChoices,
89
104
  * typesHolder: TypesHolder,
@@ -104,12 +119,18 @@ export async function formatAndTypeChoices ({
104
119
  hasValue,
105
120
  singleValue,
106
121
  hasKeyPath,
122
+ arbitraryJS = false,
123
+ preselectSchema = true,
107
124
  typeNamespace,
108
125
  selectedSchema,
109
126
  formats = new Formats(),
110
127
  types = new Types()
111
128
  }) {
112
- const format = schemas && schemas.length ? 'schema' : 'structuredCloning';
129
+ const format = preselectSchema && schemas && schemas.length
130
+ ? 'schema'
131
+ : arbitraryJS
132
+ ? 'arbitraryJS'
133
+ : 'structuredCloning';
113
134
  const formatChoices = /** @type {FormatChoices} */ (jml('select', {
114
135
  class: 'formatChoices',
115
136
  hidden: singleValue,
@@ -201,7 +222,9 @@ export async function formatAndTypeChoices ({
201
222
  ).$buildTypeChoices();
202
223
  }
203
224
  }
204
- }, [getFormatAndSchemaChoices({schemas, hasKeyPath, selectedSchema})]));
225
+ }, [getFormatAndSchemaChoices({
226
+ schemas, hasKeyPath, selectedSchema, arbitraryJS, preselectSchema
227
+ })]));
205
228
 
206
229
  /**
207
230
  * @callback TypeSelectGetter
@@ -249,7 +272,9 @@ export async function formatAndTypeChoices ({
249
272
  requireObject: hasKeyPath,
250
273
  objectHasValue: hasValue,
251
274
  schema,
252
- schemaContent: await getSchemaContent?.(/** @type {string} */ (schema))
275
+ schemaContent: schema === undefined
276
+ ? undefined
277
+ : await getSchemaContent?.(/** @type {string} */ (schema))
253
278
  }).domArray}, typesHolder);
254
279
 
255
280
  return {
@@ -0,0 +1,27 @@
1
+ import structuredCloning from './structuredCloning.js';
2
+
3
+ /** @type {import('../formats.js').Format} */
4
+ const arbitraryJS = {
5
+ types () {
6
+ return [
7
+ ...structuredCloning.types(),
8
+ 'symbol',
9
+ 'promise',
10
+ 'function'
11
+ ];
12
+ },
13
+ iterate (records, stateObj) {
14
+ const recs = records;
15
+ stateObj.format = 'arbitraryJS';
16
+ return structuredCloning.iterate(recs, stateObj);
17
+ },
18
+ getTypesAndSchemasForState (types, state) {
19
+ return structuredCloning.getTypesAndSchemasForState.call(
20
+ this,
21
+ types,
22
+ state
23
+ );
24
+ }
25
+ };
26
+
27
+ export default arbitraryJS;
@@ -48,7 +48,7 @@ const indexedDBKey = {
48
48
  };
49
49
 
50
50
  /**
51
- * @type {Map<import('../types.js').AvailableType,
51
+ * @type {Map<import('../types.js').AvailableArbitraryType,
52
52
  * import('../types.js').AvailableType>
53
53
  * }
54
54
  */
@@ -1,7 +1,7 @@
1
1
  import structuredCloning from './structuredCloning.js';
2
2
 
3
3
  /**
4
- * @type {Map<import('../types.js').AvailableType,
4
+ * @type {Map<import('../types.js').AvailableArbitraryType,
5
5
  * import('../types.js').AvailableType>
6
6
  * }
7
7
  */
@@ -19,7 +19,13 @@ import {copyObject} from '../utils/objects.js';
19
19
  * >} AvailableZodexType
20
20
  */
21
21
 
22
- /** @type {Map<AvailableZodexType, import('../types.js').AvailableType>} */
22
+ /**
23
+ * @type {Map<
24
+ * AvailableZodexType,
25
+ * import('../types.js').AvailableArbitraryType
26
+ * >
27
+ * }
28
+ */
23
29
  const zodexToStructuredCloningTypeMap = new Map([
24
30
  ['boolean', 'boolean'],
25
31
  ['number', 'number'],
@@ -45,11 +51,10 @@ const zodexToStructuredCloningTypeMap = new Map([
45
51
 
46
52
  ['never', 'never'],
47
53
 
48
- // Todo: Allow non-cloning version to return these too, but filter out
49
- // otherwise
50
- // ['symbol', 'symbol'],
51
- // ['function', 'function'],
52
- // ['promise', 'promise'],
54
+ // Todo: Filter out for cloning-only
55
+ ['symbol', 'symbol'],
56
+ ['promise', 'promise'],
57
+ ['function', 'function'],
53
58
 
54
59
  ['catch', 'catch'],
55
60
  ['nativeEnum', 'nativeEnum']
@@ -631,13 +636,12 @@ const schema = {
631
636
  parentSchema
632
637
  ).inner;
633
638
  break;
634
- // Todo: Reenable
635
- // // eslint-disable-next-line sonarjs/no-duplicated-branches -- Maintenance
636
- // case 'promise':
637
- // currentSchema = /** @type {import('zodex').SzPromise} */ (
638
- // parentSchema
639
- // ).value;
640
- // break;
639
+ // eslint-disable-next-line sonarjs/no-duplicated-branches -- Maintenance
640
+ case 'promise':
641
+ currentSchema = /** @type {import('zodex').SzPromise} */ (
642
+ parentSchema
643
+ ).value;
644
+ break;
641
645
  case 'tuple':
642
646
  currentSchema = /** @type {import('zodex').SzTuple} */ (
643
647
  parentSchema