@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.
Files changed (74) hide show
  1. package/README.md +232 -5
  2. package/dist/cjs/Cli.js +5 -1
  3. package/dist/cjs/Cli.js.map +1 -1
  4. package/dist/cjs/generator/Generator.js +35 -25
  5. package/dist/cjs/generator/Generator.js.map +1 -1
  6. package/dist/cjs/generator/IndexGenerator.js +29 -80
  7. package/dist/cjs/generator/IndexGenerator.js.map +1 -1
  8. package/dist/cjs/generator/ModelsGenerator.js +2 -5
  9. package/dist/cjs/generator/ModelsGenerator.js.map +1 -1
  10. package/dist/cjs/generator/NamingHelper.js +4 -1
  11. package/dist/cjs/generator/NamingHelper.js.map +1 -1
  12. package/dist/cjs/generator/NavigationGenerator.js +370 -0
  13. package/dist/cjs/generator/NavigationGenerator.js.map +1 -0
  14. package/dist/cjs/generator/OperationsGenerator.js +384 -0
  15. package/dist/cjs/generator/OperationsGenerator.js.map +1 -0
  16. package/dist/cjs/generator/QueryModelsGenerator.js +2 -2
  17. package/dist/cjs/generator/QueryModelsGenerator.js.map +1 -1
  18. package/dist/cjs/generator/ServiceFnGenerator.js +102 -224
  19. package/dist/cjs/generator/ServiceFnGenerator.js.map +1 -1
  20. package/dist/cjs/index.js +3 -3
  21. package/dist/dts/Cli.d.ts.map +1 -1
  22. package/dist/dts/generator/Generator.d.ts +2 -0
  23. package/dist/dts/generator/Generator.d.ts.map +1 -1
  24. package/dist/dts/generator/IndexGenerator.d.ts.map +1 -1
  25. package/dist/dts/generator/NamingHelper.d.ts.map +1 -1
  26. package/dist/dts/generator/NavigationGenerator.d.ts +55 -0
  27. package/dist/dts/generator/NavigationGenerator.d.ts.map +1 -0
  28. package/dist/dts/generator/OperationsGenerator.d.ts +50 -0
  29. package/dist/dts/generator/OperationsGenerator.d.ts.map +1 -0
  30. package/dist/dts/generator/ServiceFnGenerator.d.ts +10 -11
  31. package/dist/dts/generator/ServiceFnGenerator.d.ts.map +1 -1
  32. package/dist/dts/index.d.ts +4 -4
  33. package/dist/dts/index.d.ts.map +1 -1
  34. package/dist/esm/Cli.js +5 -1
  35. package/dist/esm/Cli.js.map +1 -1
  36. package/dist/esm/generator/Generator.js +35 -25
  37. package/dist/esm/generator/Generator.js.map +1 -1
  38. package/dist/esm/generator/IndexGenerator.js +29 -80
  39. package/dist/esm/generator/IndexGenerator.js.map +1 -1
  40. package/dist/esm/generator/ModelsGenerator.js +2 -5
  41. package/dist/esm/generator/ModelsGenerator.js.map +1 -1
  42. package/dist/esm/generator/NamingHelper.js +4 -1
  43. package/dist/esm/generator/NamingHelper.js.map +1 -1
  44. package/dist/esm/generator/NavigationGenerator.js +362 -0
  45. package/dist/esm/generator/NavigationGenerator.js.map +1 -0
  46. package/dist/esm/generator/OperationsGenerator.js +375 -0
  47. package/dist/esm/generator/OperationsGenerator.js.map +1 -0
  48. package/dist/esm/generator/QueryModelsGenerator.js +2 -2
  49. package/dist/esm/generator/QueryModelsGenerator.js.map +1 -1
  50. package/dist/esm/generator/ServiceFnGenerator.js +102 -224
  51. package/dist/esm/generator/ServiceFnGenerator.js.map +1 -1
  52. package/dist/esm/index.js +4 -4
  53. package/dist/esm/index.js.map +1 -1
  54. package/generator/NavigationGenerator/package.json +6 -0
  55. package/generator/OperationsGenerator/package.json +6 -0
  56. package/package.json +17 -9
  57. package/src/Cli.ts +15 -2
  58. package/src/generator/Generator.ts +44 -23
  59. package/src/generator/IndexGenerator.ts +29 -80
  60. package/src/generator/ModelsGenerator.ts +2 -5
  61. package/src/generator/NamingHelper.ts +8 -1
  62. package/src/generator/NavigationGenerator.ts +485 -0
  63. package/src/generator/OperationsGenerator.ts +507 -0
  64. package/src/generator/QueryModelsGenerator.ts +2 -2
  65. package/src/generator/ServiceFnGenerator.ts +117 -265
  66. package/src/index.ts +4 -4
  67. package/dist/cjs/generator/ServiceFnPromiseGenerator.js +0 -183
  68. package/dist/cjs/generator/ServiceFnPromiseGenerator.js.map +0 -1
  69. package/dist/dts/generator/ServiceFnPromiseGenerator.d.ts +0 -40
  70. package/dist/dts/generator/ServiceFnPromiseGenerator.d.ts.map +0 -1
  71. package/dist/esm/generator/ServiceFnPromiseGenerator.js +0 -175
  72. package/dist/esm/generator/ServiceFnPromiseGenerator.js.map +0 -1
  73. package/generator/ServiceFnPromiseGenerator/package.json +0 -6
  74. package/src/generator/ServiceFnPromiseGenerator.ts +0 -243
