@openhps/protobuf 1.0.1 → 1.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.
Files changed (104) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +58 -38
  3. package/dist/cjs/InternalProtobufDeserializer.js +30 -15
  4. package/dist/cjs/InternalProtobufDeserializer.js.map +1 -1
  5. package/dist/cjs/InternalProtobufSerializer.js +7 -7
  6. package/dist/cjs/InternalProtobufSerializer.js.map +1 -1
  7. package/dist/cjs/PrimitiveWrapper.js +13 -0
  8. package/dist/cjs/PrimitiveWrapper.js.map +1 -0
  9. package/dist/cjs/ProtobufSerializer.js +27 -2
  10. package/dist/cjs/ProtobufSerializer.js.map +1 -1
  11. package/dist/cjs/bin/generator.js +3 -3
  12. package/dist/cjs/bin/generator.js.map +1 -1
  13. package/dist/cjs/generator/ObjectGenerator.js +30 -12
  14. package/dist/cjs/generator/ObjectGenerator.js.map +1 -1
  15. package/dist/cjs/generator/ProjectGenerator.js +89 -38
  16. package/dist/cjs/generator/ProjectGenerator.js.map +1 -1
  17. package/dist/cjs/generator/constants.js +11 -4
  18. package/dist/cjs/generator/constants.js.map +1 -1
  19. package/dist/cjs/package.json +3 -0
  20. package/dist/cjs/tsconfig.bundle.cjs.tsbuildinfo +1 -0
  21. package/dist/esm/InternalProtobufDeserializer.js +30 -14
  22. package/dist/esm/InternalProtobufDeserializer.js.map +1 -1
  23. package/dist/esm/InternalProtobufSerializer.js +7 -6
  24. package/dist/esm/InternalProtobufSerializer.js.map +1 -1
  25. package/dist/esm/PrimitiveWrapper.js +9 -0
  26. package/dist/esm/PrimitiveWrapper.js.map +1 -0
  27. package/dist/esm/ProtobufSerializer.js +30 -5
  28. package/dist/esm/ProtobufSerializer.js.map +1 -1
  29. package/dist/esm/bin/generator.js +5 -5
  30. package/dist/esm/bin/generator.js.map +1 -1
  31. package/dist/esm/decorators/index.js +1 -1
  32. package/dist/esm/generator/ObjectGenerator.js +32 -14
  33. package/dist/esm/generator/ObjectGenerator.js.map +1 -1
  34. package/dist/esm/generator/ProjectGenerator.js +92 -40
  35. package/dist/esm/generator/ProjectGenerator.js.map +1 -1
  36. package/dist/esm/generator/ServiceGenerator.js +1 -1
  37. package/dist/esm/generator/constants.js +11 -4
  38. package/dist/esm/generator/constants.js.map +1 -1
  39. package/dist/esm/generator/index.js +3 -3
  40. package/dist/esm/index.js +2 -2
  41. package/dist/esm/package.json +3 -0
  42. package/dist/esm/tsconfig.bundle.esm.tsbuildinfo +1 -0
  43. package/dist/esm/tsconfig.bundle.types.tsbuildinfo +1 -0
  44. package/dist/types/InternalProtobufDeserializer.d.ts +0 -2
  45. package/dist/types/InternalProtobufDeserializer.d.ts.map +1 -1
  46. package/dist/types/InternalProtobufSerializer.d.ts +0 -2
  47. package/dist/types/InternalProtobufSerializer.d.ts.map +1 -1
  48. package/dist/types/PrimitiveWrapper.d.ts +8 -0
  49. package/dist/types/PrimitiveWrapper.d.ts.map +1 -0
  50. package/dist/types/ProtobufSerializer.d.ts +6 -0
  51. package/dist/types/ProtobufSerializer.d.ts.map +1 -1
  52. package/dist/types/generator/ObjectGenerator.d.ts +2 -8
  53. package/dist/types/generator/ObjectGenerator.d.ts.map +1 -1
  54. package/dist/types/generator/ProjectGenerator.d.ts +1 -1
  55. package/dist/types/generator/ProjectGenerator.d.ts.map +1 -1
  56. package/dist/types/generator/constants.d.ts +1 -1
  57. package/dist/types/generator/constants.d.ts.map +1 -1
  58. package/dist/web/openhps-protobuf.es.js +17112 -12881
  59. package/dist/web/openhps-protobuf.es.js.map +1 -1
  60. package/dist/web/openhps-protobuf.es.min.js +2 -1
  61. package/dist/web/openhps-protobuf.es.min.js.LICENSE.txt +19 -0
  62. package/dist/web/openhps-protobuf.es.min.js.map +1 -1
  63. package/dist/web/openhps-protobuf.js +17434 -14605
  64. package/dist/web/openhps-protobuf.js.map +1 -1
  65. package/dist/web/openhps-protobuf.min.js +2 -1
  66. package/dist/web/openhps-protobuf.min.js.LICENSE.txt +19 -0
  67. package/dist/web/openhps-protobuf.min.js.map +1 -1
  68. package/package.json +125 -94
  69. package/src/InternalProtobufDeserializer.ts +52 -34
  70. package/src/InternalProtobufSerializer.ts +9 -10
  71. package/src/PrimitiveWrapper.ts +9 -0
  72. package/src/ProtobufSerializer.ts +33 -2
  73. package/src/bin/generator.ts +4 -4
  74. package/src/generator/ObjectGenerator.ts +34 -21
  75. package/src/generator/ProjectGenerator.ts +100 -42
  76. package/src/generator/constants.ts +11 -4
  77. package/dist/esm5/InternalProtobufDeserializer.js +0 -147
  78. package/dist/esm5/InternalProtobufDeserializer.js.map +0 -1
  79. package/dist/esm5/InternalProtobufSerializer.js +0 -132
  80. package/dist/esm5/InternalProtobufSerializer.js.map +0 -1
  81. package/dist/esm5/ProtobufSerializer.js +0 -131
  82. package/dist/esm5/ProtobufSerializer.js.map +0 -1
  83. package/dist/esm5/bin/generator.js +0 -104
  84. package/dist/esm5/bin/generator.js.map +0 -1
  85. package/dist/esm5/decorators/index.js +0 -2
  86. package/dist/esm5/decorators/index.js.map +0 -1
  87. package/dist/esm5/decorators/options.js +0 -2
  88. package/dist/esm5/decorators/options.js.map +0 -1
  89. package/dist/esm5/generator/ObjectGenerator.js +0 -311
  90. package/dist/esm5/generator/ObjectGenerator.js.map +0 -1
  91. package/dist/esm5/generator/ProjectGenerator.js +0 -115
  92. package/dist/esm5/generator/ProjectGenerator.js.map +0 -1
  93. package/dist/esm5/generator/ProtobufGenerator.js +0 -27
  94. package/dist/esm5/generator/ProtobufGenerator.js.map +0 -1
  95. package/dist/esm5/generator/ServiceGenerator.js +0 -10
  96. package/dist/esm5/generator/ServiceGenerator.js.map +0 -1
  97. package/dist/esm5/generator/constants.js +0 -18
  98. package/dist/esm5/generator/constants.js.map +0 -1
  99. package/dist/esm5/generator/index.js +0 -4
  100. package/dist/esm5/generator/index.js.map +0 -1
  101. package/dist/esm5/generator/types.js +0 -2
  102. package/dist/esm5/generator/types.js.map +0 -1
  103. package/dist/esm5/index.js +0 -3
  104. package/dist/esm5/index.js.map +0 -1
