@odata-effect/odata-effect-generator 0.3.1 → 0.3.2

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.
@@ -8,12 +8,12 @@ var _NamingHelper = require("./NamingHelper.js");
8
8
  const V2_CONFIG = {
9
9
  clientConfigTag: "ODataClientConfig",
10
10
  clientConfigImport: "ODataClientConfig",
11
- clientModule: "ODataClient"
11
+ clientModule: "OData"
12
12
  };
13
13
  const V4_CONFIG = {
14
14
  clientConfigTag: "ODataV4ClientConfig",
15
15
  clientConfigImport: "ODataV4ClientConfig",
16
- clientModule: "ODataV4Client"
16
+ clientModule: "ODataV4"
17
17
  };
18
18
  const getVersionConfig = version => version === "V4" ? V4_CONFIG : V2_CONFIG;
19
19
  /**
package/dist/cjs/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.bin = exports.XmlParser = exports.TypeMapper = exports.ServiceFnGenerator = exports.QueryModelsGenerator = exports.PackageGenerator = exports.NavigationGenerator = exports.NamingHelper = exports.ModelsGenerator = exports.IndexGenerator = exports.Generator = exports.EdmxSchema = exports.Digester = exports.DataModel = exports.Cli = void 0;
6
+ exports.bin = exports.XmlParser = exports.TypeMapper = exports.ServiceFnGenerator = exports.QueryModelsGenerator = exports.PackageGenerator = exports.OperationsGenerator = exports.NavigationGenerator = exports.NamingHelper = exports.ModelsGenerator = exports.IndexGenerator = exports.Generator = exports.EdmxSchema = exports.Digester = exports.DataModel = exports.Cli = void 0;
7
7
  var _Cli = _interopRequireWildcard(require("./Cli.js"));
8
8
  exports.Cli = _Cli;
9
9
  var _bin = _interopRequireWildcard(require("./bin.js"));
@@ -20,14 +20,16 @@ var _ModelsGenerator = _interopRequireWildcard(require("./generator/ModelsGenera
20
20
  exports.ModelsGenerator = _ModelsGenerator;
21
21
  var _NamingHelper = _interopRequireWildcard(require("./generator/NamingHelper.js"));
22
22
  exports.NamingHelper = _NamingHelper;
23
+ var _NavigationGenerator = _interopRequireWildcard(require("./generator/NavigationGenerator.js"));
24
+ exports.NavigationGenerator = _NavigationGenerator;
25
+ var _OperationsGenerator = _interopRequireWildcard(require("./generator/OperationsGenerator.js"));
26
+ exports.OperationsGenerator = _OperationsGenerator;
23
27
  var _PackageGenerator = _interopRequireWildcard(require("./generator/PackageGenerator.js"));
24
28
  exports.PackageGenerator = _PackageGenerator;
25
29
  var _QueryModelsGenerator = _interopRequireWildcard(require("./generator/QueryModelsGenerator.js"));
26
30
  exports.QueryModelsGenerator = _QueryModelsGenerator;
27
31
  var _ServiceFnGenerator = _interopRequireWildcard(require("./generator/ServiceFnGenerator.js"));
28
32
  exports.ServiceFnGenerator = _ServiceFnGenerator;
29
- var _NavigationGenerator = _interopRequireWildcard(require("./generator/NavigationGenerator.js"));
30
- exports.NavigationGenerator = _NavigationGenerator;
31
33
  var _DataModel = _interopRequireWildcard(require("./model/DataModel.js"));
32
34
  exports.DataModel = _DataModel;
33
35
  var _EdmxSchema = _interopRequireWildcard(require("./parser/EdmxSchema.js"));
@@ -48,36 +48,59 @@ export * as ModelsGenerator from "./generator/ModelsGenerator.js";
48
48
  */
49
49
  export * as NamingHelper from "./generator/NamingHelper.js";
50
50
  /**
51
- * Generator for package configuration files.
51
+ * Generator for type-safe, tree-shakable navigation path builders.
52
+ *
53
+ * Generates branded path types and navigation functions that can be composed
54
+ * with pipe() for type-safe OData path construction.
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * import { pipe } from "effect"
59
+ * import { People, byKey, trips, planItems, asFlight } from "./PathBuilders"
60
+ *
61
+ * const path = pipe(
62
+ * People,
63
+ * byKey("russellwhyte"),
64
+ * trips,
65
+ * byKey(0),
66
+ * planItems,
67
+ * asFlight
68
+ * )
69
+ * ```
52
70
  *
53
71
  * @since 1.0.0
54
72
  */
55
- export * as PackageGenerator from "./generator/PackageGenerator.js";
73
+ export * as NavigationGenerator from "./generator/NavigationGenerator.js";
56
74
  /**
57
- * Generator for QueryModels.ts - Type-safe query paths.
75
+ * Generator for OData operations (FunctionImports, Functions, Actions).
76
+ *
77
+ * OData V2: FunctionImports
78
+ * OData V4: Functions (GET, no side effects) and Actions (POST, with side effects)
58
79
  *
59
80
  * @since 1.0.0
60
81
  */