@@ -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 Promise-based service functions.
73
+ * Generator for tree-shakable navigation path builders.
74
74
  *
75
- * This module generates Promise-based wrappers around the Effect-based
76
- * service functions, allowing usage in non-Effect environments.
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 ServiceFnPromiseGenerator from "./generator/ServiceFnPromiseGenerator.js";
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.
@@ -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,yBAAyB,MAAM,0CAA0C,CAAA;AAErF;;;;;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"}
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
  } : {}),
@@ -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,MAAMS,eAAe,gBAAGrB,OAAO,CAACsB,IAAI,CAClC,UAAU,EACV;EAAEd,YAAY;EAAEK,SAAS;EAAEC,WAAW;EAAEG,WAAW;EAAEC;AAAK,CAAE,CAC7D,CAACP,IAAI,cACJX,OAAO,CAACY,eAAe,CAAC,4CAA4C,CAAC,eACrEZ,OAAO,CAACuB,WAAW,CAAC,CAClB;EAAEL,KAAK,EAAEM,cAAc;EAAEhB,YAAY,EAAEiB,QAAQ;EAAEZ,SAAS,EAAEa,MAAM;EAAET,WAAW,EAAEU,OAAO;EAAEb,WAAW,EAAEc;AAAO,CAAE,KAEhHxB,MAAM,CAACyB,GAAG,CAAC,aAAS;EAClB,MAAMC,EAAE,GAAG,OAAO5B,UAAU,CAACA,UAAU;EAEvC,OAAOC,OAAO,CAAC4B,GAAG,CAAC,0BAA0BN,QAAQ,EAAE,CAAC;EAExD;EACA,MAAMO,eAAe,GAAG,OAAOF,EAAE,CAACG,cAAc,CAACR,QAAQ,CAAC,CAACd,IAAI,CAC7DP,MAAM,CAAC8B,QAAQ,CAAEC,KAAK,IAAK,IAAIC,KAAK,CAAC,iCAAiCX,QAAQ,KAAKU,KAAK,EAAE,CAAC,CAAC,CAC7F;EAED,OAAOhC,OAAO,CAAC4B,GAAG,CAAC,qBAAqB,CAAC;EAEzC;EACA,MAAMM,IAAI,GAAG,OAAO9B,kBAAkB,CAACyB,eAAe,CAAC;EAEvD,OAAO7B,OAAO,CAAC4B,GAAG,CAAC,uBAAuB,CAAC;EAE3C;EACA,MAAMO,SAAS,GAAG,OAAOjC,cAAc,CAACgC,IAAI,CAAC;EAE7C,OAAOlC,OAAO,CAAC4B,GAAG,CAAC,kBAAkBO,SAAS,CAACC,OAAO,EAAE,CAAC;EACzD,OAAOpC,OAAO,CAAC4B,GAAG,CAAC,cAAcO,SAAS,CAACE,SAAS,EAAE,CAAC;EACvD,OAAOrC,OAAO,CAAC4B,GAAG,CAAC,YAAYO,SAAS,CAACxB,WAAW,EAAE,CAAC;EACvD,OAAOX,OAAO,CAAC4B,GAAG,CAAC,iBAAiBO,SAAS,CAACG,WAAW,CAACC,IAAI,EAAE,CAAC;EACjE,OAAOvC,OAAO,CAAC4B,GAAG,CAAC,kBAAkBO,SAAS,CAACK,YAAY,CAACD,IAAI,EAAE,CAAC;EACnE,OAAOvC,OAAO,CAAC4B,GAAG,CAAC,eAAeO,SAAS,CAACM,SAAS,CAACF,IAAI,EAAE,CAAC;EAC7D,OAAOvC,OAAO,CAAC4B,GAAG,CAAC,gBAAgBO,SAAS,CAACO,UAAU,CAACH,IAAI,EAAE,CAAC;EAE/D,OAAOvC,OAAO,CAAC4B,GAAG,CAAC,yBAAyBL,MAAM,EAAE,CAAC;EAErD;EACA,MAAMoB,MAAM,GAAG;IACbjC,SAAS,EAAEa,MAAM;IACjBR,KAAK,EAAEM,cAAc;IACrB,IAAII,OAAO,CAACmB,IAAI,KAAK,MAAM,GAAG;MAAEjC,WAAW,EAAEc,OAAO,CAACoB;IAAK,CAAE,GAAG,EAAE,CAAC;IAClE,IAAIrB,OAAO,CAACoB,IAAI,KAAK,MAAM,GAAG;MAAE9B,WAAW,EAAEU,OAAO,CAACqB;IAAK,CAAE,GAAG,EAAE;GAClE;EACD,OAAO1C,QAAQ,CAACgC,SAAS,EAAEQ,MAAM,CAAC;EAElC,OAAO3C,OAAO,CAAC4B,GAAG,CAAC,SAAS,CAAC;AAC/B,CAAC,CAAC,CACH,CACF;AAED;AACA;AACA;AAEA,MAAMkB,WAAW,gBAAGjD,OAAO,CAACsB,IAAI,CAAC,kBAAkB,CAAC,CAACX,IAAI,cACvDX,OAAO,CAACkD,eAAe,CAAC,CAAC7B,eAAe,CAAC,CAAC,CAC3C;AAED;;;;;;AAMA,OAAO,MAAM8B,GAAG,gBAAGnD,OAAO,CAACoD,GAAG,CAACH,WAAW,EAAE;EAC1CvC,IAAI,EAAE,wBAAwB;EAC9B6B,OAAO,EAAE;CACV,CAAC","ignoreList":[]}
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 Promise-based service function files
45
- const promiseServiceResult = generatePromiseServiceFns(dataModel);
46
- // Generate all files
47
- const files = [
48
- // Source files
49
- {
50
- path: path.join(outputDir, "src", "Models.ts"),
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(outputDir, "src", "QueryModels.ts"),
57
+ path: path.join(sourceDir, "QueryModels.ts"),
54
58
  content: generateQueryModels(dataModel)
55
59
  },
56
- // Individual entity service function files (tree-shakable)
57
- ...serviceResult.entityServices.map(svc => ({
58
- path: path.join(outputDir, "src", svc.fileName),
59
- content: svc.content
60
- })),
61
- // Promise-based entity service function files
62
- ...promiseServiceResult.entityServices.map(svc => ({
63
- path: path.join(outputDir, "src", svc.fileName),
64
- content: svc.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(outputDir, "src", "index.ts"),
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
- // Create output directories
90
- yield* fs.makeDirectory(path.join(outputDir, "src"), {
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: ${outputDir}/src`,
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","generatePromiseServiceFns","GeneratorError","TaggedError","message","String","cause","optional","Unknown","generate","dataModel","config","gen","fs","path","outputDir","serviceName","packageName","toLowerCase","packageConfig","serviceResult","promiseServiceResult","files","join","content","entityServices","map","svc","fileName","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
+ {"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 { getPromiseServiceName } from "./ServiceFnPromiseGenerator.js";
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.js"`);
45
+ lines.push(`} from "./Models"`);
45
46
  lines.push(``);
46
- // Re-export OData infrastructure
47
- const isV4 = dataModel.version === "V4";
48
- lines.push(`// Re-export OData infrastructure from @odata-effect/odata-effect`);
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
- lines.push(` // Errors`);
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
- const serviceClassName = getServiceClassName(entitySet.name);
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
- // Promise-based Entity Services (for non-Effect environments)
123
- lines.push(`// Promise-based Entity Services (for non-Effect environments)`);
124
- for (const entitySet of dataModel.entitySets.values()) {
125
- const promiseServiceName = getPromiseServiceName(entitySet.name);
126
- lines.push(`export * as ${promiseServiceName} from "./${promiseServiceName}.js"`);
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.js"`);
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","getPromiseServiceName","generateIndex","dataModel","lines","push","serviceName","modelExports","enumType","enumTypes","values","name","complexType","complexTypes","entityType","entityTypes","keys","length","i","isLast","isV4","version","entitySet","entitySets","serviceClassName","promiseServiceName","queryExports","get","entityTypeFqName","join"],"sources":["../../../src/generator/IndexGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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.Union(`);
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("es") && !singular.endsWith("ses")) {
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;IAC5BD,QAAQ,GAAGA,QAAQ,CAACR,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG;EACxC,CAAC,MAAM,IAAIQ,QAAQ,CAACC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAACD,QAAQ,CAACC,QAAQ,CAAC,KAAK,CAAC,EAAE;IAC/DD,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;IAC7DD,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","ignoreList":[]}
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;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","ignoreList":[]}