@@ -2,9 +2,9 @@ import { DataSerializer, DataSerializerUtils } from '@openhps/core';
2
2
  import * as path from 'path';
3
3
  import * as protobuf from 'protobufjs';
4
4
  import * as fs from 'fs';
5
- import { ProjectGenerator } from './generator';
6
- import { InternalProtobufDeserializer } from './InternalProtobufDeserializer';
7
- import { InternalProtobufSerializer } from './InternalProtobufSerializer';
5
+ import { ProjectGenerator } from './generator/index.js';
6
+ import { InternalProtobufDeserializer } from './InternalProtobufDeserializer.js';
7
+ import { InternalProtobufSerializer } from './InternalProtobufSerializer.js';
8
8
  export class ProtobufSerializer extends DataSerializer {
9
9
  static getFiles(directory, files = []) {
10
10
  if (!fs.statSync(directory).isDirectory()) {
@@ -30,6 +30,26 @@ export class ProtobufSerializer extends DataSerializer {
30
30
  static initialize(directory) {
31
31
  return new Promise((resolve, reject) => {
32
32
  ProtobufSerializer.root = new protobuf.Root();
33
+ // Reinitialisation (e.g. per test) must not accumulate stale type entries:
34
+ // build the new map first and only swap it in once the schemas have
35
+ // loaded, so a failed load keeps the previous types instead of wiping them
36
+ const types = new Map();
37
+ // The generated schemas extend google.protobuf.EnumValueOptions, which is
38
+ // declared in descriptor.proto. protobufjs resolves imports relative to the
39
+ // origin file, so it looked for google/protobuf/descriptor.proto inside the
40
+ // generated output directory and failed with "unresolvable extensions".
41
+ // protobufjs ships the well-known types itself; point the resolver at them.
42
+ // Resolve the package root from a literal specifier: a template literal here
43
+ // makes webpack build a context module over the whole protobufjs package,
44
+ // which then tries to parse its .d.ts and tsconfig.json as bundle input.
45
+ const protobufRoot = path.dirname(require.resolve('protobufjs/package.json'));
46
+ const defaultResolve = ProtobufSerializer.root.resolvePath.bind(ProtobufSerializer.root);
47
+ ProtobufSerializer.root.resolvePath = (origin, target) => {
48
+ if (target.startsWith('google/protobuf/')) {
49
+ return path.join(protobufRoot, target);
50
+ }
51
+ return defaultResolve(origin, target);
52
+ };
33
53
  Promise.resolve(!directory ? ProjectGenerator.buildProject(path.resolve('tmp')) : Promise.resolve())
34
54
  .then(() => {
35
55
  const files = this.getFiles(path.resolve(directory !== null && directory !== void 0 ? directory : 'tmp'));
@@ -69,22 +89,24 @@ export class ProtobufSerializer extends DataSerializer {
69
89
  messageTypeEnum: enumNumber,
70
90
  enumMapping,
71
91
  };
72
- this.options.types.set(className, MessageType);
92
+ types.set(className, MessageType);
73
93
  }
74
94
  });
95
+ this.options.types = types;
75
96
  resolve();
76
97
  })
77
98
  .catch((error) => {
78
99
  return reject(error);
79
100
  });
80
101
  });
102
+ this.wrapperRoot = new protobuf.Root();
81
103
  this.wrapperMessage = new protobuf.Type('WrapperMessage');
82
104
  this.wrapperMessage.add(new protobuf.Field('data', 1, 'google.protobuf.Any'));
83
105
  this.wrapperMessage.addJSON(protobuf.common['google/protobuf/any.proto'].nested);
106
+ this.wrapperRoot.add(this.wrapperMessage);
84
107
  return loadPromise;
85
108
  })
