@es-joy/jsoe 0.27.0 → 0.28.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.
- package/CHANGES.md +37 -0
- package/README.md +3 -1
- package/badges/coverage-badge.svg +1 -1
- package/badges/tests-badge.svg +1 -0
- package/dist/formats/schema.d.ts +11 -0
- package/dist/formats/schema.d.ts.map +1 -1
- package/dist/formats/structuredCloning.d.ts.map +1 -1
- package/dist/fundamentalTypes/arrayType.d.ts.map +1 -1
- package/dist/fundamentalTypes/stringType.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/typeChoices.d.ts +32 -2
- package/dist/typeChoices.d.ts.map +1 -1
- package/dist/types.d.ts +8 -2
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/rawTypesonEditor.d.ts +110 -0
- package/dist/utils/rawTypesonEditor.d.ts.map +1 -0
- package/dist/vendor-imports.d.ts +4 -0
- package/docs/proposals/raw-typeson-edit-view.md +575 -0
- package/mmr.json +6 -0
- package/package.json +34 -12
- package/pnpm-workspace.yaml +32 -30
- package/src/formats/schema.js +10 -15
- package/src/formats/structuredCloning.js +24 -17
- package/src/fundamentalTypes/arrayType.js +119 -23
- package/src/fundamentalTypes/blobType.js +16 -16
- package/src/fundamentalTypes/fileType.js +13 -13
- package/src/fundamentalTypes/regexpType.js +1 -1
- package/src/fundamentalTypes/stringType.js +5 -0
- package/src/jsoe.css +12 -0
- package/src/subTypes/blobHTMLType.js +1 -1
- package/src/superTypes/dommatrixType.js +1 -1
- package/src/superTypes/errorsSpecialType.js +1 -1
- package/src/typeChoices.js +37 -10
- package/src/types.js +13 -8
- package/src/utils/media.js +3 -3
- package/src/utils/rawTypesonEditor.js +669 -0
- package/src/vendor-imports.js +12 -0
- package/tsconfig.json +1 -1
- package/typings/json-6.d.ts +12 -0
- package/vendor/@codemirror/autocomplete/dist/index.js +2125 -0
- package/vendor/@codemirror/commands/dist/index.js +1826 -0
- package/vendor/@codemirror/lang-javascript/dist/index.js +513 -0
- package/vendor/@codemirror/language/dist/index.js +2693 -0
- package/vendor/@codemirror/lint/dist/index.js +956 -0
- package/vendor/@codemirror/search/dist/index.js +1238 -0
- package/vendor/@codemirror/state/dist/index.js +3947 -0
- package/vendor/@codemirror/view/dist/index.js +11867 -0
- package/vendor/@lezer/common/dist/index.js +2202 -0
- package/vendor/@lezer/highlight/dist/index.js +927 -0
- package/vendor/@lezer/javascript/dist/index.js +192 -0
- package/vendor/@lezer/lr/dist/index.js +1889 -0
- package/vendor/@marijn/find-cluster-break/src/index.js +87 -0
- package/vendor/codemirror/dist/index.js +96 -0
- package/vendor/crelt/index.js +28 -0
- package/vendor/jamilih/dist/jml.mjs +898 -25
- package/vendor/json-6/dist/index.mjs +1783 -0
- package/vendor/style-mod/src/style-mod.js +172 -0
- package/vendor/w3c-keyname/index.js +119 -0
- package/vendor/zod/classic/checks.d.ts +1 -1
- package/vendor/zod/classic/checks.js +1 -1
- package/vendor/zod/classic/schemas.d.ts +2 -6
- package/vendor/zod/classic/schemas.js +9 -13
- package/vendor/zod/core/api.d.ts +8 -4
- package/vendor/zod/core/api.js +11 -23
- package/vendor/zod/core/checks.d.ts +16 -0
- package/vendor/zod/core/checks.js +31 -0
- package/vendor/zod/core/compile.js +20 -24
- package/vendor/zod/core/core.js +1 -1
- package/vendor/zod/core/json-schema-processors.d.ts +0 -1
- package/vendor/zod/core/json-schema-processors.js +8 -43
- package/vendor/zod/core/memoizer.js +2 -5
- package/vendor/zod/core/regexes.d.ts +1 -0
- package/vendor/zod/core/regexes.js +2 -0
- package/vendor/zod/core/schemas.d.ts +8 -23
- package/vendor/zod/core/schemas.js +39 -80
- package/vendor/zod/core/to-json-schema.d.ts +0 -3
- package/vendor/zod/core/to-json-schema.js +1 -1
- package/vendor/zod/core/util.js +0 -4
- package/vendor/zod/core/versions.js +1 -1
- package/vendor/zod/core/visit.js +0 -12
- package/vendor/zod/locales/ar.js +1 -0
- package/vendor/zod/locales/az.js +1 -0
- package/vendor/zod/locales/be.js +1 -0
- package/vendor/zod/locales/bg.js +1 -0
- package/vendor/zod/locales/bn.js +1 -0
- package/vendor/zod/locales/ca.js +1 -0
- package/vendor/zod/locales/ckb.js +1 -0
- package/vendor/zod/locales/cs.js +1 -0
- package/vendor/zod/locales/da.js +1 -0
- package/vendor/zod/locales/de.js +1 -0
- package/vendor/zod/locales/el.js +1 -0
- package/vendor/zod/locales/en.js +1 -0
- package/vendor/zod/locales/eo.js +1 -0
- package/vendor/zod/locales/es.js +1 -0
- package/vendor/zod/locales/fa.js +1 -0
- package/vendor/zod/locales/fi.js +1 -0
- package/vendor/zod/locales/fr-CA.js +1 -0
- package/vendor/zod/locales/fr.js +1 -0
- package/vendor/zod/locales/gu.js +1 -0
- package/vendor/zod/locales/he.js +1 -0
- package/vendor/zod/locales/hi.js +1 -0
- package/vendor/zod/locales/hr.js +1 -0
- package/vendor/zod/locales/hu.js +1 -0
- package/vendor/zod/locales/hy.js +1 -0
- package/vendor/zod/locales/id.js +1 -0
- package/vendor/zod/locales/is.js +1 -0
- package/vendor/zod/locales/it.js +1 -0
- package/vendor/zod/locales/ja.js +1 -0
- package/vendor/zod/locales/ka.js +1 -0
- package/vendor/zod/locales/km.js +1 -0
- package/vendor/zod/locales/kn.js +1 -0
- package/vendor/zod/locales/ko.js +1 -0
- package/vendor/zod/locales/lt.js +1 -0
- package/vendor/zod/locales/mk.js +1 -0
- package/vendor/zod/locales/ms.js +1 -0
- package/vendor/zod/locales/ne.js +1 -0
- package/vendor/zod/locales/nl.js +1 -0
- package/vendor/zod/locales/nn.js +1 -0
- package/vendor/zod/locales/no.js +1 -0
- package/vendor/zod/locales/ota.js +1 -0
- package/vendor/zod/locales/pl.js +1 -0
- package/vendor/zod/locales/ps.js +1 -0
- package/vendor/zod/locales/pt-BR.js +1 -0
- package/vendor/zod/locales/pt.js +1 -0
- package/vendor/zod/locales/ro.js +1 -0
- package/vendor/zod/locales/ru.js +1 -0
- package/vendor/zod/locales/sk.js +1 -0
- package/vendor/zod/locales/sl.js +1 -0
- package/vendor/zod/locales/sv.js +1 -0
- package/vendor/zod/locales/ta.js +1 -0
- package/vendor/zod/locales/tg.js +1 -0
- package/vendor/zod/locales/th.js +1 -0
- package/vendor/zod/locales/tk.js +1 -0
- package/vendor/zod/locales/tr.js +1 -0
- package/vendor/zod/locales/uk.js +1 -0
- package/vendor/zod/locales/ur.js +1 -0
- package/vendor/zod/locales/uz.js +1 -0
- package/vendor/zod/locales/vi.js +1 -0
- package/vendor/zod/locales/yo.js +1 -0
- package/vendor/zod/locales/zh-CN.js +1 -0
- package/vendor/zod/locales/zh-TW.js +1 -0
- package/vendor/zod/mini/checks.d.ts +1 -1
- package/vendor/zod/mini/checks.js +1 -1
- package/vendor/zod/mini/schemas.d.ts +2 -5
- package/vendor/zod/mini/schemas.js +9 -11
- package/vendor/zodexy/dist/esm/index.js +4 -33
- package/vendor/zodexy/dist/schema.zodexy.json +1 -17
package/CHANGES.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# CHANGES TO `@es-joy/jsoe`
|
|
2
2
|
|
|
3
|
+
## 0.28.1
|
|
4
|
+
|
|
5
|
+
- fix: remove properties (dropped from zod)
|
|
6
|
+
|
|
7
|
+
## 0.28.0
|
|
8
|
+
|
|
9
|
+
- feat: add raw Typeson/JSON6 "View raw"/"Edit raw" buttons to every
|
|
10
|
+
object/array-family control (`object`, `array`, `set`, `map`, `record`,
|
|
11
|
+
`tuple`, `filelist`), including the root control
|
|
12
|
+
- New `Types` constructor options: `showRawTypesonControls` (default
|
|
13
|
+
`true`) shows or hides the buttons entirely; `allowUnsafeEval`
|
|
14
|
+
(default `false`) additionally offers editing/seeding the same value
|
|
15
|
+
as literal, `eval`'d JS source instead of Typeson/JSON6
|
|
16
|
+
- New `src/utils/rawTypesonEditor.js` opens a dialog with a
|
|
17
|
+
syntax-highlighted (CodeMirror 6) editor; Save re-populates the
|
|
18
|
+
control's children via the same walk `structuredCloning`'s `iterate`
|
|
19
|
+
already uses for building them, then re-validates. A schema-driven
|
|
20
|
+
control's raw edit is also checked against its own schema before
|
|
21
|
+
being accepted
|
|
22
|
+
- New dependencies `json-6` (parsing only — its own `stringify` has a
|
|
23
|
+
string-value-quoting bug, worked around locally) and CodeMirror 6,
|
|
24
|
+
vendored for the bundler-less demo pages
|
|
25
|
+
- Eval-mode source reconstruction covers `Date`/`RegExp`/`Map`/`Set`/
|
|
26
|
+
`Symbol`/boxed primitives/the `Error` family (including `cause` and
|
|
27
|
+
`AggregateError`'s nested errors)/`DOMException`/`DOMRect`/`DOMPoint`/
|
|
28
|
+
`DOMMatrix`/`ArrayBuffer`/`DataView`/typed arrays (including
|
|
29
|
+
`Float16Array`)/`Blob`/`File`/`FileList`/`-0`; a `Promise` or an
|
|
30
|
+
unrecognized class instance throws a clear error instead of silently
|
|
31
|
+
producing a same-shaped-but-wrong value
|
|
32
|
+
- New demo: `demo/index-unsafe-eval.html`
|
|
33
|
+
- fix: resetting an object/array-family control's legend numbering
|
|
34
|
+
(`$resetItemIndex`, used after a raw-value replace) now resets to the
|
|
35
|
+
container's own true starting baseline instead of an array-specific
|
|
36
|
+
`-1`, so replacing a container's content without changing its property
|
|
37
|
+
count keeps each unchanged property's legend number the same as before
|
|
38
|
+
the edit
|
|
39
|
+
|
|
3
40
|
## 0.27.0
|
|
4
41
|
|
|
5
42
|
- feat: add `properties` schema support: a zodexy `{type: 'properties'}` node
|
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
[](badges/licenses-badge.svg)
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
[](badges/tests-badge.svg)
|
|
4
|
+
[](badges/coverage-badge.svg)
|
|
3
5
|
|
|
4
6
|
# @es-joy/jsoe
|
|
5
7
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="421" height="20"><defs><style>text{font-size:11px;font-family:Verdana,DejaVu Sans,Geneva,sans-serif}text.shadow{fill:#010101;fill-opacity:.3}text.high{fill:#fff}</style><linearGradient id="smooth" x2="0" y2="100%"><stop offset="0" stop-color="#aaa" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="round"><rect width="100%" height="100%" rx="3" fill="#fff"/></mask></defs><g id="bg" mask="url(#round)"><path fill="orange" stroke="#000" d="M0 0h113v20H0zM113 0h109v20H113zM222 0h87v20h-87zM309 0h112v20H309z"/><path fill="url(#smooth)" d="M0 0h421v20H0z"/></g><g id="fg"><text class="shadow" x="5.5" y="15">Statements 96.7%</text><text class="high" x="5" y="14">Statements 96.7%</text><text class="shadow" x="118.5" y="15">Branches 93.41%</text><text class="high" x="118" y="14">Branches 93.41%</text><text class="shadow" x="227.5" y="15">Lines 96.76%</text><text class="high" x="227" y="14">Lines 96.76%</text><text class="shadow" x="314.5" y="15">Functions 97.57%</text><text class="high" x="314" y="14">Functions 97.57%</text></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="97" height="20"><defs><style>text{font-size:11px;font-family:Verdana,DejaVu Sans,Geneva,sans-serif}text.shadow{fill:#010101;fill-opacity:.3}text.high{fill:#fff}</style><linearGradient id="smooth" x2="0" y2="100%"><stop offset="0" stop-color="#aaa" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><mask id="round"><rect width="100%" height="100%" fill="#fff" rx="3"/></mask></defs><g id="bg" mask="url(#round)"><path fill="#696969" d="M0 0h41v20H0z"/><path fill="#e05d44" d="M41 0h56v20H41z"/><path fill="url(#smooth)" d="M0 0h97v20H0z"/></g><g id="fg"><text x="5.5" y="15" class="shadow">Tests</text><text x="5" y="14" class="high">Tests</text><text x="46.5" y="15" class="shadow">795/797</text><text x="46" y="14" class="high">795/797</text></g></svg>
|
package/dist/formats/schema.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exported for reuse by `src/utils/rawTypesonEditor.js`, which must enforce
|
|
3
|
+
* the same schema conformance check before accepting a raw-edited value.
|
|
4
|
+
* @param {InstanceType<typeof import('../types.js').default>} types
|
|
5
|
+
* @param {ZodexSchema} schemaObject
|
|
6
|
+
* @param {ZodexSchema} originalShape
|
|
7
|
+
* @param {unknown} value
|
|
8
|
+
* @returns {ReturnType<ReturnType<typeof dezerialize>['safeParse']>}
|
|
9
|
+
*/
|
|
10
|
+
export function parseValue(types: InstanceType<typeof import("../types.js").default>, schemaObject: ZodexSchema, originalShape: ZodexSchema, value: unknown): ReturnType<ReturnType<typeof dezerialize>["safeParse"]>;
|
|
1
11
|
/**
|
|
2
12
|
* Checks whether a record property name satisfies the record's `key` schema.
|
|
3
13
|
*
|
|
@@ -55,6 +65,7 @@ export type ValueOf<T> = T[keyof T];
|
|
|
55
65
|
export type AvailableZodexType = ValueOf<Pick<import("zodexy").SzType, "type">>;
|
|
56
66
|
export type ZodexSchema = import("zodexy").SzType;
|
|
57
67
|
export type NestedObject = import("../utils/objects.js").NestedObject;
|
|
68
|
+
import { dezerialize } from 'zodexy';
|
|
58
69
|
/** @type {import('../formats.js').Format} */
|
|
59
70
|
declare const schema: import("../formats.js").Format;
|
|
60
71
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/formats/schema.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/formats/schema.js"],"names":[],"mappings":"AA+LA;;;;;;;;GAQG;AACH,kCANW,YAAY,CAAC,cAAc,aAAa,EAAE,OAAO,CAAC,gBAClD,WAAW,iBACX,WAAW,SACX,OAAO,GACL,UAAU,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,WAAW,CAAC,CAAC,CASnE;AAwBD;;;;;;;;;;;;;GAaG;AACH,yCALW,YAAY,CAAC,cAAc,aAAa,EAAE,OAAO,CAAC,aAClD,WAAW,GAAC,SAAS,OACrB,MAAM,GAAC,MAAM,GAAC,SAAS,GACrB,OAAO,CAenB;AAED;;;;;;;;GAQG;AACH,6CALW,YAAY,CAAC,cAAc,aAAa,EAAE,OAAO,CAAC,aAClD,OAAO,QAAQ,EAAE,OAAO,SACxB,OAAO,GACL;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAW5C;AAED;;;;;;;;GAQG;AACH,0CALW,YAAY,CAAC,cAAc,aAAa,EAAE,OAAO,CAAC,UAClD,WAAW,SACX,OAAO,GACL,OAAO,CAInB;AAiDD;;;GAGG;AACH,kDAHW,WAAW,GACT,WAAW,CAIvB;AAqOD;;;;GAIG;AACH,gDAJW,WAAW,gBACX,WAAW,GACT,GAAG,CAAC,WAAW,CAAC,CA6R5B;;;;;oBAl1BY,CAAC,IADD,CAAC,CAAC,MAAM,CAAC,CAAC;iCAKV,OAAO,CACf,IAAI,CAAC,OAAO,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CACtC;0BA0SS,OAAO,QAAQ,EAAE,MAAM;2BAGvB,OAAO,qBAAqB,EAAE,YAAY;4BA/T7B,QAAQ;AAg2BlC,6CAA6C;AAC7C,sBADW,OAAO,eAAe,EAAE,MAAM,CAyTvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structuredCloning.d.ts","sourceRoot":"","sources":["../../src/formats/structuredCloning.js"],"names":[],"mappings":"AAaA,4CAA4C;AAC5C,2BADW,OAAO,SAAS,EAAE,WAAW,CActC;AAEF,iGAkBE;;;;;;oCA0BW,CAAC,IAAI,EAAE;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,aAAa,EAAE,sBAAsB,CAAC;IACnD,KAAK,EAAE,OAAO,eAAe,EAAE,oBAAoB,CAAC;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,sBAAsB,EAAE,WAAW,CAAC;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,KAAK,WAAW,GAAC,IAAI;kCAIZ,OAAO,kBAAkB,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"structuredCloning.d.ts","sourceRoot":"","sources":["../../src/formats/structuredCloning.js"],"names":[],"mappings":"AAaA,4CAA4C;AAC5C,2BADW,OAAO,SAAS,EAAE,WAAW,CActC;AAEF,iGAkBE;;;;;;oCA0BW,CAAC,IAAI,EAAE;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,aAAa,EAAE,sBAAsB,CAAC;IACnD,KAAK,EAAE,OAAO,eAAe,EAAE,oBAAoB,CAAC;IACpD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,sBAAsB,EAAE,WAAW,CAAC;IAC3D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,KAAK,WAAW,GAAC,IAAI;kCAIZ,OAAO,kBAAkB,EAAE,mBAAmB;AA6gB3D,6CAA6C;AAC7C,iCADW,OAAO,eAAe,EAAE,MAAM,CA2JvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrayType.d.ts","sourceRoot":"","sources":["../../src/fundamentalTypes/arrayType.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"arrayType.d.ts","sourceRoot":"","sources":["../../src/fundamentalTypes/arrayType.js"],"names":[],"mappings":";0CAqBW;IACN,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,aAAa,EAAE,aAAa,CAAC;IAC1C,KAAK,EAAE,OAAO,eAAe,EAAE,oBAAoB,CAAC;IACpD,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,sBAAsB,EAAE,WAAW,CAAC;CAC3D,KACS,OAAO;sBAIP,MAAM;mDAKN,KAAK,GAAC,OAAO;oCAGb,MAAM,gBAAgB,EAAE;+BAGxB,MAAM,CAAC,iBAAiB,GAAG;IACnC,SAAS,EAAE,OAAO,mBAAmB,EAAE,QAAQ,CAAA;CAChD,CAAC,EAAE;6BAGM,MAAM,IAAI;sCAIV,gBAAgB,EAAE;qCAKlB,IAAI;4BAGJ,MAAM,cAAc,GAAG;IAC/B,sBAAsB,EAAE,qBAAqB,CAAC;IAC9C,kBAAkB,EAAE,iBAAiB,CAAC;IACtC,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,iBAAiB,EAAE,gBAAgB,CAAA;CACpC;uBAGS,MAAM,OAAO,CAAC,IAAI,CAAC;2BAKrB;IAAC,WAAW,CAAC,EAAE,IAAI,CAAA;CAAC,KAClB,IAAI;+BAIJ,MAAM,gBAAgB,GAAC,SAAS;uBAIhC,GAAG;AAmBhB;;GAEG;AACH,yBAFU,OAAO,aAAa,EAAE,UAAU,GAAG;IAAC,MAAM,CAAC,EAAE,OAAO,GAAC,SAAS,CAAA;CAAC,CA0sFvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringType.d.ts","sourceRoot":"","sources":["../../src/fundamentalTypes/stringType.js"],"names":[],"mappings":";AAMA;;GAEG;AACH,0BAFU,OAAO,aAAa,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"stringType.d.ts","sourceRoot":"","sources":["../../src/fundamentalTypes/stringType.js"],"names":[],"mappings":";AAMA;;GAEG;AACH,0BAFU,OAAO,aAAa,EAAE,UAAU,CA0VxC"}
|