@dxos/codec-protobuf 2.33.5-dev.ea3876ba → 2.33.5-dev.fee8f5fe

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 (44) hide show
  1. package/dist/src/buffer-patch.d.ts +1 -1
  2. package/dist/src/buffer-patch.d.ts.map +1 -1
  3. package/dist/src/buffer-patch.js +4 -6
  4. package/dist/src/buffer-patch.js.map +1 -1
  5. package/dist/src/codec.d.ts +2 -0
  6. package/dist/src/codec.d.ts.map +1 -1
  7. package/dist/src/codec.js +5 -3
  8. package/dist/src/codec.js.map +1 -1
  9. package/dist/src/index.js +5 -1
  10. package/dist/src/index.js.map +1 -1
  11. package/dist/src/mapping.d.ts +1 -5
  12. package/dist/src/mapping.d.ts.map +1 -1
  13. package/dist/src/mapping.js +3 -52
  14. package/dist/src/mapping.js.map +1 -1
  15. package/dist/src/precompiled-mapping/codegen.d.ts +59 -0
  16. package/dist/src/precompiled-mapping/codegen.d.ts.map +1 -0
  17. package/dist/src/precompiled-mapping/codegen.js +86 -0
  18. package/dist/src/precompiled-mapping/codegen.js.map +1 -0
  19. package/dist/src/precompiled-mapping/create-message-mapper.d.ts +5 -0
  20. package/dist/src/precompiled-mapping/create-message-mapper.d.ts.map +1 -0
  21. package/dist/src/precompiled-mapping/create-message-mapper.js +91 -0
  22. package/dist/src/precompiled-mapping/create-message-mapper.js.map +1 -0
  23. package/dist/src/schema.d.ts +1 -0
  24. package/dist/src/schema.d.ts.map +1 -1
  25. package/dist/src/schema.js +14 -3
  26. package/dist/src/schema.js.map +1 -1
  27. package/dist/src/service.js +1 -3
  28. package/dist/src/service.js.map +1 -1
  29. package/dist/src/stream.js +2 -2
  30. package/dist/src/stream.js.map +1 -1
  31. package/dist/src/substitutions/index.js +5 -1
  32. package/dist/src/substitutions/index.js.map +1 -1
  33. package/dist/test/codec.test.js +5 -1
  34. package/dist/test/codec.test.js.map +1 -1
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +4 -4
  37. package/src/buffer-patch.ts +4 -6
  38. package/src/codec.ts +11 -4
  39. package/src/mapping.ts +2 -46
  40. package/src/precompiled-mapping/codegen.ts +91 -0
  41. package/src/precompiled-mapping/create-message-mapper.ts +61 -0
  42. package/src/schema.ts +7 -2
  43. package/src/service.ts +1 -3
  44. package/src/stream.ts +2 -2
@@ -3,7 +3,7 @@ import type { Codec } from './interface';
3
3
  /**
4
4
  * Protobuf codec returns instances of Uint8Arrays, but some storages expect to receive Buffers. This function patches the encode method to convert result into a Buffer.
5
5
  */