86
109
  .then(() => {
87
- console.log(ProtobufSerializer.root.toJSON());
88
110
  resolve();
89
111
  })
90
112
  .catch(reject);
@@ -118,6 +140,9 @@ export class ProtobufSerializer extends DataSerializer {
118
140
  const decodedData = this.wrapperMessage.decode(serializedData);
119
141
  const typeURL = decodedData.data.type_url;
120
142
  const MessageType = this.options.types.get(typeURL);
143
+ if (MessageType === undefined) {
144
+ throw new Error(`Unknown protobuf type '${typeURL}'`);
145
+ }
121
146
  const decodedMessage = MessageType.decode(decodedData.data.value);
122
147
  const finalType = dataType !== null && dataType !== void 0 ? dataType : this.knownTypes.get(typeURL);
123
148
  return this.options.deserializer.convertSingleValue(decodedMessage, DataSerializerUtils.ensureTypeDescriptor(finalType), DataSerializer.knownTypes, undefined, undefined, Object.assign(Object.assign({}, config), this.options));
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufSerializer.js","sourceRoot":"","sources":["../../src/ProtobufSerializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtobufSerializer.js","sourceRoot":"","sources":["../../src/ProtobufSerializer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import chalk from 'chalk';
3
- import { ProjectGenerator } from '../generator/';
3
+ import { ProjectGenerator } from '../generator/index.js';
4
4
  import '@openhps/rf';
5
5
  import * as path from 'path';
6
6
  import { input } from '@inquirer/prompts';
7
7
  import * as yargs from 'yargs';
8
8
  import { Absolute3DPosition, Accuracy1D, AngleUnit, DataFrame, DataObject, DataSerializer, LengthUnit, LinearVelocity, LinearVelocityUnit, Orientation, RelativeDistance, } from '@openhps/core';
9
- import { ProtobufSerializer } from '../ProtobufSerializer';
10
- import { expect } from 'chai';
9
+ import { ProtobufSerializer } from '../ProtobufSerializer.js';
10
+ import assert from 'node:assert/strict';
11
11
  const args = yargs.argv;
12
12
  const data = {
13
13
  directory: path.normalize('tmp'),
@@ -87,13 +87,13 @@ function test() {
87
87
  frame.addObject(new DataObject('test2', 'Test Object 2'));
88
88
  const buffer = ProtobufSerializer.serialize(frame);
89
89
  const deserialized = ProtobufSerializer.deserialize(buffer);
90
- expect(deserialized).to.not.be.undefined;
90
+ assert.notStrictEqual(deserialized, undefined, 'deserialization returned undefined');
91
91
  const compare1 = JSON.stringify(DataSerializer.serialize(deserialized), null, 2);
92
92
  const compare2 = JSON.stringify(DataSerializer.serialize(frame), null, 2);
93
93
  // console.log(compare1);
94
94
  // console.log('\n');
95
95
  // console.log(compare2);
96
- expect(compare1).to.eql(compare2);
96
+ assert.deepStrictEqual(compare1, compare2, 'round-tripped frame differs from the original');
97
97
  console.log(chalk.green(`Basic serialization and deserialization test completed!`));
98
98
  resolve();
99
99
  })
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/bin/generator.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,aAAa,CAAC;AACrB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACH,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,EACd,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,gBAAgB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,MAAM,IAAI,GAAgB,KAAK,CAAC,IAAW,CAAC;AAC5C,MAAM,IAAI,GAAG;IACT,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,SAAS,IAAI;;IACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAElE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;QAChG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,OAAO,CACX,MAAA,IAAI,CAAC,GAAG,CAAC,mCACL,KAAK,CAAC;QACF,OAAO,EAAE,4BAA4B;KACxC,CAAC,CACT,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,OAAO;IACZ,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,gBAAgB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ;IACb,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE;QAC1C,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS;KACxC,CAAC;SACG,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QACZ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,oCAAoC,CAAC,CAAC,CAAC;QACvE,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,EAAE;QACP,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,EAAS,EAAE,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAS,IAAI;IACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,YAAY;QACZ,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;aACxC,IAAI,CAAC,GAAG,EAAE;YACP,kBAAkB;YAClB,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACrD,MAAM,CAAC,WAAW,CAAC,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC;gBAChD,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;gBACR,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,cAAc,CAChD,CAAC,EACD,CAAC,EACD,CAAC,EACD,kBAAkB,CAAC,gBAAgB,CACtC,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC3E,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5E,MAAM,CAAC,mBAAmB,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACtB,KAAK,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACnD,MAAM,YAAY,GAAc,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACvE,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1E,yBAAyB;YACzB,qBAAqB;YACrB,yBAAyB;YACzB,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC,CAAC;YACpF,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/bin/generator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import './options';
1
+ import './options.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1,11 +1,13 @@
1
1
  import { DataSerializerUtils, SerializationUtils, ConcreteTypeDescriptor, } from '@openhps/core';
2
2
  import chalk from 'chalk';
3
3
  import { AnyT } from 'typedjson';
4
- import { HEADER } from './constants';
5
- import { ProtobufGenerator } from './ProtobufGenerator';
4
+ import { HEADER } from './constants.js';
5
+ import { ProtobufGenerator } from './ProtobufGenerator.js';
6
6
  /**
7
7
  * Protobuf object generator
8
8
  */
9
+ // `Object` here is the global constructor interface used by Constructor<T>, not the wrapper type.
10
+ /* eslint-disable @typescript-eslint/no-wrapper-object-types */
9
11
  export class ObjectGenerator extends ProtobufGenerator {
10
12
  processObject(object, metaData) {
11
13
  throw new Error('Method not implemented.');
@@ -13,9 +15,11 @@ export class ObjectGenerator extends ProtobufGenerator {
13
15
  generate(object, metaData) {
14
16
  throw new Error('Method not implemented.');
15
17
  }
18
+ /* eslint-enable @typescript-eslint/no-wrapper-object-types */
16
19
  static typeMapping(object, type, memberOptions, buildOptions) {
17
20
  switch (type.ctor) {
18
21
  case String:
22
+ case Date:
19
23
  return {
20
24
  syntax: 'string',
21
25
  };
@@ -35,6 +39,14 @@ export class ObjectGenerator extends ProtobufGenerator {
35
39
  };
36
40
  case Array: {
37
41
  const mappings = this.typeMapping(object, type.elementType, memberOptions, buildOptions);
42
+ // An array of a type protobuf cannot express — Set, Object, Function or
43
+ // a member with a custom serializer — maps to undefined, exactly as the
44
+ // Map case below already handles. Reading .syntax off it threw
45
+ // "Cannot read properties of undefined". The caller treats undefined as
46
+ // "omit this field".
47
+ if (mappings === undefined) {
48
+ return undefined;
49
+ }
38
50
  return {
39
51
  syntax: `repeated ${mappings.syntax}`,
40
52
  types: [mappings],
@@ -92,13 +104,18 @@ export class ObjectGenerator extends ProtobufGenerator {
92
104
  }
93
105
  }
94
106
  static processObject(object, buildOptions) {
95
- var _a, _b;
96
- object.protobuf = (_a = object.protobuf) !== null && _a !== void 0 ? _a : {
97
- generator: {
98
- subModules: new Set(),
99
- subTypes: [],
100
- allowOverride: true,
101
- },
107
+ var _a, _b, _c;
108
+ // object.protobuf is a slot shared with the runtime serializer, which fills it in
109
+ // as {messageType, messageTypeEnum, enumMapping} with no `generator` key. Guarding
110
+ // the whole object with `??` kept that value and then dereferenced a `generator`
111
+ // that was not there, so ProtobufSerializer.initialize() threw if anything had
112
+ // already initialised the serializer in the same process. Guard the two levels
113
+ // separately.
114
+ object.protobuf = (_a = object.protobuf) !== null && _a !== void 0 ? _a : {};
115
+ object.protobuf.generator = (_b = object.protobuf.generator) !== null && _b !== void 0 ? _b : {
116
+ subModules: new Set(),
117
+ subTypes: [],
118
+ allowOverride: true,
102
119
  };
103
120
  const dataMembers = object.dataMembers;
104
121
  // Parse object itself
@@ -144,11 +161,12 @@ export class ObjectGenerator extends ProtobufGenerator {
144
161
  object.protobuf.generator.subModules = modules;
145
162
  if (subTypes.length > 0 && (modules.size === 1 || !buildOptions.useAnyType)) {
146
163
  object.protobuf.generator.dataMembers = dataMembersClone;
147
- object.protobuf.generator.type = (_b = object.protobuf.generator.type) !== null && _b !== void 0 ? _b : object.classType;
164
+ object.protobuf.generator.type = (_c = object.protobuf.generator.type) !== null && _c !== void 0 ? _c : object.classType;
148
165
  subTypes.forEach((type) => {
149
- var _a;
166
+ var _a, _b;
150
167
  const subTypeMeta = DataSerializerUtils.getOwnMetadata(type);
151
- subTypeMeta.protobuf = (_a = subTypeMeta.protobuf) !== null && _a !== void 0 ? _a : { generator: {} };
168
+ subTypeMeta.protobuf = (_a = subTypeMeta.protobuf) !== null && _a !== void 0 ? _a : {};
169
+ subTypeMeta.protobuf.generator = (_b = subTypeMeta.protobuf.generator) !== null && _b !== void 0 ? _b : {};
152
170
  subTypeMeta.protobuf.generator.type = object.classType;
153
171
  });
154
172
  }
@@ -196,7 +214,7 @@ export class ObjectGenerator extends ProtobufGenerator {
196
214
  .map((member) => {
197
215
  var _a;
198
216
  const options = member.options && member.options.protobuf ? member.options.protobuf : {};
199
- let type = undefined;
217
+ let type;
200
218
  const memberName = (_a = options.name) !== null && _a !== void 0 ? _a : member.name;
201
219
  if (memberName === 'uid') {
202
220
  // Handle as UUID or string
@@ -289,7 +307,7 @@ export class ObjectGenerator extends ProtobufGenerator {
289
307
  return [
290
308
  packageStr,
291
309
  HEADER +
292
- `package ${packageStr.replace('@', '').replace('/', '.')};\n` +
310
+ `package ${packageStr.replace(/[@/-]/g, '')};\n` +
293
311
  `syntax = "proto3";\n` +
294
312
  imports
295
313
  .filter((value, idx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectGenerator.js","sourceRoot":"","sources":["../../../src/generator/ObjectGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ObjectGenerator.js","sourceRoot":"","sources":["../../../src/generator/ObjectGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,42 +1,85 @@
1
+ import { __awaiter } from "tslib";
1
2
  import { DataSerializer, DataSerializerUtils } from '@openhps/core';
2
- import { ObjectGenerator } from './ObjectGenerator';
3
+ import { ObjectGenerator } from './ObjectGenerator.js';
3
4
  import * as fs from 'fs-extra';
4
5
  import * as path from 'path';
5
6
  import chalk from 'chalk';
6
- import { COMMON } from './constants';
7
+ import { COMMON } from './constants.js';
7
8
  /**
8
9
  * Project generator
9
10
  */
10
11
  export class ProjectGenerator extends DataSerializer {
12
+ static findAllModules(dir) {
13
+ var _a;
14
+ const packageFile = path.resolve(path.join(dir, 'package.json'));
15
+ // require.main is undefined when mocha runs the specs through its ESM loader.
16
+ const mainPath = (_a = require.main) === null || _a === void 0 ? void 0 : _a.path;
17
+ if (mainPath !== undefined && packageFile === path.resolve(mainPath)) {
18
+ return [];
19
+ }
20
+ if (fs.existsSync(packageFile)) {
21
+ const packageJson = JSON.parse(fs.readFileSync(packageFile, { encoding: 'utf-8' }));
22
+ const dependencies = packageJson.dependencies;
23
+ const devDependencies = packageJson.devDependencies;
24
+ // Combine dependencies and devDependencies
25
+ const allDependencies = Object.assign(Object.assign({}, dependencies), devDependencies);
26
+ // Get the names of all modules
27
+ const allModuleNames = Object.keys(allDependencies);
28
+ const allModules = allModuleNames
29
+ .map((name) => {
30
+ try {
31
+ require(name);
32
+ return require.cache[require.resolve(name)];
33
+ }
34
+ catch (error) {
35
+ return null;
36
+ }
37
+ })
38
+ .filter(Boolean);
39
+ return allModules;
40
+ }
41
+ }
11
42
  static findModule(dir) {
12
- const packageFile = path.join(dir, 'package.json');
43
+ const resolvedDir = path.resolve(dir);
44
+ const packageFile = path.join(resolvedDir, 'package.json');
13
45
  if (fs.existsSync(packageFile)) {
14
46
  const packageJson = JSON.parse(fs.readFileSync(packageFile, { encoding: 'utf-8' }));
15
47
  return packageJson.name;
16
48
  }
17
49
  else {
18
- const completeDir = dir.split(path.sep);
19
- completeDir.pop();
20
- return this.findModule(completeDir.join(path.sep));
50
+ const parentDir = path.dirname(resolvedDir);
51
+ if (parentDir === resolvedDir) {
52
+ // Reached the filesystem root without finding a manifest
53
+ throw new Error(`Unable to find a package.json above '${dir}'`);
54
+ }
55
+ return this.findModule(parentDir);
21
56
  }
22
57
  }
23
58
  static loadModules(objects, module = require.main) {
24
59
  if (module === undefined) {
25
- // Use cache instead
26
- Object.values(require.cache).map((m) => this.loadModules(objects, m));
60
+ // Use cache instead. require.main is undefined under mocha's ESM loader, and
61
+ // the cache is typed as possibly holding undefined entries.
62
+ Object.values(require.cache)
63
+ .filter((cached) => cached !== undefined && Array.isArray(cached.children))
64
+ .forEach((cached) => this.loadModules(objects, cached));
27
65
  return;
28
66
  }
29
67
  this._modules.add(module.id);
30
- Object.keys(module.exports).forEach((key) => {
31
- const childModule = module.exports[key];
32
- if (objects.includes(childModule)) {
33
- childModule.prototype._module = this.findModule(path.dirname(require.resolve(module.id)));
34
- this._packages.add(childModule.prototype._module);
35
- }
36
- });
37
- module.children.forEach((module) => {
38
- if (!this._modules.has(module.id)) {
39
- this.loadModules(objects, module);
68
+ if (module.exports) {
69
+ Object.keys(module.exports).forEach((key) => {
70
+ const childModule = module.exports[key];
71
+ if (objects.includes(childModule)) {
72
+ childModule.prototype._module = this.findModule(path.dirname(require.resolve(module.id)));
73
+ this._packages.add(childModule.prototype._module);
74
+ }
75
+ });
76
+ }
77
+ if (!Array.isArray(module.children)) {
78
+ return;
79
+ }
80
+ module.children.forEach((child) => {
81
+ if (child !== undefined && !this._modules.has(child.id)) {
82
+ this.loadModules(objects, child);
40
83
  }
41
84
  });
42
85
  }
@@ -48,6 +91,10 @@ export class ProjectGenerator extends DataSerializer {
48
91
  }
49
92
  static loadClasses() {
50
93
  const declarations = [];
94
+ // Reset so a second build in the same process does not reuse stale module/package state
95
+ this._modules = new Set();
96
+ this._packages = new Set();
97
+ this.findAllModules('./');
51
98
  this.knownTypes.forEach((value) => {
52
99
  const metadata = DataSerializerUtils.getOwnMetadata(value);
53
100
  if (metadata) {
@@ -78,35 +125,40 @@ export class ProjectGenerator extends DataSerializer {
78
125
  }
79
126
  static buildProject(directory, options = {}) {
80
127
  return new Promise((resolve, reject) => {
81
- // Prepare directories
82
- if (fs.existsSync(directory)) {
83
- fs.rmSync(directory, { recursive: true });
84
- }
85
- fs.mkdirSync(directory, { recursive: true });
86
- // Get all class sources
87
- if (options.logLevel > 0) {
88
- console.log('Generating protocol buffer messages ...');
89
- console.log('Use of any types = ', options.useAnyType);
90
- }
91
- ProjectGenerator.generateProtoMessages(options)
92
- .then((classes) => {
128
+ (() => __awaiter(this, void 0, void 0, function* () {
129
+ const resolvedDirectory = path.resolve(directory);
130
+ // The CLI passes -d <dir> verbatim: refuse to delete the current working
131
+ // directory, one of its parents, or the filesystem root
132
+ if (resolvedDirectory === path.parse(resolvedDirectory).root ||
133
+ resolvedDirectory === process.cwd() ||
134
+ process.cwd().startsWith(resolvedDirectory + path.sep)) {
135
+ throw new Error(`Refusing to use '${resolvedDirectory}': it is the current working directory, a parent of it, or the filesystem root.`);
136
+ }
137
+ // Prepare directories
138
+ if (yield fs.pathExists(resolvedDirectory)) {
139
+ yield fs.promises.rm(resolvedDirectory, { recursive: true });
140
+ }
141
+ yield fs.promises.mkdir(resolvedDirectory, { recursive: true });
142
+ // Get all class sources
143
+ if (options.logLevel > 0) {
144
+ console.log('Generating protocol buffer messages ...');
145
+ console.log('Use of any types = ', options.useAnyType);
146
+ }
147
+ const classes = yield ProjectGenerator.generateProtoMessages(options);
93
148
  if (options.logLevel > 0)
94
149
  console.log('Saving generating protocol buffer messages ...');
95
- classes.forEach((value, key) => {
96
- const packageDir = path.join(directory, ...value[0].split('.'));
97
- if (!fs.existsSync(packageDir)) {
98
- fs.mkdirsSync(packageDir);
99
- }
100
- fs.writeFileSync(path.join(packageDir, key + '.proto'), value[1], {
150
+ for (const [key, value] of classes) {
151
+ const packageDir = path.join(resolvedDirectory, ...value[0].split('.'));
152
+ yield fs.ensureDir(packageDir);
153
+ yield fs.promises.writeFile(path.join(packageDir, key + '.proto'), value[1], {
101
154
  encoding: 'utf-8',
102
155
  });
103
- });
104
- fs.writeFileSync(path.join(directory, 'common.proto'), COMMON, {
156
+ }
157
+ yield fs.promises.writeFile(path.join(resolvedDirectory, 'common.proto'), COMMON, {
105
158
  encoding: 'utf-8',
106
159
  });
107
160
  resolve(classes.size);
108
- })
109
- .catch(reject);
161
+ }))().catch(reject);
110
162
  });
111
163
  }
112
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectGenerator.js","sourceRoot":"","sources":["../../../src/generator/ProjectGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectGenerator.js","sourceRoot":"","sources":["../../../src/generator/ProjectGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ProtobufGenerator } from './ProtobufGenerator';
1
+ import { ProtobufGenerator } from './ProtobufGenerator.js';
2
2
  export class ServiceGenerator extends ProtobufGenerator {
3
3
  processObject(object, metaData) {
4
4
  throw new Error('Method not implemented.');
@@ -2,14 +2,21 @@ export const HEADER = `/**
2
2
  * OpenHPS Protocol Buffer
3
3
  * This file was automatically generated with @openhps/protobuf
4
4
  *
5
- * (c) 2019-2023 Maxim Van de Wynckel & Vrije Universiteit Brussel
5
+ * (c) 2019-2026 Maxim Van de Wynckel & Vrije Universiteit Brussel
6
6
  **/\n
7
7
  `;
8
8
  export const COMMON = HEADER +
9
9
  `syntax = "proto3";` +
10
- `\n\nextend google.protobuf.EnumValueOptions {\n` +
11
- `\toptional string className = 1;\n` +
12
- `\toptional string packageName = 2;\n` +
10
+ // EnumValueOptions is declared in descriptor.proto. Extending it without importing
11
+ // that file leaves protobufjs unable to resolve the extension, and loading the
12
+ // generated schema fails with "unresolvable extensions".
13
+ `\nimport "google/protobuf/descriptor.proto";\n` +
14
+ `\nextend google.protobuf.EnumValueOptions {\n` +
15
+ // Field numbers 1 and 2 belong to EnumValueOptions' own fields; reusing them made
16
+ // protobufjs reject the schema with "duplicate id 1". Custom options must sit in
17
+ // the 50000-99999 range protobuf reserves for third-party extensions.
18
+ `\toptional string className = 50001;\n` +
19
+ `\toptional string packageName = 50002;\n` +
13
20
  `}\n`;
14
21
  // `\nextend google.protobuf.MessageOptions {\n` +
15
22
  // `\toptional string className = 1001;\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/generator/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;;;;;;CAMrB,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GACf,MAAM;IACN,oBAAoB;IACpB,iDAAiD;IACjD,oCAAoC;IACpC,sCAAsC;IACtC,KAAK,CAAC;AACV,kDAAkD;AAClD,4CAA4C;AAC5C,8CAA8C;AAC9C,SAAS"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/generator/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;;;;;;CAMrB,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GACf,MAAM;IACN,oBAAoB;IACpB,mFAAmF;IACnF,+EAA+E;IAC/E,yDAAyD;IACzD,gDAAgD;IAChD,+CAA+C;IAC/C,kFAAkF;IAClF,iFAAiF;IACjF,sEAAsE;IACtE,wCAAwC;IACxC,0CAA0C;IAC1C,KAAK,CAAC;AACV,kDAAkD;AAClD,4CAA4C;AAC5C,8CAA8C;AAC9C,SAAS"}
@@ -1,4 +1,4 @@
1
- export * from './ObjectGenerator';
2
- export * from './ProjectGenerator';
3
- export * from '../decorators';
1
+ export * from './ObjectGenerator.js';
2
+ export * from './ProjectGenerator.js';
3
+ export * from '../decorators/index.js';
4
4
  //# sourceMappingURL=index.js.map
package/dist/esm/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export * from './ProtobufSerializer';
2
- export * from './decorators';
1
+ export * from './ProtobufSerializer.js';
2
+ export * from './decorators/index.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1 @@
1
+ {"root":["../../src/InternalProtobufDeserializer.ts","../../src/InternalProtobufSerializer.ts","../../src/PrimitiveWrapper.ts","../../src/ProtobufSerializer.ts","../../src/index.ts","../../src/bin/generator.ts","../../src/decorators/index.ts","../../src/decorators/options.ts","../../src/generator/ObjectGenerator.ts","../../src/generator/ProjectGenerator.ts","../../src/generator/ProtobufGenerator.ts","../../src/generator/ServiceGenerator.ts","../../src/generator/constants.ts","../../src/generator/index.ts","../../src/generator/types.ts"],"version":"5.9.3"}
@@ -0,0 +1 @@
1
+ {"root":["../../src/InternalProtobufDeserializer.ts","../../src/InternalProtobufSerializer.ts","../../src/PrimitiveWrapper.ts","../../src/ProtobufSerializer.ts","../../src/index.ts","../../src/bin/generator.ts","../../src/decorators/index.ts","../../src/decorators/options.ts","../../src/generator/ObjectGenerator.ts","../../src/generator/ProjectGenerator.ts","../../src/generator/ProtobufGenerator.ts","../../src/generator/ServiceGenerator.ts","../../src/generator/constants.ts","../../src/generator/index.ts","../../src/generator/types.ts"],"version":"5.9.3"}
@@ -1,7 +1,5 @@
1
1
  import { ConcreteTypeDescriptor, Deserializer, IndexedObject, ObjectMemberMetadata, Serializable, TypeDescriptor } from '@openhps/core';
2
- import * as protobuf from 'protobufjs';
3
2
  export declare class InternalProtobufDeserializer extends Deserializer {
4
- protected static primitiveWrapper: protobuf.Type;
5
3
  constructor();
6
4
  convertSingleValue(sourceObject: any, typeDescriptor: TypeDescriptor, knownTypes: Map<string, Serializable<any>>, memberName?: string, memberOptions?: ObjectMemberMetadata, serializerOptions?: any): any;
7
5
  convertAsObject<T>(sourceObject: IndexedObject, typeDescriptor: ConcreteTypeDescriptor, knownTypes: Map<string, Serializable<any>>, memberName: string, deserializer: InternalProtobufDeserializer, memberOptions?: ObjectMemberMetadata, serializerOptions?: any): IndexedObject | T | undefined;