61
- export * as QueryModelsGenerator from "./generator/QueryModelsGenerator.js";
82
+ export * as OperationsGenerator from "./generator/OperationsGenerator.js";
62
83
  /**
63
- * Generator for tree-shakable service functions.
84
+ * Generator for package configuration files.
64
85
  *
65
- * This module generates standalone functions that can be tree-shaken.
66
- * Each entity service is a module of standalone functions that use
67
- * the tree-shakable OData functions directly.
86
+ * @since 1.0.0
87
+ */
88
+ export * as PackageGenerator from "./generator/PackageGenerator.js";
89
+ /**
90
+ * Generator for QueryModels.ts - Type-safe query paths.
68
91
  *
69
92
  * @since 1.0.0
70
93
  */
71
- export * as ServiceFnGenerator from "./generator/ServiceFnGenerator.js";
94
+ export * as QueryModelsGenerator from "./generator/QueryModelsGenerator.js";
72
95
  /**
73
- * Generator for tree-shakable navigation path builders.
96
+ * Generator for entity services using the crud factory.
74
97
  *
75
- * This module generates pipe-based navigation functions and the toPromise
76
- * helper for Promise-based environments.
98
+ * This module generates a single Services.ts file that creates CRUD services
99
+ * for all entity sets using the crud factory from @odata-effect/odata-effect.
77
100
  *
78
101
  * @since 1.0.0
79
102
  */
80
- export * as NavigationGenerator from "./generator/NavigationGenerator.js";
103
+ export * as ServiceFnGenerator from "./generator/ServiceFnGenerator.js";
81
104
  /**
82
105
  * Intermediate representation for OData metadata.
83
106
  * 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,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"}
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;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,mBAAmB,MAAM,oCAAoC,CAAA;AAEzE;;;;;;;GAOG;AACH,OAAO,KAAK,mBAAmB,MAAM,oCAAoC,CAAA;AAEzE;;;;GAIG;AACH,OAAO,KAAK,gBAAgB,MAAM,iCAAiC,CAAA;AAEnE;;;;GAIG;AACH,OAAO,KAAK,oBAAoB,MAAM,qCAAqC,CAAA;AAE3E;;;;;;;GAOG;AACH,OAAO,KAAK,kBAAkB,MAAM,mCAAmC,CAAA;AAEvE;;;;;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"}
@@ -2,12 +2,12 @@ import { toCamelCase, toPascalCase } from "./NamingHelper.js";
2
2
  const V2_CONFIG = {
3
3
  clientConfigTag: "ODataClientConfig",
4
4
  clientConfigImport: "ODataClientConfig",
5
- clientModule: "ODataClient"
5
+ clientModule: "OData"
6
6
  };
7
7
  const V4_CONFIG = {
8
8
  clientConfigTag: "ODataV4ClientConfig",
9
9
  clientConfigImport: "ODataV4ClientConfig",
10
- clientModule: "ODataV4Client"
10
+ clientModule: "ODataV4"
11
11
  };
12
12
  const getVersionConfig = version => version === "V4" ? V4_CONFIG : V2_CONFIG;
13
13
  /**
package/dist/esm/index.js CHANGED
@@ -48,36 +48,59 @@ export * as ModelsGenerator from "./generator/ModelsGenerator.js";
48
48
  */
49
49
  export * as NamingHelper from "./generator/NamingHelper.js";
50
50
  /**
51
- * Generator for package configuration files.
51
+ * Generator for type-safe, tree-shakable navigation path builders.
52
+ *
53
+ * Generates branded path types and navigation functions that can be composed
54
+ * with pipe() for type-safe OData path construction.
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * import { pipe } from "effect"
59
+ * import { People, byKey, trips, planItems, asFlight } from "./PathBuilders"
60
+ *
61
+ * const path = pipe(
62
+ * People,
63
+ * byKey("russellwhyte"),
64
+ * trips,
65
+ * byKey(0),
66
+ * planItems,
67
+ * asFlight
68
+ * )
69
+ * ```
52
70
  *
53
71
  * @since 1.0.0
54
72
  */
55
- export * as PackageGenerator from "./generator/PackageGenerator.js";
73
+ export * as NavigationGenerator from "./generator/NavigationGenerator.js";
56
74
  /**
57
- * Generator for QueryModels.ts - Type-safe query paths.
75
+ * Generator for OData operations (FunctionImports, Functions, Actions).
76
+ *
77
+ * OData V2: FunctionImports
78
+ * OData V4: Functions (GET, no side effects) and Actions (POST, with side effects)
58
79
  *
59
80
  * @since 1.0.0
60
81
  */
