protons 5.0.0 → 5.1.0

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.
File without changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,oBAAY,WAAW;IACrB,MAAM,IAAI;IACV,KAAK,IAAA;IACL,gBAAgB,IAAA;IAChB,WAAW,IAAA;IACX,SAAS,IAAA;IACT,KAAK,IAAA;CACN;AA+bD,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,iBAsC3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,oBAAY,WAAW;IACrB,MAAM,IAAI;IACV,KAAK,IAAA;IACL,gBAAgB,IAAA;IAChB,WAAW,IAAA;IACX,SAAS,IAAA;IACT,KAAK,IAAA;CACN;AA4gBD,UAAU,KAAK;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAsB,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,iBAsC3D"}
package/dist/src/index.js CHANGED
@@ -36,7 +36,6 @@ const encoderGenerators = {
36
36
  bool: (val) => `writer.bool(${val})`,
37
37
  bytes: (val) => `writer.bytes(${val})`,
38
38
  double: (val) => `writer.double(${val})`,
39
- // enumeration: (val) => `writer.double(${val})`,
40
39
  fixed32: (val) => `writer.fixed32(${val})`,
41
40
  fixed64: (val) => `writer.fixed64(${val})`,
42
41
  float: (val) => `writer.float(${val})`,
@@ -54,7 +53,6 @@ const decoderGenerators = {
54
53
  bool: () => 'reader.bool()',
55
54
  bytes: () => 'reader.bytes()',
56
55
  double: () => 'reader.double()',
57
- // enumeration: () => `writer.double(${val})`,
58
56
  fixed32: () => 'reader.fixed32()',
59
57
  fixed64: () => 'reader.fixed64()',
60
58
  float: () => 'reader.float()',
@@ -68,6 +66,23 @@ const decoderGenerators = {
68
66
  uint32: () => 'reader.uint32()',
69
67
  uint64: () => 'reader.uint64()'
70
68
  };
69
+ const defaultValueGenerators = {
70
+ bool: () => 'false',
71
+ bytes: () => 'new Uint8Array(0)',
72
+ double: () => '0',
73
+ fixed32: () => '0',
74
+ fixed64: () => '0n',
75
+ float: () => '0',
76
+ int32: () => '0',
77
+ int64: () => '0n',
78
+ sfixed32: () => '0',
79
+ sfixed64: () => '0n',
80
+ sint32: () => '0',
81
+ sint64: () => '0n',
82
+ string: () => "''",
83
+ uint32: () => '0',
84
+ uint64: () => '0n'
85
+ };
71
86
  function findTypeName(typeName, classDef, moduleDef) {
72
87
  if (types[typeName] != null) {
73
88
  return types[typeName];
@@ -101,6 +116,55 @@ function findDef(typeName, classDef, moduleDef) {
101
116
  }
102
117
  throw new Error(`Could not resolve type name "${typeName}"`);
103
118
  }
119
+ function createDefaultObject(fields, messageDef, moduleDef) {
120
+ const output = Object.entries(fields)
121
+ .map(([name, fieldDef]) => {
122
+ if (fieldDef.repeated) {
123
+ return `${name}: []`;
124
+ }
125
+ if (fieldDef.optional) {
126
+ return '';
127
+ }
128
+ const type = fieldDef.type;
129
+ let defaultValue;
130
+ if (defaultValueGenerators[type] != null) {
131
+ defaultValue = defaultValueGenerators[type]();
132
+ }
133
+ else {
134
+ const def = findDef(fieldDef.type, messageDef, moduleDef);
135
+ if (isEnumDef(def)) {
136
+ // select lowest-value enum - should be 0 but it's not guaranteed
137
+ const val = Object.entries(def.values)
138
+ .sort((a, b) => {
139
+ if (a[1] < b[1]) {
140
+ return 1;
141
+ }
142
+ if (a[1] > b[1]) {
143
+ return -1;
144
+ }
145
+ return 0;
146
+ })
147
+ .pop();
148
+ if (val == null) {
149
+ throw new Error(`Could not find default enum value for ${def.fullName}`);
150
+ }
151
+ defaultValue = `${def.name}.${val[0]}`;
152
+ }
153
+ else {
154
+ defaultValue = 'undefined';
155
+ }
156
+ }
157
+ return `${name}: ${defaultValue}`;
158
+ })
159
+ .filter(Boolean)
160
+ .join(',\n ');
161
+ if (output !== '') {
162
+ return `
163
+ ${output}
164
+ `;
165
+ }
166
+ return '';
167
+ }
104
168
  const encoders = {
105
169
  bool: 'bool',
106
170
  bytes: 'bytes',
@@ -198,7 +262,7 @@ export interface ${messageDef.name} {
198
262
  const ensureArrayProps = Object.entries(fields)
199
263
  .map(([name, fieldDef]) => {
200
264
  // make sure repeated fields have an array if not set
201
- if (fieldDef.rule === 'repeated') {
265
+ if (fieldDef.optional && fieldDef.rule === 'repeated') {
202
266
  return ` obj.${name} = obj.${name} ?? []`;
203
267
  }
204
268
  return '';
@@ -206,7 +270,7 @@ export interface ${messageDef.name} {
206
270
  const ensureRequiredFields = Object.entries(fields)
207
271
  .map(([name, fieldDef]) => {
208
272
  // make sure required fields are set
209
- if (!fieldDef.optional) {
273
+ if (!fieldDef.optional && !fieldDef.repeated) {
210
274
  return `
211
275
  if (obj.${name} == null) {
212
276
  throw new Error('Protocol error: value for required field "${name}" was not found in protobuf')
@@ -261,7 +325,7 @@ ${Object.entries(fields)
261
325
  writer.ldelim()
262
326
  }
263
327
  }, (reader, length) => {
264
- const obj: any = {}
328
+ const obj: any = {${createDefaultObject(fields, messageDef, moduleDef)}}
265
329
 
266
330
  const end = length == null ? reader.len : reader.pos + length
267
331
 
@@ -287,8 +351,10 @@ ${Object.entries(fields)
287
351
  codec = `${typeName}.codec()`;
288
352
  }
289
353
  return `case ${fieldDef.id}:${fieldDef.rule === 'repeated'
290
- ? `
291
- obj.${name} = obj.${name} ?? []
354
+ ? `${fieldDef.optional
355
+ ? `
356
+ obj.${name} = obj.${name} ?? []`
357
+ : ''}
292
358
  obj.${name}.push(${decoderGenerators[type] == null ? `${codec}.decode(reader${type === 'message' ? ', reader.uint32()' : ''})` : decoderGenerators[type]()})`
293
359
  : `
294
360
  obj.${name} = ${decoderGenerators[type] == null ? `${codec}.decode(reader${type === 'message' ? ', reader.uint32()' : ''})` : decoderGenerators[type]()}`}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "protons",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "Protobuf to ts transpiler",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/ipfs/protons/tree/master/packages/protons#readme",
package/src/index.ts CHANGED
@@ -39,7 +39,6 @@ const encoderGenerators: Record<string, (val: string) => string> = {
39
39
  bool: (val) => `writer.bool(${val})`,
40
40
  bytes: (val) => `writer.bytes(${val})`,
41
41
  double: (val) => `writer.double(${val})`,
42
- // enumeration: (val) => `writer.double(${val})`,
43
42
  fixed32: (val) => `writer.fixed32(${val})`,
44
43
  fixed64: (val) => `writer.fixed64(${val})`,
45
44
  float: (val) => `writer.float(${val})`,
@@ -58,7 +57,6 @@ const decoderGenerators: Record<string, () => string> = {
58
57
  bool: () => 'reader.bool()',
59
58
  bytes: () => 'reader.bytes()',
60
59
  double: () => 'reader.double()',
61
- // enumeration: () => `writer.double(${val})`,
62
60
  fixed32: () => 'reader.fixed32()',
63
61
  fixed64: () => 'reader.fixed64()',
64
62
  float: () => 'reader.float()',
@@ -73,6 +71,24 @@ const decoderGenerators: Record<string, () => string> = {
73
71
  uint64: () => 'reader.uint64()'
74
72
  }
75
73
 
74
+ const defaultValueGenerators: Record<string, () => string> = {
75
+ bool: () => 'false',
76
+ bytes: () => 'new Uint8Array(0)',
77
+ double: () => '0',
78
+ fixed32: () => '0',
79
+ fixed64: () => '0n',
80
+ float: () => '0',
81
+ int32: () => '0',
82
+ int64: () => '0n',
83
+ sfixed32: () => '0',
84
+ sfixed64: () => '0n',
85
+ sint32: () => '0',
86
+ sint64: () => '0n',
87
+ string: () => "''",
88
+ uint32: () => '0',
89
+ uint64: () => '0n'
90
+ }
91
+
76
92
  function findTypeName (typeName: string, classDef: MessageDef, moduleDef: ModuleDef): string {
77
93
  if (types[typeName] != null) {
78
94
  return types[typeName]
@@ -117,6 +133,65 @@ function findDef (typeName: string, classDef: MessageDef, moduleDef: ModuleDef):
117
133
  throw new Error(`Could not resolve type name "${typeName}"`)
118
134
  }
119
135
 
136
+ function createDefaultObject (fields: Record<string, FieldDef>, messageDef: MessageDef, moduleDef: ModuleDef): string {
137
+ const output = Object.entries(fields)
138
+ .map(([name, fieldDef]) => {
139
+ if (fieldDef.repeated) {
140
+ return `${name}: []`
141
+ }
142
+
143
+ if (fieldDef.optional) {
144
+ return ''
145
+ }
146
+
147
+ const type: string = fieldDef.type
148
+ let defaultValue
149
+
150
+ if (defaultValueGenerators[type] != null) {
151
+ defaultValue = defaultValueGenerators[type]()
152
+ } else {
153
+ const def = findDef(fieldDef.type, messageDef, moduleDef)
154
+
155
+ if (isEnumDef(def)) {
156
+ // select lowest-value enum - should be 0 but it's not guaranteed
157
+ const val = Object.entries(def.values)
158
+ .sort((a, b) => {
159
+ if (a[1] < b[1]) {
160
+ return 1
161
+ }
162
+
163
+ if (a[1] > b[1]) {
164
+ return -1
165
+ }
166
+
167
+ return 0
168
+ })
169
+ .pop()
170
+
171
+ if (val == null) {
172
+ throw new Error(`Could not find default enum value for ${def.fullName}`)
173
+ }
174
+
175
+ defaultValue = `${def.name}.${val[0]}`
176
+ } else {
177
+ defaultValue = 'undefined'
178
+ }
179
+ }
180
+
181
+ return `${name}: ${defaultValue}`
182
+ })
183
+ .filter(Boolean)
184
+ .join(',\n ')
185
+
186
+ if (output !== '') {
187
+ return `
188
+ ${output}
189
+ `
190
+ }
191
+
192
+ return ''
193
+ }
194
+
120
195
  const encoders: Record<string, string> = {
121
196
  bool: 'bool',
122
197
  bytes: 'bytes',
@@ -259,7 +334,7 @@ export interface ${messageDef.name} {
259
334
  const ensureArrayProps = Object.entries(fields)
260
335
  .map(([name, fieldDef]) => {
261
336
  // make sure repeated fields have an array if not set
262
- if (fieldDef.rule === 'repeated') {
337
+ if (fieldDef.optional && fieldDef.rule === 'repeated') {
263
338
  return ` obj.${name} = obj.${name} ?? []`
264
339
  }
265
340
 
@@ -269,7 +344,7 @@ export interface ${messageDef.name} {
269
344
  const ensureRequiredFields = Object.entries(fields)
270
345
  .map(([name, fieldDef]) => {
271
346
  // make sure required fields are set
272
- if (!fieldDef.optional) {
347
+ if (!fieldDef.optional && !fieldDef.repeated) {
273
348
  return `
274
349
  if (obj.${name} == null) {
275
350
  throw new Error('Protocol error: value for required field "${name}" was not found in protobuf')
@@ -331,7 +406,7 @@ ${Object.entries(fields)
331
406
  writer.ldelim()
332
407
  }
333
408
  }, (reader, length) => {
334
- const obj: any = {}
409
+ const obj: any = {${createDefaultObject(fields, messageDef, moduleDef)}}
335
410
 
336
411
  const end = length == null ? reader.len : reader.pos + length
337
412
 
@@ -360,8 +435,10 @@ ${Object.entries(fields)
360
435
  }
361
436
 
362
437
  return `case ${fieldDef.id}:${fieldDef.rule === 'repeated'
438
+ ? `${fieldDef.optional
363
439
  ? `
364
- obj.${name} = obj.${name} ?? []
440
+ obj.${name} = obj.${name} ?? []`
441
+ : ''}
365
442
  obj.${name}.push(${decoderGenerators[type] == null ? `${codec}.decode(reader${type === 'message' ? ', reader.uint32()' : ''})` : decoderGenerators[type]()})`
366
443
  : `
367
444
  obj.${name} = ${decoderGenerators[type] == null ? `${codec}.decode(reader${type === 'message' ? ', reader.uint32()' : ''})` : decoderGenerators[type]()}`}