@mxpicture/gcp-functions-generator 0.2.69 → 0.2.71

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 (99) hide show
  1. package/dist/4testing/templates/template.example.d.ts +3 -35
  2. package/dist/4testing/templates/template.example.d.ts.map +1 -1
  3. package/dist/4testing/templates/template.example.js +103 -181
  4. package/dist/4testing/templates/template.example.js.map +1 -1
  5. package/dist/4testing/templates/template.medication.d.ts +1 -27
  6. package/dist/4testing/templates/template.medication.d.ts.map +1 -1
  7. package/dist/4testing/templates/template.medication.js +76 -141
  8. package/dist/4testing/templates/template.medication.js.map +1 -1
  9. package/dist/4testing/templates/template.settings.d.ts +1 -23
  10. package/dist/4testing/templates/template.settings.d.ts.map +1 -1
  11. package/dist/4testing/templates/template.settings.js +38 -73
  12. package/dist/4testing/templates/template.settings.js.map +1 -1
  13. package/dist/common/Barrel.d.ts +4 -4
  14. package/dist/common/Barrel.d.ts.map +1 -1
  15. package/dist/common/Collector.d.ts +5 -6
  16. package/dist/common/Collector.d.ts.map +1 -1
  17. package/dist/common/Collector.js +2 -2
  18. package/dist/common/Collector.js.map +1 -1
  19. package/dist/common/Directories.d.ts +12 -12
  20. package/dist/common/Directories.d.ts.map +1 -1
  21. package/dist/common/Directories.js +4 -4
  22. package/dist/common/Directories.js.map +1 -1
  23. package/dist/common/Extractor.d.ts +4 -28
  24. package/dist/common/Extractor.d.ts.map +1 -1
  25. package/dist/common/Extractor.js +11 -185
  26. package/dist/common/Extractor.js.map +1 -1
  27. package/dist/common/file.common.d.ts +5 -5
  28. package/dist/common/file.common.d.ts.map +1 -1
  29. package/dist/common/file.common.js +6 -6
  30. package/dist/common/file.common.js.map +1 -1
  31. package/dist/common/generator.common.d.ts +3 -3
  32. package/dist/common/generator.common.d.ts.map +1 -1
  33. package/dist/common/generator.common.js +2 -2
  34. package/dist/common/generator.common.js.map +1 -1
  35. package/dist/common/index.d.ts +0 -1
  36. package/dist/common/index.d.ts.map +1 -1
  37. package/dist/common/index.js +0 -1
  38. package/dist/common/index.js.map +1 -1
  39. package/dist/common/types.common.d.ts +4 -4
  40. package/dist/common/types.common.d.ts.map +1 -1
  41. package/dist/{meta/meta.imports.d.ts → decorator/deco.imports.d.ts} +3 -3
  42. package/dist/decorator/deco.imports.d.ts.map +1 -0
  43. package/dist/{meta/meta.imports.js → decorator/deco.imports.js} +1 -1
  44. package/dist/decorator/deco.imports.js.map +1 -0
  45. package/dist/decorator/deco.names.d.ts +13 -0
  46. package/dist/decorator/deco.names.d.ts.map +1 -0
  47. package/dist/decorator/deco.names.js +93 -0
  48. package/dist/decorator/deco.names.js.map +1 -0
  49. package/dist/decorator/index.d.ts +3 -0
  50. package/dist/decorator/index.d.ts.map +1 -0
  51. package/dist/decorator/index.js +4 -0
  52. package/dist/decorator/index.js.map +1 -0
  53. package/dist/generator/Generator.d.ts +26 -21
  54. package/dist/generator/Generator.d.ts.map +1 -1
  55. package/dist/generator/Generator.js +24 -23
  56. package/dist/generator/Generator.js.map +1 -1
  57. package/dist/generator/GeneratorAnnotations.d.ts +2 -4
  58. package/dist/generator/GeneratorAnnotations.d.ts.map +1 -1
  59. package/dist/generator/GeneratorAnnotations.js +24 -23
  60. package/dist/generator/GeneratorAnnotations.js.map +1 -1
  61. package/dist/generator/GeneratorBackend.d.ts +8 -8
  62. package/dist/generator/GeneratorBackend.d.ts.map +1 -1
  63. package/dist/generator/GeneratorBackend.js +21 -18
  64. package/dist/generator/GeneratorBackend.js.map +1 -1
  65. package/dist/generator/GeneratorDoc.d.ts +2 -4
  66. package/dist/generator/GeneratorDoc.d.ts.map +1 -1
  67. package/dist/generator/GeneratorDoc.js +24 -8
  68. package/dist/generator/GeneratorDoc.js.map +1 -1
  69. package/dist/generator/GeneratorFrontend.d.ts +7 -7
  70. package/dist/generator/GeneratorFrontend.d.ts.map +1 -1
  71. package/dist/generator/GeneratorFrontend.js +19 -16
  72. package/dist/generator/GeneratorFrontend.js.map +1 -1
  73. package/dist/generator/GeneratorRoutes.d.ts +5 -6
  74. package/dist/generator/GeneratorRoutes.d.ts.map +1 -1
  75. package/dist/generator/GeneratorRoutes.js +15 -9
  76. package/dist/generator/GeneratorRoutes.js.map +1 -1
  77. package/dist/generator/GeneratorZod.d.ts +19 -19
  78. package/dist/generator/GeneratorZod.d.ts.map +1 -1
  79. package/dist/generator/GeneratorZod.js +19 -17
  80. package/dist/generator/GeneratorZod.js.map +1 -1
  81. package/package.json +10 -7
  82. package/dist/common/Evaluate.d.ts +0 -13
  83. package/dist/common/Evaluate.d.ts.map +0 -1
  84. package/dist/common/Evaluate.js +0 -121
  85. package/dist/common/Evaluate.js.map +0 -1
  86. package/dist/meta/index.d.ts +0 -4
  87. package/dist/meta/index.d.ts.map +0 -1
  88. package/dist/meta/index.js +0 -5
  89. package/dist/meta/index.js.map +0 -1
  90. package/dist/meta/meta.decorators.d.ts +0 -19
  91. package/dist/meta/meta.decorators.d.ts.map +0 -1
  92. package/dist/meta/meta.decorators.js +0 -23
  93. package/dist/meta/meta.decorators.js.map +0 -1
  94. package/dist/meta/meta.imports.d.ts.map +0 -1
  95. package/dist/meta/meta.imports.js.map +0 -1
  96. package/dist/meta/meta.names.d.ts +0 -14
  97. package/dist/meta/meta.names.d.ts.map +0 -1
  98. package/dist/meta/meta.names.js +0 -98
  99. package/dist/meta/meta.names.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorAnnotations.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorAnnotations.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EACZ,cAAc,EACf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAW1D,qBAAa,oBAAqB,SAAQ,SAAS;;cAUxB,SAAS,CAChC,UAAU,EAAE,YAAY,EACxB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,cAAc,GACxB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CA8GjC;;AAED,wBAA0C"}
