flavor-code 1.3.23 → 1.4.0-beta.3
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/README.md +437 -434
- package/README.zh-CN.md +434 -431
- package/dist/agent/loop.d.ts +3 -0
- package/dist/{app-NTEUPJKJ.js → app-H7RYDMD3.js} +45 -157
- package/dist/{chunk-7OICVL2M.js → chunk-2BF7CVWZ.js} +0 -42
- package/dist/{chunk-VEUSROUQ.js → chunk-3BHKW5A7.js} +1 -1
- package/dist/{chunk-SUSLIHXO.js → chunk-IQAZ42TM.js} +1 -1
- package/dist/{chunk-RPFWB45Y.js → chunk-KBHWS7M6.js} +5 -5
- package/dist/{chunk-Z62P4LL7.js → chunk-NIKCPCJG.js} +9345 -8623
- package/dist/{chunk-RQTYHUMK.js → chunk-ZJCAQXA7.js} +17 -1
- package/dist/{claude-ink-6CEG2XZZ.js → claude-ink-ECZ6QF3P.js} +2 -3
- package/dist/cli-main.js +27 -11
- package/dist/config/load.d.ts +2 -0
- package/dist/desktop/main.js +1550 -816
- package/dist/desktop-renderer/assets/index-Bk6FYhyh.css +1 -0
- package/dist/desktop-renderer/assets/{index-D75ozXnZ.js → index-CYd5JkTR.js} +3 -3
- package/dist/desktop-renderer/assets/{interactive-terminal-CTFo4fK9.js → interactive-terminal-j52Ty3QO.js} +1 -1
- package/dist/desktop-renderer/index.html +2 -2
- package/dist/doctor.d.ts +38 -0
- package/dist/execution/docker.d.ts +5 -1
- package/dist/execution/types.d.ts +11 -0
- package/dist/git/service.d.ts +3 -3
- package/dist/git/tools.d.ts +1 -1
- package/dist/harness/local.d.ts +2 -0
- package/dist/init/project.d.ts +0 -6
- package/dist/jobs/registry.d.ts +2 -1
- package/dist/{load-4FWNXE6F.js → load-SLSL3IWR.js} +1 -1
- package/dist/sdk/index.js +4 -4
- package/dist/tools/lsp.d.ts +13 -10
- package/dist/tools/runtime.d.ts +2 -1
- package/dist/tools/search.d.ts +1 -0
- package/dist/tools/shell.d.ts +17 -12
- package/dist/tools/types.d.ts +2 -1
- package/dist/ui/commands.d.ts +1 -1
- package/dist/ui/session.d.ts +1 -0
- package/dist/update/check.d.ts +20 -0
- package/dist/utils/abort.d.ts +4 -0
- package/dist/utils/execFileNoThrow.d.ts +1 -0
- package/dist/utils/process-tree.d.ts +2 -0
- package/dist/utils/semver.d.ts +3 -0
- package/dist/utils/spawn-executable.d.ts +2 -0
- package/package.json +2 -2
- package//346/212/200/346/234/257/346/226/271/346/241/210/346/212/245/345/221/212.md +5848 -5848
- package/dist/astgraph/db.mjs +0 -237
- package/dist/astgraph/extract.mjs +0 -239
- package/dist/astgraph/flavor-plugin.json +0 -25
- package/dist/astgraph/grammars.mjs +0 -68
- package/dist/astgraph/index.js +0 -301
- package/dist/astgraph/indexer.mjs +0 -175
- package/dist/astgraph/query.mjs +0 -165
- package/dist/astgraph/resolve.mjs +0 -93
- package/dist/astgraph/vendor/tree-sitter-javascript.wasm +0 -0
- package/dist/astgraph/vendor/tree-sitter-tsx.wasm +0 -0
- package/dist/astgraph/vendor/tree-sitter-typescript.wasm +0 -0
- package/dist/astgraph/vendor/tree-sitter.js +0 -3980
- package/dist/astgraph/vendor/tree-sitter.wasm +0 -0
- package/dist/astgraph/vendor/zod/LICENSE +0 -21
- package/dist/astgraph/vendor/zod/index.js +0 -4
- package/dist/astgraph/vendor/zod/locales/index.js +0 -1
- package/dist/astgraph/vendor/zod/locales/package.json +0 -7
- package/dist/astgraph/vendor/zod/package.json +0 -135
- package/dist/astgraph/vendor/zod/v4/classic/checks.js +0 -1
- package/dist/astgraph/vendor/zod/v4/classic/coerce.js +0 -17
- package/dist/astgraph/vendor/zod/v4/classic/compat.js +0 -31
- package/dist/astgraph/vendor/zod/v4/classic/errors.js +0 -48
- package/dist/astgraph/vendor/zod/v4/classic/external.js +0 -20
- package/dist/astgraph/vendor/zod/v4/classic/from-json-schema.js +0 -599
- package/dist/astgraph/vendor/zod/v4/classic/index.js +0 -4
- package/dist/astgraph/vendor/zod/v4/classic/iso.js +0 -30
- package/dist/astgraph/vendor/zod/v4/classic/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/classic/parse.js +0 -15
- package/dist/astgraph/vendor/zod/v4/classic/schemas.js +0 -1395
- package/dist/astgraph/vendor/zod/v4/core/api.js +0 -1087
- package/dist/astgraph/vendor/zod/v4/core/checks.js +0 -575
- package/dist/astgraph/vendor/zod/v4/core/core.js +0 -78
- package/dist/astgraph/vendor/zod/v4/core/doc.js +0 -35
- package/dist/astgraph/vendor/zod/v4/core/errors.js +0 -185
- package/dist/astgraph/vendor/zod/v4/core/index.js +0 -16
- package/dist/astgraph/vendor/zod/v4/core/json-schema-generator.js +0 -95
- package/dist/astgraph/vendor/zod/v4/core/json-schema-processors.js +0 -601
- package/dist/astgraph/vendor/zod/v4/core/json-schema.js +0 -1
- package/dist/astgraph/vendor/zod/v4/core/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/core/parse.js +0 -93
- package/dist/astgraph/vendor/zod/v4/core/regexes.js +0 -139
- package/dist/astgraph/vendor/zod/v4/core/registries.js +0 -51
- package/dist/astgraph/vendor/zod/v4/core/schemas.js +0 -2239
- package/dist/astgraph/vendor/zod/v4/core/standard-schema.js +0 -1
- package/dist/astgraph/vendor/zod/v4/core/to-json-schema.js +0 -448
- package/dist/astgraph/vendor/zod/v4/core/util.js +0 -674
- package/dist/astgraph/vendor/zod/v4/core/versions.js +0 -5
- package/dist/astgraph/vendor/zod/v4/index.js +0 -3
- package/dist/astgraph/vendor/zod/v4/locales/ar.js +0 -106
- package/dist/astgraph/vendor/zod/v4/locales/az.js +0 -105
- package/dist/astgraph/vendor/zod/v4/locales/be.js +0 -156
- package/dist/astgraph/vendor/zod/v4/locales/bg.js +0 -120
- package/dist/astgraph/vendor/zod/v4/locales/ca.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/cs.js +0 -111
- package/dist/astgraph/vendor/zod/v4/locales/da.js +0 -115
- package/dist/astgraph/vendor/zod/v4/locales/de.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/el.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/en.js +0 -113
- package/dist/astgraph/vendor/zod/v4/locales/eo.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/es.js +0 -132
- package/dist/astgraph/vendor/zod/v4/locales/fa.js +0 -114
- package/dist/astgraph/vendor/zod/v4/locales/fi.js +0 -112
- package/dist/astgraph/vendor/zod/v4/locales/fr-CA.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/fr.js +0 -125
- package/dist/astgraph/vendor/zod/v4/locales/he.js +0 -214
- package/dist/astgraph/vendor/zod/v4/locales/hr.js +0 -122
- package/dist/astgraph/vendor/zod/v4/locales/hu.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/hy.js +0 -147
- package/dist/astgraph/vendor/zod/v4/locales/id.js +0 -106
- package/dist/astgraph/vendor/zod/v4/locales/index.js +0 -52
- package/dist/astgraph/vendor/zod/v4/locales/is.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/it.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ja.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/ka.js +0 -112
- package/dist/astgraph/vendor/zod/v4/locales/kh.js +0 -5
- package/dist/astgraph/vendor/zod/v4/locales/km.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/ko.js +0 -111
- package/dist/astgraph/vendor/zod/v4/locales/lt.js +0 -203
- package/dist/astgraph/vendor/zod/v4/locales/mk.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/ms.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/nl.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/no.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ota.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/locales/pl.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/ps.js +0 -114
- package/dist/astgraph/vendor/zod/v4/locales/pt.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ro.js +0 -119
- package/dist/astgraph/vendor/zod/v4/locales/ru.js +0 -156
- package/dist/astgraph/vendor/zod/v4/locales/sl.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/sv.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/ta.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/th.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/tr.js +0 -105
- package/dist/astgraph/vendor/zod/v4/locales/ua.js +0 -5
- package/dist/astgraph/vendor/zod/v4/locales/uk.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/ur.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/uz.js +0 -110
- package/dist/astgraph/vendor/zod/v4/locales/vi.js +0 -108
- package/dist/astgraph/vendor/zod/v4/locales/yo.js +0 -107
- package/dist/astgraph/vendor/zod/v4/locales/zh-CN.js +0 -109
- package/dist/astgraph/vendor/zod/v4/locales/zh-TW.js +0 -107
- package/dist/astgraph/vendor/zod/v4/mini/checks.js +0 -1
- package/dist/astgraph/vendor/zod/v4/mini/coerce.js +0 -22
- package/dist/astgraph/vendor/zod/v4/mini/external.js +0 -14
- package/dist/astgraph/vendor/zod/v4/mini/index.js +0 -3
- package/dist/astgraph/vendor/zod/v4/mini/iso.js +0 -34
- package/dist/astgraph/vendor/zod/v4/mini/package.json +0 -7
- package/dist/astgraph/vendor/zod/v4/mini/parse.js +0 -1
- package/dist/astgraph/vendor/zod/v4/mini/schemas.js +0 -961
- package/dist/astgraph/vendor/zod/v4/package.json +0 -7
- package/dist/chunk-OTYFL4AG.js +0 -16
- package/dist/desktop-renderer/assets/index-ZZsUx916.css +0 -1
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { $constructor } from "./core.js";
|
|
2
|
-
import * as util from "./util.js";
|
|
3
|
-
const initializer = (inst, def) => {
|
|
4
|
-
inst.name = "$ZodError";
|
|
5
|
-
Object.defineProperty(inst, "_zod", {
|
|
6
|
-
value: inst._zod,
|
|
7
|
-
enumerable: false,
|
|
8
|
-
});
|
|
9
|
-
Object.defineProperty(inst, "issues", {
|
|
10
|
-
value: def,
|
|
11
|
-
enumerable: false,
|
|
12
|
-
});
|
|
13
|
-
inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);
|
|
14
|
-
Object.defineProperty(inst, "toString", {
|
|
15
|
-
value: () => inst.message,
|
|
16
|
-
enumerable: false,
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
export const $ZodError = $constructor("$ZodError", initializer);
|
|
20
|
-
export const $ZodRealError = $constructor("$ZodError", initializer, { Parent: Error });
|
|
21
|
-
export function flattenError(error, mapper = (issue) => issue.message) {
|
|
22
|
-
const fieldErrors = {};
|
|
23
|
-
const formErrors = [];
|
|
24
|
-
for (const sub of error.issues) {
|
|
25
|
-
if (sub.path.length > 0) {
|
|
26
|
-
fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];
|
|
27
|
-
fieldErrors[sub.path[0]].push(mapper(sub));
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
formErrors.push(mapper(sub));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return { formErrors, fieldErrors };
|
|
34
|
-
}
|
|
35
|
-
export function formatError(error, mapper = (issue) => issue.message) {
|
|
36
|
-
const fieldErrors = { _errors: [] };
|
|
37
|
-
const processError = (error, path = []) => {
|
|
38
|
-
for (const issue of error.issues) {
|
|
39
|
-
if (issue.code === "invalid_union" && issue.errors.length) {
|
|
40
|
-
issue.errors.map((issues) => processError({ issues }, [...path, ...issue.path]));
|
|
41
|
-
}
|
|
42
|
-
else if (issue.code === "invalid_key") {
|
|
43
|
-
processError({ issues: issue.issues }, [...path, ...issue.path]);
|
|
44
|
-
}
|
|
45
|
-
else if (issue.code === "invalid_element") {
|
|
46
|
-
processError({ issues: issue.issues }, [...path, ...issue.path]);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
const fullpath = [...path, ...issue.path];
|
|
50
|
-
if (fullpath.length === 0) {
|
|
51
|
-
fieldErrors._errors.push(mapper(issue));
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
let curr = fieldErrors;
|
|
55
|
-
let i = 0;
|
|
56
|
-
while (i < fullpath.length) {
|
|
57
|
-
const el = fullpath[i];
|
|
58
|
-
const terminal = i === fullpath.length - 1;
|
|
59
|
-
if (!terminal) {
|
|
60
|
-
curr[el] = curr[el] || { _errors: [] };
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
curr[el] = curr[el] || { _errors: [] };
|
|
64
|
-
curr[el]._errors.push(mapper(issue));
|
|
65
|
-
}
|
|
66
|
-
curr = curr[el];
|
|
67
|
-
i++;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
processError(error);
|
|
74
|
-
return fieldErrors;
|
|
75
|
-
}
|
|
76
|
-
export function treeifyError(error, mapper = (issue) => issue.message) {
|
|
77
|
-
const result = { errors: [] };
|
|
78
|
-
const processError = (error, path = []) => {
|
|
79
|
-
var _a, _b;
|
|
80
|
-
for (const issue of error.issues) {
|
|
81
|
-
if (issue.code === "invalid_union" && issue.errors.length) {
|
|
82
|
-
// regular union error
|
|
83
|
-
issue.errors.map((issues) => processError({ issues }, [...path, ...issue.path]));
|
|
84
|
-
}
|
|
85
|
-
else if (issue.code === "invalid_key") {
|
|
86
|
-
processError({ issues: issue.issues }, [...path, ...issue.path]);
|
|
87
|
-
}
|
|
88
|
-
else if (issue.code === "invalid_element") {
|
|
89
|
-
processError({ issues: issue.issues }, [...path, ...issue.path]);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
const fullpath = [...path, ...issue.path];
|
|
93
|
-
if (fullpath.length === 0) {
|
|
94
|
-
result.errors.push(mapper(issue));
|
|
95
|
-
continue;
|
|
96
|
-
}
|
|
97
|
-
let curr = result;
|
|
98
|
-
let i = 0;
|
|
99
|
-
while (i < fullpath.length) {
|
|
100
|
-
const el = fullpath[i];
|
|
101
|
-
const terminal = i === fullpath.length - 1;
|
|
102
|
-
if (typeof el === "string") {
|
|
103
|
-
curr.properties ?? (curr.properties = {});
|
|
104
|
-
(_a = curr.properties)[el] ?? (_a[el] = { errors: [] });
|
|
105
|
-
curr = curr.properties[el];
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
curr.items ?? (curr.items = []);
|
|
109
|
-
(_b = curr.items)[el] ?? (_b[el] = { errors: [] });
|
|
110
|
-
curr = curr.items[el];
|
|
111
|
-
}
|
|
112
|
-
if (terminal) {
|
|
113
|
-
curr.errors.push(mapper(issue));
|
|
114
|
-
}
|
|
115
|
-
i++;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
};
|
|
120
|
-
processError(error);
|
|
121
|
-
return result;
|
|
122
|
-
}
|
|
123
|
-
/** Format a ZodError as a human-readable string in the following form.
|
|
124
|
-
*
|
|
125
|
-
* From
|
|
126
|
-
*
|
|
127
|
-
* ```ts
|
|
128
|
-
* ZodError {
|
|
129
|
-
* issues: [
|
|
130
|
-
* {
|
|
131
|
-
* expected: 'string',
|
|
132
|
-
* code: 'invalid_type',
|
|
133
|
-
* path: [ 'username' ],
|
|
134
|
-
* message: 'Invalid input: expected string'
|
|
135
|
-
* },
|
|
136
|
-
* {
|
|
137
|
-
* expected: 'number',
|
|
138
|
-
* code: 'invalid_type',
|
|
139
|
-
* path: [ 'favoriteNumbers', 1 ],
|
|
140
|
-
* message: 'Invalid input: expected number'
|
|
141
|
-
* }
|
|
142
|
-
* ];
|
|
143
|
-
* }
|
|
144
|
-
* ```
|
|
145
|
-
*
|
|
146
|
-
* to
|
|
147
|
-
*
|
|
148
|
-
* ```
|
|
149
|
-
* username
|
|
150
|
-
* ✖ Expected number, received string at "username
|
|
151
|
-
* favoriteNumbers[0]
|
|
152
|
-
* ✖ Invalid input: expected number
|
|
153
|
-
* ```
|
|
154
|
-
*/
|
|
155
|
-
export function toDotPath(_path) {
|
|
156
|
-
const segs = [];
|
|
157
|
-
const path = _path.map((seg) => (typeof seg === "object" ? seg.key : seg));
|
|
158
|
-
for (const seg of path) {
|
|
159
|
-
if (typeof seg === "number")
|
|
160
|
-
segs.push(`[${seg}]`);
|
|
161
|
-
else if (typeof seg === "symbol")
|
|
162
|
-
segs.push(`[${JSON.stringify(String(seg))}]`);
|
|
163
|
-
else if (/[^\w$]/.test(seg))
|
|
164
|
-
segs.push(`[${JSON.stringify(seg)}]`);
|
|
165
|
-
else {
|
|
166
|
-
if (segs.length)
|
|
167
|
-
segs.push(".");
|
|
168
|
-
segs.push(seg);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
return segs.join("");
|
|
172
|
-
}
|
|
173
|
-
export function prettifyError(error) {
|
|
174
|
-
const lines = [];
|
|
175
|
-
// sort by path length
|
|
176
|
-
const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);
|
|
177
|
-
// Process each issue
|
|
178
|
-
for (const issue of issues) {
|
|
179
|
-
lines.push(`✖ ${issue.message}`);
|
|
180
|
-
if (issue.path?.length)
|
|
181
|
-
lines.push(` → at ${toDotPath(issue.path)}`);
|
|
182
|
-
}
|
|
183
|
-
// Convert Map to formatted string
|
|
184
|
-
return lines.join("\n");
|
|
185
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export * from "./core.js";
|
|
2
|
-
export * from "./parse.js";
|
|
3
|
-
export * from "./errors.js";
|
|
4
|
-
export * from "./schemas.js";
|
|
5
|
-
export * from "./checks.js";
|
|
6
|
-
export * from "./versions.js";
|
|
7
|
-
export * as util from "./util.js";
|
|
8
|
-
export * as regexes from "./regexes.js";
|
|
9
|
-
export * as locales from "../locales/index.js";
|
|
10
|
-
export * from "./registries.js";
|
|
11
|
-
export * from "./doc.js";
|
|
12
|
-
export * from "./api.js";
|
|
13
|
-
export * from "./to-json-schema.js";
|
|
14
|
-
export { toJSONSchema } from "./json-schema-processors.js";
|
|
15
|
-
export { JSONSchemaGenerator } from "./json-schema-generator.js";
|
|
16
|
-
export * as JSONSchema from "./json-schema.js";
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { allProcessors } from "./json-schema-processors.js";
|
|
2
|
-
import { extractDefs, finalize, initializeContext, process, } from "./to-json-schema.js";
|
|
3
|
-
/**
|
|
4
|
-
* Legacy class-based interface for JSON Schema generation.
|
|
5
|
-
* This class wraps the new functional implementation to provide backward compatibility.
|
|
6
|
-
*
|
|
7
|
-
* @deprecated Use the `toJSONSchema` function instead for new code.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* // Legacy usage (still supported)
|
|
12
|
-
* const gen = new JSONSchemaGenerator({ target: "draft-07" });
|
|
13
|
-
* gen.process(schema);
|
|
14
|
-
* const result = gen.emit(schema);
|
|
15
|
-
*
|
|
16
|
-
* // Preferred modern usage
|
|
17
|
-
* const result = toJSONSchema(schema, { target: "draft-07" });
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
export class JSONSchemaGenerator {
|
|
21
|
-
/** @deprecated Access via ctx instead */
|
|
22
|
-
get metadataRegistry() {
|
|
23
|
-
return this.ctx.metadataRegistry;
|
|
24
|
-
}
|
|
25
|
-
/** @deprecated Access via ctx instead */
|
|
26
|
-
get target() {
|
|
27
|
-
return this.ctx.target;
|
|
28
|
-
}
|
|
29
|
-
/** @deprecated Access via ctx instead */
|
|
30
|
-
get unrepresentable() {
|
|
31
|
-
return this.ctx.unrepresentable;
|
|
32
|
-
}
|
|
33
|
-
/** @deprecated Access via ctx instead */
|
|
34
|
-
get override() {
|
|
35
|
-
return this.ctx.override;
|
|
36
|
-
}
|
|
37
|
-
/** @deprecated Access via ctx instead */
|
|
38
|
-
get io() {
|
|
39
|
-
return this.ctx.io;
|
|
40
|
-
}
|
|
41
|
-
/** @deprecated Access via ctx instead */
|
|
42
|
-
get counter() {
|
|
43
|
-
return this.ctx.counter;
|
|
44
|
-
}
|
|
45
|
-
set counter(value) {
|
|
46
|
-
this.ctx.counter = value;
|
|
47
|
-
}
|
|
48
|
-
/** @deprecated Access via ctx instead */
|
|
49
|
-
get seen() {
|
|
50
|
-
return this.ctx.seen;
|
|
51
|
-
}
|
|
52
|
-
constructor(params) {
|
|
53
|
-
// Normalize target for internal context
|
|
54
|
-
let normalizedTarget = params?.target ?? "draft-2020-12";
|
|
55
|
-
if (normalizedTarget === "draft-4")
|
|
56
|
-
normalizedTarget = "draft-04";
|
|
57
|
-
if (normalizedTarget === "draft-7")
|
|
58
|
-
normalizedTarget = "draft-07";
|
|
59
|
-
this.ctx = initializeContext({
|
|
60
|
-
processors: allProcessors,
|
|
61
|
-
target: normalizedTarget,
|
|
62
|
-
...(params?.metadata && { metadata: params.metadata }),
|
|
63
|
-
...(params?.unrepresentable && { unrepresentable: params.unrepresentable }),
|
|
64
|
-
...(params?.override && { override: params.override }),
|
|
65
|
-
...(params?.io && { io: params.io }),
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Process a schema to prepare it for JSON Schema generation.
|
|
70
|
-
* This must be called before emit().
|
|
71
|
-
*/
|
|
72
|
-
process(schema, _params = { path: [], schemaPath: [] }) {
|
|
73
|
-
return process(schema, this.ctx, _params);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Emit the final JSON Schema after processing.
|
|
77
|
-
* Must call process() first.
|
|
78
|
-
*/
|
|
79
|
-
emit(schema, _params) {
|
|
80
|
-
// Apply emit params to the context
|
|
81
|
-
if (_params) {
|
|
82
|
-
if (_params.cycles)
|
|
83
|
-
this.ctx.cycles = _params.cycles;
|
|
84
|
-
if (_params.reused)
|
|
85
|
-
this.ctx.reused = _params.reused;
|
|
86
|
-
if (_params.external)
|
|
87
|
-
this.ctx.external = _params.external;
|
|
88
|
-
}
|
|
89
|
-
extractDefs(this.ctx, schema);
|
|
90
|
-
const result = finalize(this.ctx, schema);
|
|
91
|
-
// Strip ~standard property to match old implementation's return type
|
|
92
|
-
const { "~standard": _, ...plainResult } = result;
|
|
93
|
-
return plainResult;
|
|
94
|
-
}
|
|
95
|
-
}
|