61
- export * as QueryModelsGenerator from "./generator/QueryModelsGenerator.js";
82
+ export * as OperationsGenerator from "./generator/OperationsGenerator.js";
62
83
  /**
63
- * Generator for tree-shakable service functions.
84
+ * Generator for package configuration files.
64
85
  *
65
- * This module generates standalone functions that can be tree-shaken.
66
- * Each entity service is a module of standalone functions that use
67
- * the tree-shakable OData functions directly.
86
+ * @since 1.0.0
87
+ */
88
+ export * as PackageGenerator from "./generator/PackageGenerator.js";
89
+ /**
90
+ * Generator for QueryModels.ts - Type-safe query paths.
68
91
  *
69
92
  * @since 1.0.0
70
93
  */
71
- export * as ServiceFnGenerator from "./generator/ServiceFnGenerator.js";
94
+ export * as QueryModelsGenerator from "./generator/QueryModelsGenerator.js";
72
95
  /**
73
- * Generator for tree-shakable navigation path builders.
96
+ * Generator for entity services using the crud factory.
74
97
  *
75
- * This module generates pipe-based navigation functions and the toPromise
76
- * helper for Promise-based environments.
98
+ * This module generates a single Services.ts file that creates CRUD services
99
+ * for all entity sets using the crud factory from @odata-effect/odata-effect.
77
100
  *
78
101
  * @since 1.0.0
79
102
  */
80
- export * as NavigationGenerator from "./generator/NavigationGenerator.js";
103
+ export * as ServiceFnGenerator from "./generator/ServiceFnGenerator.js";
81
104
  /**
82
105
  * Intermediate representation for OData metadata.
83
106
  * This is the central data model that digesters create and generators consume.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Cli","bin","Digester","TypeMapper","Generator","IndexGenerator","ModelsGenerator","NamingHelper","PackageGenerator","QueryModelsGenerator","ServiceFnGenerator","NavigationGenerator","DataModel","EdmxSchema","XmlParser"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAKA,OAAO,KAAKA,GAAG,MAAM,UAAU;AAE/B;;;;;AAKA,OAAO,KAAKC,GAAG,MAAM,UAAU;AAE/B;;;;;;AAMA,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAElD;;;;;AAKA,OAAO,KAAKC,UAAU,MAAM,0BAA0B;AAEtD;;;;;AAKA,OAAO,KAAKC,SAAS,MAAM,0BAA0B;AAErD;;;;;AAKA,OAAO,KAAKC,cAAc,MAAM,+BAA+B;AAE/D;;;;;AAKA,OAAO,KAAKC,eAAe,MAAM,gCAAgC;AAEjE;;;;;AAKA,OAAO,KAAKC,YAAY,MAAM,6BAA6B;AAE3D;;;;;AAKA,OAAO,KAAKC,gBAAgB,MAAM,iCAAiC;AAEnE;;;;;AAKA,OAAO,KAAKC,oBAAoB,MAAM,qCAAqC;AAE3E;;;;;;;;;AASA,OAAO,KAAKC,kBAAkB,MAAM,mCAAmC;AAEvE;;;;;;;;AAQA,OAAO,KAAKC,mBAAmB,MAAM,oCAAoC;AAEzE;;;;;;AAMA,OAAO,KAAKC,SAAS,MAAM,sBAAsB;AAEjD;;;;;;AAMA,OAAO,KAAKC,UAAU,MAAM,wBAAwB;AAEpD;;;;;AAKA,OAAO,KAAKC,SAAS,MAAM,uBAAuB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["Cli","bin","Digester","TypeMapper","Generator","IndexGenerator","ModelsGenerator","NamingHelper","NavigationGenerator","OperationsGenerator","PackageGenerator","QueryModelsGenerator","ServiceFnGenerator","DataModel","EdmxSchema","XmlParser"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAKA,OAAO,KAAKA,GAAG,MAAM,UAAU;AAE/B;;;;;AAKA,OAAO,KAAKC,GAAG,MAAM,UAAU;AAE/B;;;;;;AAMA,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAElD;;;;;AAKA,OAAO,KAAKC,UAAU,MAAM,0BAA0B;AAEtD;;;;;AAKA,OAAO,KAAKC,SAAS,MAAM,0BAA0B;AAErD;;;;;AAKA,OAAO,KAAKC,cAAc,MAAM,+BAA+B;AAE/D;;;;;AAKA,OAAO,KAAKC,eAAe,MAAM,gCAAgC;AAEjE;;;;;AAKA,OAAO,KAAKC,YAAY,MAAM,6BAA6B;AAE3D;;;;;;;;;;;;;;;;;;;;;;;AAuBA,OAAO,KAAKC,mBAAmB,MAAM,oCAAoC;AAEzE;;;;;;;;AAQA,OAAO,KAAKC,mBAAmB,MAAM,oCAAoC;AAEzE;;;;;AAKA,OAAO,KAAKC,gBAAgB,MAAM,iCAAiC;AAEnE;;;;;AAKA,OAAO,KAAKC,oBAAoB,MAAM,qCAAqC;AAE3E;;;;;;;;AAQA,OAAO,KAAKC,kBAAkB,MAAM,mCAAmC;AAEvE;;;;;;AAMA,OAAO,KAAKC,SAAS,MAAM,sBAAsB;AAEjD;;;;;;AAMA,OAAO,KAAKC,UAAU,MAAM,wBAAwB;AAEpD;;;;;AAKA,OAAO,KAAKC,SAAS,MAAM,uBAAuB","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odata-effect/odata-effect-generator",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Effect-based OData service code generator",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,13 +22,13 @@ interface VersionConfig {
22
22
  const V2_CONFIG: VersionConfig = {
23
23
  clientConfigTag: "ODataClientConfig",
24
24
  clientConfigImport: "ODataClientConfig",
25
- clientModule: "ODataClient"
25
+ clientModule: "OData"
26
26
  }
27
27
 
28
28
  const V4_CONFIG: VersionConfig = {
29
29
  clientConfigTag: "ODataV4ClientConfig",
30
30
  clientConfigImport: "ODataV4ClientConfig",
31
- clientModule: "ODataV4Client"
31
+ clientModule: "ODataV4"
32
32
  }
33
33
 
34
34
  const getVersionConfig = (version: ODataVersion): VersionConfig => version === "V4" ? V4_CONFIG : V2_CONFIG
package/src/index.ts CHANGED
@@ -56,39 +56,63 @@ export * as ModelsGenerator from "./generator/ModelsGenerator.js"
56
56
  export * as NamingHelper from "./generator/NamingHelper.js"
57
57
 
58
58
  /**
59
- * Generator for package configuration files.
59
+ * Generator for type-safe, tree-shakable navigation path builders.
60
+ *
61
+ * Generates branded path types and navigation functions that can be composed
62
+ * with pipe() for type-safe OData path construction.
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * import { pipe } from "effect"
67
+ * import { People, byKey, trips, planItems, asFlight } from "./PathBuilders"
68
+ *
69
+ * const path = pipe(
70
+ * People,
71
+ * byKey("russellwhyte"),
72
+ * trips,
73
+ * byKey(0),
74
+ * planItems,
75
+ * asFlight
76
+ * )
77
+ * ```
60
78
  *
61
79
  * @since 1.0.0
62
80
  */
