@kosdev-code/kos-nx-plugin 2.1.16 → 2.1.18
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/package.json +2 -2
- package/src/generators/kos-component/utils/kos-config-builder.d.ts.map +1 -1
- package/src/generators/kos-component/utils/kos-config-builder.js +5 -7
- package/src/generators/kos-component/utils/kos-config-builder.js.map +1 -1
- package/src/generators/kos-plugin-project/files/.storybook/registration.ts.template +0 -4
- package/src/generators/preset/api/utils/service.ts.template +79 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kosdev-code/kos-nx-plugin",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.18",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"generators": "./generators.json",
|
|
6
6
|
"publishConfig": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"main": "./src/index.js",
|
|
20
20
|
"kos": {
|
|
21
21
|
"build": {
|
|
22
|
-
"gitHash": "
|
|
22
|
+
"gitHash": "a67b416c6600353f7483b900351970722d3e3282"
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kos-config-builder.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-component/utils/kos-config-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAc,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"kos-config-builder.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-component/utils/kos-config-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAc,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,KAAK,CAA6B;IAE1C;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAmBzD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAmCpD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,gBAAgB;CAGlC"}
|
|
@@ -63,13 +63,11 @@ class KosConfigBuilder {
|
|
|
63
63
|
* Initializes the deep JSON structure
|
|
64
64
|
*/
|
|
65
65
|
initializeStructure(json) {
|
|
66
|
-
json.
|
|
67
|
-
json.
|
|
68
|
-
json.
|
|
69
|
-
json.
|
|
70
|
-
json.
|
|
71
|
-
json.kosdev.ddk.ncui.plugin.contributes || {};
|
|
72
|
-
return json.kosdev.ddk.ncui.plugin;
|
|
66
|
+
json.kos = json.kos || {};
|
|
67
|
+
json.kos.ui = json.kosdev.ui || {};
|
|
68
|
+
json.kos.ui.plugin = json.kos.ui.plugin || {};
|
|
69
|
+
json.kos.ui.plugin.contributes = json.kos.ui.plugin.contributes || {};
|
|
70
|
+
return json.kos.ui.plugin;
|
|
73
71
|
}
|
|
74
72
|
/**
|
|
75
73
|
* Creates a new builder instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kos-config-builder.js","sourceRoot":"","sources":["../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-component/utils/kos-config-builder.ts"],"names":[],"mappings":";;;AAAA,uCAA8C;AAG9C;;GAEG;AACH,MAAa,gBAAgB;IACnB,aAAa,GAA0B,EAAE,CAAC;IAC1C,WAAW,GAAwB,EAAE,CAAC;IACtC,KAAK,GAA0B,EAAE,CAAC;IAE1C;;OAEG;IACH,sBAAsB,CAAC,MAA2B;QAChD,sBAAsB;QACtB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC5D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAEpD,cAAc;QACd,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAAU,EAAE,aAAqB;QAC3C,IAAA,mBAAU,EAAC,IAAI,EAAE,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACvC,oDAAoD;YACpD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAEjD,sBAAsB;YACtB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC1D,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG;oBAC3B,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBACrC,GAAG,KAAK;iBACT,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,oBAAoB;YACpB,SAAS,CAAC,WAAW,CAAC,WAAW,GAAG;gBAClC,GAAG,SAAS,CAAC,WAAW,CAAC,WAAW;gBACpC,GAAG,IAAI,CAAC,WAAW;aACpB,CAAC;YAEF,cAAc;YACd,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,SAAS,CAAC,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;gBAEhE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;oBAClD,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;wBACjC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;wBAC3C,GAAG,KAAK;qBACT,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,IAAS;QACnC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"kos-config-builder.js","sourceRoot":"","sources":["../../../../../../../../packages/plugins/kos-nx-plugin/src/generators/kos-component/utils/kos-config-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,6 @@ import {
|
|
|
6
6
|
holderDataMapper,
|
|
7
7
|
ingredientDataMapper,
|
|
8
8
|
ingredientIndexExtension,
|
|
9
|
-
FcmPump,
|
|
10
|
-
LfcvPump,
|
|
11
9
|
} from "@kosdev-code/kos-ddk-models";
|
|
12
10
|
import {
|
|
13
11
|
KosExtensionManager,
|
|
@@ -18,8 +16,6 @@ import { initKosProvider, registerLegacyModel } from "@kosdev-code/kos-ui-sdk";
|
|
|
18
16
|
|
|
19
17
|
KosModelRegistry.dispense
|
|
20
18
|
.models()
|
|
21
|
-
.model(FcmPump)
|
|
22
|
-
.model(LfcvPump)
|
|
23
19
|
.companion(Pump.type, pumpTypeFactory)
|
|
24
20
|
.preload(Application.type);
|
|
25
21
|
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
createClient,
|
|
3
|
+
type ClientResponse,
|
|
4
|
+
type PathsByMethod,
|
|
5
|
+
kosServiceRequest as baseKosServiceRequest,
|
|
6
|
+
type IKosServiceRequestParams,
|
|
7
|
+
type HttpMethod,
|
|
8
|
+
type KosExecutionContext,
|
|
9
|
+
} from "@kosdev-code/kos-ui-sdk";
|
|
2
10
|
import { paths } from "./openapi";
|
|
3
11
|
|
|
4
12
|
const api = createClient<paths>();
|
|
@@ -17,4 +25,74 @@ export type ApiResponse<
|
|
|
17
25
|
Method extends "get" | "post" | "put" | "delete" = "get"
|
|
18
26
|
> = ClientResponse<KosApi, Path, Method>;
|
|
19
27
|
|
|
28
|
+
/**
|
|
29
|
+
* Type alias for strongly-typed execution context.
|
|
30
|
+
* The context is automatically injected as the last parameter to methods
|
|
31
|
+
* decorated with @kosServiceRequest (without lifecycle) or @kosFuture.
|
|
32
|
+
*
|
|
33
|
+
* @example With @kosServiceRequest
|
|
34
|
+
* ```typescript
|
|
35
|
+
* @kosServiceRequest({
|
|
36
|
+
* path: PATH_EXAMPLE,
|
|
37
|
+
* method: 'post'
|
|
38
|
+
* })
|
|
39
|
+
* async performAction(
|
|
40
|
+
* data: any,
|
|
41
|
+
* ctx: ExecutionContext<typeof PATH_EXAMPLE, 'post'>
|
|
42
|
+
* ): Promise<void> {
|
|
43
|
+
* const [error, response] = await ctx.$request({
|
|
44
|
+
* body: data // ← Fully typed from OpenAPI schema!
|
|
45
|
+
* });
|
|
46
|
+
* if (error) throw new Error(error);
|
|
47
|
+
* return response?.data;
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @example With @kosFuture (context-based tracker)
|
|
52
|
+
* ```typescript
|
|
53
|
+
* @kosFuture({ trackerPolicy: 'context' })
|
|
54
|
+
* async loadData(filter: string, ctx: ExecutionContext): Promise<Data> {
|
|
55
|
+
* const data = await fetchData(filter);
|
|
56
|
+
* ctx.$tracker?.complete();
|
|
57
|
+
* return data;
|
|
58
|
+
* }
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export type ExecutionContext<
|
|
62
|
+
Path extends ApiPath = ApiPath,
|
|
63
|
+
Method extends HttpMethod = "get"
|
|
64
|
+
> = KosExecutionContext<paths, Path, Method>;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Typed decorator factory for @kosServiceRequest with package-specific OpenAPI types
|
|
68
|
+
*
|
|
69
|
+
* Provides full IntelliSense and type safety for path, query params, and body
|
|
70
|
+
* based on this package's OpenAPI schema.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* import { kosServiceRequest, PATH_EXAMPLE } from '../../utils/service';
|
|
75
|
+
*
|
|
76
|
+
* @kosServiceRequest({
|
|
77
|
+
* path: PATH_EXAMPLE,
|
|
78
|
+
* method: 'get',
|
|
79
|
+
* lifecycle: DependencyLifecycle.LOAD,
|
|
80
|
+
* queryParams: { ... } // ← Fully typed from OpenAPI schema!
|
|
81
|
+
* })
|
|
82
|
+
* private onDataLoaded(): void {
|
|
83
|
+
* const response = getServiceResponse(this, PATH_EXAMPLE, 'get');
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export function kosServiceRequest<
|
|
88
|
+
Path extends ApiPath,
|
|
89
|
+
Method extends HttpMethod = "get",
|
|
90
|
+
Response = any,
|
|
91
|
+
TransformedResponse = Response
|
|
92
|
+
>(
|
|
93
|
+
params: IKosServiceRequestParams<paths, Path, Method, Response, TransformedResponse>
|
|
94
|
+
) {
|
|
95
|
+
return baseKosServiceRequest<paths, Path, Method, Response, TransformedResponse>(params);
|
|
96
|
+
}
|
|
97
|
+
|
|
20
98
|
export default api;
|