@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.
- package/LICENSE +190 -0
- package/README.md +165 -0
- package/dist/cjs/InternalProtobufDeserializer.js +152 -0
- package/dist/cjs/InternalProtobufDeserializer.js.map +1 -0
- package/dist/cjs/InternalProtobufSerializer.js +137 -0
- package/dist/cjs/InternalProtobufSerializer.js.map +1 -0
- package/dist/cjs/ProtobufSerializer.js +136 -0
- package/dist/cjs/ProtobufSerializer.js.map +1 -0
- package/dist/cjs/bin/generator.js +107 -0
- package/dist/cjs/bin/generator.js.map +1 -0
- package/dist/cjs/decorators/index.js +4 -0
- package/dist/cjs/decorators/index.js.map +1 -0
- package/dist/cjs/decorators/options.js +3 -0
- package/dist/cjs/decorators/options.js.map +1 -0
- package/dist/cjs/generator/ObjectGenerator.js +316 -0
- package/dist/cjs/generator/ObjectGenerator.js.map +1 -0
- package/dist/cjs/generator/ProjectGenerator.js +120 -0
- package/dist/cjs/generator/ProjectGenerator.js.map +1 -0
- package/dist/cjs/generator/ProtobufGenerator.js +31 -0
- package/dist/cjs/generator/ProtobufGenerator.js.map +1 -0
- package/dist/cjs/generator/ServiceGenerator.js +14 -0
- package/dist/cjs/generator/ServiceGenerator.js.map +1 -0
- package/dist/cjs/generator/constants.js +21 -0
- package/dist/cjs/generator/constants.js.map +1 -0
- package/dist/cjs/generator/index.js +7 -0
- package/dist/cjs/generator/index.js.map +1 -0
- package/dist/cjs/generator/types.js +3 -0
- package/dist/cjs/generator/types.js.map +1 -0
- package/dist/cjs/index.js +6 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/InternalProtobufDeserializer.js +147 -0
- package/dist/esm/InternalProtobufDeserializer.js.map +1 -0
- package/dist/esm/InternalProtobufSerializer.js +132 -0
- package/dist/esm/InternalProtobufSerializer.js.map +1 -0
- package/dist/esm/ProtobufSerializer.js +131 -0
- package/dist/esm/ProtobufSerializer.js.map +1 -0
- package/dist/esm/bin/generator.js +104 -0
- package/dist/esm/bin/generator.js.map +1 -0
- package/dist/esm/decorators/index.js +2 -0
- package/dist/esm/decorators/index.js.map +1 -0
- package/dist/esm/decorators/options.js +2 -0
- package/dist/esm/decorators/options.js.map +1 -0
- package/dist/esm/generator/ObjectGenerator.js +311 -0
- package/dist/esm/generator/ObjectGenerator.js.map +1 -0
- package/dist/esm/generator/ProjectGenerator.js +115 -0
- package/dist/esm/generator/ProjectGenerator.js.map +1 -0
- package/dist/esm/generator/ProtobufGenerator.js +27 -0
- package/dist/esm/generator/ProtobufGenerator.js.map +1 -0
- package/dist/esm/generator/ServiceGenerator.js +10 -0
- package/dist/esm/generator/ServiceGenerator.js.map +1 -0
- package/dist/esm/generator/constants.js +18 -0
- package/dist/esm/generator/constants.js.map +1 -0
- package/dist/esm/generator/index.js +4 -0
- package/dist/esm/generator/index.js.map +1 -0
- package/dist/esm/generator/types.js +2 -0
- package/dist/esm/generator/types.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm5/InternalProtobufDeserializer.js +147 -0
- package/dist/esm5/InternalProtobufDeserializer.js.map +1 -0
- package/dist/esm5/InternalProtobufSerializer.js +132 -0
- package/dist/esm5/InternalProtobufSerializer.js.map +1 -0
- package/dist/esm5/ProtobufSerializer.js +131 -0
- package/dist/esm5/ProtobufSerializer.js.map +1 -0
- package/dist/esm5/bin/generator.js +104 -0
- package/dist/esm5/bin/generator.js.map +1 -0
- package/dist/esm5/decorators/index.js +2 -0
- package/dist/esm5/decorators/index.js.map +1 -0
- package/dist/esm5/decorators/options.js +2 -0
- package/dist/esm5/decorators/options.js.map +1 -0
- package/dist/esm5/generator/ObjectGenerator.js +311 -0
- package/dist/esm5/generator/ObjectGenerator.js.map +1 -0
- package/dist/esm5/generator/ProjectGenerator.js +115 -0
- package/dist/esm5/generator/ProjectGenerator.js.map +1 -0
- package/dist/esm5/generator/ProtobufGenerator.js +27 -0
- package/dist/esm5/generator/ProtobufGenerator.js.map +1 -0
- package/dist/esm5/generator/ServiceGenerator.js +10 -0
- package/dist/esm5/generator/ServiceGenerator.js.map +1 -0
- package/dist/esm5/generator/constants.js +18 -0
- package/dist/esm5/generator/constants.js.map +1 -0
- package/dist/esm5/generator/index.js +4 -0
- package/dist/esm5/generator/index.js.map +1 -0
- package/dist/esm5/generator/types.js +2 -0
- package/dist/esm5/generator/types.js.map +1 -0
- package/dist/esm5/index.js +3 -0
- package/dist/esm5/index.js.map +1 -0
- package/dist/types/InternalProtobufDeserializer.d.ts +9 -0
- package/dist/types/InternalProtobufDeserializer.d.ts.map +1 -0
- package/dist/types/InternalProtobufSerializer.d.ts +23 -0
- package/dist/types/InternalProtobufSerializer.d.ts.map +1 -0
- package/dist/types/ProtobufSerializer.d.ts +32 -0
- package/dist/types/ProtobufSerializer.d.ts.map +1 -0
- package/dist/types/bin/generator.d.ts +3 -0
- package/dist/types/bin/generator.d.ts.map +1 -0
- package/dist/types/decorators/index.d.ts +2 -0
- package/dist/types/decorators/index.d.ts.map +1 -0
- package/dist/types/decorators/options.d.ts +30 -0
- package/dist/types/decorators/options.d.ts.map +1 -0
- package/dist/types/generator/ObjectGenerator.d.ts +22 -0
- package/dist/types/generator/ObjectGenerator.d.ts.map +1 -0
- package/dist/types/generator/ProjectGenerator.d.ts +17 -0
- package/dist/types/generator/ProjectGenerator.d.ts.map +1 -0
- package/dist/types/generator/ProtobufGenerator.d.ts +26 -0
- package/dist/types/generator/ProtobufGenerator.d.ts.map +1 -0
- package/dist/types/generator/ServiceGenerator.d.ts +7 -0
- package/dist/types/generator/ServiceGenerator.d.ts.map +1 -0
- package/dist/types/generator/constants.d.ts +3 -0
- package/dist/types/generator/constants.d.ts.map +1 -0
- package/dist/types/generator/index.d.ts +4 -0
- package/dist/types/generator/index.d.ts.map +1 -0
- package/dist/types/generator/types.d.ts +5 -0
- package/dist/types/generator/types.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/web/openhps-protobuf.es.js +15165 -0
- package/dist/web/openhps-protobuf.es.js.map +1 -0
- package/dist/web/openhps-protobuf.es.min.js +2 -0
- package/dist/web/openhps-protobuf.es.min.js.map +1 -0
- package/dist/web/openhps-protobuf.js +16722 -0
- package/dist/web/openhps-protobuf.js.map +1 -0
- package/dist/web/openhps-protobuf.min.js +2 -0
- package/dist/web/openhps-protobuf.min.js.map +1 -0
- package/package.json +96 -0
- package/src/InternalProtobufDeserializer.ts +245 -0
- package/src/InternalProtobufSerializer.ts +212 -0
- package/src/ProtobufSerializer.ts +168 -0
- package/src/bin/generator.ts +131 -0
- package/src/decorators/index.ts +1 -0
- package/src/decorators/options.ts +30 -0
- package/src/generator/ObjectGenerator.ts +377 -0
- package/src/generator/ProjectGenerator.ts +130 -0
- package/src/generator/ProtobufGenerator.ts +49 -0
- package/src/generator/ServiceGenerator.ts +11 -0
- package/src/generator/constants.ts +19 -0
- package/src/generator/index.ts +3 -0
- package/src/generator/types.ts +4 -0
- 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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/generator/types.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/bin/generator.ts"],"names":[],"mappings":";AAIA,OAAO,aAAa,CAAC"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC"}
|