@odata-effect/odata-effect-generator 0.1.2 → 0.3.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/README.md +232 -5
- package/dist/cjs/Cli.js +5 -1
- package/dist/cjs/Cli.js.map +1 -1
- package/dist/cjs/generator/Generator.js +35 -25
- package/dist/cjs/generator/Generator.js.map +1 -1
- package/dist/cjs/generator/IndexGenerator.js +29 -80
- package/dist/cjs/generator/IndexGenerator.js.map +1 -1
- package/dist/cjs/generator/ModelsGenerator.js +2 -5
- package/dist/cjs/generator/ModelsGenerator.js.map +1 -1
- package/dist/cjs/generator/NamingHelper.js +4 -1
- package/dist/cjs/generator/NamingHelper.js.map +1 -1
- package/dist/cjs/generator/NavigationGenerator.js +370 -0
- package/dist/cjs/generator/NavigationGenerator.js.map +1 -0
- package/dist/cjs/generator/OperationsGenerator.js +384 -0
- package/dist/cjs/generator/OperationsGenerator.js.map +1 -0
- package/dist/cjs/generator/QueryModelsGenerator.js +2 -2
- package/dist/cjs/generator/QueryModelsGenerator.js.map +1 -1
- package/dist/cjs/generator/ServiceFnGenerator.js +102 -224
- package/dist/cjs/generator/ServiceFnGenerator.js.map +1 -1
- package/dist/cjs/index.js +3 -3
- package/dist/dts/Cli.d.ts.map +1 -1
- package/dist/dts/generator/Generator.d.ts +2 -0
- package/dist/dts/generator/Generator.d.ts.map +1 -1
- package/dist/dts/generator/IndexGenerator.d.ts.map +1 -1
- package/dist/dts/generator/NamingHelper.d.ts.map +1 -1
- package/dist/dts/generator/NavigationGenerator.d.ts +55 -0
- package/dist/dts/generator/NavigationGenerator.d.ts.map +1 -0
- package/dist/dts/generator/OperationsGenerator.d.ts +50 -0
- package/dist/dts/generator/OperationsGenerator.d.ts.map +1 -0
- package/dist/dts/generator/ServiceFnGenerator.d.ts +10 -11
- package/dist/dts/generator/ServiceFnGenerator.d.ts.map +1 -1
- package/dist/dts/index.d.ts +4 -4
- package/dist/dts/index.d.ts.map +1 -1
- package/dist/esm/Cli.js +5 -1
- package/dist/esm/Cli.js.map +1 -1
- package/dist/esm/generator/Generator.js +35 -25
- package/dist/esm/generator/Generator.js.map +1 -1
- package/dist/esm/generator/IndexGenerator.js +29 -80
- package/dist/esm/generator/IndexGenerator.js.map +1 -1
- package/dist/esm/generator/ModelsGenerator.js +2 -5
- package/dist/esm/generator/ModelsGenerator.js.map +1 -1
- package/dist/esm/generator/NamingHelper.js +4 -1
- package/dist/esm/generator/NamingHelper.js.map +1 -1
- package/dist/esm/generator/NavigationGenerator.js +362 -0
- package/dist/esm/generator/NavigationGenerator.js.map +1 -0
- package/dist/esm/generator/OperationsGenerator.js +375 -0
- package/dist/esm/generator/OperationsGenerator.js.map +1 -0
- package/dist/esm/generator/QueryModelsGenerator.js +2 -2
- package/dist/esm/generator/QueryModelsGenerator.js.map +1 -1
- package/dist/esm/generator/ServiceFnGenerator.js +102 -224
- package/dist/esm/generator/ServiceFnGenerator.js.map +1 -1
- package/dist/esm/index.js +4 -4
- package/dist/esm/index.js.map +1 -1
- package/generator/NavigationGenerator/package.json +6 -0
- package/generator/OperationsGenerator/package.json +6 -0
- package/package.json +17 -9
- package/src/Cli.ts +15 -2
- package/src/generator/Generator.ts +44 -23
- package/src/generator/IndexGenerator.ts +29 -80
- package/src/generator/ModelsGenerator.ts +2 -5
- package/src/generator/NamingHelper.ts +8 -1
- package/src/generator/NavigationGenerator.ts +485 -0
- package/src/generator/OperationsGenerator.ts +507 -0
- package/src/generator/QueryModelsGenerator.ts +2 -2
- package/src/generator/ServiceFnGenerator.ts +117 -265
- package/src/index.ts +4 -4
- package/dist/cjs/generator/ServiceFnPromiseGenerator.js +0 -183
- package/dist/cjs/generator/ServiceFnPromiseGenerator.js.map +0 -1
- package/dist/dts/generator/ServiceFnPromiseGenerator.d.ts +0 -40
- package/dist/dts/generator/ServiceFnPromiseGenerator.d.ts.map +0 -1
- package/dist/esm/generator/ServiceFnPromiseGenerator.js +0 -175
- package/dist/esm/generator/ServiceFnPromiseGenerator.js.map +0 -1
- package/generator/ServiceFnPromiseGenerator/package.json +0 -6
- package/src/generator/ServiceFnPromiseGenerator.ts +0 -243
package/dist/dts/index.d.ts
CHANGED
|
@@ -70,14 +70,14 @@ export * as QueryModelsGenerator from "./generator/QueryModelsGenerator.js";
|
|
|
70
70
|
*/
|
|
71
71
|
export * as ServiceFnGenerator from "./generator/ServiceFnGenerator.js";
|
|
72
72
|
/**
|
|
73
|
-
* Generator for
|
|
73
|
+
* Generator for tree-shakable navigation path builders.
|
|
74
74
|
*
|
|
75
|
-
* This module generates
|
|
76
|
-
*
|
|
75
|
+
* This module generates pipe-based navigation functions and the toPromise
|
|
76
|
+
* helper for Promise-based environments.
|
|
77
77
|
*
|
|
78
78
|
* @since 1.0.0
|
|
79
79
|
*/
|
|
80
|
-
export * as
|
|
80
|
+
export * as NavigationGenerator from "./generator/NavigationGenerator.js";
|
|
81
81
|
/**
|
|
82
82
|
* Intermediate representation for OData metadata.
|
|
83
83
|
* This is the central data model that digesters create and generators consume.
|
package/dist/dts/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAElD;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAA;AAEtD;;;;GAIG;AACH,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;AAErD;;;;GAIG;AACH,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAA;AAE/D;;;;GAIG;AACH,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAA;AAEjE;;;;GAIG;AACH,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAA;AAE3D;;;;GAIG;AACH,OAAO,KAAK,gBAAgB,MAAM,iCAAiC,CAAA;AAEnE;;;;GAIG;AACH,OAAO,KAAK,oBAAoB,MAAM,qCAAqC,CAAA;AAE3E;;;;;;;;GAQG;AACH,OAAO,KAAK,kBAAkB,MAAM,mCAAmC,CAAA;AAEvE;;;;;;;GAOG;AACH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;GAIG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAE/B;;;;;GAKG;AACH,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAElD;;;;GAIG;AACH,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAA;AAEtD;;;;GAIG;AACH,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;AAErD;;;;GAIG;AACH,OAAO,KAAK,cAAc,MAAM,+BAA+B,CAAA;AAE/D;;;;GAIG;AACH,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAA;AAEjE;;;;GAIG;AACH,OAAO,KAAK,YAAY,MAAM,6BAA6B,CAAA;AAE3D;;;;GAIG;AACH,OAAO,KAAK,gBAAgB,MAAM,iCAAiC,CAAA;AAEnE;;;;GAIG;AACH,OAAO,KAAK,oBAAoB,MAAM,qCAAqC,CAAA;AAE3E;;;;;;;;GAQG;AACH,OAAO,KAAK,kBAAkB,MAAM,mCAAmC,CAAA;AAEvE;;;;;;;GAOG;AACH,OAAO,KAAK,mBAAmB,MAAM,oCAAoC,CAAA;AAEzE;;;;;GAKG;AACH,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAA;AAEjD;;;;;GAKG;AACH,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AAEpD;;;;GAIG;AACH,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA"}
|
package/dist/esm/Cli.js
CHANGED
|
@@ -22,6 +22,7 @@ const outputDir = /*#__PURE__*/Args.path({
|
|
|
22
22
|
const serviceName = /*#__PURE__*/Options.text("service-name").pipe(Options.optional, /*#__PURE__*/Options.withDescription("Override service name (defaults to EntityContainer name)"));
|
|
23
23
|
const packageName = /*#__PURE__*/Options.text("package-name").pipe(Options.optional, /*#__PURE__*/Options.withDescription("NPM package name (defaults to @template/<service-name>-effect)"));
|
|
24
24
|
const force = /*#__PURE__*/Options.boolean("force").pipe(/*#__PURE__*/Options.withDefault(false), /*#__PURE__*/Options.withDescription("Overwrite existing files"));
|
|
25
|
+
const filesOnly = /*#__PURE__*/Options.boolean("files-only").pipe(/*#__PURE__*/Options.withDefault(false), /*#__PURE__*/Options.withDescription("Generate only source files (no package.json, tsconfig, etc.) directly in output-dir"));
|
|
25
26
|
// ============================================================================
|
|
26
27
|
// Generate Command
|
|
27
28
|
// ============================================================================
|
|
@@ -30,8 +31,10 @@ const generateCommand = /*#__PURE__*/Command.make("generate", {
|
|
|
30
31
|
outputDir,
|
|
31
32
|
serviceName,
|
|
32
33
|
packageName,
|
|
33
|
-
force
|
|
34
|
+
force,
|
|
35
|
+
filesOnly
|
|
34
36
|
}).pipe(/*#__PURE__*/Command.withDescription("Generate Effect OData client from metadata"), /*#__PURE__*/Command.withHandler(({
|
|
37
|
+
filesOnly: onlyFiles,
|
|
35
38
|
force: forceOverwrite,
|
|
36
39
|
metadataPath: metaPath,
|
|
37
40
|
outputDir: outDir,
|
|
@@ -60,6 +63,7 @@ const generateCommand = /*#__PURE__*/Command.make("generate", {
|
|
|
60
63
|
const config = {
|
|
61
64
|
outputDir: outDir,
|
|
62
65
|
force: forceOverwrite,
|
|
66
|
+
filesOnly: onlyFiles,
|
|
63
67
|
...(svcName._tag === "Some" ? {
|
|
64
68
|
serviceName: svcName.value
|
|
65
69
|
} : {}),
|
package/dist/esm/Cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Cli.js","names":["Args","Command","Options","FileSystem","Console","Effect","digestMetadata","generate","parseODataMetadata","metadataPath","path","name","pipe","withDescription","outputDir","serviceName","text","optional","packageName","force","boolean","withDefault","generateCommand","make","withHandler","forceOverwrite","metaPath","outDir","pkgName","svcName","gen","fs","log","metadataContent","readFileString","mapError","error","Error","edmx","dataModel","version","namespace","entityTypes","size","complexTypes","enumTypes","entitySets","config","_tag","value","rootCommand","withSubcommands","cli","run"],"sources":["../../src/Cli.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAKA,SAASA,IAAI,EAAEC,OAAO,EAAEC,OAAO,QAAQ,aAAa;AACpD,OAAO,KAAKC,UAAU,MAAM,6BAA6B;AACzD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,SAASC,cAAc,QAAQ,wBAAwB;AACvD,SAASC,QAAQ,QAAQ,0BAA0B;AACnD,SAASC,kBAAkB,QAAQ,uBAAuB;AAE1D;AACA;AACA;AAEA,MAAMC,YAAY,gBAAGT,IAAI,CAACU,IAAI,CAAC;EAAEC,IAAI,EAAE;AAAe,CAAE,CAAC,CAACC,IAAI,cAC5DZ,IAAI,CAACa,eAAe,CAAC,iCAAiC,CAAC,CACxD;AAED,MAAMC,SAAS,gBAAGd,IAAI,CAACU,IAAI,CAAC;EAAEC,IAAI,EAAE;AAAY,CAAE,CAAC,CAACC,IAAI,cACtDZ,IAAI,CAACa,eAAe,CAAC,0CAA0C,CAAC,CACjE;AAED,MAAME,WAAW,gBAAGb,OAAO,CAACc,IAAI,CAAC,cAAc,CAAC,CAACJ,IAAI,CACnDV,OAAO,CAACe,QAAQ,eAChBf,OAAO,CAACW,eAAe,CAAC,0DAA0D,CAAC,CACpF;AAED,MAAMK,WAAW,gBAAGhB,OAAO,CAACc,IAAI,CAAC,cAAc,CAAC,CAACJ,IAAI,CACnDV,OAAO,CAACe,QAAQ,eAChBf,OAAO,CAACW,eAAe,CAAC,gEAAgE,CAAC,CAC1F;AAED,MAAMM,KAAK,gBAAGjB,OAAO,CAACkB,OAAO,CAAC,OAAO,CAAC,CAACR,IAAI,cACzCV,OAAO,CAACmB,WAAW,CAAC,KAAK,CAAC,eAC1BnB,OAAO,CAACW,eAAe,CAAC,0BAA0B,CAAC,CACpD;AAED;AACA;AACA;AAEA,
|
|
1
|
+
{"version":3,"file":"Cli.js","names":["Args","Command","Options","FileSystem","Console","Effect","digestMetadata","generate","parseODataMetadata","metadataPath","path","name","pipe","withDescription","outputDir","serviceName","text","optional","packageName","force","boolean","withDefault","filesOnly","generateCommand","make","withHandler","onlyFiles","forceOverwrite","metaPath","outDir","pkgName","svcName","gen","fs","log","metadataContent","readFileString","mapError","error","Error","edmx","dataModel","version","namespace","entityTypes","size","complexTypes","enumTypes","entitySets","config","_tag","value","rootCommand","withSubcommands","cli","run"],"sources":["../../src/Cli.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -9,10 +9,11 @@ import * as Effect from "effect/Effect";
|
|
|
9
9
|
import * as Schema from "effect/Schema";
|
|
10
10
|
import { generateIndex } from "./IndexGenerator.js";
|
|
11
11
|
import { generateModels } from "./ModelsGenerator.js";
|
|
12
|
+
import { generateNavigations } from "./NavigationGenerator.js";
|
|
13
|
+
import { generateOperations } from "./OperationsGenerator.js";
|
|
12
14
|
import { generatePackageJson, generateTsconfig, generateTsconfigBuild, generateTsconfigSrc, generateTsconfigTest, generateVitestConfig } from "./PackageGenerator.js";
|
|
13
15
|
import { generateQueryModels } from "./QueryModelsGenerator.js";
|
|
14
16
|
import { generateServiceFns } from "./ServiceFnGenerator.js";
|
|
15
|
-
import { generatePromiseServiceFns } from "./ServiceFnPromiseGenerator.js";
|
|
16
17
|
/**
|
|
17
18
|
* Error thrown during code generation.
|
|
18
19
|
*
|
|
@@ -35,39 +36,47 @@ export const generate = (dataModel, config) => Effect.gen(function* () {
|
|
|
35
36
|
const outputDir = config.outputDir;
|
|
36
37
|
const serviceName = config.serviceName ?? dataModel.serviceName;
|
|
37
38
|
const packageName = config.packageName ?? `@template/${serviceName.toLowerCase()}-effect`;
|
|
39
|
+
const filesOnly = config.filesOnly ?? false;
|
|
40
|
+
// When filesOnly is true, output directly to outputDir; otherwise use outputDir/src
|
|
41
|
+
const sourceDir = filesOnly ? outputDir : path.join(outputDir, "src");
|
|
38
42
|
const packageConfig = {
|
|
39
43
|
packageName,
|
|
40
44
|
serviceName
|
|
41
45
|
};
|
|
42
46
|
// Generate tree-shakable service function files
|
|
43
47
|
const serviceResult = generateServiceFns(dataModel);
|
|
44
|
-
// Generate
|
|
45
|
-
const
|
|
46
|
-
// Generate
|
|
47
|
-
const
|
|
48
|
-
//
|
|
49
|
-
{
|
|
50
|
-
path: path.join(
|
|
48
|
+
// Generate operations file (FunctionImports, Functions, Actions)
|
|
49
|
+
const operationsResult = generateOperations(dataModel);
|
|
50
|
+
// Generate navigation builders
|
|
51
|
+
const navigationResult = generateNavigations(dataModel);
|
|
52
|
+
// Generate source files
|
|
53
|
+
const sourceFiles = [{
|
|
54
|
+
path: path.join(sourceDir, "Models.ts"),
|
|
51
55
|
content: generateModels(dataModel)
|
|
52
56
|
}, {
|
|
53
|
-
path: path.join(
|
|
57
|
+
path: path.join(sourceDir, "QueryModels.ts"),
|
|
54
58
|
content: generateQueryModels(dataModel)
|
|
55
59
|
},
|
|
56
|
-
//
|
|
57
|
-
|
|
58
|
-
path: path.join(
|
|
59
|
-
content:
|
|
60
|
-
}
|
|
61
|
-
//
|
|
62
|
-
...
|
|
63
|
-
path: path.join(
|
|
64
|
-
content:
|
|
60
|
+
// Services file (all entity CRUD services in one file)
|
|
61
|
+
{
|
|
62
|
+
path: path.join(sourceDir, serviceResult.servicesFile.fileName),
|
|
63
|
+
content: serviceResult.servicesFile.content
|
|
64
|
+
},
|
|
65
|
+
// Operations file (only if there are unbound operations)
|
|
66
|
+
...(operationsResult.operationsFile ? [{
|
|
67
|
+
path: path.join(sourceDir, operationsResult.operationsFile.fileName),
|
|
68
|
+
content: operationsResult.operationsFile.content
|
|
69
|
+
}] : []),
|
|
70
|
+
// Navigation builder files
|
|
71
|
+
...navigationResult.navigationFiles.map(nav => ({
|
|
72
|
+
path: path.join(sourceDir, nav.fileName),
|
|
73
|
+
content: nav.content
|
|
65
74
|
})), {
|
|
66
|
-
path: path.join(
|
|
75
|
+
path: path.join(sourceDir, "index.ts"),
|
|
67
76
|
content: generateIndex(dataModel)
|
|
68
|
-
}
|
|
69
|
-
// Package configuration files
|
|
70
|
-
{
|
|
77
|
+
}];
|
|
78
|
+
// Package configuration files (only when not filesOnly)
|
|
79
|
+
const packageFiles = filesOnly ? [] : [{
|
|
71
80
|
path: path.join(outputDir, "package.json"),
|
|
72
81
|
content: generatePackageJson(dataModel, packageConfig)
|
|
73
82
|
}, {
|
|
@@ -86,11 +95,12 @@ export const generate = (dataModel, config) => Effect.gen(function* () {
|
|
|
86
95
|
path: path.join(outputDir, "vitest.config.ts"),
|
|
87
96
|
content: generateVitestConfig()
|
|
88
97
|
}];
|
|
89
|
-
|
|
90
|
-
|
|
98
|
+
const files = [...sourceFiles, ...packageFiles];
|
|
99
|
+
// Create output directory
|
|
100
|
+
yield* fs.makeDirectory(sourceDir, {
|
|
91
101
|
recursive: true
|
|
92
102
|
}).pipe(Effect.mapError(error => new GeneratorError({
|
|
93
|
-
message: `Failed to create output directory: ${
|
|
103
|
+
message: `Failed to create output directory: ${sourceDir}`,
|
|
94
104
|
cause: error
|
|
95
105
|
})));
|
|
96
106
|
// Write all files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Generator.js","names":["FileSystem","Path","Effect","Schema","generateIndex","generateModels","generatePackageJson","generateTsconfig","generateTsconfigBuild","generateTsconfigSrc","generateTsconfigTest","generateVitestConfig","generateQueryModels","generateServiceFns","
|
|
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":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { getEditableTypeName, getIdTypeName, getQueryFactoryName, getQueryInstanceName, getQueryInterfaceName, getServiceClassName } from "./NamingHelper.js";
|
|
2
|
-
import {
|
|
2
|
+
import { getPathBuildersModuleName } from "./NavigationGenerator.js";
|
|
3
|
+
import { getOperationsModuleName } from "./OperationsGenerator.js";
|
|
3
4
|
/**
|
|
4
5
|
* Generate the index.ts file content.
|
|
5
6
|
*
|
|
@@ -41,90 +42,38 @@ export const generateIndex = dataModel => {
|
|
|
41
42
|
const isLast = i === modelExports.length - 1;
|
|
42
43
|
lines.push(` ${modelExports[i]}${isLast ? "" : ","}`);
|
|
43
44
|
}
|
|
44
|
-
lines.push(`} from "./Models
|
|
45
|
+
lines.push(`} from "./Models"`);
|
|
45
46
|
lines.push(``);
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
lines.push(`//
|
|
47
|
+
// Entity Services (all in one file using crud factory)
|
|
48
|
+
lines.push(`// Entity Services`);
|
|
49
|
+
lines.push(`// Use toPromise(runtime) from PathBuilders to convert Effect to Promise`);
|
|
49
50
|
lines.push(`export {`);
|
|
50
|
-
|
|
51
|
-
if (!isV4) {
|
|
52
|
-
lines.push(` SapErrorDetail,`);
|
|
53
|
-
lines.push(` SapErrorResolution,`);
|
|
54
|
-
lines.push(` SapApplication,`);
|
|
55
|
-
lines.push(` SapInnerError,`);
|
|
56
|
-
lines.push(` SapErrorMessage,`);
|
|
57
|
-
lines.push(` SapErrorBody,`);
|
|
58
|
-
lines.push(` SapErrorResponse,`);
|
|
59
|
-
lines.push(` SapError,`);
|
|
60
|
-
}
|
|
61
|
-
lines.push(` ODataError,`);
|
|
62
|
-
lines.push(` EntityNotFoundError,`);
|
|
63
|
-
lines.push(` ParseError,`);
|
|
64
|
-
if (isV4) {
|
|
65
|
-
// V4 exports
|
|
66
|
-
lines.push(` // OData V4`);
|
|
67
|
-
lines.push(` ODataV4,`);
|
|
68
|
-
lines.push(` ODataV4CollectionResponse,`);
|
|
69
|
-
lines.push(` ODataV4ValueResponse,`);
|
|
70
|
-
lines.push(` ODataV4Annotations,`);
|
|
71
|
-
lines.push(` ODataV4ClientConfig,`);
|
|
72
|
-
lines.push(` buildEntityPathV4,`);
|
|
73
|
-
lines.push(` type ODataV4QueryOptions,`);
|
|
74
|
-
lines.push(` type ODataV4RequestOptions,`);
|
|
75
|
-
lines.push(` type ODataV4ClientConfigService,`);
|
|
76
|
-
lines.push(` type PagedResultV4,`);
|
|
77
|
-
} else {
|
|
78
|
-
// V2 exports
|
|
79
|
-
lines.push(` // OData V2`);
|
|
80
|
-
lines.push(` OData,`);
|
|
81
|
-
lines.push(` ODataSingleResponse,`);
|
|
82
|
-
lines.push(` ODataCollectionResponse,`);
|
|
83
|
-
lines.push(` ODataCollectionResponseWithMeta,`);
|
|
84
|
-
lines.push(` ODataValueResponse,`);
|
|
85
|
-
lines.push(` EntityMetadata,`);
|
|
86
|
-
lines.push(` MediaMetadata,`);
|
|
87
|
-
lines.push(` DeferredContent,`);
|
|
88
|
-
lines.push(` ODataClientConfig,`);
|
|
89
|
-
lines.push(` buildEntityPath,`);
|
|
90
|
-
lines.push(` DEFAULT_HEADERS,`);
|
|
91
|
-
lines.push(` MERGE_HEADERS,`);
|
|
92
|
-
lines.push(` type ODataQueryOptions,`);
|
|
93
|
-
lines.push(` type ODataRequestOptions,`);
|
|
94
|
-
lines.push(` type ODataClientConfigService,`);
|
|
95
|
-
lines.push(` type PagedResult,`);
|
|
96
|
-
}
|
|
97
|
-
lines.push(` // Query Builder`);
|
|
98
|
-
lines.push(` FilterExpression,`);
|
|
99
|
-
lines.push(` StringPath,`);
|
|
100
|
-
lines.push(` NumberPath,`);
|
|
101
|
-
lines.push(` BooleanPath,`);
|
|
102
|
-
lines.push(` DateTimePath,`);
|
|
103
|
-
lines.push(` EntityPath,`);
|
|
104
|
-
lines.push(` CollectionPath,`);
|
|
105
|
-
lines.push(` QueryBuilder,`);
|
|
106
|
-
lines.push(` createQueryPaths,`);
|
|
107
|
-
lines.push(` createQueryBuilder,`);
|
|
108
|
-
lines.push(` type FieldToPath,`);
|
|
109
|
-
lines.push(` type QueryPaths,`);
|
|
110
|
-
lines.push(` type SelectableKeys,`);
|
|
111
|
-
lines.push(` type ExpandableKeys,`);
|
|
112
|
-
lines.push(` type BuiltQuery`);
|
|
113
|
-
lines.push(`} from "@odata-effect/odata-effect"`);
|
|
114
|
-
lines.push(``);
|
|
115
|
-
// Individual Entity Services (tree-shakable module namespace re-exports)
|
|
116
|
-
lines.push(`// Individual Entity Services (tree-shakable)`);
|
|
51
|
+
const serviceExports = [];
|
|
117
52
|
for (const entitySet of dataModel.entitySets.values()) {
|
|
118
|
-
|
|
119
|
-
lines.push(`export * as ${serviceClassName} from "./${serviceClassName}.js"`);
|
|
53
|
+
serviceExports.push(getServiceClassName(entitySet.name));
|
|
120
54
|
}
|
|
55
|
+
// Also export types
|
|
56
|
+
serviceExports.push(`type CrudError`);
|
|
57
|
+
serviceExports.push(`type CrudContext`);
|
|
58
|
+
serviceExports.push(`type CrudService`);
|
|
59
|
+
for (let i = 0; i < serviceExports.length; i++) {
|
|
60
|
+
const isLast = i === serviceExports.length - 1;
|
|
61
|
+
lines.push(` ${serviceExports[i]}${isLast ? "" : ","}`);
|
|
62
|
+
}
|
|
63
|
+
lines.push(`} from "./Services"`);
|
|
121
64
|
lines.push(``);
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
65
|
+
// Operations (FunctionImports, Functions, Actions) - only if there are unbound operations
|
|
66
|
+
const hasUnboundOperations = Array.from(dataModel.operations.values()).some(op => !op.isBound);
|
|
67
|
+
if (hasUnboundOperations) {
|
|
68
|
+
lines.push(`// Operations (FunctionImports, Functions, Actions)`);
|
|
69
|
+
const operationsModuleName = getOperationsModuleName();
|
|
70
|
+
lines.push(`export * as ${operationsModuleName} from "./${operationsModuleName}"`);
|
|
71
|
+
lines.push(``);
|
|
127
72
|
}
|
|
73
|
+
// Path Builders (tree-shakable navigation)
|
|
74
|
+
lines.push(`// Path Builders (tree-shakable navigation)`);
|
|
75
|
+
const pathBuildersModuleName = getPathBuildersModuleName();
|
|
76
|
+
lines.push(`export * from "./${pathBuildersModuleName}"`);
|
|
128
77
|
lines.push(``);
|
|
129
78
|
// Query Models
|
|
130
79
|
lines.push(`// Query Models`);
|
|
@@ -151,7 +100,7 @@ export const generateIndex = dataModel => {
|
|
|
151
100
|
const isLast = i === queryExports.length - 1;
|
|
152
101
|
lines.push(` ${queryExports[i]}${isLast ? "" : ","}`);
|
|
153
102
|
}
|
|
154
|
-
lines.push(`} from "./QueryModels
|
|
103
|
+
lines.push(`} from "./QueryModels"`);
|
|
155
104
|
return lines.join("\n");
|
|
156
105
|
};
|
|
157
106
|
//# sourceMappingURL=IndexGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndexGenerator.js","names":["getEditableTypeName","getIdTypeName","getQueryFactoryName","getQueryInstanceName","getQueryInterfaceName","getServiceClassName","
|
|
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":"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","ignoreList":[]}
|
|
@@ -172,15 +172,12 @@ const generateEntityType = (entityType, dataModel) => {
|
|
|
172
172
|
lines.push(` Schema.Struct({ ${key.name}: ${keySchema} })`);
|
|
173
173
|
lines.push(`)`);
|
|
174
174
|
} else {
|
|
175
|
-
// Composite key
|
|
175
|
+
// Composite key - only struct form makes sense
|
|
176
176
|
const keyFields = entityType.keys.map(k => {
|
|
177
177
|
const schema = getPropertySchemaType(k, false);
|
|
178
178
|
return `${k.name}: ${schema}`;
|
|
179
179
|
});
|
|
180
|
-
lines.push(`export const ${idTypeName} = Schema.
|
|
181
|
-
lines.push(` Schema.String,`);
|
|
182
|
-
lines.push(` Schema.Struct({ ${keyFields.join(", ")} })`);
|
|
183
|
-
lines.push(`)`);
|
|
180
|
+
lines.push(`export const ${idTypeName} = Schema.Struct({ ${keyFields.join(", ")} })`);
|
|
184
181
|
}
|
|
185
182
|
lines.push(`export type ${idTypeName} = Schema.Schema.Type<typeof ${idTypeName}>`);
|
|
186
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelsGenerator.js","names":["getClassName","getEditableTypeName","getIdTypeName","getTypeDependencies","type","allComplexTypes","allEntityTypes","deps","Set","baseType","baseTypeName","split","pop","has","add","prop","properties","propTypeName","typeMapping","effectSchema","sortTypesByDependency","types","sorted","visited","visiting","visit","name","push","depName","depType","find","t","delete","generateModels","dataModel","lines","Array","from","complexTypes","values","map","entityTypes","serviceName","enumType","enumTypes","line","generateEnumType","sortedComplexTypes","complexType","generateComplexType","sortedEntityTypes","entityType","generateEntityType","join","members","m","odataName","fields","generateSchemaFields","navigationProperties","f","editableFields","generateEditableSchemaFields","editableName","keys","length","idTypeName","key","keySchema","getPropertySchemaType","keyFields","k","schema","filter","p","isKey","_navigationProperties","_dataModel","i","schemaType","isNullable","isLast","makeOptional","isCollection"],"sources":["../../../src/generator/ModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ModelsGenerator.js","names":["getClassName","getEditableTypeName","getIdTypeName","getTypeDependencies","type","allComplexTypes","allEntityTypes","deps","Set","baseType","baseTypeName","split","pop","has","add","prop","properties","propTypeName","typeMapping","effectSchema","sortTypesByDependency","types","sorted","visited","visiting","visit","name","push","depName","depType","find","t","delete","generateModels","dataModel","lines","Array","from","complexTypes","values","map","entityTypes","serviceName","enumType","enumTypes","line","generateEnumType","sortedComplexTypes","complexType","generateComplexType","sortedEntityTypes","entityType","generateEntityType","join","members","m","odataName","fields","generateSchemaFields","navigationProperties","f","editableFields","generateEditableSchemaFields","editableName","keys","length","idTypeName","key","keySchema","getPropertySchemaType","keyFields","k","schema","filter","p","isKey","_navigationProperties","_dataModel","i","schemaType","isNullable","isLast","makeOptional","isCollection"],"sources":["../../../src/generator/ModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -76,10 +76,13 @@ export const getServiceClassName = entitySetName => {
|
|
|
76
76
|
// Remove trailing 's' if present to singularize
|
|
77
77
|
let singular = entitySetName;
|
|
78
78
|
if (singular.endsWith("ies")) {
|
|
79
|
+
// "Categories" -> "Category"
|
|
79
80
|
singular = singular.slice(0, -3) + "y";
|
|
80
|
-
} else if (singular.endsWith("
|
|
81
|
+
} else if (singular.endsWith("xes") || singular.endsWith("ches") || singular.endsWith("shes") || singular.endsWith("sses") || singular.endsWith("zes")) {
|
|
82
|
+
// "Boxes" -> "Box", "Beaches" -> "Beach", etc.
|
|
81
83
|
singular = singular.slice(0, -2);
|
|
82
84
|
} else if (singular.endsWith("s") && !singular.endsWith("ss")) {
|
|
85
|
+
// "Products" -> "Product", "Airlines" -> "Airline"
|
|
83
86
|
singular = singular.slice(0, -1);
|
|
84
87
|
}
|
|
85
88
|
return `${toPascalCase(singular)}Service`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NamingHelper.js","names":["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"],"sources":["../../../src/generator/NamingHelper.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAMA;;;;;;;;;;AAUA,OAAO,MAAMA,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;
|
|
1
|
+
{"version":3,"file":"NamingHelper.js","names":["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"],"sources":["../../../src/generator/NamingHelper.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|