@tabnas/proto 0.6.11 → 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.
- package/dist/build-descriptor.d.ts +12 -1
- package/dist/build-descriptor.js +24 -2
- package/dist/build-descriptor.js.map +1 -1
- package/dist/build-tree.d.ts +6 -0
- package/dist/build-tree.js +333 -0
- package/dist/build-tree.js.map +1 -0
- package/dist/proto.d.ts +7 -3
- package/dist/proto.js +28 -1
- package/dist/proto.js.map +1 -1
- package/dist/translate.d.ts +1 -0
- package/dist/translate.js +955 -1096
- package/dist/translate.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/build-descriptor.ts +20 -2
- package/src/build-tree.ts +313 -0
- package/src/proto.ts +34 -3
- package/src/translate.ts +956 -1096
|
@@ -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, };
|
package/dist/build-descriptor.js
CHANGED
|
@@ -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(
|
|
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,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
|
|
16
|
-
|
|
17
|
-
|
|
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.
|
|
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;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"proto.js","sourceRoot":"","sources":["../src/proto.ts"],"names":[],"mappings":"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"}
|