@kubb/ast 5.0.0-beta.54 → 5.0.0-beta.56
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/dist/index.cjs +42 -96
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +10 -26
- package/dist/index.js +41 -93
- package/dist/index.js.map +1 -1
- package/dist/{types-BYujEIxF.d.ts → types-BL7RpQAE.d.ts} +121 -165
- package/dist/types.d.ts +2 -2
- package/dist/{utils-BIcKgbbc.js → utils-0p8ZO287.js} +15 -71
- package/dist/utils-0p8ZO287.js.map +1 -0
- package/dist/{utils-CMRZrT-w.cjs → utils-cdQ6Pzyi.cjs} +14 -82
- package/dist/utils-cdQ6Pzyi.cjs.map +1 -0
- package/dist/utils.cjs +1 -2
- package/dist/utils.d.ts +1 -14
- package/dist/utils.js +2 -2
- package/package.json +1 -1
- package/src/dialect.ts +23 -28
- package/src/factory.ts +2 -3
- package/src/index.ts +1 -3
- package/src/mocks.ts +1 -1
- package/src/nodes/index.ts +6 -4
- package/src/nodes/{root.ts → input.ts} +16 -39
- package/src/nodes/operation.ts +1 -41
- package/src/nodes/requestBody.ts +42 -0
- package/src/signature.ts +23 -48
- package/src/types.ts +0 -2
- package/src/utils/index.ts +3 -1
- package/dist/utils-BIcKgbbc.js.map +0 -1
- package/dist/utils-CMRZrT-w.cjs.map +0 -1
- package/src/dispatch.ts +0 -53
- package/src/resolvers.ts +0 -31
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __name } from "./chunk-C0LytTxp.js";
|
|
2
|
-
import { $ as
|
|
2
|
+
import { $ as DedupeCanonical, $t as schemaTypes, A as createFunctionParameter, At as NumberSchemaNode, B as createProperty, Bt as UnionSchemaNode, C as UserFileNode, Ct as ImportNode, D as createExport, Dt as DatetimeSchemaNode, E as createConst, Et as DateSchemaNode, F as createOperation, Ft as SchemaNode, G as createText, Gt as ConstNode, H as createSchema, Ht as PropertyNode, I as createOutput, It as SchemaNodeByType, J as update, Jt as JsxNode, K as createType, Kt as FunctionNode, L as createParameter, Lt as SchemaType, M as createImport, Mt as PrimitiveSchemaType, N as createInput, Nt as RefSchemaNode, O as createFile, Ot as EnumSchemaNode, P as createJsx, Pt as ScalarSchemaType, Q as defineSchemaDialect, Qt as httpMethods, R as createParameterGroup, Rt as StringSchemaNode, S as DistributiveOmit, St as FileNode, T as createBreak, Tt as ArraySchemaNode, U as createSource, Ut as ArrowFunctionNode, V as createResponse, Vt as UrlSchemaNode, W as createStreamInput, Wt as CodeNode, X as ParserOptions, Xt as TypeNode, Y as InferSchemaNode, Yt as TextNode, Z as SchemaDialect, Zt as NodeKind, _ as Printer, _t as FunctionParameterNode, a as createDiscriminantNode, at as OutputNode, b as createPrinterFactory, bt as ParamsTypeNode, c as findCircularSchemas, ct as HttpMethod, d as ParentOf, dt as ResponseNode, et as DedupeLookups, f as Visitor, ft as StatusCode, g as walk, gt as FunctionParamNode, h as transform, ht as FunctionNodeType, i as containsCircularRef, it as Node, j as createFunctionParameters, jt as ObjectSchemaNode, k as createFunction, kt as IntersectionSchemaNode, l as isStringType, lt as HttpOperationNode, m as collect, mt as ParameterNode, n as caseParams, nt as applyDedupe, o as createOperationParams, ot as InputMeta, p as VisitorContext, pt as ParameterLocation, q as syncOptionality, qt as JSDocNode, r as collectUsedSchemaNames, rt as buildDedupePlan, s as extractStringsFromNodes, st as InputNode, t as OperationParamsResolver, tt as DedupePlan, u as syncSchemaRef, ut as OperationNode, v as PrinterFactoryOptions, vt as FunctionParametersNode, w as createArrowFunction, wt as SourceNode, x as definePrinter, xt as ExportNode, y as PrinterPartial, yt as ParameterGroupNode, z as createParamsType, zt as TimeSchemaNode } from "./types-BL7RpQAE.js";
|
|
3
3
|
|
|
4
4
|
//#region src/guards.d.ts
|
|
5
5
|
/**
|
|
@@ -68,37 +68,21 @@ declare function isHttpOperationNode(node: OperationNode): node is HttpOperation
|
|
|
68
68
|
*/
|
|
69
69
|
declare const isSchemaNode: (node: unknown) => node is SchemaNode;
|
|
70
70
|
//#endregion
|
|
71
|
-
//#region src/resolvers.d.ts
|
|
72
|
-
/**
|
|
73
|
-
* Collects import entries for all `ref` schema nodes in `node`.
|
|
74
|
-
*/
|
|
75
|
-
declare function collectImports<TImport>({
|
|
76
|
-
node,
|
|
77
|
-
nameMapping,
|
|
78
|
-
resolve
|
|
79
|
-
}: {
|
|
80
|
-
node: SchemaNode;
|
|
81
|
-
nameMapping: Map<string, string>;
|
|
82
|
-
resolve: (schemaName: string) => TImport | null;
|
|
83
|
-
}): Array<TImport>;
|
|
84
|
-
//#endregion
|
|
85
71
|
//#region src/signature.d.ts
|
|
86
72
|
/**
|
|
87
|
-
* Computes a deterministic, shape-only signature (a
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* is kept because it changes the produced type. `ref` nodes compare by target name,
|
|
93
|
-
* which also keeps the algorithm terminating on circular shapes.
|
|
73
|
+
* Computes a deterministic, shape-only signature (a content hash) for a schema node. Two schemas
|
|
74
|
+
* share a signature when they are structurally identical, ignoring documentation (`name`, `title`,
|
|
75
|
+
* `description`, `example`, `default`, `deprecated`) and usage-slot flags (`optional`, `nullish`,
|
|
76
|
+
* `readOnly`, `writeOnly`). `nullable` is kept because it changes the produced type, and `ref`
|
|
77
|
+
* nodes compare by target name, which also terminates on circular shapes.
|
|
94
78
|
*
|
|
95
79
|
* @example Two enums with different descriptions share a signature
|
|
96
80
|
* ```ts
|
|
97
|
-
*
|
|
98
|
-
*
|
|
81
|
+
* signatureOf(createSchema({ type: 'enum', primitive: 'string', enumValues: ['a', 'b'], description: 'x' })) ===
|
|
82
|
+
* signatureOf(createSchema({ type: 'enum', primitive: 'string', enumValues: ['a', 'b'] }))
|
|
99
83
|
* ```
|
|
100
84
|
*/
|
|
101
|
-
declare function
|
|
85
|
+
declare function signatureOf(node: SchemaNode): string;
|
|
102
86
|
//#endregion
|
|
103
87
|
//#region src/transformers.d.ts
|
|
104
88
|
/**
|
|
@@ -154,5 +138,5 @@ declare function mergeAdjacentObjectsLazy(members: Iterable<SchemaNode>): Genera
|
|
|
154
138
|
declare function simplifyUnion(members: Array<SchemaNode>): Array<SchemaNode>;
|
|
155
139
|
declare function setEnumName(propNode: SchemaNode, parentName: string | null | undefined, propName: string, enumSuffix: string): SchemaNode;
|
|
156
140
|
//#endregion
|
|
157
|
-
export { type ArraySchemaNode, type ArrowFunctionNode, type CodeNode, type ConstNode, type DateSchemaNode, type DatetimeSchemaNode, type DedupeCanonical, type DedupeLookups, type DedupePlan, type
|
|
141
|
+
export { type ArraySchemaNode, type ArrowFunctionNode, type CodeNode, type ConstNode, type DateSchemaNode, type DatetimeSchemaNode, type DedupeCanonical, type DedupeLookups, type DedupePlan, type DistributiveOmit, type EnumSchemaNode, type ExportNode, type FileNode, type FunctionNode, type FunctionNodeType, type FunctionParamNode, type FunctionParameterNode, type FunctionParametersNode, type HttpMethod, type HttpOperationNode, type ImportNode, type InferSchemaNode, type InputMeta, type InputNode, type IntersectionSchemaNode, type JSDocNode, type JsxNode, type Node, type NodeKind, type NumberSchemaNode, type ObjectSchemaNode, type OperationNode, type OperationParamsResolver, type OutputNode, type ParameterGroupNode, type ParameterLocation, type ParameterNode, type ParamsTypeNode, type ParentOf, type ParserOptions, type PrimitiveSchemaType, type Printer, type PrinterFactoryOptions, type PrinterPartial, type PropertyNode, type RefSchemaNode, type ResponseNode, type ScalarSchemaType, type SchemaDialect, type SchemaNode, type SchemaNodeByType, type SchemaType, type SourceNode, type StatusCode, type StringSchemaNode, type TextNode, type TimeSchemaNode, type TypeNode, type UnionSchemaNode, type UrlSchemaNode, type UserFileNode, type Visitor, type VisitorContext, applyDedupe, buildDedupePlan, caseParams, collect, collectUsedSchemaNames, containsCircularRef, createArrowFunction, createBreak, createConst, createDiscriminantNode, createExport, createFile, createFunction, createFunctionParameter, createFunctionParameters, createImport, createInput, createJsx, createOperation, createOperationParams, createOutput, createParameter, createParameterGroup, createParamsType, createPrinterFactory, createProperty, createResponse, createSchema, createSource, createStreamInput, createText, createType, definePrinter, defineSchemaDialect, extractStringsFromNodes, findCircularSchemas, httpMethods, isHttpOperationNode, isInputNode, isOperationNode, isOutputNode, isSchemaNode, isStringType, mergeAdjacentObjectsLazy, narrowSchema, schemaTypes, setDiscriminatorEnum, setEnumName, signatureOf, simplifyUnion, syncOptionality, syncSchemaRef, transform, update, walk };
|
|
158
142
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
import "./chunk-C0LytTxp.js";
|
|
2
|
-
import {
|
|
2
|
+
import { _ as httpMethods, a as enumPropName, b as visitorDepths, g as camelCase, h as isValidVarName, o as extractRefName, v as isScalarPrimitive, y as schemaTypes } from "./utils-0p8ZO287.js";
|
|
3
3
|
import { hash } from "node:crypto";
|
|
4
4
|
import path from "node:path";
|
|
5
|
+
//#region ../../internals/utils/src/fs.ts
|
|
6
|
+
/**
|
|
7
|
+
* Strips the file extension from a path or file name.
|
|
8
|
+
* Only removes the last `.ext` segment when the dot is not part of a directory name.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* trimExtName('petStore.ts') // 'petStore'
|
|
12
|
+
* trimExtName('/src/models/pet.ts') // '/src/models/pet'
|
|
13
|
+
* trimExtName('/project.v2/gen/pet.ts') // '/project.v2/gen/pet'
|
|
14
|
+
* trimExtName('noExtension') // 'noExtension'
|
|
15
|
+
*/
|
|
16
|
+
function trimExtName(text) {
|
|
17
|
+
const dotIndex = text.lastIndexOf(".");
|
|
18
|
+
if (dotIndex > 0 && !text.includes("/", dotIndex)) return text.slice(0, dotIndex);
|
|
19
|
+
return text;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
5
22
|
//#region ../../internals/utils/src/promise.ts
|
|
6
23
|
/**
|
|
7
24
|
* Wraps `factory` with a keyed cache backed by the provided store.
|
|
@@ -1054,7 +1071,7 @@ function createInput(overrides = {}) {
|
|
|
1054
1071
|
};
|
|
1055
1072
|
}
|
|
1056
1073
|
/**
|
|
1057
|
-
* Creates
|
|
1074
|
+
* Creates a streaming `InputNode<true>` from pre-built `AsyncIterable` sources.
|
|
1058
1075
|
*
|
|
1059
1076
|
* @example
|
|
1060
1077
|
* ```ts
|
|
@@ -1677,9 +1694,7 @@ function createJsx(value) {
|
|
|
1677
1694
|
//#endregion
|
|
1678
1695
|
//#region src/signature.ts
|
|
1679
1696
|
/**
|
|
1680
|
-
* The
|
|
1681
|
-
* Documentation and usage-slot flags (`optional`/`nullish`/`readOnly`/`writeOnly`) are
|
|
1682
|
-
* intentionally excluded, they describe the property slot, not the type.
|
|
1697
|
+
* The flags shared by every node kind that affect its type: `primitive`, `format`, `nullable`.
|
|
1683
1698
|
*/
|
|
1684
1699
|
function flagsDescriptor(node) {
|
|
1685
1700
|
return `${node.primitive ?? ""};${node.format ?? ""};${node.nullable ? 1 : 0}`;
|
|
@@ -1752,9 +1767,8 @@ const rangeFields = [{
|
|
|
1752
1767
|
prefix: "mx"
|
|
1753
1768
|
}];
|
|
1754
1769
|
/**
|
|
1755
|
-
* Maps each
|
|
1756
|
-
*
|
|
1757
|
-
* back to `${type}|${flags}` with no additional fields.
|
|
1770
|
+
* Maps each node `type` to its ordered shape-contributing fields. Types absent from the map
|
|
1771
|
+
* (boolean, null, any, and other scalars) fall back to `${type}|${flags}`.
|
|
1758
1772
|
*/
|
|
1759
1773
|
const SHAPE_KEYS = {
|
|
1760
1774
|
object: [
|
|
@@ -1891,9 +1905,8 @@ function serializeShapeField(field, node, record) {
|
|
|
1891
1905
|
}
|
|
1892
1906
|
}
|
|
1893
1907
|
/**
|
|
1894
|
-
* Builds the local
|
|
1895
|
-
* children's signatures.
|
|
1896
|
-
* fixed-length signature rather than their own full descriptor, which keeps the result bounded.
|
|
1908
|
+
* Builds the local shape descriptor that {@link signatureOf} hashes: the node's kind, flags,
|
|
1909
|
+
* constraints, and its children's signatures.
|
|
1897
1910
|
*/
|
|
1898
1911
|
function describeShape(node) {
|
|
1899
1912
|
const flags = flagsDescriptor(node);
|
|
@@ -1905,22 +1918,23 @@ function describeShape(node) {
|
|
|
1905
1918
|
return parts.join("|");
|
|
1906
1919
|
}
|
|
1907
1920
|
/**
|
|
1908
|
-
*
|
|
1909
|
-
*
|
|
1910
|
-
*
|
|
1911
|
-
* during dedupe planning is not re-hashed when the same tree is rewritten during streaming
|
|
1912
|
-
* (where `schemaSignature` and `applyDedupe` would otherwise each walk it from scratch). Reuse
|
|
1913
|
-
* across calls is sound because a signature depends only on a node's content, and schema nodes
|
|
1914
|
-
* are immutable once created, transforms allocate new objects rather than mutating in place.
|
|
1921
|
+
* Node → digest cache, keyed by identity. A `WeakMap` so entries die with the node, and so a tree
|
|
1922
|
+
* hashed during dedupe planning is not walked again when it is rewritten during streaming. Reuse
|
|
1923
|
+
* is safe because a signature depends only on content, and nodes are immutable once created.
|
|
1915
1924
|
*/
|
|
1916
1925
|
const signatureCache = /* @__PURE__ */ new WeakMap();
|
|
1917
1926
|
/**
|
|
1918
|
-
*
|
|
1919
|
-
*
|
|
1920
|
-
*
|
|
1921
|
-
*
|
|
1922
|
-
*
|
|
1923
|
-
*
|
|
1927
|
+
* Computes a deterministic, shape-only signature (a content hash) for a schema node. Two schemas
|
|
1928
|
+
* share a signature when they are structurally identical, ignoring documentation (`name`, `title`,
|
|
1929
|
+
* `description`, `example`, `default`, `deprecated`) and usage-slot flags (`optional`, `nullish`,
|
|
1930
|
+
* `readOnly`, `writeOnly`). `nullable` is kept because it changes the produced type, and `ref`
|
|
1931
|
+
* nodes compare by target name, which also terminates on circular shapes.
|
|
1932
|
+
*
|
|
1933
|
+
* @example Two enums with different descriptions share a signature
|
|
1934
|
+
* ```ts
|
|
1935
|
+
* signatureOf(createSchema({ type: 'enum', primitive: 'string', enumValues: ['a', 'b'], description: 'x' })) ===
|
|
1936
|
+
* signatureOf(createSchema({ type: 'enum', primitive: 'string', enumValues: ['a', 'b'] }))
|
|
1937
|
+
* ```
|
|
1924
1938
|
*/
|
|
1925
1939
|
function signatureOf(node) {
|
|
1926
1940
|
const cached = signatureCache.get(node);
|
|
@@ -1929,24 +1943,6 @@ function signatureOf(node) {
|
|
|
1929
1943
|
signatureCache.set(node, signature);
|
|
1930
1944
|
return signature;
|
|
1931
1945
|
}
|
|
1932
|
-
/**
|
|
1933
|
-
* Computes a deterministic, shape-only signature (a fixed-length content hash) for a schema node.
|
|
1934
|
-
*
|
|
1935
|
-
* Two schemas share a signature when they are structurally identical, ignoring
|
|
1936
|
-
* documentation (`name`, `title`, `description`, `example`, `default`, `deprecated`)
|
|
1937
|
-
* and usage-slot flags (`optional`, `nullish`, `readOnly`, `writeOnly`). `nullable`
|
|
1938
|
-
* is kept because it changes the produced type. `ref` nodes compare by target name,
|
|
1939
|
-
* which also keeps the algorithm terminating on circular shapes.
|
|
1940
|
-
*
|
|
1941
|
-
* @example Two enums with different descriptions share a signature
|
|
1942
|
-
* ```ts
|
|
1943
|
-
* schemaSignature(createSchema({ type: 'enum', primitive: 'string', enumValues: ['a', 'b'], description: 'x' })) ===
|
|
1944
|
-
* schemaSignature(createSchema({ type: 'enum', primitive: 'string', enumValues: ['a', 'b'] }))
|
|
1945
|
-
* ```
|
|
1946
|
-
*/
|
|
1947
|
-
function schemaSignature(node) {
|
|
1948
|
-
return signatureOf(node);
|
|
1949
|
-
}
|
|
1950
1946
|
//#endregion
|
|
1951
1947
|
//#region src/dedupe.ts
|
|
1952
1948
|
/**
|
|
@@ -2080,9 +2076,8 @@ function buildDedupePlan(roots, options) {
|
|
|
2080
2076
|
//#endregion
|
|
2081
2077
|
//#region src/dialect.ts
|
|
2082
2078
|
/**
|
|
2083
|
-
*
|
|
2084
|
-
*
|
|
2085
|
-
* inference and gives adapter authors a discoverable anchor.
|
|
2079
|
+
* Types a {@link SchemaDialect} for an adapter. Adds no runtime behavior and only pins the
|
|
2080
|
+
* dialect's type for inference.
|
|
2086
2081
|
*
|
|
2087
2082
|
* @example
|
|
2088
2083
|
* ```ts
|
|
@@ -2100,38 +2095,6 @@ function defineSchemaDialect(dialect) {
|
|
|
2100
2095
|
return dialect;
|
|
2101
2096
|
}
|
|
2102
2097
|
//#endregion
|
|
2103
|
-
//#region src/dispatch.ts
|
|
2104
|
-
/**
|
|
2105
|
-
* Walks an ordered list of {@link DispatchRule}s and returns the first node produced.
|
|
2106
|
-
*
|
|
2107
|
-
* This is the shared backbone for spec adapters (OpenAPI today, AsyncAPI and others later).
|
|
2108
|
-
* The contract an adapter follows is intentionally minimal:
|
|
2109
|
-
*
|
|
2110
|
-
* context → [rule.match → rule.convert] → node
|
|
2111
|
-
*
|
|
2112
|
-
* An adapter derives a context from a source spec node, then declares an ordered table of
|
|
2113
|
-
* rules mapping spec shapes onto Kubb AST nodes. To add support for a new spec, write a new
|
|
2114
|
-
* context type and a new rules table, the traversal here is reused unchanged.
|
|
2115
|
-
*
|
|
2116
|
-
* Order is significant: earlier rules win, so list higher-precedence or more specific shapes
|
|
2117
|
-
* first (e.g. composition keywords before plain `type`). A rule whose `match` returns `true`
|
|
2118
|
-
* may still `convert` to `null` to defer to later rules. When no rule produces a node this
|
|
2119
|
-
* returns `null`, leaving the caller to apply its own fallback.
|
|
2120
|
-
*
|
|
2121
|
-
* @example
|
|
2122
|
-
* ```ts
|
|
2123
|
-
* const node = dispatch(schemaRules, schemaContext) ?? createSchema({ type: fallbackType })
|
|
2124
|
-
* ```
|
|
2125
|
-
*/
|
|
2126
|
-
function dispatch(rules, context) {
|
|
2127
|
-
for (const rule of rules) {
|
|
2128
|
-
if (!rule.match(context)) continue;
|
|
2129
|
-
const node = rule.convert(context);
|
|
2130
|
-
if (node !== null && node !== void 0) return node;
|
|
2131
|
-
}
|
|
2132
|
-
return null;
|
|
2133
|
-
}
|
|
2134
|
-
//#endregion
|
|
2135
2098
|
//#region src/printer.ts
|
|
2136
2099
|
/**
|
|
2137
2100
|
* Defines a schema printer: a function that takes a `SchemaNode` and emits
|
|
@@ -2209,21 +2172,6 @@ function createPrinterFactory(getKey) {
|
|
|
2209
2172
|
};
|
|
2210
2173
|
}
|
|
2211
2174
|
//#endregion
|
|
2212
|
-
//#region src/resolvers.ts
|
|
2213
|
-
/**
|
|
2214
|
-
* Collects import entries for all `ref` schema nodes in `node`.
|
|
2215
|
-
*/
|
|
2216
|
-
function collectImports({ node, nameMapping, resolve }) {
|
|
2217
|
-
return collect(node, { schema(schemaNode) {
|
|
2218
|
-
const schemaRef = narrowSchema(schemaNode, "ref");
|
|
2219
|
-
if (!schemaRef?.ref) return null;
|
|
2220
|
-
const rawName = extractRefName(schemaRef.ref);
|
|
2221
|
-
const result = resolve(nameMapping.get(rawName) ?? rawName);
|
|
2222
|
-
if (!result) return null;
|
|
2223
|
-
return result;
|
|
2224
|
-
} });
|
|
2225
|
-
}
|
|
2226
|
-
//#endregion
|
|
2227
2175
|
//#region src/transformers.ts
|
|
2228
2176
|
/**
|
|
2229
2177
|
* Replaces a discriminator property's schema with a string enum of allowed values.
|
|
@@ -2331,6 +2279,6 @@ function setEnumName(propNode, parentName, propName, enumSuffix) {
|
|
|
2331
2279
|
return propNode;
|
|
2332
2280
|
}
|
|
2333
2281
|
//#endregion
|
|
2334
|
-
export { applyDedupe, buildDedupePlan, caseParams, collect,
|
|
2282
|
+
export { applyDedupe, buildDedupePlan, caseParams, collect, collectUsedSchemaNames, containsCircularRef, createArrowFunction, createBreak, createConst, createDiscriminantNode, createExport, createFile, createFunction, createFunctionParameter, createFunctionParameters, createImport, createInput, createJsx, createOperation, createOperationParams, createOutput, createParameter, createParameterGroup, createParamsType, createPrinterFactory, createProperty, createResponse, createSchema, createSource, createStreamInput, createText, createType, definePrinter, defineSchemaDialect, extractStringsFromNodes, findCircularSchemas, httpMethods, isHttpOperationNode, isInputNode, isOperationNode, isOutputNode, isSchemaNode, isStringType, mergeAdjacentObjectsLazy, narrowSchema, schemaTypes, setDiscriminatorEnum, setEnumName, signatureOf, simplifyUnion, syncOptionality, syncSchemaRef, transform, update, walk };
|
|
2335
2283
|
|
|
2336
2284
|
//# sourceMappingURL=index.js.map
|