@tabnas/proto 0.6.10 → 0.6.12

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.
@@ -6,5 +6,16 @@ type Node = {
6
6
  kids?: Node[];
7
7
  aggregate?: string;
8
8
  };
9
+ declare function R(n: Node | undefined | null): Node[];
10
+ declare function kw(n: Node): string;
11
+ declare function child(n: Node, rule: string): Node | undefined;
12
+ declare function gaps(n: Node): string[];
13
+ declare function gapsBefore(n: Node, rule: string): string[];
14
+ declare function optionNameOf(stmt: Node, valueNode: Node | undefined): string;
15
+ declare function typeTextOf(n: Node): string;
16
+ declare function isGroup(n: Node): boolean;
17
+ declare function isOptionStmt(el: Node): boolean;
18
+ declare function parenthesised(src: string): string[];
9
19
  export declare function buildFile(proto: Node, version: ProtoVersion): FileDescriptorProto;
10
- export {};
20
+ export type { Node };
21
+ export { R, kw, child, gaps, gapsBefore, optionNameOf, typeTextOf, isGroup, isOptionStmt, parenthesised, };
@@ -2,6 +2,16 @@
2
2
  /* Copyright (c) 2026 Richard Rodger and other contributors, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.buildFile = buildFile;
5
+ exports.R = R;
6
+ exports.kw = kw;
7
+ exports.child = child;
8
+ exports.gaps = gaps;
9
+ exports.gapsBefore = gapsBefore;
10
+ exports.optionNameOf = optionNameOf;
11
+ exports.typeTextOf = typeTextOf;
12
+ exports.isGroup = isGroup;
13
+ exports.isOptionStmt = isOptionStmt;
14
+ exports.parenthesised = parenthesised;
5
15
  // Walk the `{rule, src, kids}` CST produced by the proto ABNF grammar and
6
16
  // assemble a FileDescriptorProto-shaped object. Lexical atoms arrive as
7
17
  // whole-word tokens, and abnf's leading-ref inlining means the specific
@@ -202,6 +212,19 @@ function fieldTypeName(typeText) {
202
212
  function typeNodeOf(n) {
203
213
  return child(n, 'fieldType') ?? child(n, 'messageType') ?? child(n, 'fullIdent');
204
214
  }
215
+ // The field type's text. Where the type surfaces as a bare `fullIdent`,
216
+ // the optional leading dot of `messageType` was inlined with it, into the
217
+ // text ahead of the node, and a fully qualified type keeps it there:
218
+ // `oneof o { .a.B t = 5; }` names `.a.B`, not `a.B`.
219
+ function typeTextOf(n) {
220
+ const t = typeNodeOf(n);
221
+ if (null == t)
222
+ return '';
223
+ if ('fullIdent' !== t.rule)
224
+ return t.src;
225
+ const gap = gapsBefore(n, 'fullIdent')[0] ?? '';
226
+ return (gap.endsWith('.') ? '.' : '') + t.src;
227
+ }
205
228
  function applyFieldOptions(f, opts) {
206
229
  const po = readFieldOptions(opts);
207
230
  if (undefined !== po.jsonName)
@@ -213,14 +236,13 @@ function applyFieldOptions(f, opts) {
213
236
  }
214
237
  function buildField(n, version) {
215
238
  const label = child(n, 'label');
216
- const type = typeNodeOf(n);
217
239
  const name = child(n, 'ident');
218
240
  const number = child(n, 'fieldNumber');
219
241
  const f = {
220
242
  name: name ? name.src : '',
221
243
  number: number ? Number(number.src) : 0,
222
244
  ...fieldLabel(label, version),
223
- ...fieldTypeName(type ? type.src : ''),
245
+ ...fieldTypeName(typeTextOf(n)),
224
246
  };
225
247
  applyFieldOptions(f, child(n, 'fieldOptions'));
226
248
  return f;
@@ -1 +1 @@
1
- {"version":3,"file":"build-descriptor.js","sourceRoot":"","sources":["../src/build-descriptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-descriptor.js","sourceRoot":"","sources":["../src/build-descriptor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Node } from './build-descriptor';
2
+ export type TreeNode = {
3
+ [key: string]: TreeValue;
4
+ };
5
+ export type TreeValue = string | boolean | TreeValue[] | TreeNode;
6
+ export declare function buildTree(proto: Node | undefined | null): TreeNode;
@@ -0,0 +1,333 @@
1
+ "use strict";
2
+ /* Copyright (c) 2026 Richard Rodger and other contributors, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.buildTree = buildTree;
5
+ // Walk the `{rule, src, kids}` CST into the source-ordered tree, the
6
+ // schema `proto-ast` (alchemy's docs/streaming-plan.md, section 13.1):
7
+ // the file's declarations in the order the file writes them, each node an
8
+ // object whose first member, `type`, names it and whose other members
9
+ // follow in the order the statement spells them. A scalar is the text
10
+ // the source spells, its tokens run together as a CST node's `src` keeps
11
+ // them: a name, a type, a number with its sign, an option's name, and a
12
+ // string literal with its quotes and escapes as written. An aggregate
13
+ // option value is its fields, `[{name, value}]`, each value text or an
14
+ // aggregate again. An empty statement declares nothing and is left out.
15
+ //
16
+ // The transducer part (alchemy/transduce.alc) makes the same tree's
17
+ // events from the parse's rule passes; this walk is the tree a host reads
18
+ // whole, and the one the part is held to. It finds each statement the way
19
+ // ./build-descriptor.ts does, by the keyword ahead of the node's first
20
+ // child (`kw`), since the ABNF compiler inlines a leading rule into the
21
+ // dispatch node that holds it.
22
+ const build_descriptor_1 = require("./build-descriptor");
23
+ // A constant's value: its text, or an aggregate's fields.
24
+ function constantTree(n) {
25
+ if (null == n)
26
+ return '';
27
+ if (!n.src.startsWith('{'))
28
+ return n.src;
29
+ return (0, build_descriptor_1.R)(n).filter((k) => 'messageValueEntry' === k.rule).map(aggregateField);
30
+ }
31
+ // `messageValueEntry = ident [":"] (strLit 1*strLit / constant) [","/";"]`.
32
+ // The leading `ident` is inlined, so the name is the text ahead of the
33
+ // first child, less the colon; adjacent string literals are their texts
34
+ // run together, as the entry's `src` keeps them.
35
+ function aggregateField(e) {
36
+ const kids = (0, build_descriptor_1.R)(e);
37
+ const name = ((0, build_descriptor_1.gaps)(e)[0] ?? '').replace(/:$/, '');
38
+ const value = 1 === kids.length && 'constant' === kids[0].rule
39
+ ? constantTree(kids[0])
40
+ : kids.map((k) => k.src).join('');
41
+ return { name, value };
42
+ }
43
+ // `option name = constant;`, as a statement.
44
+ function optionTree(el) {
45
+ const cst = (0, build_descriptor_1.child)(el, 'constant');
46
+ return { type: 'option', name: (0, build_descriptor_1.optionNameOf)(el, cst), value: constantTree(cst) };
47
+ }
48
+ // `[name = constant, ...]`: a field's, an enum value's or an extension
49
+ // range's options.
50
+ function optionsTree(opts) {
51
+ return (0, build_descriptor_1.R)(opts).filter((k) => 'fieldOption' === k.rule).map((fo) => {
52
+ const cst = (0, build_descriptor_1.child)(fo, 'constant');
53
+ return { name: (0, build_descriptor_1.optionNameOf)(fo, cst), value: constantTree(cst) };
54
+ });
55
+ }
56
+ // The members of a statement that carry `[options]`, appended where the
57
+ // statement writes them.
58
+ function withOptions(node, el) {
59
+ const opts = (0, build_descriptor_1.child)(el, 'fieldOptions');
60
+ if (opts)
61
+ node.options = optionsTree(opts);
62
+ return node;
63
+ }
64
+ // `[label] fieldType ident "=" fieldNumber [fieldOptions] ";"`.
65
+ function fieldTree(n) {
66
+ const node = { type: 'field' };
67
+ const label = (0, build_descriptor_1.child)(n, 'label');
68
+ if (label)
69
+ node.label = label.src;
70
+ node.fieldType = (0, build_descriptor_1.typeTextOf)(n);
71
+ node.name = (0, build_descriptor_1.child)(n, 'ident')?.src ?? '';
72
+ node.number = (0, build_descriptor_1.child)(n, 'fieldNumber')?.src ?? '';
73
+ return withOptions(node, n);
74
+ }
75
+ // `[label] "group" ident "=" fieldNumber messageBody`.
76
+ function groupTree(n) {
77
+ const node = { type: 'group' };
78
+ const label = (0, build_descriptor_1.child)(n, 'label');
79
+ if (label)
80
+ node.label = label.src;
81
+ node.name = (0, build_descriptor_1.child)(n, 'ident')?.src ?? '';
82
+ node.number = (0, build_descriptor_1.child)(n, 'fieldNumber')?.src ?? '';
83
+ node.body = messageBodyTree((0, build_descriptor_1.child)(n, 'messageBody'));
84
+ return node;
85
+ }
86
+ // `"map" "<" fieldType "," fieldType ">" ident "=" fieldNumber [fieldOptions] ";"`.
87
+ function mapTree(n) {
88
+ const types = (0, build_descriptor_1.R)(n).filter((k) => 'fieldType' === k.rule);
89
+ return withOptions({
90
+ type: 'map',
91
+ keyType: types[0]?.src ?? '',
92
+ valueType: types[1]?.src ?? '',
93
+ name: (0, build_descriptor_1.child)(n, 'ident')?.src ?? '',
94
+ number: (0, build_descriptor_1.child)(n, 'fieldNumber')?.src ?? '',
95
+ }, n);
96
+ }
97
+ // The ranges of a `reserved` or `extensions` statement, each `from` and,
98
+ // where the range writes one, `to`. The leading `range` is inlined into
99
+ // `ranges`, so they are read from its text, which no number or `max`
100
+ // spells with a `t`.
101
+ function rangesTree(n) {
102
+ if (null == n)
103
+ return [];
104
+ return n.src.split(',').map((part) => {
105
+ const at = part.indexOf('to');
106
+ return at < 0 ? { from: part } : { from: part.slice(0, at), to: part.slice(at + 2) };
107
+ });
108
+ }
109
+ // The names of a `reserved` statement, each as written: a string literal
110
+ // with its quotes, or an identifier. They are read from the statement's
111
+ // text, cut at the commas outside a literal.
112
+ function reservedNamesTree(n) {
113
+ const names = (0, build_descriptor_1.child)(n, 'fieldNames');
114
+ const src = names ? names.src : '';
115
+ const out = [];
116
+ let from = 0;
117
+ for (let i = 0; i < src.length; i++) {
118
+ const c = src[i];
119
+ if ('"' === c || "'" === c || '`' === c) {
120
+ for (i++; i < src.length && c !== src[i]; i++)
121
+ if ('\\' === src[i])
122
+ i++;
123
+ }
124
+ else if (',' === c) {
125
+ out.push(src.slice(from, i));
126
+ from = i + 1;
127
+ }
128
+ }
129
+ out.push(src.slice(from));
130
+ return out;
131
+ }
132
+ function reservedTree(n) {
133
+ const ranges = (0, build_descriptor_1.child)(n, 'ranges');
134
+ return ranges
135
+ ? { type: 'reserved', ranges: rangesTree(ranges) }
136
+ : { type: 'reserved', names: reservedNamesTree(n) };
137
+ }
138
+ // The edition-2024 `export` / `local` modifier keeps the message or enum
139
+ // as a child node, which the walk reads with the modifier ahead of it.
140
+ function visibleTree(el, k) {
141
+ const visibility = k.startsWith('export') ? 'export' : 'local';
142
+ const m = (0, build_descriptor_1.child)(el, 'message');
143
+ if (m)
144
+ return messageTree(m, visibility);
145
+ const e = (0, build_descriptor_1.child)(el, 'enumDef');
146
+ if (e)
147
+ return enumTree(e, visibility);
148
+ return undefined;
149
+ }
150
+ function messageTree(n, visibility) {
151
+ const node = { type: 'message' };
152
+ if (visibility)
153
+ node.visibility = visibility;
154
+ node.name = (0, build_descriptor_1.child)(n, 'ident')?.src ?? '';
155
+ node.body = messageBodyTree((0, build_descriptor_1.child)(n, 'messageBody'));
156
+ return node;
157
+ }
158
+ function messageBodyTree(body) {
159
+ const out = [];
160
+ for (const el of (0, build_descriptor_1.R)(body)) {
161
+ if ('messageElement' !== el.rule)
162
+ continue;
163
+ const node = messageElementTree(el);
164
+ if (node)
165
+ out.push(node);
166
+ }
167
+ return out;
168
+ }
169
+ function messageElementTree(el) {
170
+ const k = (0, build_descriptor_1.kw)(el);
171
+ if ((0, build_descriptor_1.isOptionStmt)(el))
172
+ return optionTree(el);
173
+ if (k.startsWith('map<'))
174
+ return mapTree(el);
175
+ if (k.startsWith('oneof'))
176
+ return oneofTree(el);
177
+ if (k.startsWith('export') || k.startsWith('local'))
178
+ return visibleTree(el, k);
179
+ if ((0, build_descriptor_1.isGroup)(el))
180
+ return groupTree(el);
181
+ if (k.startsWith('message'))
182
+ return messageTree(el);
183
+ if (k.startsWith('enum'))
184
+ return enumTree(el);
185
+ if (k.startsWith('reserved'))
186
+ return reservedTree(el);
187
+ if (k.startsWith('extensions')) {
188
+ return withOptions({ type: 'extensions', ranges: rangesTree((0, build_descriptor_1.child)(el, 'ranges')) }, el);
189
+ }
190
+ if (k.startsWith('extend'))
191
+ return extendTree(el);
192
+ if (';' === el.src)
193
+ return undefined;
194
+ const first = (0, build_descriptor_1.R)(el)[0];
195
+ if (first && ('fieldType' === first.rule || 'label' === first.rule))
196
+ return fieldTree(el);
197
+ return undefined;
198
+ }
199
+ function oneofTree(el) {
200
+ const body = [];
201
+ for (const of of (0, build_descriptor_1.R)(el)) {
202
+ if ('oneofElement' !== of.rule)
203
+ continue;
204
+ if ((0, build_descriptor_1.isOptionStmt)(of))
205
+ body.push(optionTree(of));
206
+ else if (';' === of.src)
207
+ continue;
208
+ else
209
+ body.push((0, build_descriptor_1.isGroup)(of) ? groupTree(of) : fieldTree(of));
210
+ }
211
+ return { type: 'oneof', name: (0, build_descriptor_1.child)(el, 'ident')?.src ?? '', body };
212
+ }
213
+ function enumTree(n, visibility) {
214
+ const node = { type: 'enum' };
215
+ if (visibility)
216
+ node.visibility = visibility;
217
+ node.name = (0, build_descriptor_1.child)(n, 'ident')?.src ?? '';
218
+ const body = [];
219
+ for (const el of (0, build_descriptor_1.R)(n)) {
220
+ if ('enumElement' !== el.rule)
221
+ continue;
222
+ // The first child says what the statement is (./build-descriptor.ts
223
+ // has why): `optionName` an option, `ranges` or `fieldNames` a
224
+ // `reserved`, `fieldNumber` a value.
225
+ const first = (0, build_descriptor_1.R)(el)[0];
226
+ const rule = first?.rule;
227
+ if ('ranges' === rule || 'fieldNames' === rule)
228
+ body.push(reservedTree(el));
229
+ else if ('optionName' === rule)
230
+ body.push(optionTree(el));
231
+ else if ('fieldNumber' === rule) {
232
+ // `ident "=" ["-"] fieldNumber`: the name and the sign are in the
233
+ // text ahead of the number node.
234
+ const gap = (0, build_descriptor_1.gapsBefore)(el, 'fieldNumber')[0] ?? '';
235
+ const eq = gap.indexOf('=');
236
+ const name = eq < 0 ? gap : gap.slice(0, eq);
237
+ const number = (gap.endsWith('-') ? '-' : '') + first.src;
238
+ body.push(withOptions({ type: 'enumValue', name, number }, el));
239
+ }
240
+ }
241
+ node.body = body;
242
+ return node;
243
+ }
244
+ // `extend messageType "{" *( field / emptyStmt ) "}"`.
245
+ function extendTree(n) {
246
+ const body = [];
247
+ for (const f of (0, build_descriptor_1.R)(n)) {
248
+ if ('field' === f.rule || 'messageElement' === f.rule)
249
+ body.push(fieldTree(f));
250
+ }
251
+ return { type: 'extend', extendee: (0, build_descriptor_1.child)(n, 'messageType')?.src ?? '', body };
252
+ }
253
+ function serviceTree(n) {
254
+ const body = [];
255
+ for (const el of (0, build_descriptor_1.R)(n)) {
256
+ if ('serviceElement' !== el.rule)
257
+ continue;
258
+ if ((0, build_descriptor_1.kw)(el).startsWith('rpc'))
259
+ body.push(rpcTree(el));
260
+ else if ((0, build_descriptor_1.isOptionStmt)(el))
261
+ body.push(optionTree(el));
262
+ }
263
+ return { type: 'service', name: (0, build_descriptor_1.child)(n, 'ident')?.src ?? '', body };
264
+ }
265
+ // `rpc ident "(" ["stream"] messageType ")" "returns" "(" ["stream"]
266
+ // messageType ")" ( ";" / "{" *( optionStmt / emptyStmt ) "}" )`. Whether
267
+ // each side streams is read from its parenthesised span, as the
268
+ // descriptor's walk reads it; the block is there where the statement
269
+ // ends in a brace.
270
+ function rpcTree(el) {
271
+ const types = (0, build_descriptor_1.R)(el).filter((k) => 'messageType' === k.rule);
272
+ const [input, output] = (0, build_descriptor_1.parenthesised)(el.src);
273
+ const inputType = types[0]?.src ?? '';
274
+ const outputType = types[1]?.src ?? '';
275
+ const node = { type: 'rpc', name: (0, build_descriptor_1.child)(el, 'ident')?.src ?? '' };
276
+ if ('stream' + inputType === input)
277
+ node.inputStream = true;
278
+ node.inputType = inputType;
279
+ if ('stream' + outputType === output)
280
+ node.outputStream = true;
281
+ node.outputType = outputType;
282
+ if (el.src.endsWith('}')) {
283
+ node.body = (0, build_descriptor_1.R)(el).filter((k) => 'optionStmt' === k.rule).map(optionTree);
284
+ }
285
+ return node;
286
+ }
287
+ function topLevelTree(def) {
288
+ const k = (0, build_descriptor_1.kw)(def);
289
+ if (k.startsWith('import')) {
290
+ const node = { type: 'import' };
291
+ const modifier = k.slice('import'.length);
292
+ if ('' !== modifier)
293
+ node.modifier = modifier;
294
+ node.path = (0, build_descriptor_1.child)(def, 'strLit')?.src ?? '';
295
+ return node;
296
+ }
297
+ if (k.startsWith('package')) {
298
+ return { type: 'package', name: (0, build_descriptor_1.child)(def, 'fullIdent')?.src ?? '' };
299
+ }
300
+ if ((0, build_descriptor_1.isOptionStmt)(def))
301
+ return optionTree(def);
302
+ if (k.startsWith('export') || k.startsWith('local'))
303
+ return visibleTree(def, k);
304
+ if (k.startsWith('message'))
305
+ return messageTree(def);
306
+ if (k.startsWith('enum'))
307
+ return enumTree(def);
308
+ if (k.startsWith('service'))
309
+ return serviceTree(def);
310
+ if (k.startsWith('extend'))
311
+ return extendTree(def);
312
+ return undefined;
313
+ }
314
+ // The file's tree: its declarations in source order. An empty file, which
315
+ // parses to no node at all, is a file with an empty body.
316
+ function buildTree(proto) {
317
+ const body = [];
318
+ for (const k of (0, build_descriptor_1.R)(proto)) {
319
+ if ('syntaxOrEdition' === k.rule) {
320
+ body.push({
321
+ type: (0, build_descriptor_1.kw)(k).startsWith('edition') ? 'edition' : 'syntax',
322
+ value: (0, build_descriptor_1.child)(k, 'strLit')?.src ?? '',
323
+ });
324
+ }
325
+ else if ('topLevelDef' === k.rule) {
326
+ const node = topLevelTree(k);
327
+ if (node)
328
+ body.push(node);
329
+ }
330
+ }
331
+ return { type: 'file', body };
332
+ }
333
+ //# sourceMappingURL=build-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-tree.js","sourceRoot":"","sources":["../src/build-tree.ts"],"names":[],"mappings":"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"}
package/dist/proto.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Tabnas } from '@tabnas/parser';
2
+ import type { TreeNode, TreeValue } from './build-tree';
2
3
  import { MAX_NESTING_DEPTH, preflight } from './preflight';
3
4
  import { ProtoVersion } from './detect-version';
4
5
  import { FileDescriptorProto } from './descriptor';
@@ -12,9 +13,12 @@ declare const Proto: {
12
13
  };
13
14
  declare function toDescriptor(cst: any, options?: Partial<ProtoOptions>): FileDescriptorProto;
14
15
  declare function parse(src: string, options?: Partial<ProtoOptions>): FileDescriptorProto;
15
- declare const VERSION = "0.6.10";
16
- export { Proto, parse, toDescriptor, preflight, MAX_NESTING_DEPTH, VERSION };
17
- export type { ProtoVersion };
16
+ declare function make(): Tabnas;
17
+ declare function toTree(cst: any): TreeNode;
18
+ declare function parseTree(src: string): TreeNode;
19
+ declare const VERSION = "0.6.12";
20
+ export { Proto, parse, toDescriptor, parseTree, toTree, make, preflight, MAX_NESTING_DEPTH, VERSION, };
21
+ export type { ProtoVersion, TreeNode, TreeValue };
18
22
  export * from './descriptor';
19
23
  export { translate } from './translate';
20
24
  export type { TranslationPart, TranslationParts } from './translate';
package/dist/proto.js CHANGED
@@ -21,6 +21,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.translate = exports.VERSION = exports.MAX_NESTING_DEPTH = exports.preflight = exports.Proto = void 0;
22
22
  exports.parse = parse;
23
23
  exports.toDescriptor = toDescriptor;
24
+ exports.parseTree = parseTree;
25
+ exports.toTree = toTree;
26
+ exports.make = make;
24
27
  // @tabnas/proto — a Tabnas plugin that parses Protocol Buffers `.proto`
25
28
  // IDL (proto2, proto3, edition 2023/2024) into FileDescriptorProto-shaped
26
29
  // JSON. The version is auto-detected from the file's `syntax`/`edition`
@@ -30,6 +33,7 @@ const parser_1 = require("@tabnas/parser");
30
33
  // run gen-grammar` (gen-grammar.js). Generated: never edit it.
31
34
  const proto_grammar_json_1 = __importDefault(require("./proto-grammar.json"));
32
35
  const build_descriptor_1 = require("./build-descriptor");
36
+ const build_tree_1 = require("./build-tree");
33
37
  const aggregate_1 = require("./aggregate");
34
38
  const preflight_1 = require("./preflight");
35
39
  Object.defineProperty(exports, "MAX_NESTING_DEPTH", { enumerable: true, get: function () { return preflight_1.MAX_NESTING_DEPTH; } });
@@ -85,10 +89,33 @@ function parse(src, options) {
85
89
  Proto(tn, options);
86
90
  return toDescriptor(tn.parse(src), options);
87
91
  }
92
+ // The parser a host reads a `.proto` document with: a fresh engine with
93
+ // the grammar installed, as `parse` builds one. Its rule passes are what
94
+ // the transducer part (alchemy/transduce.alc) reads, and its value is the
95
+ // `{rule, src, kids}` CST that `toTree` and `toDescriptor` walk. A host
96
+ // runs `preflight(src)` on a source before it hands it to this parser.
97
+ function make() {
98
+ const tn = new parser_1.Tabnas({ rewind: { history: 8192 } });
99
+ Proto(tn);
100
+ return tn;
101
+ }
102
+ // The source-ordered tree of a parsed proto CST: the file's declarations
103
+ // in the order the file writes them (the schema `proto-ast`; see
104
+ // ./build-tree.ts). It is the tree the translation parts read and write.
105
+ function toTree(cst) {
106
+ return (0, build_tree_1.buildTree)(cst);
107
+ }
108
+ // Convenience: parse a `.proto` source string to its source-ordered tree
109
+ // in one call, refusing a document that nests past MAX_NESTING_DEPTH
110
+ // first, as `parse` does.
111
+ function parseTree(src) {
112
+ (0, preflight_1.preflight)(src);
113
+ return toTree(make().parse(src));
114
+ }
88
115
  // VERSION is this package's version. It MUST equal package.json "version":
89
116
  // the release orchestrator rewrites both, and test/version.test.ts fails the
90
117
  // build if they drift. Mirrors `const VERSION` in go/proto.go.
91
- const VERSION = '0.6.10';
118
+ const VERSION = '0.6.12';
92
119
  exports.VERSION = VERSION;
93
120
  __exportStar(require("./descriptor"), exports);
94
121
  var translate_1 = require("./translate");
package/dist/proto.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proto.js","sourceRoot":"","sources":["../src/proto.ts"],"names":[],"mappings":";AAAA,2EAA2E;;;;;;;;;;;;;;;;;;;;QA6F3D,KAAK;QAAE,YAAY;AA3FnC,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AACxE,wDAAwD;AAExD,2CAAuC;AAGvC,wEAAwE;AACxE,+DAA+D;AAC/D,8EAAkD;AAClD,yDAA8C;AAC9C,2CAA6C;AAC7C,2CAA0D;kGAAjD,6BAAiB;0FAAE,qBAAS;AACrC,qDAEyB;AAYzB,yEAAyE;AACzE,wEAAwE;AACxE,uCAAuC;AACvC,MAAM,QAAQ,GAAG,4BAAyC,CAAA;AAE1D,wEAAwE;AACxE,yEAAyE;AACzE,4EAA4E;AAC5E,MAAM,KAAK,GAAG,CAAC,CAAC,EAAU,EAAE,QAAgC,EAAE,EAAE;IAC9D,wEAAwE;IACxE,mEAAmE;IACnE,uEAAuE;IACvE,iEAAiE;IACjE,qEAAqE;IACrE,wEAAwE;IACxE,gEAAgE;IAChE,mEAAmE;IACnE,gEAAgE;IAChE,uEAAuE;IACvE,4BAA4B;IAC5B,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACpB,wEAAwE;IACxE,qEAAqE;IACrE,sEAAsE;IACtE,0DAA0D;IAC1D,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,2BAAe,CAAC,CAAC,CAAA;AAC1D,CAAC,CAGA,CAAA;QAkCQ,KAAK;AAhCd,KAAK,CAAC,QAAQ,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;AAEnD,oEAAoE;AACpE,gEAAgE;AAChE,SAAS,YAAY,CAAC,GAAQ,EAAE,OAA+B;IAC7D,MAAM,IAAI,GAAiB,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAA;IACpE,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAA;IAC7E,MAAM,QAAQ,GACZ,KAAK,IAAI,iBAAiB,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,gCAAe,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC3E,MAAM,OAAO,GAAG,IAAA,+BAAc,EAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtE,OAAO,IAAA,4BAAS,EAAC,GAAG,EAAE,OAAO,CAAC,CAAA;AAChC,CAAC;AAED,0EAA0E;AAC1E,2EAA2E;AAC3E,0DAA0D;AAC1D,sEAAsE;AACtE,EAAE;AACF,yEAAyE;AACzE,mCAAmC;AACnC,SAAS,KAAK,CAAC,GAAW,EAAE,OAA+B;IACzD,IAAA,qBAAS,EAAC,GAAG,CAAC,CAAA;IACd,MAAM,EAAE,GAAG,IAAI,eAAM,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACpD,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAClB,OAAO,YAAY,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;AAC7C,CAAC;AAED,2EAA2E;AAC3E,6EAA6E;AAC7E,+DAA+D;AAC/D,MAAM,OAAO,GAAG,QAAQ,CAAA;QAE2C,OAAO;AAE1E,+CAA4B;AAC5B,yCAAuC;AAA9B,sGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"proto.js","sourceRoot":"","sources":["../src/proto.ts"],"names":[],"mappings":"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"}