@openhps/protobuf 1.0.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 (137) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +165 -0
  3. package/dist/cjs/InternalProtobufDeserializer.js +152 -0
  4. package/dist/cjs/InternalProtobufDeserializer.js.map +1 -0
  5. package/dist/cjs/InternalProtobufSerializer.js +137 -0
  6. package/dist/cjs/InternalProtobufSerializer.js.map +1 -0
  7. package/dist/cjs/ProtobufSerializer.js +136 -0
  8. package/dist/cjs/ProtobufSerializer.js.map +1 -0
  9. package/dist/cjs/bin/generator.js +107 -0
  10. package/dist/cjs/bin/generator.js.map +1 -0
  11. package/dist/cjs/decorators/index.js +4 -0
  12. package/dist/cjs/decorators/index.js.map +1 -0
  13. package/dist/cjs/decorators/options.js +3 -0
  14. package/dist/cjs/decorators/options.js.map +1 -0
  15. package/dist/cjs/generator/ObjectGenerator.js +316 -0
  16. package/dist/cjs/generator/ObjectGenerator.js.map +1 -0
  17. package/dist/cjs/generator/ProjectGenerator.js +120 -0
  18. package/dist/cjs/generator/ProjectGenerator.js.map +1 -0
  19. package/dist/cjs/generator/ProtobufGenerator.js +31 -0
  20. package/dist/cjs/generator/ProtobufGenerator.js.map +1 -0
  21. package/dist/cjs/generator/ServiceGenerator.js +14 -0
  22. package/dist/cjs/generator/ServiceGenerator.js.map +1 -0
  23. package/dist/cjs/generator/constants.js +21 -0
  24. package/dist/cjs/generator/constants.js.map +1 -0
  25. package/dist/cjs/generator/index.js +7 -0
  26. package/dist/cjs/generator/index.js.map +1 -0
  27. package/dist/cjs/generator/types.js +3 -0
  28. package/dist/cjs/generator/types.js.map +1 -0
  29. package/dist/cjs/index.js +6 -0
  30. package/dist/cjs/index.js.map +1 -0
  31. package/dist/esm/InternalProtobufDeserializer.js +147 -0
  32. package/dist/esm/InternalProtobufDeserializer.js.map +1 -0
  33. package/dist/esm/InternalProtobufSerializer.js +132 -0
  34. package/dist/esm/InternalProtobufSerializer.js.map +1 -0
  35. package/dist/esm/ProtobufSerializer.js +131 -0
  36. package/dist/esm/ProtobufSerializer.js.map +1 -0
  37. package/dist/esm/bin/generator.js +104 -0
  38. package/dist/esm/bin/generator.js.map +1 -0
  39. package/dist/esm/decorators/index.js +2 -0
  40. package/dist/esm/decorators/index.js.map +1 -0
  41. package/dist/esm/decorators/options.js +2 -0
  42. package/dist/esm/decorators/options.js.map +1 -0
  43. package/dist/esm/generator/ObjectGenerator.js +311 -0
  44. package/dist/esm/generator/ObjectGenerator.js.map +1 -0
  45. package/dist/esm/generator/ProjectGenerator.js +115 -0
  46. package/dist/esm/generator/ProjectGenerator.js.map +1 -0
  47. package/dist/esm/generator/ProtobufGenerator.js +27 -0
  48. package/dist/esm/generator/ProtobufGenerator.js.map +1 -0
  49. package/dist/esm/generator/ServiceGenerator.js +10 -0
  50. package/dist/esm/generator/ServiceGenerator.js.map +1 -0
  51. package/dist/esm/generator/constants.js +18 -0
  52. package/dist/esm/generator/constants.js.map +1 -0
  53. package/dist/esm/generator/index.js +4 -0
  54. package/dist/esm/generator/index.js.map +1 -0
  55. package/dist/esm/generator/types.js +2 -0
  56. package/dist/esm/generator/types.js.map +1 -0
  57. package/dist/esm/index.js +3 -0
  58. package/dist/esm/index.js.map +1 -0
  59. package/dist/esm5/InternalProtobufDeserializer.js +147 -0
  60. package/dist/esm5/InternalProtobufDeserializer.js.map +1 -0
  61. package/dist/esm5/InternalProtobufSerializer.js +132 -0
  62. package/dist/esm5/InternalProtobufSerializer.js.map +1 -0
  63. package/dist/esm5/ProtobufSerializer.js +131 -0
  64. package/dist/esm5/ProtobufSerializer.js.map +1 -0
  65. package/dist/esm5/bin/generator.js +104 -0
  66. package/dist/esm5/bin/generator.js.map +1 -0
  67. package/dist/esm5/decorators/index.js +2 -0
  68. package/dist/esm5/decorators/index.js.map +1 -0
  69. package/dist/esm5/decorators/options.js +2 -0
  70. package/dist/esm5/decorators/options.js.map +1 -0
  71. package/dist/esm5/generator/ObjectGenerator.js +311 -0
  72. package/dist/esm5/generator/ObjectGenerator.js.map +1 -0
  73. package/dist/esm5/generator/ProjectGenerator.js +115 -0
  74. package/dist/esm5/generator/ProjectGenerator.js.map +1 -0
  75. package/dist/esm5/generator/ProtobufGenerator.js +27 -0
  76. package/dist/esm5/generator/ProtobufGenerator.js.map +1 -0
  77. package/dist/esm5/generator/ServiceGenerator.js +10 -0
  78. package/dist/esm5/generator/ServiceGenerator.js.map +1 -0
  79. package/dist/esm5/generator/constants.js +18 -0
  80. package/dist/esm5/generator/constants.js.map +1 -0
  81. package/dist/esm5/generator/index.js +4 -0
  82. package/dist/esm5/generator/index.js.map +1 -0
  83. package/dist/esm5/generator/types.js +2 -0
  84. package/dist/esm5/generator/types.js.map +1 -0
  85. package/dist/esm5/index.js +3 -0
  86. package/dist/esm5/index.js.map +1 -0
  87. package/dist/types/InternalProtobufDeserializer.d.ts +9 -0
  88. package/dist/types/InternalProtobufDeserializer.d.ts.map +1 -0
  89. package/dist/types/InternalProtobufSerializer.d.ts +23 -0
  90. package/dist/types/InternalProtobufSerializer.d.ts.map +1 -0
  91. package/dist/types/ProtobufSerializer.d.ts +32 -0
  92. package/dist/types/ProtobufSerializer.d.ts.map +1 -0
  93. package/dist/types/bin/generator.d.ts +3 -0
  94. package/dist/types/bin/generator.d.ts.map +1 -0
  95. package/dist/types/decorators/index.d.ts +2 -0
  96. package/dist/types/decorators/index.d.ts.map +1 -0
  97. package/dist/types/decorators/options.d.ts +30 -0
  98. package/dist/types/decorators/options.d.ts.map +1 -0
  99. package/dist/types/generator/ObjectGenerator.d.ts +22 -0
  100. package/dist/types/generator/ObjectGenerator.d.ts.map +1 -0
  101. package/dist/types/generator/ProjectGenerator.d.ts +17 -0
  102. package/dist/types/generator/ProjectGenerator.d.ts.map +1 -0
  103. package/dist/types/generator/ProtobufGenerator.d.ts +26 -0
  104. package/dist/types/generator/ProtobufGenerator.d.ts.map +1 -0
  105. package/dist/types/generator/ServiceGenerator.d.ts +7 -0
  106. package/dist/types/generator/ServiceGenerator.d.ts.map +1 -0
  107. package/dist/types/generator/constants.d.ts +3 -0
  108. package/dist/types/generator/constants.d.ts.map +1 -0
  109. package/dist/types/generator/index.d.ts +4 -0
  110. package/dist/types/generator/index.d.ts.map +1 -0
  111. package/dist/types/generator/types.d.ts +5 -0
  112. package/dist/types/generator/types.d.ts.map +1 -0
  113. package/dist/types/index.d.ts +3 -0
  114. package/dist/types/index.d.ts.map +1 -0
  115. package/dist/web/openhps-protobuf.es.js +15165 -0
  116. package/dist/web/openhps-protobuf.es.js.map +1 -0
  117. package/dist/web/openhps-protobuf.es.min.js +2 -0
  118. package/dist/web/openhps-protobuf.es.min.js.map +1 -0
  119. package/dist/web/openhps-protobuf.js +16722 -0
  120. package/dist/web/openhps-protobuf.js.map +1 -0
  121. package/dist/web/openhps-protobuf.min.js +2 -0
  122. package/dist/web/openhps-protobuf.min.js.map +1 -0
  123. package/package.json +96 -0
  124. package/src/InternalProtobufDeserializer.ts +245 -0
  125. package/src/InternalProtobufSerializer.ts +212 -0
  126. package/src/ProtobufSerializer.ts +168 -0
  127. package/src/bin/generator.ts +131 -0
  128. package/src/decorators/index.ts +1 -0
  129. package/src/decorators/options.ts +30 -0
  130. package/src/generator/ObjectGenerator.ts +377 -0
  131. package/src/generator/ProjectGenerator.ts +130 -0
  132. package/src/generator/ProtobufGenerator.ts +49 -0
  133. package/src/generator/ServiceGenerator.ts +11 -0
  134. package/src/generator/constants.ts +19 -0
  135. package/src/generator/index.ts +3 -0
  136. package/src/generator/types.ts +4 -0
  137. package/src/index.ts +2 -0