6
- export declare function patchBufferCodec(codec: Codec<any>): {
6
+ export declare const patchBufferCodec: (codec: Codec<any>) => {
7
7
  encode: (x: any) => Buffer;
8
8
  decode: (data: Uint8Array) => any;
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"buffer-patch.d.ts","sourceRoot":"","sources":["../../src/buffer-patch.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;gBAEnC,GAAG;;EAGlB"}
1
+ {"version":3,"file":"buffer-patch.d.ts","sourceRoot":"","sources":["../../src/buffer-patch.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,gBAAgB,UAAW,MAAM,GAAG,CAAC;gBACpC,GAAG;;CAEf,CAAC"}
@@ -7,11 +7,9 @@ exports.patchBufferCodec = void 0;
7
7
  /**
8
8
  * Protobuf codec returns instances of Uint8Arrays, but some storages expect to receive Buffers. This function patches the encode method to convert result into a Buffer.
9
9
  */
10
- function patchBufferCodec(codec) {
11
- return {
12
- encode: (x) => Buffer.from(codec.encode(x)),
13
- decode: codec.decode.bind(codec)
14
- };
15
- }
10
+ const patchBufferCodec = (codec) => ({
11
+ encode: (x) => Buffer.from(codec.encode(x)),
12
+ decode: codec.decode.bind(codec)
13
+ });
16
14
  exports.patchBufferCodec = patchBufferCodec;
17
15
  //# sourceMappingURL=buffer-patch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buffer-patch.js","sourceRoot":"","sources":["../../src/buffer-patch.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAIF;;GAEG;AACH,SAAgB,gBAAgB,CAAE,KAAiB;IACjD,OAAO;QACL,MAAM,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;KACjC,CAAC;AACJ,CAAC;AALD,4CAKC"}
1
+ {"version":3,"file":"buffer-patch.js","sourceRoot":"","sources":["../../src/buffer-patch.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAIF;;GAEG;AACI,MAAM,gBAAgB,GAAG,CAAC,KAAiB,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;CACjC,CAAC,CAAC;AAHU,QAAA,gBAAgB,oBAG1B"}
@@ -7,6 +7,8 @@ export declare class ProtoCodec<T = any> implements Codec<T> {
7
7
  private readonly _type;
8
8
  private readonly _mapping;
9
9
  private readonly _schema;
10
+ private readonly _encodeMapper;
11
+ private readonly _decodeMapper;
10
12
  constructor(_type: protobufjs.Type, _mapping: BidirectionalMapingDescriptors, _schema: Schema<any>);
11
13
  /**
12
14
  * Underlying protobuf.js type descriptor.
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/codec.ts"],"names":[],"mappings":"AAIA,OAAO,UAAU,EAAE,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,8BAA8B,EAAc,MAAM,WAAW,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,yBAAyB,EAAE,kBAMvC,CAAC;AAEF,qBAAa,UAAU,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IAEhD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAFP,KAAK,EAAE,UAAU,CAAC,IAAI,EACtB,QAAQ,EAAE,8BAA8B,EACxC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;IAGvC;;OAEG;IACH,IAAI,SAAS,IAAK,UAAU,CAAC,IAAI,CAEhC;IAED,IAAI,oBAAoB,IAAK,8BAA8B,CAE1D;IAED;;OAEG;IACH,IAAI,MAAM,IAAK,MAAM,CAAC,GAAG,CAAC,CAEzB;IAED,MAAM,CAAE,KAAK,EAAE,CAAC,GAAG,UAAU;IAK7B,MAAM,CAAE,IAAI,EAAE,UAAU,GAAG,CAAC;IAK5B;;OAEG;IACH,OAAO,CAAE,MAAM,EAAE,GAAG;CAGrB"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../src/codec.ts"],"names":[],"mappings":"AAIA,OAAO,UAAU,EAAE,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,yBAAyB,EAAE,kBAMvC,CAAC;AAEF,qBAAa,UAAU,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,KAAK,CAAC,CAAC,CAAC;IAKhD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAN1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAGpB,KAAK,EAAE,UAAU,CAAC,IAAI,EACtB,QAAQ,EAAE,8BAA8B,EACxC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC;IAMvC;;OAEG;IACH,IAAI,SAAS,IAAK,UAAU,CAAC,IAAI,CAEhC;IAED,IAAI,oBAAoB,IAAK,8BAA8B,CAE1D;IAED;;OAEG;IACH,IAAI,MAAM,IAAK,MAAM,CAAC,GAAG,CAAC,CAEzB;IAED,MAAM,CAAE,KAAK,EAAE,CAAC,GAAG,UAAU;IAK7B,MAAM,CAAE,IAAI,EAAE,UAAU,GAAG,CAAC;IAK5B;;OAEG;IACH,OAAO,CAAE,MAAM,EAAE,GAAG;CAGrB"}
package/dist/src/codec.js CHANGED
@@ -4,7 +4,7 @@
4
4
  //
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ProtoCodec = exports.OBJECT_CONVERSION_OPTIONS = void 0;
7
- const mapping_1 = require("./mapping");
7
+ const create_message_mapper_1 = require("./precompiled-mapping/create-message-mapper");
8
8
  exports.OBJECT_CONVERSION_OPTIONS = {
9
9
  // Represent long integers as strings.
10
10
  longs: String,
@@ -16,6 +16,8 @@ class ProtoCodec {
16
16
  this._type = _type;
17
17
  this._mapping = _mapping;
18
18
  this._schema = _schema;
19
+ this._encodeMapper = (0, create_message_mapper_1.createMessageMapper)(this._type, this._mapping.encode);
20
+ this._decodeMapper = (0, create_message_mapper_1.createMessageMapper)(this._type, this._mapping.decode);
19
21
  }
20
22
  /**
21
23
  * Underlying protobuf.js type descriptor.
@@ -33,12 +35,12 @@ class ProtoCodec {
33
35
  return this._schema;
34
36
  }
35
37
  encode(value) {
36
- const sub = (0, mapping_1.mapMessage)(this._type, this._mapping.encode, value, [this._schema]);
38
+ const sub = this._encodeMapper(value, [this._schema]);
37
39
  return this._type.encode(sub).finish();
38
40
  }
39
41
  decode(data) {
40
42
  const obj = this._type.toObject(this._type.decode(data), exports.OBJECT_CONVERSION_OPTIONS);
41
- return (0, mapping_1.mapMessage)(this._type, this._mapping.decode, obj, [this._schema]);
43
+ return this._decodeMapper(obj, [this._schema]);
42
44
  }
43
45
  /**
44
46
  * Dynamically add new definitions to this codec. Mutates the underlying schema.
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/codec.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAKF,uCAAuE;AAG1D,QAAA,yBAAyB,GAAuB;IAC3D,sCAAsC;IACtC,KAAK,EAAE,MAAM;IAEb,6DAA6D;IAC7D,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,MAAa,UAAU;IACrB,YACmB,KAAsB,EACtB,QAAwC,EACxC,OAAoB;QAFpB,UAAK,GAAL,KAAK,CAAiB;QACtB,aAAQ,GAAR,QAAQ,CAAgC;QACxC,YAAO,GAAP,OAAO,CAAa;IACpC,CAAC;IAEJ;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,MAAM,CAAE,KAAQ;QACd,MAAM,GAAG,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAE,IAAgB;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,iCAAyB,CAAC,CAAC;QACpF,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,OAAO,CAAE,MAAW;QAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AAzCD,gCAyCC"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../../src/codec.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAMF,uFAA0F;AAG7E,QAAA,yBAAyB,GAAuB;IAC3D,sCAAsC;IACtC,KAAK,EAAE,MAAM;IAEb,6DAA6D;IAC7D,MAAM,EAAE,IAAI;CACb,CAAC;AAEF,MAAa,UAAU;IAIrB,YACmB,KAAsB,EACtB,QAAwC,EACxC,OAAoB;QAFpB,UAAK,GAAL,KAAK,CAAiB;QACtB,aAAQ,GAAR,QAAQ,CAAgC;QACxC,YAAO,GAAP,OAAO,CAAa;QAErC,IAAI,CAAC,aAAa,GAAG,IAAA,2CAAmB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,CAAC,aAAa,GAAG,IAAA,2CAAmB,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,MAAM,CAAE,KAAQ;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAE,IAAgB;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,iCAAyB,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,OAAO,CAAE,MAAW;QAClB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF;AA/CD,gCA+CC"}
package/dist/src/index.js CHANGED
@@ -4,7 +4,11 @@
4
4
  //
5
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
6
  if (k2 === undefined) k2 = k;
7
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
8
12
  }) : (function(o, m, k, k2) {
9
13
  if (k2 === undefined) k2 = k;
10
14
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;AAEF,2CAAyB;AACzB,0CAAwB;AACxB,kDAAgC;AAChC,2CAAyB;AACzB,4CAA0B;AAC1B,iDAA+B;AAC/B,2CAAyB;AACzB,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;AAEF,2CAAyB;AACzB,0CAAwB;AACxB,kDAAgC;AAChC,2CAAyB;AACzB,4CAA0B;AAC1B,iDAA+B;AAC/B,2CAAyB;AACzB,8CAA4B"}
@@ -1,12 +1,8 @@
1
- import protobufjs from 'protobufjs';
2
1
  import { Substitutions } from './common';
3
2
  export declare type MapingDescriptors = Partial<Record<string, (value: any, ...extraArgs: any) => any>>;
4
3
  export interface BidirectionalMapingDescriptors {
5
4
  encode: MapingDescriptors;
6
5
  decode: MapingDescriptors;
7
6
  }
8
- export declare function createMappingDescriptors(substitutions: Substitutions): BidirectionalMapingDescriptors;
9
- export declare function mapMessage(type: protobufjs.Type, substitutions: MapingDescriptors, obj: any, extraArgs: any[]): any;
10
- export declare function mapField(field: protobufjs.Field, substitutions: MapingDescriptors, value: any, extraArgs: any[]): any;
11
- export declare function mapScalarField(field: protobufjs.Field, substitutions: MapingDescriptors, value: any, extraArgs: any[]): any;
7
+ export declare const createMappingDescriptors: (substitutions: Substitutions) => BidirectionalMapingDescriptors;
12
8
  //# sourceMappingURL=mapping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":"AAKA,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,oBAAY,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAA;AAE/F,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,wBAAgB,wBAAwB,CAAE,aAAa,EAAE,aAAa,GAAG,8BAA8B,CAWtG;AAED,wBAAgB,UAAU,CAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAS9G;AAED,wBAAgB,QAAQ,CAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAchH;AAED,wBAAgB,cAAc,CAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAYtH"}
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,oBAAY,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAA;AAE/F,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,eAAO,MAAM,wBAAwB,kBAAmB,aAAa,KAAG,8BAWvE,CAAC"}
@@ -2,14 +2,9 @@
2
2
  //
3
3
  // Copyright 2020 DXOS.org
4
4
  //
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
5
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.mapScalarField = exports.mapField = exports.mapMessage = exports.createMappingDescriptors = void 0;
10
- const assert_1 = __importDefault(require("assert"));
11
- const protobufjs_1 = __importDefault(require("protobufjs"));
12
- function createMappingDescriptors(substitutions) {
6
+ exports.createMappingDescriptors = void 0;
7
+ const createMappingDescriptors = (substitutions) => {
13
8
  const encode = {};
14
9
  const decode = {};
15
10
  for (const type of Object.keys(substitutions)) {
@@ -20,50 +15,6 @@ function createMappingDescriptors(substitutions) {
20
15
  encode,
21
16
  decode
22
17
  };
23
- }
18
+ };
24
19
  exports.createMappingDescriptors = createMappingDescriptors;
25
- function mapMessage(type, substitutions, obj, extraArgs) {
26
- const res = {};
27
- for (const field of type.fieldsArray) {
28
- if (!(field.name in obj)) {
29
- continue;
30
- }
31
- res[field.name] = mapField(field, substitutions, obj[field.name], extraArgs);
32
- }
33
- return res;
34
- }
35
- exports.mapMessage = mapMessage;
36
- function mapField(field, substitutions, value, extraArgs) {
37
- if (!field.required && (value === null || value === undefined)) {
38
- return value;
39
- }
40
- else if (field.repeated) {
41
- return value.map((value) => mapScalarField(field, substitutions, value, extraArgs));
42
- }
43
- else if (field.map) {
44
- (0, assert_1.default)(field instanceof protobufjs_1.default.MapField);
45
- return Object.fromEntries(Object.entries(value)
46
- .map(([key, value]) => [key, mapScalarField(field, substitutions, value, extraArgs)]));
47
- }
48
- else {
49
- return mapScalarField(field, substitutions, value, extraArgs);
50
- }
51
- }
52
- exports.mapField = mapField;
53
- function mapScalarField(field, substitutions, value, extraArgs) {
54
- if (!field.resolved) {
55
- field.resolve();
56
- }
57
- const substitution = field.resolvedType && substitutions[field.resolvedType.fullName.slice(1)];
58
- if (substitution) {
59
- return substitution(value, ...extraArgs); // TODO(unknown): Handle recursive substitutions.
60
- }
61
- else if (field.resolvedType && field.resolvedType instanceof protobufjs_1.default.Type) {
62
- return mapMessage(field.resolvedType, substitutions, value, extraArgs);
63
- }
64
- else {
65
- return value;
66
- }
67
- }
68
- exports.mapScalarField = mapScalarField;
69
20
  //# sourceMappingURL=mapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapping.js","sourceRoot":"","sources":["../../src/mapping.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAWK,MAAM,wBAAwB,GAAG,CAAC,aAA4B,EAAkC,EAAE;IACvG,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE;QAC7C,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;KAC3C;IACD,OAAO;QACL,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,wBAAwB,4BAWnC"}
@@ -0,0 +1,59 @@
1
+ declare const Ref: unique symbol;
2
+ interface Ref {
3
+ [Ref]: true;
4
+ value: any;
5
+ }
6
+ /**
7
+ * Pass a JS value by reference rather then parsing it as code.
8
+ *
9
+ * Usage example:
10
+ *
11
+ * ```typescript
12
+ * const double = x => x * 2;;
13
+ * codegen('add', ['a', 'b'], c => {
14
+ * c`const c = a + b;`;
15
+ * c`return ${ref(double)}(c)`;
16
+ * });
17
+ * ```
18
+ *
19
+ * would generate a function:
20
+ *
21
+ * ```typescript
22
+ * const double = x => x * 2;;
23
+ * function add(a, b) {
24
+ * const c = a + b;
25
+ * return double(c);
26
+ * }
27
+ * ```
28
+ */
29
+ export declare const ref: (value: any) => Ref;
30
+ /**
31
+ * DSL for runtime code generation.
32
+ *
33
+ * Example:
34
+ *
35
+ * ```typescript
36
+ * const multiplier = 5;
37
+ * codegen('add', ['a', 'b'], c => {
38
+ * c`const c = a + b;`;
39
+ * c`return c * ${multiplier};`;
40
+ * });
41
+ * ```
42
+ *
43
+ * would generate a function:
44
+ *
45
+ * ```typescript
46
+ * function add(a, b) {
47
+ * const c = a + b;
48
+ * return c * 5;
49
+ * }
50
+ * ```
51
+ *
52
+ * @param name Function name. Will appear in stack traces.
53
+ * @param args Names of function arguments.
54
+ * @param gen Closure that builds the function source.
55
+ * @param ctx Optional record with context variables that will appear in function's scope.
56
+ */
57
+ export declare const codegen: (name: string, args: string[], gen: (c: (parts: TemplateStringsArray, ...args: any[]) => void) => void, ctx?: Record<string, any>) => (...args: any[]) => any;
58
+ export {};
59
+ //# sourceMappingURL=codegen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../../src/precompiled-mapping/codegen.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,GAAG,eAAgB,CAAC;AAE1B,UAAU,GAAG;IACX,CAAC,GAAG,CAAC,EAAE,IAAI,CAAA;IACX,KAAK,EAAE,GAAG,CAAA;CACX;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,GAAG,UAAW,GAAG,KAAG,GAG/B,CAAC;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,OAAO,SAAU,MAAM,QAAQ,MAAM,EAAE,mBAAmB,oBAAoB,WAAW,GAAG,EAAE,KAAK,IAAI,KAAK,IAAI,QAAO,OAAO,MAAM,EAAE,GAAG,CAAC,eAAkB,GAAG,EAAE,KAAK,GAsBlL,CAAC"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.codegen = exports.ref = void 0;
7
+ const Ref = Symbol('Ref');
8
+ /**
9
+ * Pass a JS value by reference rather then parsing it as code.
10
+ *
11
+ * Usage example:
12
+ *
13
+ * ```typescript
14
+ * const double = x => x * 2;;
15
+ * codegen('add', ['a', 'b'], c => {
16
+ * c`const c = a + b;`;
17
+ * c`return ${ref(double)}(c)`;
18
+ * });
19
+ * ```
20
+ *
21
+ * would generate a function:
22
+ *
23
+ * ```typescript
24
+ * const double = x => x * 2;;
25
+ * function add(a, b) {
26
+ * const c = a + b;
27
+ * return double(c);
28
+ * }
29
+ * ```
30
+ */
31
+ const ref = (value) => ({
32
+ [Ref]: true,
33
+ value
34
+ });
35
+ exports.ref = ref;
36
+ const isRef = (value) => value[Ref] === true;
37
+ /**
38
+ * DSL for runtime code generation.
39
+ *
40
+ * Example:
41
+ *
42
+ * ```typescript
43
+ * const multiplier = 5;
44
+ * codegen('add', ['a', 'b'], c => {
45
+ * c`const c = a + b;`;
46
+ * c`return c * ${multiplier};`;
47
+ * });
48
+ * ```
49
+ *
50
+ * would generate a function:
51
+ *
52
+ * ```typescript
53
+ * function add(a, b) {
54
+ * const c = a + b;
55
+ * return c * 5;
56
+ * }
57
+ * ```
58
+ *
59
+ * @param name Function name. Will appear in stack traces.
60
+ * @param args Names of function arguments.
61
+ * @param gen Closure that builds the function source.
62
+ * @param ctx Optional record with context variables that will appear in function's scope.
63
+ */
64
+ const codegen = (name, args, gen, ctx = {}) => {
65
+ const newCtx = { ...ctx };
66
+ let nextAnnon = 1;
67
+ let buf = '';
68
+ gen((parts, ...args) => {
69
+ const preprocessArg = (arg) => {
70
+ if (isRef(arg)) {
71
+ const name = `anon${nextAnnon++}`;
72
+ newCtx[name] = arg.value;
73
+ return name;
74
+ }
75
+ else {
76
+ return arg;
77
+ }
78
+ };
79
+ buf += parts.map((s, i) => s + (i < args.length ? preprocessArg(args[i]) : '')).join('') + '\n';
80
+ });
81
+ const code = `return function ${name}(${args.join(', ')}) {\n${buf}\n}`;
82
+ // eslint-disable-next-line no-new-func
83
+ return Function(...Object.keys(newCtx), code)(...Object.values(newCtx));
84
+ };
85
+ exports.codegen = codegen;
86
+ //# sourceMappingURL=codegen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../src/precompiled-mapping/codegen.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAO1B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACI,MAAM,GAAG,GAAG,CAAC,KAAU,EAAO,EAAE,CAAC,CAAC;IACvC,CAAC,GAAG,CAAC,EAAE,IAAI;IACX,KAAK;CACN,CAAC,CAAC;AAHU,QAAA,GAAG,OAGb;AAEH,MAAM,KAAK,GAAG,CAAC,KAAU,EAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACI,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,IAAc,EAAE,GAAuE,EAAE,MAA2B,EAAE,EAA2B,EAAE;IACvL,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;QACrB,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAE,EAAE;YACjC,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;gBACd,MAAM,IAAI,GAAG,OAAO,SAAS,EAAE,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;gBACzB,OAAO,IAAI,CAAC;aACb;iBAAM;gBACL,OAAO,GAAG,CAAC;aACZ;QACH,CAAC,CAAC;QACF,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,mBAAmB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAExE,uCAAuC;IACvC,OAAO,QAAQ,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1E,CAAC,CAAC;AAtBW,QAAA,OAAO,WAsBlB"}
@@ -0,0 +1,5 @@
1
+ import * as pb from 'protobufjs';
2
+ import { MapingDescriptors } from '../mapping';
3
+ export declare type Mapper = (obj: any, extraArgs: any[]) => any;
4
+ export declare const createMessageMapper: (type: pb.Type, substitutions: MapingDescriptors) => Mapper;
5
+ //# sourceMappingURL=create-message-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-message-mapper.d.ts","sourceRoot":"","sources":["../../../src/precompiled-mapping/create-message-mapper.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,oBAAY,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAEzD,eAAO,MAAM,mBAAmB,SAAU,GAAG,IAAI,iBAAiB,iBAAiB,KAAG,MAAgE,CAAC"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ //
3
+ // Copyright 2022 DXOS.org
4
+ //
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ var __importDefault = (this && this.__importDefault) || function (mod) {
29
+ return (mod && mod.__esModule) ? mod : { "default": mod };
30
+ };
31
+ Object.defineProperty(exports, "__esModule", { value: true });
32
+ exports.createMessageMapper = void 0;
33
+ const assert_1 = __importDefault(require("assert"));
34
+ const pb = __importStar(require("protobufjs"));
35
+ const codegen_1 = require("./codegen");
36
+ const createMessageMapper = (type, substitutions) => createMessageMapperCached(type, substitutions, {}).map;
37
+ exports.createMessageMapper = createMessageMapper;
38
+ const createMessageMapperCached = (type, substitutions, cache) => {
39
+ if (!cache[type.fullName]) {
40
+ // Indirection to allow for recursive message types.
41
+ cache[type.fullName] = {};
42
+ cache[type.fullName].map = (0, codegen_1.codegen)(`${type.name}$map`, ['obj', 'extraArgs'], c => {
43
+ c `const res = {};`;
44
+ for (const field of type.fieldsArray) {
45
+ c `if(obj.${field.name} !== undefined && obj.${field.name} !== null) {`;
46
+ {
47
+ const genMapScalar = (value) => {
48
+ field.resolve();
49
+ const substitution = field.resolvedType && substitutions[field.resolvedType.fullName.slice(1)];
50
+ if (substitution) {
51
+ c `${(0, codegen_1.ref)(substitution)}(${value}, ...extraArgs)`;
52
+ }
53
+ else if (field.resolvedType && field.resolvedType instanceof pb.Type) {
54
+ const mapper = createMessageMapperCached(field.resolvedType, substitutions, cache);
55
+ c `${(0, codegen_1.ref)(mapper)}.map(${value}, extraArgs)`;
56
+ }
57
+ else {
58
+ c `${value}`;
59
+ }
60
+ };
61
+ // TODO(dmaretskyi): Support maps.
62
+ if (field.repeated) {
63
+ c `res.${field.name} = obj.${field.name}.map(item => `;
64
+ genMapScalar('item');
65
+ c `);`;
66
+ }
67
+ else if (field.map) {
68
+ (0, assert_1.default)(field instanceof pb.MapField);
69
+ c `res.${field.name} = {};`;
70
+ c `for(const key of Object.keys(obj.${field.name})) {`;
71
+ {
72
+ c `res.${field.name}[key] = `;
73
+ genMapScalar(`obj.${field.name}[key]`);
74
+ c `;`;
75
+ }
76
+ c `}`;
77
+ }
78
+ else {
79
+ c `res.${field.name} = `;
80
+ genMapScalar(`obj.${field.name}`);
81
+ c `;`;
82
+ }
83
+ }
84
+ c `}`;
85
+ }
86
+ c `return res;`;
87
+ });
88
+ }
89
+ return cache[type.fullName];
90
+ };
91
+ //# sourceMappingURL=create-message-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-message-mapper.js","sourceRoot":"","sources":["../../../src/precompiled-mapping/create-message-mapper.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class Schema<T, S = {}> {
6
6
  private _typesRoot;
7
7
  static fromJson<T extends Record<string, any>, S extends Record<string, any> = {}>(schema: any, substitutions?: Substitutions): Schema<T, S>;
8
8
  private readonly _mapping;
9
+ private readonly _codecCache;
9
10
  constructor(_typesRoot: protobufjs.Root, substitutions: Substitutions);
10
11
  getCodecForType<K extends keyof T & string>(typeName: K): ProtoCodec<T[K]>;
11
12
  tryGetCodecForType(typeName: string): ProtoCodec;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAKA,OAAO,UAAoB,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE;IASzB,OAAO,CAAC,UAAU;IARpB,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAAG,MAAM,EAAE,GAAG,EAAE,aAAa,GAAE,aAAkB,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAKjJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;gBAGhD,UAAU,EAAE,UAAU,CAAC,IAAI,EACnC,aAAa,EAAE,aAAa;IAK9B,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAG,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAQ3E,kBAAkB,CAAE,QAAQ,EAAE,MAAM,GAAG,UAAU;IAQjD,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAG,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAQzE;;OAEG;IACH,OAAO,CAAE,MAAM,EAAE,GAAG;CAMrB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":"AAKA,OAAO,UAAoB,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE;IAWzB,OAAO,CAAC,UAAU;IAVpB,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAAG,MAAM,EAAE,GAAG,EAAE,aAAa,GAAE,aAAkB,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAKjJ,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAE1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;gBAGnD,UAAU,EAAE,UAAU,CAAC,IAAI,EACnC,aAAa,EAAE,aAAa;IAK9B,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAG,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAU3E,kBAAkB,CAAE,QAAQ,EAAE,MAAM,GAAG,UAAU;IASjD,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAG,IAAI,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAQzE;;OAEG;IACH,OAAO,CAAE,MAAM,EAAE,GAAG;CAMrB"}
@@ -4,7 +4,11 @@
4
4
  //
5
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
6
  if (k2 === undefined) k2 = k;
7
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
8
12
  }) : (function(o, m, k, k2) {
9
13
  if (k2 === undefined) k2 = k;
10
14
  o[k2] = m[k];
@@ -34,6 +38,7 @@ const service_1 = require("./service");
34
38
  class Schema {
35
39
  constructor(_typesRoot, substitutions) {
36
40
  this._typesRoot = _typesRoot;
41
+ this._codecCache = {};
37
42
  this._mapping = (0, mapping_1.createMappingDescriptors)(substitutions);
38
43
  }
39
44
  static fromJson(schema, substitutions = {}) {
@@ -41,18 +46,24 @@ class Schema {
41
46
  return new Schema(root, substitutions);
42
47
  }
43
48
  getCodecForType(typeName) {
49
+ var _a;
50
+ var _b, _c;
44
51
  if (typeof typeName !== 'string') {
45
52
  throw new TypeError('Expected `typeName` argument to be a string');
46
53
  }
47
54
  const type = this._typesRoot.lookupType(typeName);
48
- return new codec_1.ProtoCodec(type, this._mapping, this);
55
+ (_a = (_b = this._codecCache)[_c = type.fullName]) !== null && _a !== void 0 ? _a : (_b[_c] = new codec_1.ProtoCodec(type, this._mapping, this));
56
+ return this._codecCache[type.fullName];
49
57
  }
50
58
  tryGetCodecForType(typeName) {
59
+ var _a;
60
+ var _b, _c;
51
61
  if (typeof typeName !== 'string') {
52
62
  throw new TypeError('Expected `typeName` argument to be a string');
53
63
  }
54
64
  const type = this._typesRoot.lookupType(typeName);
55
- return new codec_1.ProtoCodec(type, this._mapping, this);
65
+ (_a = (_b = this._codecCache)[_c = type.fullName]) !== null && _a !== void 0 ? _a : (_b[_c] = new codec_1.ProtoCodec(type, this._mapping, this));
66
+ return this._codecCache[type.fullName];
56
67
  }
57
68
  getService(name) {
58
69
  if (typeof name !== 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,gEAAiC;AACjC,yDAA8C;AAE9C,mCAAqC;AAErC,uCAAqF;AACrF,uCAA8C;AAE9C,MAAa,MAAM;IAQjB,YACU,UAA2B,EACnC,aAA4B;QADpB,eAAU,GAAV,UAAU,CAAiB;QAGnC,IAAI,CAAC,QAAQ,GAAG,IAAA,kCAAwB,EAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAZD,MAAM,CAAC,QAAQ,CAAqE,MAAW,EAAE,gBAA+B,EAAE;QAChI,MAAM,IAAI,GAAG,oBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;IAWD,eAAe,CAA8B,QAAW;QACtD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;SACpE;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO,IAAI,kBAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,kBAAkB,CAAE,QAAgB;QAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;SACpE;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO,IAAI,kBAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,UAAU,CAA8B,IAAO;QAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;SAChE;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,2BAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,OAAO,CAAE,MAAW;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,IAAI,CAAC,UAAU,GAAG,iBAAI,CAAC,QAAQ,CAAC,IAAA,sBAAK,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AAhDD,wBAgDC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/schema.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,gEAAiC;AACjC,yDAA8C;AAE9C,mCAAqC;AAErC,uCAAqF;AACrF,uCAA8C;AAE9C,MAAa,MAAM;IAUjB,YACU,UAA2B,EACnC,aAA4B;QADpB,eAAU,GAAV,UAAU,CAAiB;QAHpB,gBAAW,GAA+B,EAAE,CAAA;QAM3D,IAAI,CAAC,QAAQ,GAAG,IAAA,kCAAwB,EAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAdD,MAAM,CAAC,QAAQ,CAAqE,MAAW,EAAE,gBAA+B,EAAE;QAChI,MAAM,IAAI,GAAG,oBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;IAaD,eAAe,CAA8B,QAAW;;;QACtD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;SACpE;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClD,YAAA,IAAI,CAAC,WAAW,OAAC,IAAI,CAAC,QAAQ,8CAAM,IAAI,kBAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAC;QAC9E,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzC,CAAC;IAED,kBAAkB,CAAE,QAAgB;;;QAClC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;SACpE;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClD,YAAA,IAAI,CAAC,WAAW,OAAC,IAAI,CAAC,QAAQ,8CAAM,IAAI,kBAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAC;QAC9E,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,UAAU,CAA8B,IAAO;QAC7C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;SAChE;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,2BAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,OAAO,CAAE,MAAW;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,IAAI,CAAC,UAAU,GAAG,iBAAI,CAAC,QAAQ,CAAC,IAAA,sBAAK,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF;AArDD,wBAqDC"}
@@ -115,7 +115,5 @@ class ServiceHandler {
115
115
  }
116
116
  }
117
117
  exports.ServiceHandler = ServiceHandler;
118
- function mapRpcMethodName(name) {
119
- return name[0].toLocaleLowerCase() + name.substring(1);
120
- }
118
+ const mapRpcMethodName = (name) => name[0].toLocaleLowerCase() + name.substring(1);
121
119
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service.ts"],"names":[],"mappings":"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"}
@@ -133,9 +133,9 @@ exports.Stream = Stream;
133
133
  *
134
134
  * NOTE: Copied from @dxos/debug to avoid circular dependency.
135
135
  */
136
- function throwUnhandledRejection(error) {
136
+ const throwUnhandledRejection = (error) => {
137
137
  setTimeout(() => {
138
138
  throw error;
139
139
  });
140
- }
140
+ };
141
141
  //# sourceMappingURL=stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}