63
- export * as PackageGenerator from "./generator/PackageGenerator.js"
81
+ export * as NavigationGenerator from "./generator/NavigationGenerator.js"
64
82
 
65
83
  /**
66
- * Generator for QueryModels.ts - Type-safe query paths.
84
+ * Generator for OData operations (FunctionImports, Functions, Actions).
85
+ *
86
+ * OData V2: FunctionImports
87
+ * OData V4: Functions (GET, no side effects) and Actions (POST, with side effects)
67
88
  *
68
89
  * @since 1.0.0
69
90
  */
70
- export * as QueryModelsGenerator from "./generator/QueryModelsGenerator.js"
91
+ export * as OperationsGenerator from "./generator/OperationsGenerator.js"
71
92
 
72
93
  /**
73
- * Generator for tree-shakable service functions.
94
+ * Generator for package configuration files.
74
95
  *
75
- * This module generates standalone functions that can be tree-shaken.
76
- * Each entity service is a module of standalone functions that use
77
- * the tree-shakable OData functions directly.
96
+ * @since 1.0.0
97
+ */
98
+ export * as PackageGenerator from "./generator/PackageGenerator.js"
99
+
100
+ /**
101
+ * Generator for QueryModels.ts - Type-safe query paths.
78
102
  *
79
103
  * @since 1.0.0
80
104
  */
81
- export * as ServiceFnGenerator from "./generator/ServiceFnGenerator.js"
105
+ export * as QueryModelsGenerator from "./generator/QueryModelsGenerator.js"
82
106
 
83
107
  /**
84
- * Generator for tree-shakable navigation path builders.
108
+ * Generator for entity services using the crud factory.
85
109
  *
86
- * This module generates pipe-based navigation functions and the toPromise
87
- * helper for Promise-based environments.
110
+ * This module generates a single Services.ts file that creates CRUD services
111
+ * for all entity sets using the crud factory from @odata-effect/odata-effect.
88
112
  *
89
113
  * @since 1.0.0
90
114
  */
91
- export * as NavigationGenerator from "./generator/NavigationGenerator.js"
115
+ export * as ServiceFnGenerator from "./generator/ServiceFnGenerator.js"
92
116
 
93
117
  /**
94
118
  * Intermediate representation for OData metadata.