1
+ {"version":3,"file":"GeneratorAnnotations.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorAnnotations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgB5E,qBAAa,oBAAqB,SAAQ,SAAS;;cAUxB,SAAS,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAgHjC;;AAED,wBAA0C"}
@@ -1,17 +1,18 @@
1
- import { MetaFileType, MetaFileExtension, MetaTargetType, mapAnnotationsHeader, } from "@mxpicture/gcp-functions-common/meta";
2
1
  import { Generator } from "./Generator.js";
3
2
  import { Collector } from "../common/Collector.js";
4
3
  import { formatJsonStringify } from "@mxpicture/build-api/code";
4
+ import { DecoFileExtension, DecoFileType, DecoTargetType, } from "@mxpicture/gcp-functions-common/decorator";
5
5
  const typeRegex = /\"type\": \"([a-zA-Z][a-zA-Z0-9]*)\"/;
6
- const itemTypeRegex = /\"itemType\": \"(MetaPropertyType\.|)([a-zA-Z][a-zA-Z0-9]*)\"/;
6
+ const itemTypeRegex = /\"itemType\": \"(DecoPropertyType\.|)([a-zA-Z][a-zA-Z0-9]*)\"/;
7
7
  const propertyRefRegex = /\"propertyRef\": \"([a-zA-Z][a-zA-Z0-9]*)\"/;
8
8
  const subHeaderNameRegex = /\"subHeaderName\": \"([a-zA-Z][a-zA-Z0-9]*)\"/;
9
9
  const dateFormatRegex = /\"dateFormat\": \"([a-zA-Z][a-zA-Z0-9]*)\"/;
