@mxpicture/gcp-functions-generator 2.1.53 → 2.1.54

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.
@@ -1,5 +1,5 @@
1
1
  import { type DecoNames, type DecoratorData } from "@mxpicture/gcp-functions-common/decorator";
2
- import type { DecoRoutes } from "@mxpicture/gcp-functions-common/types";
2
+ import { type DecoRoutes } from "@mxpicture/gcp-functions-common/types";
3
3
  import type { GeneratorRunItem } from "../common/types.common.js";
4
4
  /** Cached metadata used by frontend code generation. */
5
5
  export interface RunnerCacheEntryFE {
@@ -10,7 +10,11 @@ export interface RunnerCacheEntryFE {
10
10
  export interface RunnerCacheEntryBE {
11
11
  /** API super-class chosen based on the decorator's route mix. */
12
12
  apiSuperClass: string;
13
- /** Whether the generated API class is abstract (has non-CRUD additional routes). */
13
+ /**
14
+ * Whether the generated API class is abstract. True when the class is left
15
+ * with an unimplemented abstract method: non-CRUD additional routes, output
16
+ * virtuals (`loadVirtualFields`), or side effects (`processSideEffects`).
17
+ */
14
18
  isApiAbstract: boolean;
15
19
  /** Whether the factory should extend `IBackendStoreFactory` (vs the plain factory). */
16
20
  isStoreFactory: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerCache.d.ts","sourceRoot":"","sources":["../../src/run/RunnerCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,aAAa,EAAE,OAAO,CAAC;IACvB,uFAAuF;IACvF,cAAc,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,GAAG,EAAE,aAAa,CAAC;IACnB,2EAA2E;IAC3E,gBAAgB,EAAE,UAAU,CAAC;IAC7B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAa;;IAIvD,GAAG,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;IA6B7C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAM1C,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;CAyBhE;AAID;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,gBAIpC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAClB,MAAM,MAAM,KACX,gBAAgB,GAAG;IAAE,QAAQ,EAAE,kBAAkB,CAAA;CAKnD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAClB,MAAM,MAAM,KACX,gBAAgB,GAAG;IAAE,OAAO,EAAE,kBAAkB,CAAA;CAKlD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,gBAAgB,qBAAqB,CAAC"}
1
+ {"version":3,"file":"RunnerCache.d.ts","sourceRoot":"","sources":["../../src/run/RunnerCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB,uFAAuF;IACvF,cAAc,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,GAAG,EAAE,aAAa,CAAC;IACnB,2EAA2E;IAC3E,gBAAgB,EAAE,UAAU,CAAC;IAC7B,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,qEAAqE;IACrE,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAa;;IAIvD,GAAG,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;IAwC7C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAM1C,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB;CAyBhE;AAID;;;;;;GAMG;AACH,eAAO,MAAM,KAAK,GAAI,MAAM,MAAM,KAAG,gBAIpC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAClB,MAAM,MAAM,KACX,gBAAgB,GAAG;IAAE,QAAQ,EAAE,kBAAkB,CAAA;CAKnD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAClB,MAAM,MAAM,KACX,gBAAgB,GAAG;IAAE,OAAO,EAAE,kBAAkB,CAAA;CAKlD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,gBAAgB,qBAAqB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { hasCrudRoute, hasCustomCrudRoute, isCrudRoute, isCustomCrudRoute, } from "@mxpicture/gcp-functions-common/decorator";
2
+ import { isOutputVirtual, } from "@mxpicture/gcp-functions-common/types";
2
3
  /**
3
4
  * Process-local cache of decorator metadata shared across generators.
4
5
  *
@@ -19,9 +20,16 @@ export class RunnerCache {
19
20
  : hasCrudRoute(entry.raw.routes)
20
21
  ? "BackendDefaultApi"
21
22
  : "BackendStoreApi";
23
+ // The generated API leaves a method abstract for each of these, so the
24
+ // class must be abstract whenever any are present: additional (non-CRUD)
25
+ // routes -> abstract route declarations; output virtuals ->
26
+ // loadVirtualFields; side effects -> processSideEffects.
27
+ const { properties } = item.decorator.extractAnnotations();
28
+ const isApiAbstract = Object.keys(entry.additionalRoutes).length > 0 ||
29
+ properties.some((prop) => isOutputVirtual(prop.common) || !!prop.common.sideEffects);
22
30
  entry.backend = {
23
31
  apiSuperClass,
24
- isApiAbstract: Object.keys(entry.additionalRoutes).length > 0,
32
+ isApiAbstract,
25
33
  isStoreFactory: !!entry.raw.store,
26
34
  names: item.names,
27
35
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerCache.js","sourceRoot":"","sources":["../../src/run/RunnerCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunnerCache.js","sourceRoot":"","sources":["../../src/run/RunnerCache.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/gcp-functions-generator",
3
- "version": "2.1.53",
3
+ "version": "2.1.54",
4
4
  "description": "Tools for google cloud functions",
5
5
  "type": "module",
6
6
  "author": "MXPicture",
@@ -49,9 +49,9 @@
49
49
  "dependencies": {
50
50
  "@google-cloud/scheduler": "^5.3.1",
51
51
  "@mxpicture/build-api": "^0.4.42",
52
- "@mxpicture/gcp-functions-backend": "^2.1.53",
53
- "@mxpicture/gcp-functions-common": "^2.1.53",
54
- "@mxpicture/gcp-functions-frontend": "^2.1.53",
52
+ "@mxpicture/gcp-functions-backend": "^2.1.54",
53
+ "@mxpicture/gcp-functions-common": "^2.1.54",
54
+ "@mxpicture/gcp-functions-frontend": "^2.1.54",
55
55
  "google-auth-library": "^10.6.2",
56
56
  "googleapis": "^171.4.0",
57
57
  "json5": "^2.2.3"