@odata-effect/odata-effect-generator 0.5.0 → 0.6.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/dist/cjs/generator/Generator.js +10 -5
- package/dist/cjs/generator/Generator.js.map +1 -1
- package/dist/cjs/generator/IndexGenerator.js +7 -6
- package/dist/cjs/generator/IndexGenerator.js.map +1 -1
- package/dist/cjs/generator/NamingHelper.js +23 -1
- package/dist/cjs/generator/NamingHelper.js.map +1 -1
- package/dist/cjs/generator/NavigationGenerator.js +5 -4
- package/dist/cjs/generator/NavigationGenerator.js.map +1 -1
- package/dist/cjs/generator/OperationsGenerator.js +5 -4
- package/dist/cjs/generator/OperationsGenerator.js.map +1 -1
- package/dist/cjs/generator/QueryModelsGenerator.js +3 -2
- package/dist/cjs/generator/QueryModelsGenerator.js.map +1 -1
- package/dist/cjs/generator/ServiceFnGenerator.js +5 -4
- package/dist/cjs/generator/ServiceFnGenerator.js.map +1 -1
- package/dist/cjs/model/GeneratorConfig.js.map +1 -1
- package/dist/dts/generator/Generator.d.ts +6 -0
- package/dist/dts/generator/Generator.d.ts.map +1 -1
- package/dist/dts/generator/IndexGenerator.d.ts +14 -1
- package/dist/dts/generator/IndexGenerator.d.ts.map +1 -1
- package/dist/dts/generator/NamingHelper.d.ts +15 -0
- package/dist/dts/generator/NamingHelper.d.ts.map +1 -1
- package/dist/dts/generator/NavigationGenerator.d.ts +14 -1
- package/dist/dts/generator/NavigationGenerator.d.ts.map +1 -1
- package/dist/dts/generator/OperationsGenerator.d.ts +14 -1
- package/dist/dts/generator/OperationsGenerator.d.ts.map +1 -1
- package/dist/dts/generator/QueryModelsGenerator.d.ts +14 -1
- package/dist/dts/generator/QueryModelsGenerator.d.ts.map +1 -1
- package/dist/dts/generator/ServiceFnGenerator.d.ts +14 -1
- package/dist/dts/generator/ServiceFnGenerator.d.ts.map +1 -1
- package/dist/dts/model/GeneratorConfig.d.ts +20 -0
- package/dist/dts/model/GeneratorConfig.d.ts.map +1 -1
- package/dist/esm/generator/Generator.js +10 -5
- package/dist/esm/generator/Generator.js.map +1 -1
- package/dist/esm/generator/IndexGenerator.js +8 -7
- package/dist/esm/generator/IndexGenerator.js.map +1 -1
- package/dist/esm/generator/NamingHelper.js +21 -0
- package/dist/esm/generator/NamingHelper.js.map +1 -1
- package/dist/esm/generator/NavigationGenerator.js +6 -5
- package/dist/esm/generator/NavigationGenerator.js.map +1 -1
- package/dist/esm/generator/OperationsGenerator.js +6 -5
- package/dist/esm/generator/OperationsGenerator.js.map +1 -1
- package/dist/esm/generator/QueryModelsGenerator.js +4 -3
- package/dist/esm/generator/QueryModelsGenerator.js.map +1 -1
- package/dist/esm/generator/ServiceFnGenerator.js +6 -5
- package/dist/esm/generator/ServiceFnGenerator.js.map +1 -1
- package/dist/esm/model/GeneratorConfig.js.map +1 -1
- package/package.json +1 -1
- package/src/generator/Generator.ts +15 -5
- package/src/generator/IndexGenerator.ts +27 -6
- package/src/generator/NamingHelper.ts +26 -0
- package/src/generator/NavigationGenerator.ts +23 -5
- package/src/generator/OperationsGenerator.ts +25 -5
- package/src/generator/QueryModelsGenerator.ts +27 -3
- package/src/generator/ServiceFnGenerator.ts +23 -5
- package/src/model/GeneratorConfig.ts +22 -0
|
@@ -24,6 +24,12 @@ export interface GeneratorConfig {
|
|
|
24
24
|
readonly filesOnly?: boolean | undefined;
|
|
25
25
|
/** Optional naming overrides for properties and types */
|
|
26
26
|
readonly overrides?: NamingOverrides | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
29
|
+
* Required for moduleResolution: node16/nodenext.
|
|
30
|
+
* @default true
|
|
31
|
+
*/
|
|
32
|
+
readonly esmExtensions?: boolean | undefined;
|
|
27
33
|
}
|
|
28
34
|
declare const GeneratorError_base: Schema.TaggedErrorClass<GeneratorError, "GeneratorError", {
|
|
29
35
|
readonly _tag: Schema.tag<"GeneratorError">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Generator.d.ts","sourceRoot":"","sources":["../../../src/generator/Generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAiBlE;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACpC,sGAAsG;IACtG,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"Generator.d.ts","sourceRoot":"","sources":["../../../src/generator/Generator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,IAAI,MAAM,uBAAuB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAiBlE;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACpC,sGAAsG;IACtG,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IACxC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;IAChD;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC7C;;;;;;;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,mBAMnC;CAAG;AAUJ;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GACnB,WAAW,SAAS,EACpB,QAAQ,eAAe,KACtB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAuIpE,CAAA"}
|
|
@@ -4,11 +4,24 @@
|
|
|
4
4
|
* @since 1.0.0
|
|
5
5
|
*/
|
|
6
6
|
import type { DataModel } from "../model/DataModel.js";
|
|
7
|
+
/**
|
|
8
|
+
* Options for index generation.
|
|
9
|
+
*
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
* @category types
|
|
12
|
+
*/
|
|
13
|
+
export interface IndexGeneratorOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
readonly esmExtensions?: boolean;
|
|
19
|
+
}
|
|
7
20
|
/**
|
|
8
21
|
* Generate the index.ts file content.
|
|
9
22
|
*
|
|
10
23
|
* @since 1.0.0
|
|
11
24
|
* @category generation
|
|
12
25
|
*/
|
|
13
|
-
export declare const generateIndex: (dataModel: DataModel) => string;
|
|
26
|
+
export declare const generateIndex: (dataModel: DataModel, options?: IndexGeneratorOptions) => string;
|
|
14
27
|
//# sourceMappingURL=IndexGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/IndexGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"IndexGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/IndexGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAatD;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,WAAW,SAAS,EACpB,UAAU,qBAAqB,KAC9B,MAqHF,CAAA"}
|
|
@@ -156,4 +156,19 @@ export declare const getOperationNameWithOverrides: (odataName: string, override
|
|
|
156
156
|
* @category naming
|
|
157
157
|
*/
|
|
158
158
|
export declare const getOperationParameterNameWithOverrides: (odataParamName: string, odataOperationName: string, overrides?: NamingOverrides) => string;
|
|
159
|
+
/**
|
|
160
|
+
* Format a relative import path, optionally adding .js extension for ESM compatibility.
|
|
161
|
+
*
|
|
162
|
+
* @param moduleName - The module name (e.g., "Models", "Services")
|
|
163
|
+
* @param esmExtensions - Whether to add .js extension (default: true)
|
|
164
|
+
* @returns The formatted import path (e.g., "./Models.js" or "./Models")
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* formatRelativeImport("Models", true) // "./Models.js"
|
|
168
|
+
* formatRelativeImport("Models", false) // "./Models"
|
|
169
|
+
*
|
|
170
|
+
* @since 1.0.0
|
|
171
|
+
* @category imports
|
|
172
|
+
*/
|
|
173
|
+
export declare const formatRelativeImport: (moduleName: string, esmExtensions?: boolean) => string;
|
|
159
174
|
//# sourceMappingURL=NamingHelper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NamingHelper.d.ts","sourceRoot":"","sources":["../../../src/generator/NamingHelper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAA;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAI1C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAGzC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,MAO/C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,MAEnD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,KAAG,MAEhD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,eAAe,MAAM,KAAG,MAkB3D,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,MAExD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,MAEvD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MAEtD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MAEtD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,MAEhD,CAAA;AAMD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,GACvC,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,UAAU,QAAQ,GAAG,SAAS,EAC9B,YAAY,eAAe,KAC1B,MASF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,GACpC,WAAW,MAAM,EACjB,UAAU,QAAQ,GAAG,SAAS,EAC9B,YAAY,eAAe,KAC1B,MASF,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,GACxC,WAAW,MAAM,EACjB,YAAY,eAAe,KAC1B,MASF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sCAAsC,GACjD,gBAAgB,MAAM,EACtB,oBAAoB,MAAM,EAC1B,YAAY,eAAe,KAC1B,MASF,CAAA"}
|
|
1
|
+
{"version":3,"file":"NamingHelper.d.ts","sourceRoot":"","sources":["../../../src/generator/NamingHelper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAA;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,KAAG,MAI1C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAGzC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,MAO/C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,WAAW,MAAM,KAAG,MAEnD,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,KAAG,MAEhD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,eAAe,MAAM,KAAG,MAkB3D,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,KAAG,MAExD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,MAEvD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MAEtD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MAEtD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,MAEhD,CAAA;AAMD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B,GACvC,WAAW,MAAM,EACjB,UAAU,MAAM,EAChB,UAAU,QAAQ,GAAG,SAAS,EAC9B,YAAY,eAAe,KAC1B,MASF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,GACpC,WAAW,MAAM,EACjB,UAAU,QAAQ,GAAG,SAAS,EAC9B,YAAY,eAAe,KAC1B,MASF,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,GACxC,WAAW,MAAM,EACjB,YAAY,eAAe,KAC1B,MASF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sCAAsC,GACjD,gBAAgB,MAAM,EACtB,oBAAoB,MAAM,EAC1B,YAAY,eAAe,KAC1B,MASF,CAAA;AAMD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,GAC/B,YAAY,MAAM,EAClB,gBAAe,OAAc,KAC5B,MAGF,CAAA"}
|
|
@@ -45,11 +45,24 @@ export interface GeneratedNavigationFile {
|
|
|
45
45
|
export interface NavigationGenerationResult {
|
|
46
46
|
readonly navigationFiles: ReadonlyArray<GeneratedNavigationFile>;
|
|
47
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Options for navigation generation.
|
|
50
|
+
*
|
|
51
|
+
* @since 1.0.0
|
|
52
|
+
* @category types
|
|
53
|
+
*/
|
|
54
|
+
export interface NavigationGeneratorOptions {
|
|
55
|
+
/**
|
|
56
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
57
|
+
* @default true
|
|
58
|
+
*/
|
|
59
|
+
readonly esmExtensions?: boolean;
|
|
60
|
+
}
|
|
48
61
|
/**
|
|
49
62
|
* Generate navigation builders.
|
|
50
63
|
*
|
|
51
64
|
* @since 1.0.0
|
|
52
65
|
* @category generation
|
|
53
66
|
*/
|
|
54
|
-
export declare const generateNavigations: (dataModel: DataModel) => NavigationGenerationResult;
|
|
67
|
+
export declare const generateNavigations: (dataModel: DataModel, options?: NavigationGeneratorOptions) => NavigationGenerationResult;
|
|
55
68
|
//# sourceMappingURL=NavigationGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/NavigationGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAA;AA2BvE;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAO,MAAwB,CAAA;AAErE;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;CACjE;AA8FD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"NavigationGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/NavigationGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,uBAAuB,CAAA;AA2BvE;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAO,MAAwB,CAAA;AAErE;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAA;CACjE;AA8FD;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,SAAS,EACpB,UAAU,0BAA0B,KACnC,0BAWF,CAAA"}
|
|
@@ -41,11 +41,24 @@ export interface GeneratedOperationsFile {
|
|
|
41
41
|
export interface OperationsGenerationResult {
|
|
42
42
|
readonly operationsFile: GeneratedOperationsFile | null;
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Options for operations generation.
|
|
46
|
+
*
|
|
47
|
+
* @since 1.0.0
|
|
48
|
+
* @category types
|
|
49
|
+
*/
|
|
50
|
+
export interface OperationsGeneratorOptions {
|
|
51
|
+
/**
|
|
52
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
53
|
+
* @default true
|
|
54
|
+
*/
|
|
55
|
+
readonly esmExtensions?: boolean;
|
|
56
|
+
}
|
|
44
57
|
/**
|
|
45
58
|
* Generate the operations file.
|
|
46
59
|
*
|
|
47
60
|
* @since 1.0.0
|
|
48
61
|
* @category generation
|
|
49
62
|
*/
|
|
50
|
-
export declare const generateOperations: (dataModel: DataModel) => OperationsGenerationResult;
|
|
63
|
+
export declare const generateOperations: (dataModel: DataModel, options?: OperationsGeneratorOptions) => OperationsGenerationResult;
|
|
51
64
|
//# sourceMappingURL=OperationsGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationsGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/OperationsGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAA2B,MAAM,uBAAuB,CAAA;AA2B/F;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,WAAW,cAAc,KAAG,MAEpE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAO,MAAsB,CAAA;AAEjE;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,EAAE,uBAAuB,GAAG,IAAI,CAAA;CACxD;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"OperationsGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/OperationsGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAA2B,MAAM,uBAAuB,CAAA;AA2B/F;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GAAI,WAAW,cAAc,KAAG,MAEpE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAO,MAAsB,CAAA;AAEjE;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,cAAc,EAAE,uBAAuB,GAAG,IAAI,CAAA;CACxD;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,WAAW,SAAS,EACpB,UAAU,0BAA0B,KACnC,0BAkBF,CAAA"}
|
|
@@ -4,11 +4,24 @@
|
|
|
4
4
|
* @since 1.0.0
|
|
5
5
|
*/
|
|
6
6
|
import type { DataModel } from "../model/DataModel.js";
|
|
7
|
+
/**
|
|
8
|
+
* Options for query models generation.
|
|
9
|
+
*
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
* @category types
|
|
12
|
+
*/
|
|
13
|
+
export interface QueryModelsGeneratorOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
16
|
+
* @default true
|
|
17
|
+
*/
|
|
18
|
+
readonly esmExtensions?: boolean;
|
|
19
|
+
}
|
|
7
20
|
/**
|
|
8
21
|
* Generate the QueryModels.ts file content.
|
|
9
22
|
*
|
|
10
23
|
* @since 1.0.0
|
|
11
24
|
* @category generation
|
|
12
25
|
*/
|
|
13
|
-
export declare const generateQueryModels: (dataModel: DataModel) => string;
|
|
26
|
+
export declare const generateQueryModels: (dataModel: DataModel, options?: QueryModelsGeneratorOptions) => string;
|
|
14
27
|
//# sourceMappingURL=QueryModelsGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryModelsGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/QueryModelsGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAEV,SAAS,EAIV,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"QueryModelsGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/QueryModelsGenerator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAEV,SAAS,EAIV,MAAM,uBAAuB,CAAA;AAS9B;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,SAAS,EACpB,UAAU,2BAA2B,KACpC,MA6DF,CAAA"}
|
|
@@ -26,11 +26,24 @@ export interface GeneratedServiceFile {
|
|
|
26
26
|
export interface ServiceGenerationResult {
|
|
27
27
|
readonly servicesFile: GeneratedServiceFile;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Options for service generation.
|
|
31
|
+
*
|
|
32
|
+
* @since 1.0.0
|
|
33
|
+
* @category types
|
|
34
|
+
*/
|
|
35
|
+
export interface ServiceGeneratorOptions {
|
|
36
|
+
/**
|
|
37
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
38
|
+
* @default true
|
|
39
|
+
*/
|
|
40
|
+
readonly esmExtensions?: boolean;
|
|
41
|
+
}
|
|
29
42
|
/**
|
|
30
43
|
* Generate the Services.ts file using crud factory.
|
|
31
44
|
*
|
|
32
45
|
* @since 1.0.0
|
|
33
46
|
* @category generation
|
|
34
47
|
*/
|
|
35
|
-
export declare const generateServiceFns: (dataModel: DataModel) => ServiceGenerationResult;
|
|
48
|
+
export declare const generateServiceFns: (dataModel: DataModel, options?: ServiceGeneratorOptions) => ServiceGenerationResult;
|
|
36
49
|
//# sourceMappingURL=ServiceFnGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceFnGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/ServiceFnGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,uBAAuB,CAAA;AAIvF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAA;CAC5C;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ServiceFnGenerator.d.ts","sourceRoot":"","sources":["../../../src/generator/ServiceFnGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,SAAS,EAAmC,MAAM,uBAAuB,CAAA;AAIvF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAA;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,WAAW,SAAS,EACpB,UAAU,uBAAuB,KAChC,uBASF,CAAA"}
|
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @since 1.0.0
|
|
5
5
|
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generator options for code generation.
|
|
8
|
+
*
|
|
9
|
+
* @since 1.0.0
|
|
10
|
+
* @category config
|
|
11
|
+
*/
|
|
12
|
+
export interface GeneratorOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Add .js extensions to relative imports for ESM compatibility.
|
|
15
|
+
* Required for moduleResolution: node16/nodenext.
|
|
16
|
+
* Default: true (recommended for ESM projects)
|
|
17
|
+
*
|
|
18
|
+
* @default true
|
|
19
|
+
*/
|
|
20
|
+
readonly esmExtensions?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Naming overrides for customizing generated type and property names.
|
|
23
|
+
*/
|
|
24
|
+
readonly overrides?: NamingOverrides;
|
|
25
|
+
}
|
|
6
26
|
/**
|
|
7
27
|
* Override configuration for property names.
|
|
8
28
|
* Maps OData property names to TypeScript property names.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeneratorConfig.d.ts","sourceRoot":"","sources":["../../../src/model/GeneratorConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAEjD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAErD;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAExD;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,eAAe,GAAG,SAAS,EACtC,UAAU,MAAM,EAChB,UAAU,QAAQ,GAAG,SAAS,EAC9B,mBAAmB,MAAM,KACxB,MAAM,GAAG,SAkBX,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAC1B,WAAW,eAAe,GAAG,SAAS,EACtC,UAAU,MAAM,EAChB,UAAU,QAAQ,GAAG,SAAS,KAC7B,MAAM,GAAG,SAQX,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,eAAe,GAAG,SAAS,EACtC,eAAe,MAAM,KACpB,MAAM,GAAG,SAGX,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,GACxC,WAAW,eAAe,GAAG,SAAS,EACtC,eAAe,MAAM,EACrB,eAAe,MAAM,KACpB,MAAM,GAAG,SASX,CAAA"}
|
|
1
|
+
{"version":3,"file":"GeneratorConfig.d.ts","sourceRoot":"","sources":["../../../src/model/GeneratorConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAEhC;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAA;CACrC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEtD;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAEjD;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAErD;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAExD;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CACxC;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,eAAe,GAAG,SAAS,EACtC,UAAU,MAAM,EAChB,UAAU,QAAQ,GAAG,SAAS,EAC9B,mBAAmB,MAAM,KACxB,MAAM,GAAG,SAkBX,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAC1B,WAAW,eAAe,GAAG,SAAS,EACtC,UAAU,MAAM,EAChB,UAAU,QAAQ,GAAG,SAAS,KAC7B,MAAM,GAAG,SAQX,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,eAAe,GAAG,SAAS,EACtC,eAAe,MAAM,KACpB,MAAM,GAAG,SAGX,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,GACxC,WAAW,eAAe,GAAG,SAAS,EACtC,eAAe,MAAM,EACrB,eAAe,MAAM,KACpB,MAAM,GAAG,SASX,CAAA"}
|
|
@@ -37,25 +37,30 @@ export const generate = (dataModel, config) => Effect.gen(function* () {
|
|
|
37
37
|
const serviceName = config.serviceName ?? dataModel.serviceName;
|
|
38
38
|
const packageName = config.packageName ?? `@template/${serviceName.toLowerCase()}-effect`;
|
|
39
39
|
const filesOnly = config.filesOnly ?? false;
|
|
40
|
+
const esmExtensions = config.esmExtensions ?? true;
|
|
40
41
|
// When filesOnly is true, output directly to outputDir; otherwise use outputDir/src
|
|
41
42
|
const sourceDir = filesOnly ? outputDir : path.join(outputDir, "src");
|
|
42
43
|
const packageConfig = {
|
|
43
44
|
packageName,
|
|
44
45
|
serviceName
|
|
45
46
|
};
|
|
47
|
+
// Generator options for ESM extensions
|
|
48
|
+
const generatorOptions = {
|
|
49
|
+
esmExtensions
|
|
50
|
+
};
|
|
46
51
|
// Generate tree-shakable service function files
|
|
47
|
-
const serviceResult = generateServiceFns(dataModel);
|
|
52
|
+
const serviceResult = generateServiceFns(dataModel, generatorOptions);
|
|
48
53
|
// Generate operations file (FunctionImports, Functions, Actions)
|
|
49
|
-
const operationsResult = generateOperations(dataModel);
|
|
54
|
+
const operationsResult = generateOperations(dataModel, generatorOptions);
|
|
50
55
|
// Generate navigation builders
|
|
51
|
-
const navigationResult = generateNavigations(dataModel);
|
|
56
|
+
const navigationResult = generateNavigations(dataModel, generatorOptions);
|
|
52
57
|
// Generate source files
|
|
53
58
|
const sourceFiles = [{
|
|
54
59
|
path: path.join(sourceDir, "Models.ts"),
|
|
55
60
|
content: generateModels(dataModel)
|
|
56
61
|
}, {
|
|
57
62
|
path: path.join(sourceDir, "QueryModels.ts"),
|
|
58
|
-
content: generateQueryModels(dataModel)
|
|
63
|
+
content: generateQueryModels(dataModel, generatorOptions)
|
|
59
64
|
},
|
|
60
65
|
// Services file (all entity CRUD services in one file)
|
|
61
66
|
{
|
|
@@ -73,7 +78,7 @@ export const generate = (dataModel, config) => Effect.gen(function* () {
|
|
|
73
78
|
content: nav.content
|
|
74
79
|
})), {
|
|
75
80
|
path: path.join(sourceDir, "index.ts"),
|
|
76
|
-
content: generateIndex(dataModel)
|
|
81
|
+
content: generateIndex(dataModel, generatorOptions)
|
|
77
82
|
}];
|
|
78
83
|
// Package configuration files (only when not filesOnly)
|
|
79
84
|
const packageFiles = filesOnly ? [] : [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Generator.js","names":["FileSystem","Path","Effect","Schema","generateIndex","generateModels","generateNavigations","generateOperations","generatePackageJson","generateTsconfig","generateTsconfigBuild","generateTsconfigSrc","generateTsconfigTest","generateVitestConfig","generateQueryModels","generateServiceFns","GeneratorError","TaggedError","message","String","cause","optional","Unknown","generate","dataModel","config","gen","fs","path","outputDir","serviceName","packageName","toLowerCase","filesOnly","sourceDir","join","packageConfig","serviceResult","operationsResult","navigationResult","sourceFiles","content","servicesFile","fileName","operationsFile","navigationFiles","map","nav","packageFiles","files","makeDirectory","recursive","pipe","mapError","error","file","force","exists","logWarning","writeFileString","logInfo"],"sources":["../../../src/generator/Generator.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAKA,OAAO,KAAKA,UAAU,MAAM,6BAA6B;AACzD,OAAO,KAAKC,IAAI,MAAM,uBAAuB;AAC7C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAGvC,SAASC,aAAa,QAAQ,qBAAqB;AACnD,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,kBAAkB,QAAQ,0BAA0B;AAC7D,SACEC,mBAAmB,EACnBC,gBAAgB,EAChBC,qBAAqB,EACrBC,mBAAmB,EACnBC,oBAAoB,EACpBC,oBAAoB,QAEf,uBAAuB;AAC9B,SAASC,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,kBAAkB,QAAQ,yBAAyB;
|
|
1
|
+
{"version":3,"file":"Generator.js","names":["FileSystem","Path","Effect","Schema","generateIndex","generateModels","generateNavigations","generateOperations","generatePackageJson","generateTsconfig","generateTsconfigBuild","generateTsconfigSrc","generateTsconfigTest","generateVitestConfig","generateQueryModels","generateServiceFns","GeneratorError","TaggedError","message","String","cause","optional","Unknown","generate","dataModel","config","gen","fs","path","outputDir","serviceName","packageName","toLowerCase","filesOnly","esmExtensions","sourceDir","join","packageConfig","generatorOptions","serviceResult","operationsResult","navigationResult","sourceFiles","content","servicesFile","fileName","operationsFile","navigationFiles","map","nav","packageFiles","files","makeDirectory","recursive","pipe","mapError","error","file","force","exists","logWarning","writeFileString","logInfo"],"sources":["../../../src/generator/Generator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getEditableTypeName, getIdTypeName, getQueryFactoryName, getQueryInstanceName, getQueryInterfaceName, getServiceClassName } from "./NamingHelper.js";
|
|
1
|
+
import { formatRelativeImport, getEditableTypeName, getIdTypeName, getQueryFactoryName, getQueryInstanceName, getQueryInterfaceName, getServiceClassName } from "./NamingHelper.js";
|
|
2
2
|
import { getPathBuildersModuleName } from "./NavigationGenerator.js";
|
|
3
3
|
import { getOperationsModuleName } from "./OperationsGenerator.js";
|
|
4
4
|
/**
|
|
@@ -7,7 +7,8 @@ import { getOperationsModuleName } from "./OperationsGenerator.js";
|
|
|
7
7
|
* @since 1.0.0
|
|
8
8
|
* @category generation
|
|
9
9
|
*/
|
|
10
|
-
export const generateIndex = dataModel => {
|
|
10
|
+
export const generateIndex = (dataModel, options) => {
|
|
11
|
+
const esmExtensions = options?.esmExtensions ?? true;
|
|
11
12
|
const lines = [];
|
|
12
13
|
// Header
|
|
13
14
|
lines.push(`/**`);
|
|
@@ -42,7 +43,7 @@ export const generateIndex = dataModel => {
|
|
|
42
43
|
const isLast = i === modelExports.length - 1;
|
|
43
44
|
lines.push(` ${modelExports[i]}${isLast ? "" : ","}`);
|
|
44
45
|
}
|
|
45
|
-
lines.push(`} from "
|
|
46
|
+
lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`);
|
|
46
47
|
lines.push(``);
|
|
47
48
|
// Entity Services (all in one file using crud factory)
|
|
48
49
|
lines.push(`// Entity Services`);
|
|
@@ -60,20 +61,20 @@ export const generateIndex = dataModel => {
|
|
|
60
61
|
const isLast = i === serviceExports.length - 1;
|
|
61
62
|
lines.push(` ${serviceExports[i]}${isLast ? "" : ","}`);
|
|
62
63
|
}
|
|
63
|
-
lines.push(`} from "
|
|
64
|
+
lines.push(`} from "${formatRelativeImport("Services", esmExtensions)}"`);
|
|
64
65
|
lines.push(``);
|
|
65
66
|
// Operations (FunctionImports, Functions, Actions) - only if there are unbound operations
|
|
66
67
|
const hasUnboundOperations = Array.from(dataModel.operations.values()).some(op => !op.isBound);
|
|
67
68
|
if (hasUnboundOperations) {
|
|
68
69
|
lines.push(`// Operations (FunctionImports, Functions, Actions)`);
|
|
69
70
|
const operationsModuleName = getOperationsModuleName();
|
|
70
|
-
lines.push(`export * as ${operationsModuleName} from "
|
|
71
|
+
lines.push(`export * as ${operationsModuleName} from "${formatRelativeImport(operationsModuleName, esmExtensions)}"`);
|
|
71
72
|
lines.push(``);
|
|
72
73
|
}
|
|
73
74
|
// Path Builders (tree-shakable navigation)
|
|
74
75
|
lines.push(`// Path Builders (tree-shakable navigation)`);
|
|
75
76
|
const pathBuildersModuleName = getPathBuildersModuleName();
|
|
76
|
-
lines.push(`export * from "
|
|
77
|
+
lines.push(`export * from "${formatRelativeImport(pathBuildersModuleName, esmExtensions)}"`);
|
|
77
78
|
lines.push(``);
|
|
78
79
|
// Query Models
|
|
79
80
|
lines.push(`// Query Models`);
|
|
@@ -100,7 +101,7 @@ export const generateIndex = dataModel => {
|
|
|
100
101
|
const isLast = i === queryExports.length - 1;
|
|
101
102
|
lines.push(` ${queryExports[i]}${isLast ? "" : ","}`);
|
|
102
103
|
}
|
|
103
|
-
lines.push(`} from "
|
|
104
|
+
lines.push(`} from "${formatRelativeImport("QueryModels", esmExtensions)}"`);
|
|
104
105
|
return lines.join("\n");
|
|
105
106
|
};
|
|
106
107
|
//# sourceMappingURL=IndexGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexGenerator.js","names":["getEditableTypeName","getIdTypeName","getQueryFactoryName","getQueryInstanceName","getQueryInterfaceName","getServiceClassName","getPathBuildersModuleName","getOperationsModuleName","generateIndex","dataModel","lines","push","serviceName","modelExports","enumType","enumTypes","values","name","complexType","complexTypes","entityType","entityTypes","keys","length","i","isLast","serviceExports","entitySet","entitySets","hasUnboundOperations","Array","from","operations","some","op","isBound","operationsModuleName","pathBuildersModuleName","queryExports","get","entityTypeFqName","join"],"sources":["../../../src/generator/IndexGenerator.ts"],"sourcesContent":[null],"mappings":"AAMA,SACEA,mBAAmB,EACnBC,aAAa,EACbC,mBAAmB,EACnBC,oBAAoB,EACpBC,qBAAqB,EACrBC,mBAAmB,QACd,mBAAmB;AAC1B,SAASC,yBAAyB,QAAQ,0BAA0B;AACpE,SAASC,uBAAuB,QAAQ,0BAA0B;
|
|
1
|
+
{"version":3,"file":"IndexGenerator.js","names":["formatRelativeImport","getEditableTypeName","getIdTypeName","getQueryFactoryName","getQueryInstanceName","getQueryInterfaceName","getServiceClassName","getPathBuildersModuleName","getOperationsModuleName","generateIndex","dataModel","options","esmExtensions","lines","push","serviceName","modelExports","enumType","enumTypes","values","name","complexType","complexTypes","entityType","entityTypes","keys","length","i","isLast","serviceExports","entitySet","entitySets","hasUnboundOperations","Array","from","operations","some","op","isBound","operationsModuleName","pathBuildersModuleName","queryExports","get","entityTypeFqName","join"],"sources":["../../../src/generator/IndexGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -231,4 +231,25 @@ export const getOperationParameterNameWithOverrides = (odataParamName, odataOper
|
|
|
231
231
|
// Fall back to default camelCase conversion
|
|
232
232
|
return getPropertyName(odataParamName);
|
|
233
233
|
};
|
|
234
|
+
// ============================================================================
|
|
235
|
+
// Import path utilities
|
|
236
|
+
// ============================================================================
|
|
237
|
+
/**
|
|
238
|
+
* Format a relative import path, optionally adding .js extension for ESM compatibility.
|
|
239
|
+
*
|
|
240
|
+
* @param moduleName - The module name (e.g., "Models", "Services")
|
|
241
|
+
* @param esmExtensions - Whether to add .js extension (default: true)
|
|
242
|
+
* @returns The formatted import path (e.g., "./Models.js" or "./Models")
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
* formatRelativeImport("Models", true) // "./Models.js"
|
|
246
|
+
* formatRelativeImport("Models", false) // "./Models"
|
|
247
|
+
*
|
|
248
|
+
* @since 1.0.0
|
|
249
|
+
* @category imports
|
|
250
|
+
*/
|
|
251
|
+
export const formatRelativeImport = (moduleName, esmExtensions = true) => {
|
|
252
|
+
const ext = esmExtensions ? ".js" : "";
|
|
253
|
+
return `./${moduleName}${ext}`;
|
|
254
|
+
};
|
|
234
255
|
//# sourceMappingURL=NamingHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NamingHelper.js","names":["getOperationOverride","getOperationParameterOverride","getPropertyOverride","getTypeOverride","toPascalCase","str","replace","_","char","toUpperCase","toCamelCase","pascal","charAt","toLowerCase","slice","toValidIdentifier","test","getPropertyName","odataName","getClassName","getServiceClassName","entitySetName","singular","endsWith","getQueryInterfaceName","typeName","getQueryInstanceName","getQueryFactoryName","getEditableTypeName","getIdTypeName","getPropertyNameWithOverrides","typeKind","overrides","override","getClassNameWithOverrides","getOperationNameWithOverrides","getOperationParameterNameWithOverrides","odataParamName","odataOperationName"],"sources":["../../../src/generator/NamingHelper.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAKA,SACEA,oBAAoB,EACpBC,6BAA6B,EAC7BC,mBAAmB,EACnBC,eAAe,QAEV,6BAA6B;AAEpC;;;;;;;;;;AAUA,OAAO,MAAMC,YAAY,GAAIC,GAAW,IAAY;EAClD,OAAOA,GAAG,CACPC,OAAO,CAAC,UAAU,EAAE,CAACC,CAAC,EAAEC,IAAI,KAAKA,IAAI,CAACC,WAAW,EAAE,CAAC,CACpDH,OAAO,CAAC,MAAM,EAAGE,IAAI,IAAKA,IAAI,CAACC,WAAW,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;;;;AAUA,OAAO,MAAMC,WAAW,GAAIL,GAAW,IAAY;EACjD,MAAMM,MAAM,GAAGP,YAAY,CAACC,GAAG,CAAC;EAChC,OAAOM,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,GAAGF,MAAM,CAACG,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;;;;AAOA,OAAO,MAAMC,iBAAiB,GAAIV,GAAW,IAAY;EACvD;EACA,IAAI,QAAQ,CAACW,IAAI,CAACX,GAAG,CAAC,EAAE;IACtB,OAAO,IAAIA,GAAG,EAAE;EAClB;EACA;EACA,OAAOA,GAAG,CAACC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC;AAC5C,CAAC;AAED;;;;;;AAMA,OAAO,MAAMW,eAAe,GAAIC,SAAiB,IAAY;EAC3D,OAAOR,WAAW,CAACK,iBAAiB,CAACG,SAAS,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;AAMA,OAAO,MAAMC,YAAY,GAAID,SAAiB,IAAY;EACxD,OAAOd,YAAY,CAACW,iBAAiB,CAACG,SAAS,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAME,mBAAmB,GAAIC,aAAqB,IAAY;EACnE;EACA,IAAIC,QAAQ,GAAGD,aAAa;EAC5B,IAAIC,QAAQ,CAACC,QAAQ,CAAC,KAAK,CAAC,EAAE;IAC5B;IACAD,QAAQ,GAAGA,QAAQ,CAACR,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;EACxC,CAAC,MAAM,IACLQ,QAAQ,CAACC,QAAQ,CAAC,KAAK,CAAC,IAAID,QAAQ,CAACC,QAAQ,CAAC,MAAM,CAAC,IACrDD,QAAQ,CAACC,QAAQ,CAAC,MAAM,CAAC,IAAID,QAAQ,CAACC,QAAQ,CAAC,MAAM,CAAC,IACtDD,QAAQ,CAACC,QAAQ,CAAC,KAAK,CAAC,EACxB;IACA;IACAD,QAAQ,GAAGA,QAAQ,CAACR,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClC,CAAC,MAAM,IAAIQ,QAAQ,CAACC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAACD,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAAC,EAAE;IAC7D;IACAD,QAAQ,GAAGA,QAAQ,CAACR,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAClC;EACA,OAAO,GAAGV,YAAY,CAACkB,QAAQ,CAAC,SAAS;AAC3C,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAME,qBAAqB,GAAIC,QAAgB,IAAY;EAChE,OAAO,IAAIrB,YAAY,CAACqB,QAAQ,CAAC,EAAE;AACrC,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAMC,oBAAoB,GAAID,QAAgB,IAAY;EAC/D,OAAO,IAAIrB,YAAY,CAACqB,QAAQ,CAAC,EAAE;AACrC,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAME,mBAAmB,GAAIF,QAAgB,IAAY;EAC9D,OAAO,GAAGf,WAAW,CAACe,QAAQ,CAAC,OAAO;AACxC,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAMG,mBAAmB,GAAIH,QAAgB,IAAY;EAC9D,OAAO,WAAWrB,YAAY,CAACqB,QAAQ,CAAC,EAAE;AAC5C,CAAC;AAED;;;;;;;;;AASA,OAAO,MAAMI,aAAa,GAAIJ,QAAgB,IAAY;EACxD,OAAO,GAAGrB,YAAY,CAACqB,QAAQ,CAAC,IAAI;AACtC,CAAC;AAED;AACA;AACA;AAEA;;;;;;;;;;;;AAYA,OAAO,MAAMK,4BAA4B,GAAGA,CAC1CZ,SAAiB,EACjBO,QAAgB,EAChBM,QAA8B,EAC9BC,SAA2B,KACjB;EACV;EACA,MAAMC,QAAQ,GAAG/B,mBAAmB,CAAC8B,SAAS,EAAEP,QAAQ,EAAEM,QAAQ,EAAEb,SAAS,CAAC;EAC9E,IAAIe,QAAQ,EAAE;IACZ,OAAOA,QAAQ;EACjB;EAEA;EACA,OAAOhB,eAAe,CAACC,SAAS,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;AAWA,OAAO,MAAMgB,yBAAyB,GAAGA,CACvChB,SAAiB,EACjBa,QAA8B,EAC9BC,SAA2B,KACjB;EACV;EACA,MAAMC,QAAQ,GAAG9B,eAAe,CAAC6B,SAAS,EAAEd,SAAS,EAAEa,QAAQ,CAAC;EAChE,IAAIE,QAAQ,EAAE;IACZ,OAAOA,QAAQ;EACjB;EAEA;EACA,OAAOd,YAAY,CAACD,SAAS,CAAC;AAChC,CAAC;AAED;;;;;;;;;;AAUA,OAAO,MAAMiB,6BAA6B,GAAGA,CAC3CjB,SAAiB,EACjBc,SAA2B,KACjB;EACV;EACA,MAAMC,QAAQ,GAAGjC,oBAAoB,CAACgC,SAAS,EAAEd,SAAS,CAAC;EAC3D,IAAIe,QAAQ,EAAE;IACZ,OAAOA,QAAQ;EACjB;EAEA;EACA,OAAOhB,eAAe,CAACC,SAAS,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;AAWA,OAAO,MAAMkB,sCAAsC,GAAGA,CACpDC,cAAsB,EACtBC,kBAA0B,EAC1BN,SAA2B,KACjB;EACV;EACA,MAAMC,QAAQ,GAAGhC,6BAA6B,CAAC+B,SAAS,EAAEM,kBAAkB,EAAED,cAAc,CAAC;EAC7F,IAAIJ,QAAQ,EAAE;IACZ,OAAOA,QAAQ;EACjB;EAEA;EACA,OAAOhB,eAAe,CAACoB,cAAc,CAAC;AACxC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NamingHelper.js","names":["getOperationOverride","getOperationParameterOverride","getPropertyOverride","getTypeOverride","toPascalCase","str","replace","_","char","toUpperCase","toCamelCase","pascal","charAt","toLowerCase","slice","toValidIdentifier","test","getPropertyName","odataName","getClassName","getServiceClassName","entitySetName","singular","endsWith","getQueryInterfaceName","typeName","getQueryInstanceName","getQueryFactoryName","getEditableTypeName","getIdTypeName","getPropertyNameWithOverrides","typeKind","overrides","override","getClassNameWithOverrides","getOperationNameWithOverrides","getOperationParameterNameWithOverrides","odataParamName","odataOperationName","formatRelativeImport","moduleName","esmExtensions","ext"],"sources":["../../../src/generator/NamingHelper.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getClassName, toCamelCase } from "./NamingHelper.js";
|
|
1
|
+
import { formatRelativeImport, getClassName, toCamelCase } from "./NamingHelper.js";
|
|
2
2
|
const V2_CONFIG = {
|
|
3
3
|
odataNamespace: "OData",
|
|
4
4
|
clientModule: "OData",
|
|
@@ -85,9 +85,10 @@ const getDerivedTypes = (baseTypeFqName, dataModel) => {
|
|
|
85
85
|
* @since 1.0.0
|
|
86
86
|
* @category generation
|
|
87
87
|
*/
|
|
88
|
-
export const generateNavigations = dataModel => {
|
|
88
|
+
export const generateNavigations = (dataModel, options) => {
|
|
89
|
+
const esmExtensions = options?.esmExtensions ?? true;
|
|
89
90
|
const moduleName = getPathBuildersModuleName();
|
|
90
|
-
const content = generatePathBuildersFile(dataModel);
|
|
91
|
+
const content = generatePathBuildersFile(dataModel, esmExtensions);
|
|
91
92
|
return {
|
|
92
93
|
navigationFiles: [{
|
|
93
94
|
fileName: `${moduleName}.ts`,
|
|
@@ -98,7 +99,7 @@ export const generateNavigations = dataModel => {
|
|
|
98
99
|
/**
|
|
99
100
|
* Generate the PathBuilders.ts file.
|
|
100
101
|
*/
|
|
101
|
-
const generatePathBuildersFile = dataModel => {
|
|
102
|
+
const generatePathBuildersFile = (dataModel, esmExtensions) => {
|
|
102
103
|
const lines = [];
|
|
103
104
|
const versionConfig = getVersionConfig(dataModel.version);
|
|
104
105
|
// Collect all nav properties and find collisions
|
|
@@ -141,7 +142,7 @@ const generatePathBuildersFile = dataModel => {
|
|
|
141
142
|
const isLast = i === typesList.length - 1;
|
|
142
143
|
lines.push(` ${typesList[i]} as ${typesList[i]}Model${isLast ? "" : ","}`);
|
|
143
144
|
}
|
|
144
|
-
lines.push(`} from "
|
|
145
|
+
lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`);
|
|
145
146
|
lines.push(``);
|
|
146
147
|
}
|
|
147
148
|
// Path branded type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationGenerator.js","names":["getClassName","toCamelCase","V2_CONFIG","odataNamespace","clientModule","queryOptionsType","V4_CONFIG","getVersionConfig","version","getPathBuildersModuleName","collectAllNavigationProperties","dataModel","navProps","entityType","entityTypes","values","navProp","navigationProperties","targetTypeName","targetType","push","propertyName","name","odataName","sourceEntityName","targetEntityName","isCollection","findCollisions","collisions","Set","seen","Map","prop","existing","get","add","set","getNavFunctionName","hasCollision","getDerivedTypes","baseTypeFqName","derived","baseType","furtherDerived","fqName","d","generateNavigations","moduleName","content","generatePathBuildersFile","navigationFiles","fileName","lines","versionConfig","allNavProps","referencedTypes","collectReferencedTypes","size","typesList","Array","from","sort","i","length","isLast","entitySet","entitySets","entityTypeFqName","navPropsBySource","sourceEntity","props","has","fnName","castFunctions","generateTypeCastFunctions","castFunction","join","processed","derivedTypes","castPath","namespace","types"],"sources":["../../../src/generator/NavigationGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NavigationGenerator.js","names":["formatRelativeImport","getClassName","toCamelCase","V2_CONFIG","odataNamespace","clientModule","queryOptionsType","V4_CONFIG","getVersionConfig","version","getPathBuildersModuleName","collectAllNavigationProperties","dataModel","navProps","entityType","entityTypes","values","navProp","navigationProperties","targetTypeName","targetType","push","propertyName","name","odataName","sourceEntityName","targetEntityName","isCollection","findCollisions","collisions","Set","seen","Map","prop","existing","get","add","set","getNavFunctionName","hasCollision","getDerivedTypes","baseTypeFqName","derived","baseType","furtherDerived","fqName","d","generateNavigations","options","esmExtensions","moduleName","content","generatePathBuildersFile","navigationFiles","fileName","lines","versionConfig","allNavProps","referencedTypes","collectReferencedTypes","size","typesList","Array","from","sort","i","length","isLast","entitySet","entitySets","entityTypeFqName","navPropsBySource","sourceEntity","props","has","fnName","castFunctions","generateTypeCastFunctions","castFunction","join","processed","derivedTypes","castPath","namespace","types"],"sources":["../../../src/generator/NavigationGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { toPascalCase } from "./NamingHelper.js";
|
|
1
|
+
import { formatRelativeImport, toPascalCase } from "./NamingHelper.js";
|
|
2
2
|
const V2_CONFIG = {
|
|
3
3
|
clientConfigTag: "ODataClientConfig",
|
|
4
4
|
clientConfigImport: "ODataClientConfig",
|
|
@@ -33,7 +33,8 @@ export const getOperationsModuleName = () => "Operations";
|
|
|
33
33
|
* @since 1.0.0
|
|
34
34
|
* @category generation
|
|
35
35
|
*/
|
|
36
|
-
export const generateOperations = dataModel => {
|
|
36
|
+
export const generateOperations = (dataModel, options) => {
|
|
37
|
+
const esmExtensions = options?.esmExtensions ?? true;
|
|
37
38
|
// Get unbound operations only (bound operations are attached to entity services)
|
|
38
39
|
const unboundOperations = Array.from(dataModel.operations.values()).filter(op => !op.isBound);
|
|
39
40
|
if (unboundOperations.length === 0) {
|
|
@@ -41,7 +42,7 @@ export const generateOperations = dataModel => {
|
|
|
41
42
|
operationsFile: null
|
|
42
43
|
};
|
|
43
44
|
}
|
|
44
|
-
const content = generateOperationsFile(unboundOperations, dataModel);
|
|
45
|
+
const content = generateOperationsFile(unboundOperations, dataModel, esmExtensions);
|
|
45
46
|
return {
|
|
46
47
|
operationsFile: {
|
|
47
48
|
fileName: `${getOperationsModuleName()}.ts`,
|
|
@@ -117,7 +118,7 @@ const collectModelImports = (operations, dataModel) => {
|
|
|
117
118
|
/**
|
|
118
119
|
* Generate the operations file content.
|
|
119
120
|
*/
|
|
120
|
-
const generateOperationsFile = (operations, dataModel) => {
|
|
121
|
+
const generateOperationsFile = (operations, dataModel, esmExtensions) => {
|
|
121
122
|
const lines = [];
|
|
122
123
|
const versionConfig = getVersionConfig(dataModel.version);
|
|
123
124
|
const isV4 = dataModel.version === "V4";
|
|
@@ -154,7 +155,7 @@ const generateOperationsFile = (operations, dataModel) => {
|
|
|
154
155
|
const isLast = i === importsList.length - 1;
|
|
155
156
|
lines.push(` ${importsList[i]}${isLast ? "" : ","}`);
|
|
156
157
|
}
|
|
157
|
-
lines.push(`} from "
|
|
158
|
+
lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`);
|
|
158
159
|
lines.push(``);
|
|
159
160
|
}
|
|
160
161
|
// Error type
|