@@ -0,0 +1,115 @@
1
+ import { DataSerializer, DataSerializerUtils } from '@openhps/core';
2
+ import { ObjectGenerator } from './ObjectGenerator';
3
+ import * as fs from 'fs-extra';
4
+ import * as path from 'path';
5
+ import chalk from 'chalk';
6
+ import { COMMON } from './constants';
7
+ /**
8
+ * Project generator
9
+ */
10
+ export class ProjectGenerator extends DataSerializer {
11
+ static findModule(dir) {
12
+ const packageFile = path.join(dir, 'package.json');
13
+ if (fs.existsSync(packageFile)) {
14
+ const packageJson = JSON.parse(fs.readFileSync(packageFile, { encoding: 'utf-8' }));
15
+ return packageJson.name;
16
+ }
17
+ else {
18
+ const completeDir = dir.split(path.sep);
19
+ completeDir.pop();
20
+ return this.findModule(completeDir.join(path.sep));
21
+ }
22
+ }
23
+ static loadModules(objects, module = require.main) {
24
+ if (module === undefined) {
25
+ // Use cache instead
26
+ Object.values(require.cache).map((m) => this.loadModules(objects, m));
27
+ return;
28
+ }
29
+ 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);
40
+ }
41
+ });
42
+ }
43
+ static getPackages() {
44
+ if (this._packages.size === 0) {
45
+ this.loadClasses();
46
+ }
47
+ return Array.from(this._packages.values());
48
+ }
49
+ static loadClasses() {
50
+ const declarations = [];
51
+ this.knownTypes.forEach((value) => {
52
+ const metadata = DataSerializerUtils.getOwnMetadata(value);
53
+ if (metadata) {
54
+ declarations.push(metadata);
55
+ }
56
+ });
57
+ this.loadModules(declarations.map((d) => d.classType));
58
+ return declarations;
59
+ }
60
+ static generateProtoMessages(options) {
61
+ return new Promise((resolve) => {
62
+ const classes = new Map();
63
+ const metaData = this.loadClasses();
64
+ metaData.forEach((objectMetadata) => {
65
+ ObjectGenerator.processObject(objectMetadata, options);
66
+ });
67
+ metaData.forEach((objectMetadata) => {
68
+ if (options.logLevel > 2) {
69
+ console.log(chalk.italic(`Generating ${objectMetadata.classType.name}`, objectMetadata.classType.prototype._module
70
+ ? `of module ${objectMetadata.classType.prototype._module}`
71
+ : ''));
72
+ }
73
+ const javaClass = ObjectGenerator.createProtoMessage(objectMetadata, options);
74
+ classes.set(objectMetadata.classType.name, javaClass);
75
+ });
76
+ resolve(classes);
77
+ });
78
+ }
79
+ static buildProject(directory, options = {}) {
80
+ 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) => {
93
+ if (options.logLevel > 0)
94
+ 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], {
101
+ encoding: 'utf-8',
102
+ });
103
+ });
104
+ fs.writeFileSync(path.join(directory, 'common.proto'), COMMON, {
105
+ encoding: 'utf-8',
106
+ });
107
+ resolve(classes.size);
108
+ })
109
+ .catch(reject);
110
+ });
111
+ }
112
+ }
113
+ ProjectGenerator._modules = new Set();
114
+ ProjectGenerator._packages = new Set();
115
+ //# sourceMappingURL=ProjectGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectGenerator.js","sourceRoot":"","sources":["../../../src/generator/ProjectGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { NumberType } from '@openhps/core';
2
+ export class ProtobufGenerator {
3
+ constructor(options) {
4
+ /**
5
+ * Logger
6
+ */
7
+ this.logger = () => { };
8
+ this.options = options;
9
+ }
10
+ static getNumberType(numberType) {
11
+ switch (numberType) {
12
+ case NumberType.DECIMAL:
13
+ case NumberType.DOUBLE:
14
+ return 'double';
15
+ case NumberType.FLOAT:
16
+ return 'float';
17
+ case NumberType.LONG:
18
+ return 'int64';
19
+ case NumberType.INTEGER:
20
+ case NumberType.SHORT:
21
+ return 'int32';
22
+ default:
23
+ return 'string';
24
+ }
25
+ }
26
+ }
27
+ //# sourceMappingURL=ProtobufGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtobufGenerator.js","sourceRoot":"","sources":["../../../src/generator/ProtobufGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAwB,MAAM,eAAe,CAAC;AAE9E,MAAM,OAAgB,iBAAiB;IAOnC,YAAY,OAAkC;QAL9C;;WAEG;QACH,WAAM,GAA0C,GAAG,EAAE,GAAE,CAAC,CAAC;QAGrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAES,MAAM,CAAC,aAAa,CAAC,UAAsB;QACjD,QAAQ,UAAU,EAAE,CAAC;YACjB,KAAK,UAAU,CAAC,OAAO,CAAC;YACxB,KAAK,UAAU,CAAC,MAAM;gBAClB,OAAO,QAAQ,CAAC;YACpB,KAAK,UAAU,CAAC,KAAK;gBACjB,OAAO,OAAO,CAAC;YACnB,KAAK,UAAU,CAAC,IAAI;gBAChB,OAAO,OAAO,CAAC;YACnB,KAAK,UAAU,CAAC,OAAO,CAAC;YACxB,KAAK,UAAU,CAAC,KAAK;gBACjB,OAAO,OAAO,CAAC;YACnB;gBACI,OAAO,QAAQ,CAAC;QACxB,CAAC;IACL,CAAC;CAKJ"}
@@ -0,0 +1,10 @@
1
+ import { ProtobufGenerator } from './ProtobufGenerator';
2
+ export class ServiceGenerator extends ProtobufGenerator {
3
+ processObject(object, metaData) {
4
+ throw new Error('Method not implemented.');
5
+ }
6
+ generate(object, metaData) {
7
+ throw new Error('Method not implemented.');
8
+ }
9
+ }
10
+ //# sourceMappingURL=ServiceGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceGenerator.js","sourceRoot":"","sources":["../../../src/generator/ServiceGenerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAmB,MAAM,qBAAqB,CAAC;AAEzE,MAAM,OAAO,gBAAiB,SAAQ,iBAA0B;IAC5D,aAAa,CAAC,MAA4B,EAAE,QAA8B;QACtE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,QAAQ,CAAC,MAA4B,EAAE,QAA8B;QACjE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;CACJ"}
@@ -0,0 +1,18 @@
1
+ export const HEADER = `/**
2
+ * OpenHPS Protocol Buffer
3
+ * This file was automatically generated with @openhps/protobuf
4
+ *
5
+ * (c) 2019-2023 Maxim Van de Wynckel & Vrije Universiteit Brussel
6
+ **/\n
7
+ `;
8
+ export const COMMON = HEADER +
9
+ `syntax = "proto3";` +
10
+ `\n\nextend google.protobuf.EnumValueOptions {\n` +
11
+ `\toptional string className = 1;\n` +
12
+ `\toptional string packageName = 2;\n` +
13
+ `}\n`;
14
+ // `\nextend google.protobuf.MessageOptions {\n` +
15
+ // `\toptional string className = 1001;\n` +
16
+ // `\toptional string packageName = 1002;\n` +
17
+ // `}\n`;
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ export * from './ObjectGenerator';
2
+ export * from './ProjectGenerator';
3
+ export * from '../decorators';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/generator/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './ProtobufSerializer';
2
+ export * from './decorators';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { ConcreteTypeDescriptor, Deserializer, IndexedObject, ObjectMemberMetadata, Serializable, TypeDescriptor } from '@openhps/core';
2
+ import * as protobuf from 'protobufjs';
3
+ export declare class InternalProtobufDeserializer extends Deserializer {
4
+ protected static primitiveWrapper: protobuf.Type;
5
+ constructor();
6
+ convertSingleValue(sourceObject: any, typeDescriptor: TypeDescriptor, knownTypes: Map<string, Serializable<any>>, memberName?: string, memberOptions?: ObjectMemberMetadata, serializerOptions?: any): any;
7
+ convertAsObject<T>(sourceObject: IndexedObject, typeDescriptor: ConcreteTypeDescriptor, knownTypes: Map<string, Serializable<any>>, memberName: string, deserializer: InternalProtobufDeserializer, memberOptions?: ObjectMemberMetadata, serializerOptions?: any): IndexedObject | T | undefined;
8
+ }
9
+ //# sourceMappingURL=InternalProtobufDeserializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalProtobufDeserializer.d.ts","sourceRoot":"","sources":["../../src/InternalProtobufDeserializer.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EACtB,YAAY,EACZ,aAAa,EAEb,oBAAoB,EAEpB,YAAY,EACZ,cAAc,EAGjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAGvC,qBAAa,4BAA6B,SAAQ,YAAY;IAC1D,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC;;IAgDjD,kBAAkB,CACd,YAAY,EAAE,GAAG,EACjB,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAC1C,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,oBAAoB,EACpC,iBAAiB,CAAC,EAAE,GAAG,GACxB,GAAG;IAyCN,eAAe,CAAC,CAAC,EACb,YAAY,EAAE,aAAa,EAC3B,cAAc,EAAE,sBAAsB,EACtC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,EAC1C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,4BAA4B,EAC1C,aAAa,CAAC,EAAE,oBAAoB,EACpC,iBAAiB,CAAC,EAAE,GAAG,GACxB,aAAa,GAAG,CAAC,GAAG,SAAS;CA4HnC"}
@@ -0,0 +1,23 @@
1
+ import { ConcreteTypeDescriptor, IndexedObject, MapTypeDescriptor, ObjectMemberMetadata, Serializer, TypeDescriptor } from '@openhps/core';
2
+ import { Type } from 'protobufjs';
3
+ export declare class InternalProtobufSerializer extends Serializer {
4
+ protected static primitiveWrapper: Type;
5
+ constructor();
6
+ convertSingleValue(sourceObject: any, typeDescriptor: TypeDescriptor, memberName?: string, memberOptions?: ObjectMemberMetadata, serializerOptions?: any): any;
7
+ convertAsObject(sourceObject: IndexedObject, typeDescriptor: ConcreteTypeDescriptor, memberName: string, serializer: InternalProtobufSerializer, memberOptions?: ObjectMemberMetadata, serializerOptions?: any): IndexedObject;
8
+ /**
9
+ * Performs the conversion of a map of typed objects (or primitive values) into an array
10
+ * of simple javascript objects with `key` and `value` properties.
11
+ * @param sourceObject
12
+ * @param typeDescriptor
13
+ * @param memberName
14
+ * @param serializer
15
+ * @param memberOptions
16
+ * @param serializerOptions
17
+ */
18
+ convertAsMap(sourceObject: Map<any, any>, typeDescriptor: MapTypeDescriptor, memberName: string, serializer: Serializer, memberOptions?: ObjectMemberMetadata, serializerOptions?: any): IndexedObject | Array<{
19
+ key: any;
20
+ value: any;
21
+ }>;
22
+ }
23
+ //# sourceMappingURL=InternalProtobufSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InternalProtobufSerializer.d.ts","sourceRoot":"","sources":["../../src/InternalProtobufSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EACtB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EAEpB,UAAU,EACV,cAAc,EAGjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAIlC,qBAAa,0BAA2B,SAAQ,UAAU;IACtD,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC;;IASxC,kBAAkB,CACd,YAAY,EAAE,GAAG,EACjB,cAAc,EAAE,cAAc,EAC9B,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,oBAAoB,EACpC,iBAAiB,CAAC,EAAE,GAAG,GACxB,GAAG;IA0CN,eAAe,CACX,YAAY,EAAE,aAAa,EAC3B,cAAc,EAAE,sBAAsB,EACtC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,0BAA0B,EACtC,aAAa,CAAC,EAAE,oBAAoB,EACpC,iBAAiB,CAAC,EAAE,GAAG;IAsG3B;;;;;;;;;OASG;IACH,YAAY,CACR,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,EAC3B,cAAc,EAAE,iBAAiB,EACjC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,EACtB,aAAa,CAAC,EAAE,oBAAoB,EACpC,iBAAiB,CAAC,EAAE,GAAG,GACxB,aAAa,GAAG,KAAK,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;CAarD"}
@@ -0,0 +1,32 @@
1
+ import { Constructor, DataSerializer, DataSerializerConfig } from '@openhps/core';
2
+ import * as protobuf from 'protobufjs';
3
+ export declare class ProtobufSerializer extends DataSerializer {
4
+ protected static wrapperMessage: protobuf.Type;
5
+ protected static options: ProtobufSerializerConfig;
6
+ protected static root: protobuf.Root;
7
+ private static getFiles;
8
+ /**
9
+ * Initialize the protocol buffer serializer
10
+ * @param {string} [directory] Directory of generated protocol messages. Default will generate on the fly
11
+ * @returns {Promise<void>} Promise once initialized
12
+ */
13
+ static initialize(directory?: string): Promise<void>;
14
+ /**
15
+ * Serialize data
16
+ * @param {any} data Data to serialize
17
+ * @param {DataSerializerConfig} [config] Data serializer configuration
18
+ * @returns {Uint8Array} Serialized buffer
19
+ */
20
+ static serialize<T>(data: T, config?: DataSerializerConfig): Uint8Array;
21
+ /**
22
+ * Deserialize data
23
+ * @param serializedData Data to deserialze
24
+ * @param dataType Optional data type to specify deserialization type
25
+ * @param config Data serializer configuration
26
+ */
27
+ static deserialize<T>(serializedData: Uint8Array | any, dataType?: Constructor<T>, config?: DataSerializerConfig): T;
28
+ }
29
+ export interface ProtobufSerializerConfig extends DataSerializerConfig {
30
+ types: Map<string, protobuf.Type>;
31
+ }
32
+ //# sourceMappingURL=ProtobufSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtobufSerializer.d.ts","sourceRoot":"","sources":["../../src/ProtobufSerializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAuB,MAAM,eAAe,CAAC;AAEvG,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAMvC,qBAAa,kBAAmB,SAAQ,cAAc;IAClD,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC;IAC/C,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAIhD;IACF,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAErC,OAAO,CAAC,MAAM,CAAC,QAAQ;IAgBvB;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2EpD;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU;IAgBvE;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,EAChB,cAAc,EAAE,UAAU,GAAG,GAAG,EAChC,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,EACzB,MAAM,CAAC,EAAE,oBAAoB,GAC9B,CAAC;CAkBP;AAED,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IAClE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CACrC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import '@openhps/rf';
3
+ //# sourceMappingURL=generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/bin/generator.ts"],"names":[],"mappings":";AAIA,OAAO,aAAa,CAAC"}
@@ -0,0 +1,2 @@
1
+ import './options';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { SerializableObjectOptions, MemberOptionsBase, ObjectMetadata, Serializable } from '@openhps/core';
2
+ import { Type } from 'protobufjs';
3
+ export type { SerializableObjectOptions, MemberOptionsBase, ObjectMetadata };
4
+ declare module '@openhps/core/dist/types/data/decorators/options' {
5
+ interface MemberOptionsBase {
6
+ protobuf?: {
7
+ optional?: boolean;
8
+ name?: string;
9
+ };
10
+ }
11
+ }
12
+ declare module '@openhps/core/dist/types/data/decorators/metadata' {
13
+ interface ObjectMetadata {
14
+ protobuf?: {
15
+ messageType?: Type;
16
+ messageTypeEnum?: number;
17
+ enumMapping?: Map<number, string>;
18
+ generator?: {
19
+ subTypes?: Serializable<any>[];
20
+ subModules?: Set<string>;
21
+ type?: Serializable<any>;
22
+ dataMembers?: Map<string, ObjectMemberMetadata & {
23
+ subMembers?: Map<string, ObjectMemberMetadata>;
24
+ }>;
25
+ allowOverride?: boolean;
26
+ };
27
+ };
28
+ }
29
+ }
30
+ //# sourceMappingURL=options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/decorators/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC3G,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,YAAY,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC;AAE7E,OAAO,QAAQ,kDAAkD,CAAC;IAC9D,UAAiB,iBAAiB;QAC9B,QAAQ,CAAC,EAAE;YACP,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,IAAI,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACL;CACJ;AAED,OAAO,QAAQ,mDAAmD,CAAC;IAC/D,UAAiB,cAAc;QAC3B,QAAQ,CAAC,EAAE;YACP,WAAW,CAAC,EAAE,IAAI,CAAC;YACnB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,SAAS,CAAC,EAAE;gBACR,QAAQ,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;gBACzB,IAAI,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;gBACzB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,GAAG;oBAAE,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;iBAAE,CAAC,CAAC;gBACrG,aAAa,CAAC,EAAE,OAAO,CAAC;aAC3B,CAAC;SACL,CAAC;KACL;CACJ"}
@@ -0,0 +1,22 @@
1
+ import { ObjectMemberMetadata, ObjectMetadata, TypeDescriptor } from '@openhps/core';
2
+ import { Constructor } from 'typedjson';
3
+ import { ProtobufGenerator, ProtobufMessage } from './ProtobufGenerator';
4
+ import { ProjectBuildOptions } from './types';
5
+ /**
6
+ * Protobuf object generator
7
+ */
8
+ export declare class ObjectGenerator extends ProtobufGenerator<Object> {
9
+ processObject(object: Constructor<Object>, metaData: ObjectMemberMetadata): Promise<void>;
10
+ generate(object: Constructor<Object>, metaData: ObjectMemberMetadata): Promise<ProtobufMessage>;
11
+ protected static typeMapping(object: ObjectMetadata, type: TypeDescriptor, memberOptions: ObjectMemberMetadata, buildOptions: ProjectBuildOptions): TypeMapping;
12
+ static processObject(object: ObjectMetadata, buildOptions: ProjectBuildOptions): void;
13
+ static createProtoMessage(object: ObjectMetadata, buildOptions: ProjectBuildOptions): [string, string];
14
+ }
15
+ export type ProtobufPrimitive = 'string' | 'int32' | 'bool' | 'bytes';
16
+ export interface TypeMapping {
17
+ syntax: ProtobufPrimitive | string;
18
+ types?: TypeMapping[];
19
+ package?: string;
20
+ name?: string;
21
+ }
22
+ //# sourceMappingURL=ObjectGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/ObjectGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,oBAAoB,EACpB,cAAc,EAEd,cAAc,EAGjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAQ,WAAW,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAC1D,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzF,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAI/F,SAAS,CAAC,MAAM,CAAC,WAAW,CACxB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,aAAa,EAAE,oBAAoB,EACnC,YAAY,EAAE,mBAAmB,GAClC,WAAW;IAmGd,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,GAAG,IAAI;IAiErF,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;CA0KzG;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AACtE,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAAC;IACnC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,17 @@
1
+ /// <reference types="node" />
2
+ import { DataSerializer, ObjectMetadata, Serializable } from '@openhps/core';
3
+ import { ProjectBuildOptions } from './types';
4
+ /**
5
+ * Project generator
6
+ */
7
+ export declare class ProjectGenerator extends DataSerializer {
8
+ private static _modules;
9
+ private static _packages;
10
+ static findModule(dir: string): string;
11
+ static loadModules(objects: Array<Serializable<any>>, module?: NodeModule): void;
12
+ static getPackages(): string[];
13
+ static loadClasses(): Array<ObjectMetadata>;
14
+ static generateProtoMessages(options: ProjectBuildOptions): Promise<Map<string, [string, string]>>;
15
+ static buildProject(directory: string, options?: ProjectBuildOptions): Promise<number>;
16
+ }
17
+ //# sourceMappingURL=ProjectGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/ProjectGenerator.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAuB,cAAc,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAMlG,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,MAAM,CAAC,SAAS,CAA0B;IAElD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAYtC,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAE,UAAyB;IAqBvF,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;IAO9B,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,cAAc,CAAC;IAY3C,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IA2BlG,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC;CAmC7F"}
@@ -0,0 +1,26 @@
1
+ import { Constructor, NumberType, ObjectMemberMetadata } from '@openhps/core';
2
+ export declare abstract class ProtobufGenerator<T> {
3
+ protected options: ProtobufGeneratorOptions;
4
+ /**
5
+ * Logger
6
+ */
7
+ logger: (level: string, message: any) => void;
8
+ constructor(options?: ProtobufGeneratorOptions);
9
+ protected static getNumberType(numberType: NumberType): string;
10
+ abstract processObject(object: Constructor<T>, metaData: ObjectMemberMetadata): Promise<void>;
11
+ abstract generate(object: Constructor<T>, metaData: ObjectMemberMetadata): Promise<ProtobufMessage>;
12
+ }
13
+ export interface ProtobufGeneratorOptions {
14
+ }
15
+ export interface ProtobufMessage {
16
+ body: string;
17
+ namespace: string;
18
+ }
19
+ export type ProtobufPrimitive = 'string' | 'int32' | 'bool' | 'bytes';
20
+ export interface TypeMapping {
21
+ syntax: ProtobufPrimitive | string;
22
+ types?: TypeMapping[];
23
+ package?: string;
24
+ name?: string;
25
+ }
26
+ //# sourceMappingURL=ProtobufGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtobufGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/ProtobufGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE9E,8BAAsB,iBAAiB,CAAC,CAAC;IACrC,SAAS,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC5C;;OAEG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,CAAY;gBAE7C,OAAO,CAAC,EAAE,wBAAwB;IAI9C,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAiB9D,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7F,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;CACtG;AAED,MAAM,WAAW,wBAAwB;CAAG;AAE5C,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AACtE,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAAC;IACnC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,7 @@
1
+ import { Constructor, ObjectMemberMetadata, Service } from '@openhps/core';
2
+ import { ProtobufGenerator, ProtobufMessage } from './ProtobufGenerator';
3
+ export declare class ServiceGenerator extends ProtobufGenerator<Service> {
4
+ processObject(object: Constructor<Service>, metaData: ObjectMemberMetadata): Promise<void>;
5
+ generate(object: Constructor<Service>, metaData: ObjectMemberMetadata): Promise<ProtobufMessage>;
6
+ }
7
+ //# sourceMappingURL=ServiceGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServiceGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/ServiceGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEzE,qBAAa,gBAAiB,SAAQ,iBAAiB,CAAC,OAAO,CAAC;IAC5D,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAG1F,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;CAGnG"}
@@ -0,0 +1,3 @@
1
+ export declare const HEADER = "/**\n * OpenHPS Protocol Buffer \n * This file was automatically generated with @openhps/protobuf\n * \n * (c) 2019-2023 Maxim Van de Wynckel & Vrije Universiteit Brussel\n **/\n\n";
2
+ export declare const COMMON: string;
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/generator/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM,0LAMlB,CAAC;AAEF,eAAO,MAAM,MAAM,QAMV,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './ObjectGenerator';
2
+ export * from './ProjectGenerator';
3
+ export * from '../decorators';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generator/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface ProjectBuildOptions {
2
+ logLevel?: number;
3
+ useAnyType?: boolean;
4
+ }
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/generator/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ export * from './ProtobufSerializer';
2
+ export * from './decorators';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC"}