10
10
  export class GeneratorAnnotations extends Generator {
11
11
  constructor() {
12
- super(MetaFileType.annotations, MetaFileExtension.ts, MetaTargetType.common, Collector.instance());
12
+ super(DecoFileType.annotations, DecoFileExtension.ts, DecoTargetType.common, Collector.instance());
13
13
  }
14
- async runHeader(mainHeader, names, allParams) {
14
+ async runHeader(current) {
15
+ const names = current.names;
15
16
  const res = {
16
17
  code: [],
17
18
  imports: [
@@ -26,16 +27,16 @@ export class GeneratorAnnotations extends Generator {
26
27
  isType: false,
27
28
  },
28
29
  {
29
- path: this.importCommon(MetaFileType.doc),
30
+ path: this.importCommon(DecoFileType.doc),
30
31
  props: [names.doc],
31
32
  isType: true,
32
33
  },
33
34
  ],
34
- name: mainHeader.templateName,
35
+ name: current.decorator.name,
35
36
  };
36
- const importMetaProps = new Set();
37
- const importMetaTypeProps = new Set();
38
- const header = mapAnnotationsHeader(mainHeader, allParams);
37
+ const importDecoProps = new Set();
38
+ const importDecoTypeProps = new Set();
39
+ const header = current.decorator.extractAnnotations();
39
40
  const json = await formatJsonStringify(JSON.stringify(header));
40
41
  const lines = json.split("\n");
41
42
  res.code.push("", `export const ${names.initialFunc} = (): Partial<${names.doc}> => annoDocInitial(${names.annotations}.properties);`, "");
@@ -46,29 +47,29 @@ export class GeneratorAnnotations extends Generator {
46
47
  let match = null;
47
48
  match = line.match(typeRegex);
48
49
  while (match && match.length > 1) {
49
- importMetaProps.add("MetaPropertyType");
50
- line = line.replace(typeRegex, `type: MetaPropertyType.${match[1]}`);
50
+ importDecoProps.add("DecoPropertyType");
51
+ line = line.replace(typeRegex, `type: DecoPropertyType.${match[1]}`);
51
52
  match = line.match(typeRegex);
52
53
  }
53
54
  // itemType
54
55
  match = line.match(itemTypeRegex);
55
56
  while (match && match.length > 2) {
56
- importMetaProps.add("MetaPropertyType");
57
- line = line.replace(itemTypeRegex, `itemType: MetaPropertyType.${match[2]}`);
57
+ importDecoProps.add("DecoPropertyType");
58
+ line = line.replace(itemTypeRegex, `itemType: DecoPropertyType.${match[2]}`);
58
59
  match = line.match(itemTypeRegex);
59
60
  }
60
61
  // propertyRef
61
62
  match = line.match(propertyRefRegex);
62
63
  while (match && match.length > 1) {
63
- importMetaTypeProps.add("MetaPropertyDataWoType");
64
- line = line.replace(propertyRefRegex, `propertyRef: "${match[1]}" as keyof MetaPropertyDataWoType`);
64
+ importDecoTypeProps.add("DecoPropertyDataWoType");
65
+ line = line.replace(propertyRefRegex, `propertyRef: "${match[1]}" as keyof DecoPropertyDataWoType`);
65
66
  match = line.match(propertyRefRegex);
66
67
  }
67
68
  // dateFormat
68
69
  match = line.match(dateFormatRegex);
69
70
  while (match && match.length > 1) {
70
- importMetaProps.add("MetaDateFormat");
71
- line = line.replace(dateFormatRegex, `dateFormat: MetaDateFormat.${match[1]}`);
71
+ importDecoProps.add("DecoDateFormat");
72
+ line = line.replace(dateFormatRegex, `dateFormat: DecoDateFormat.${match[1]}`);
72
73
  match = line.match(dateFormatRegex);
73
74
  }
74
75
  // subHeader(Name)
@@ -80,16 +81,16 @@ export class GeneratorAnnotations extends Generator {
80
81
  res.code.push(line);
81
82
  }
82
83
  res.code.push(";");
83
- if (importMetaTypeProps.size > 0)
84
+ if (importDecoTypeProps.size > 0)
84
85
  res.imports.push({
85
- path: "@mxpicture/gcp-functions-common/meta",
86
- props: [...importMetaTypeProps],
86
+ path: "@mxpicture/gcp-functions-common/decorator",
87
+ props: [...importDecoTypeProps],
87
88
  isType: true,
88
89
  });
89
- if (importMetaProps.size > 0)
90
+ if (importDecoProps.size > 0)
90
91
  res.imports.push({
91
- path: "@mxpicture/gcp-functions-common/meta",
92
- props: [...importMetaProps],
92
+ path: "@mxpicture/gcp-functions-common/decorator",
93
+ props: [...importDecoProps],
93
94
  isType: false,
94
95
  });
95
96
  return res;
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorAnnotations.js","sourceRoot":"","sources":["../../src/generator/GeneratorAnnotations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeneratorAnnotations.js","sourceRoot":"","sources":["../../src/generator/GeneratorAnnotations.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import type { MetaNames } from "@mxpicture/gcp-functions-common/types";
2
- import { MetaHeadData, MetaRoutes, MetaRunHeaders } from "@mxpicture/gcp-functions-common/meta";
3
- import { Generator, GeneratorCode } from "./Generator.js";
1
+ import { DecoNames } from "@mxpicture/gcp-functions-common/decorator";
2
+ import { Generator, GeneratorCode, GeneratorRunItem, GeneratorRunItems } from "./Generator.js";
4
3
  import { GeneratorEnv } from "../common/types.common.js";
4
+ import { DecoRoutes } from "@mxpicture/gcp-functions-common/types";
5
5
  export declare class GeneratorBackend extends Generator {
6
6
  constructor();
7
- protected runHeader(header: MetaHeadData, names: MetaNames, allParams: MetaRunHeaders, env: GeneratorEnv): Promise<GeneratorCode | null>;
8
- protected buildApi(routes: MetaRoutes, names: MetaNames): string[];
9
- protected buildFunction(names: MetaNames, datePaths: string[]): string[];
10
- protected buildStore(names: MetaNames, namespace: string): string[];
11
- protected buildCreate(names: MetaNames, region: string, serviceAccount: string): string[];
7
+ protected runHeader(current: GeneratorRunItem, all: GeneratorRunItems, env: GeneratorEnv): Promise<GeneratorCode | null>;
8
+ protected buildApi(routes: DecoRoutes, names: DecoNames): string[];
9
+ protected buildFunction(names: DecoNames, datePaths: string[]): string[];
10
+ protected buildStore(names: DecoNames, namespace: string): string[];
11
+ protected buildCreate(names: DecoNames, region: string, serviceAccount: string): string[];
12
12
  }
13
13
  declare const _default: GeneratorBackend;
14
14
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorBackend.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorBackend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAOL,YAAY,EAEZ,UAAU,EACV,cAAc,EAEf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,qBAAa,gBAAiB,SAAQ,SAAS;;cAWpB,SAAS,CAChC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAwFhC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IA6BlE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAexE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAQnE,SAAS,CAAC,WAAW,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,MAAM,EAAE;CAiBZ;;AAED,wBAAsC"}
1
+ {"version":3,"file":"GeneratorBackend.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorBackend.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,SAAS,EACV,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAGnE,qBAAa,gBAAiB,SAAQ,SAAS;;cAUpB,SAAS,CAChC,OAAO,EAAE,gBAAgB,EACzB,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,YAAY,GAChB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAwFhC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IA6BlE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAexE,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE;IAQnE,SAAS,CAAC,WAAW,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,GACrB,MAAM,EAAE;CAiBZ;;AAED,wBAAsC"}
@@ -1,21 +1,24 @@
1
- import { extractAnnotationsPaths, hasCrudRoute, isCrudRoute, mapAnnotationsHeader, MetaFileExtension, MetaFileType, MetaPropertyType, MetaTargetType, } from "@mxpicture/gcp-functions-common/meta";
2
- import { Generator } from "./Generator.js";
1
+ import { hasCrudRoute, isCrudRoute, DecoFileExtension, DecoFileType, DecoPropertyType, DecoTargetType, } from "@mxpicture/gcp-functions-common/decorator";
2
+ import { Generator, } from "./Generator.js";
3
3
  import { Collector } from "../common/Collector.js";
4
+ import { extractAnnotationsPaths } from "@mxpicture/gcp-functions-common/annotation";
4
5
  export class GeneratorBackend extends Generator {
5
6
  constructor() {
6
- super(MetaFileType.backend, MetaFileExtension.ts, MetaTargetType.backend, Collector.instance(), true);
7
+ super(DecoFileType.backend, DecoFileExtension.ts, DecoTargetType.backend, Collector.instance());
7
8
  }
8
- async runHeader(header, names, allParams, env) {
9
- if (Object.keys(header.routes).length === 0)
9
+ async runHeader(current, all, env) {
10
+ const raw = current.decorator.extractRaw();
11
+ if (!raw.routes || Object.keys(raw.routes).length === 0)
10
12
  return null;
11
- const namespace = header.namespace ?? "default";
12
- const annoHeader = mapAnnotationsHeader(header, allParams);
13
- const datePaths = extractAnnotationsPaths(annoHeader.properties, MetaPropertyType.date, MetaPropertyType.createTime, MetaPropertyType.updateTime);
13
+ const namespace = raw.namespace ?? "default";
14
+ const names = current.names;
15
+ const header = current.decorator.extractAnnotations();
16
+ const datePaths = extractAnnotationsPaths(header.properties, DecoPropertyType.date);
14
17
  return {
15
18
  code: [
16
19
  ...this.buildFunction(names, datePaths),
17
20
  "",
18
- ...this.buildApi(header.routes, names),
21
+ ...this.buildApi(raw.routes, names),
19
22
  "",
20
23
  ...this.buildStore(names, namespace),
21
24
  "",
@@ -58,12 +61,12 @@ export class GeneratorBackend extends Generator {
58
61
  isType: true,
59
62
  },
60
63
  {
61
- path: this.importCommon(MetaFileType.routes),
64
+ path: this.importCommon(DecoFileType.routes),
62
65
  props: [names.routes],
63
66
  isType: true,
64
67
  },
65
68
  {
66
- path: this.importCommon(MetaFileType.doc),
69
+ path: this.importCommon(DecoFileType.doc),
67
70
  props: [names.doc],
68
71
  isType: true,
69
72
  },
@@ -73,17 +76,17 @@ export class GeneratorBackend extends Generator {
73
76
  isType: false,
74
77
  },
75
78
  {
76
- path: this.importCommon(MetaFileType.routes),
77
- props: [`${names.routes}Name`],
79
+ path: this.importCommon(DecoFileType.routes),
80
+ props: [names.routesName],
78
81
  isType: false,
79
82
  },
80
83
  {
81
- path: this.importBackend(MetaFileType.zod),
84
+ path: this.importBackend(DecoFileType.zod),
82
85
  props: [names.shape],
83
86
  isType: false,
84
87
  },
85
88
  ],
86
- name: header.templateName,
89
+ name: raw.name,
87
90
  };
88
91
  }
89
92
  buildApi(routes, names) {
@@ -97,10 +100,10 @@ export class GeneratorBackend extends Generator {
97
100
  continue; // ignore crud --> provided by super class
98
101
  let definition = routeName;
99
102
  if (params.requestType !== "never" && params.requestType !== "void")
100
- definition += `(request: ${params.requestType})`;
103
+ definition += `(request: ${names.routes}["${routeName}"]["request"])`;
101
104
  else
102
105
  definition += `()`;
103
- definition += `: Promise<${params.responseType}>`;
106
+ definition += `: Promise<${names.routes}["${routeName}"]["response"]>`;
104
107
  code.push(` public abstract ${definition};`);
105
108
  }
106
109
  code.push("}");
@@ -113,7 +116,7 @@ export class GeneratorBackend extends Generator {
113
116
  "];",
114
117
  "",
115
118
  `export class ${names.func} extends IBackendFunction<${names.doc}, I${names.api}> {`,
116
- ` public constructor(region: string, serviceAccount: string, api?: I${names.api}) { super("${names.functionName}", region, serviceAccount, ${names.basenameLower}DatePaths); this.useRoutes(${names.routes}Name); if (api) this.useApi(api); }`,
119
+ ` public constructor(region: string, serviceAccount: string, api?: I${names.api}) { super("${names.functionName}", region, serviceAccount, ${names.basenameLower}DatePaths); this.useRoutes(${names.routesName}); if (api) this.useApi(api); }`,
117
120
  "",
118
121
  " // defined to be able to debug ingress",
119
122
  " public override async ingress<REQ, RES extends DocumentData>(request: FunctionRequest<REQ>): Promise<FunctionResponse<RES>> { return super.ingress(request); }",
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorBackend.js","sourceRoot":"","sources":["../../src/generator/GeneratorBackend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeneratorBackend.js","sourceRoot":"","sources":["../../src/generator/GeneratorBackend.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
- import { MetaHeadData } from "@mxpicture/gcp-functions-common/meta";
2
- import { MetaNames } from "@mxpicture/gcp-functions-common/types";
3
- import { Generator, GeneratorCode } from "./Generator.js";
1
+ import { Generator, GeneratorCode, GeneratorRunItem } from "./Generator.js";
4
2
  export declare class GeneratorDoc extends Generator {
5
3
  constructor();
6
- protected runHeader(mainData: MetaHeadData, names: MetaNames): Promise<GeneratorCode | null>;
4
+ protected runHeader(current: GeneratorRunItem): Promise<GeneratorCode | null>;
7
5
  }
8
6
  declare const _default: GeneratorDoc;
9
7
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorDoc.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorDoc.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAEb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAI1D,qBAAa,YAAa,SAAQ,SAAS;;cAUhB,SAAS,CAChC,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAmBjC;;AAED,wBAAkC"}
1
+ {"version":3,"file":"GeneratorDoc.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorDoc.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAmB5E,qBAAa,YAAa,SAAQ,SAAS;;cAUhB,SAAS,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;CAoBjC;;AAED,wBAAkC"}
@@ -1,20 +1,36 @@
1
- import { MetaFileExtension, MetaFileType, MetaTargetType, } from "@mxpicture/gcp-functions-common/meta";
1
+ import { DecoFileExtension, DecoFileType, DecoPropertyType, DecoTargetType, } from "@mxpicture/gcp-functions-common/decorator";
2
2
  import { Generator } from "./Generator.js";
3
3
  import { Collector } from "../common/Collector.js";
4
- import { metaBasename, isMetaNameType } from "../meta/meta.names.js";
4
+ const decoTypeToTs = (data) => {
5
+ switch (data.type) {
6
+ case DecoPropertyType.date:
7
+ return "Date";
8
+ case DecoPropertyType.object: {
9
+ const deco = data["deco"];
10
+ if (typeof deco === "object" && deco !== null && "name" in deco)
11
+ return `${deco.name}Doc`;
12
+ return "object";
13
+ }
14
+ default:
15
+ return data.type;
16
+ }
17
+ };
5
18
  export class GeneratorDoc extends Generator {
6
19
  constructor() {
7
- super(MetaFileType.doc, MetaFileExtension.ts, MetaTargetType.common, Collector.instance());
20
+ super(DecoFileType.doc, DecoFileExtension.ts, DecoTargetType.common, Collector.instance());
8
21
  }
9
- async runHeader(mainData, names) {
22
+ async runHeader(current) {
10
23
  const res = {
11
24
  code: [],
12
25
  imports: [],
13
- name: mainData.templateName,
26
+ name: current.decorator.name,
14
27
  };
15
- res.code.push(`export interface ${names.doc} {`);
16
- for (const prop of mainData.properties)
17
- res.code.push(` ${prop.propertyKey}${prop.optional ? "?" : ""}: `, `${metaBasename(prop.propertyType)}${isMetaNameType(prop.propertyType, MetaFileType.template) ? "Doc" : ""};`);
28
+ const raw = current.decorator.extractRaw();
29
+ res.code.push(`export interface ${current.names.doc} {`);
30
+ for (const [key, prop] of Object.entries(raw.properties ?? {})) {
31
+ const extr = prop.extractRaw();
32
+ res.code.push(` ${key}${extr.common.optional ? "?" : ""}: ${decoTypeToTs(extr.data)}`);
33
+ }
18
34
  res.code.push("}");
19
35
  return res;
20
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorDoc.js","sourceRoot":"","sources":["../../src/generator/GeneratorDoc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,YAAY,EAEZ,cAAc,GACf,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAiB,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAErE,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC;QACE,KAAK,CACH,YAAY,CAAC,GAAG,EAChB,iBAAiB,CAAC,EAAE,EACpB,cAAc,CAAC,MAAM,EACrB,SAAS,CAAC,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,SAAS,CAChC,QAAsB,EACtB,KAAgB;QAEhB,MAAM,GAAG,GAAkB;YACzB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,QAAQ,CAAC,YAAY;SAC5B,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,UAAU;YACpC,GAAG,CAAC,IAAI,CAAC,IAAI,CACX,KAAK,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EACpD,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,GAChC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACrE,GAAG,CACJ,CAAC;QAEJ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,eAAe,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"GeneratorDoc.js","sourceRoot":"","sources":["../../src/generator/GeneratorDoc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,SAAS,EAAmC,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,MAAM,YAAY,GAAG,CAAC,IAAsB,EAAU,EAAE;IACtD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,gBAAgB,CAAC,IAAI;YACxB,OAAO,MAAM,CAAC;QAChB,KAAK,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI;gBAC7D,OAAO,GAAI,IAAyB,CAAC,IAAI,KAAK,CAAC;YACjD,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD;YACE,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC;QACE,KAAK,CACH,YAAY,CAAC,GAAG,EAChB,iBAAiB,CAAC,EAAE,EACpB,cAAc,CAAC,MAAM,EACrB,SAAS,CAAC,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,SAAS,CAChC,OAAyB;QAEzB,MAAM,GAAG,GAAkB;YACzB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI;SAC7B,CAAC;QAEF,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAE3C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,IAAI,CACX,KAAK,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzE,CAAC;QACJ,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,eAAe,IAAI,YAAY,EAAE,CAAC"}
@@ -1,12 +1,12 @@
1
- import { MetaHeadData, MetaRoutes, MetaRunHeaders } from "@mxpicture/gcp-functions-common/meta";
2
- import { MetaNames } from "@mxpicture/gcp-functions-common/types";
3
- import { Generator, GeneratorCode } from "./Generator.js";
1
+ import { Generator, GeneratorCode, GeneratorRunItem } from "./Generator.js";
2
+ import { DecoNames } from "@mxpicture/gcp-functions-common/decorator";
3
+ import { DecoRoutes } from "@mxpicture/gcp-functions-common/types";
4
4
  export declare class GeneratorFrontend extends Generator {
5
5
  constructor();
6
- protected runHeader(header: MetaHeadData, names: MetaNames, allParams: MetaRunHeaders): Promise<GeneratorCode | null>;
7
- protected buildApi(routes: MetaRoutes, names: MetaNames): string[];
8
- protected buildFunction(names: MetaNames, datePaths: string[]): string[];
9
- protected buildCreate(names: MetaNames): string[];
6
+ protected runHeader(current: GeneratorRunItem): Promise<GeneratorCode | null>;
7
+ protected buildApi(routes: DecoRoutes, names: DecoNames): string[];
8
+ protected buildFunction(names: DecoNames, datePaths: string[]): string[];
9
+ protected buildCreate(names: DecoNames): string[];
10
10
  }
11
11
  declare const _default: GeneratorFrontend;
12
12
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorFrontend.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorFrontend.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,YAAY,EAEZ,UAAU,EACV,cAAc,EAEf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG1D,qBAAa,iBAAkB,SAAQ,SAAS;;cAWrB,SAAS,CAChC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,cAAc,GACxB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4DhC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAqClE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAexE,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;CAWlD;;AAED,wBAAuC"}
1
+ {"version":3,"file":"GeneratorFrontend.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorFrontend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAGL,SAAS,EAKV,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,qBAAa,iBAAkB,SAAQ,SAAS;;cAUrB,SAAS,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4DhC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;IAqClE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAexE,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,EAAE;CAWlD;;AAED,wBAAuC"}
@@ -1,20 +1,23 @@
1
- import { extractAnnotationsPaths, hasCrudRoute, isCrudRoute, mapAnnotationsHeader, MetaFileExtension, MetaFileType, MetaPropertyType, MetaTargetType, } from "@mxpicture/gcp-functions-common/meta";
2
1
  import { Generator } from "./Generator.js";
3
2
  import { Collector } from "../common/Collector.js";
3
+ import { DecoFileExtension, DecoFileType, DecoPropertyType, DecoTargetType, hasCrudRoute, isCrudRoute, } from "@mxpicture/gcp-functions-common/decorator";
4
+ import { extractAnnotationsPaths } from "@mxpicture/gcp-functions-common/annotation";
4
5
  export class GeneratorFrontend extends Generator {
5
6
  constructor() {
6
- super(MetaFileType.frontend, MetaFileExtension.ts, MetaTargetType.frontend, Collector.instance(), true);
7
+ super(DecoFileType.frontend, DecoFileExtension.ts, DecoTargetType.frontend, Collector.instance());
7
8
  }
8
- async runHeader(header, names, allParams) {
9
- if (Object.keys(header.routes).length === 0)
9
+ async runHeader(current) {
10
+ const raw = current.decorator.extractRaw();
11
+ if (!raw.routes || Object.keys(raw.routes).length === 0)
10
12
  return null;
11
- const annoHeader = mapAnnotationsHeader(header, allParams);
12
- const datePaths = extractAnnotationsPaths(annoHeader.properties, MetaPropertyType.date, MetaPropertyType.createTime, MetaPropertyType.updateTime);
13
+ const names = current.names;
14
+ const header = current.decorator.extractAnnotations();
15
+ const datePaths = extractAnnotationsPaths(header.properties, DecoPropertyType.date);
13
16
  return {
14
17
  code: [
15
18
  ...this.buildFunction(names, datePaths),
16
19
  "",
17
- ...this.buildApi(header.routes, names),
20
+ ...this.buildApi(raw.routes, names),
18
21
  "",
19
22
  ...this.buildCreate(names),
20
23
  ],
@@ -25,8 +28,8 @@ export class GeneratorFrontend extends Generator {
25
28
  isType: false,
26
29
  },
27
30
  {
28
- path: this.importCommon(MetaFileType.routes),
29
- props: [`${names.routes}Name`],
31
+ path: this.importCommon(DecoFileType.routes),
32
+ props: [names.routesName],
30
33
  isType: false,
31
34
  },
32
35
  {
@@ -45,17 +48,17 @@ export class GeneratorFrontend extends Generator {
45
48
  isType: true,
46
49
  },
47
50
  {
48
- path: this.importCommon(MetaFileType.routes),
51
+ path: this.importCommon(DecoFileType.routes),
49
52
  props: [names.routes],
50
53
  isType: true,
51
54
  },
52
55
  {
53
- path: this.importCommon(MetaFileType.doc),
56
+ path: this.importCommon(DecoFileType.doc),
54
57
  props: [names.doc],
55
58
  isType: true,
56
59
  },
57
60
  ],
58
- name: header.templateName,
61
+ name: raw.name,
59
62
  };
60
63
  }
61
64
  buildApi(routes, names) {
@@ -69,11 +72,11 @@ export class GeneratorFrontend extends Generator {
69
72
  continue; // ignore crud --> provided by super class
70
73
  let definition = routeName;
71
74
  if (params.requestType !== "never" && params.requestType !== "void")
72
- definition += `(request: ${params.requestType})`;
75
+ definition += `(request: ${names.routes}["${routeName}"]["request"])`;
73
76
  else
74
77
  definition += `()`;
75
- definition += `: Promise<${params.responseType}>`;
76
- code.push(` public async ${definition} {`, ` return (await this.func().outgress({ route: "${routeName}", data: request })).data as ${params.responseType};`, " }", "");
78
+ definition += `: Promise<${names.routes}["${routeName}"]["response"]>`;
79
+ code.push(` public async ${definition} {`, ` return (await this.func().outgress({ route: "${routeName}", data: request })).data as ${names.routes}["${routeName}"]["response"];`, " }", "");
77
80
  }
78
81
  code.push("}");
79
82
  return code;
@@ -85,7 +88,7 @@ export class GeneratorFrontend extends Generator {
85
88
  "];",
86
89
  "",
87
90
  `export class ${names.func} extends IFrontendFunction {`,
88
- ` public constructor() { super("${names.functionName}", ${names.basenameLower}DatePaths); this.useRoutes(${names.routes}Name); }`,
91
+ ` public constructor() { super("${names.functionName}", ${names.basenameLower}DatePaths); this.useRoutes(${names.routesName}); }`,
89
92
  "",
90
93
  " // defined to be able to debug outgress",
91
94
  " public override async outgress<REQ, RES extends DocumentData>(request: FunctionRequest<REQ>): Promise<FunctionResponse<RES>> { return super.outgress(request); }",
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorFrontend.js","sourceRoot":"","sources":["../../src/generator/GeneratorFrontend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeneratorFrontend.js","sourceRoot":"","sources":["../../src/generator/GeneratorFrontend.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- import { MetaHeadData } from "@mxpicture/gcp-functions-common/meta";
2
- import { MetaNames } from "@mxpicture/gcp-functions-common/types";
3
- import { Generator, GeneratorCode } from "./Generator.js";
1
+ import { Generator, GeneratorCode, GeneratorRunItem } from "./Generator.js";
2
+ import { DecoNames, DecoratorData } from "@mxpicture/gcp-functions-common/decorator";
4
3
  export declare class GeneratorRoutes extends Generator {
5
4
  constructor();
6
- protected runHeader(mainData: MetaHeadData, names: MetaNames): Promise<GeneratorCode | null>;
7
- protected buildType(res: GeneratorCode, names: MetaNames, mainData: MetaHeadData): void;
8
- protected buildEnum(res: GeneratorCode, names: MetaNames, mainData: MetaHeadData): void;
5
+ protected runHeader(current: GeneratorRunItem): Promise<GeneratorCode | null>;
6
+ protected buildType(res: GeneratorCode, names: DecoNames, mainData: DecoratorData): void;
7
+ protected buildEnum(res: GeneratorCode, names: DecoNames, mainData: DecoratorData): void;
9
8
  }
10
9
  declare const _default: GeneratorRoutes;
11
10
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorRoutes.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAEb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG1D,qBAAa,eAAgB,SAAQ,SAAS;;cAUnB,SAAS,CAChC,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAiChC,SAAS,CAAC,SAAS,CACjB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY;IAUxB,SAAS,CAAC,SAAS,CACjB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY;CAOzB;;AAED,wBAAqC"}
1
+ {"version":3,"file":"GeneratorRoutes.d.ts","sourceRoot":"","sources":["../../src/generator/GeneratorRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAGL,SAAS,EACT,aAAa,EAEd,MAAM,2CAA2C,CAAC;AAEnD,qBAAa,eAAgB,SAAQ,SAAS;;cAWnB,SAAS,CAChC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAmChC,SAAS,CAAC,SAAS,CACjB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,aAAa;IAYzB,SAAS,CAAC,SAAS,CACjB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,aAAa;CAS1B;;AAED,wBAAqC"}
@@ -1,13 +1,15 @@
1
- import { MetaFileExtension, MetaFileType, MetaTargetType, } from "@mxpicture/gcp-functions-common/meta";
2
1
  import { Generator } from "./Generator.js";
3
2
  import { Collector } from "../common/Collector.js";
3
+ import { DecoFileExtension, DecoFileType, DecoTargetType, } from "@mxpicture/gcp-functions-common/decorator";
4
4
  export class GeneratorRoutes extends Generator {
5
5
  constructor() {
6
- super(MetaFileType.routes, MetaFileExtension.ts, MetaTargetType.common, Collector.instance());
6
+ super(DecoFileType.routes, DecoFileExtension.ts, DecoTargetType.common, Collector.instance(), true);
7
7
  }
8
- async runHeader(mainData, names) {
9
- if (Object.keys(mainData.routes).length === 0)
8
+ async runHeader(current) {
9
+ const raw = current.decorator.extractRaw();
10
+ if (!raw.routes || Object.keys(raw.routes).length === 0)
10
11
  return null;
12
+ const names = current.names;
11
13
  const res = {
12
14
  code: [],
13
15
  imports: [
@@ -24,26 +26,30 @@ export class GeneratorRoutes extends Generator {
24
26
  ],
25
27
  },
26
28
  {
27
- path: this.importCommon(MetaFileType.doc),
29
+ path: this.importCommon(DecoFileType.doc),
28
30
  isType: true,
29
31
  props: [names.doc],
30
32
  },
31
33
  ],
32
- name: mainData.templateName,
34
+ name: raw.name,
33
35
  };
34
- this.buildType(res, names, mainData);
36
+ this.buildType(res, names, raw);
35
37
  res.code.push("");
36
- this.buildEnum(res, names, mainData);
38
+ this.buildEnum(res, names, raw);
37
39
  return res;
38
40
  }
39
41
  buildType(res, names, mainData) {
42
+ if (!mainData.routes)
43
+ return;
40
44
  res.code.push(`export type ${names.routes} = WithRoutes<{`);
41
45
  for (const [routeName, params] of Object.entries(mainData.routes))
42
46
  res.code.push(` ${routeName}: RouteDef<${params.requestType}, ${params.responseType}>;`);
43
47
  res.code.push("}>;");
44
48
  }
45
49
  buildEnum(res, names, mainData) {
46
- res.code.push(`export enum ${names.routes}Name {`);
50
+ if (!mainData.routes)
51
+ return;
52
+ res.code.push(`export enum ${names.routesName} {`);
47
53
  for (const routeName of Object.keys(mainData.routes))
48
54
  res.code.push(` ${routeName} = "${routeName}",`);
49
55
  res.code.push("}");
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorRoutes.js","sourceRoot":"","sources":["../../src/generator/GeneratorRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,YAAY,EAEZ,cAAc,GACf,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAiB,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C;QACE,KAAK,CACH,YAAY,CAAC,MAAM,EACnB,iBAAiB,CAAC,EAAE,EACpB,cAAc,CAAC,MAAM,EACrB,SAAS,CAAC,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,SAAS,CAChC,QAAsB,EACtB,KAAgB;QAEhB,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAE3D,MAAM,GAAG,GAAkB;YACzB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,uCAAuC;oBAC7C,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE;wBACL,WAAW;wBACX,aAAa;wBACb,UAAU;wBACV,SAAS;wBACT,YAAY;wBACZ,YAAY;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC;oBACzC,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;iBACnB;aACF;YACD,IAAI,EAAE,QAAQ,CAAC,YAAY;SAC5B,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC;IACb,CAAC;IAES,SAAS,CACjB,GAAkB,EAClB,KAAgB,EAChB,QAAsB;QAEtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC,IAAI,CACX,KAAK,SAAS,cAAc,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,YAAY,IAAI,CAC3E,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAES,SAAS,CACjB,GAAkB,EAClB,KAAgB,EAChB,QAAsB;QAEtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;QACnD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,OAAO,SAAS,IAAI,CAAC,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;CACF;AAED,eAAe,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"GeneratorRoutes.js","sourceRoot":"","sources":["../../src/generator/GeneratorRoutes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmC,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,YAAY,EAGZ,cAAc,GACf,MAAM,2CAA2C,CAAC;AAEnD,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C;QACE,KAAK,CACH,YAAY,CAAC,MAAM,EACnB,iBAAiB,CAAC,EAAE,EACpB,cAAc,CAAC,MAAM,EACrB,SAAS,CAAC,QAAQ,EAAE,EACpB,IAAI,CACL,CAAC;IACJ,CAAC;IAEkB,KAAK,CAAC,SAAS,CAChC,OAAyB;QAEzB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,MAAM,GAAG,GAAkB;YACzB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,uCAAuC;oBAC7C,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE;wBACL,WAAW;wBACX,aAAa;wBACb,UAAU;wBACV,SAAS;wBACT,YAAY;wBACZ,YAAY;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC;oBACzC,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;iBACnB;aACF;YACD,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,GAAG,CAAC;IACb,CAAC;IAES,SAAS,CACjB,GAAkB,EAClB,KAAgB,EAChB,QAAuB;QAEvB,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAE7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC5D,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC,IAAI,CACX,KAAK,SAAS,cAAc,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC,YAAY,IAAI,CAC3E,CAAC;QACJ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAES,SAAS,CACjB,GAAkB,EAClB,KAAgB,EAChB,QAAuB;QAEvB,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO;QAE7B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;QACnD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,OAAO,SAAS,IAAI,CAAC,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;CACF;AAED,eAAe,IAAI,eAAe,EAAE,CAAC"}