@odata2ts/odata2ts 0.18.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/CHANGELOG.md +601 -0
- package/LICENSE +21 -0
- package/README.md +129 -0
- package/lib/FactoryFunctionModel.d.ts +13 -0
- package/lib/FactoryFunctionModel.js +3 -0
- package/lib/FactoryFunctionModel.js.map +1 -0
- package/lib/NamingModel.d.ts +191 -0
- package/lib/NamingModel.js +12 -0
- package/lib/NamingModel.js.map +1 -0
- package/lib/OptionModel.d.ts +208 -0
- package/lib/OptionModel.js +24 -0
- package/lib/OptionModel.js.map +1 -0
- package/lib/app.d.ts +8 -0
- package/lib/app.js +61 -0
- package/lib/app.js.map +1 -0
- package/lib/cli.d.ts +3 -0
- package/lib/cli.js +154 -0
- package/lib/cli.js.map +1 -0
- package/lib/data-model/DataModel.d.ts +68 -0
- package/lib/data-model/DataModel.js +114 -0
- package/lib/data-model/DataModel.js.map +1 -0
- package/lib/data-model/DataModelDigestion.d.ts +43 -0
- package/lib/data-model/DataModelDigestion.js +224 -0
- package/lib/data-model/DataModelDigestion.js.map +1 -0
- package/lib/data-model/DataModelDigestionV2.d.ts +10 -0
- package/lib/data-model/DataModelDigestionV2.js +201 -0
- package/lib/data-model/DataModelDigestionV2.js.map +1 -0
- package/lib/data-model/DataModelDigestionV4.d.ts +3 -0
- package/lib/data-model/DataModelDigestionV4.js +196 -0
- package/lib/data-model/DataModelDigestionV4.js.map +1 -0
- package/lib/data-model/DataTypeModel.d.ts +102 -0
- package/lib/data-model/DataTypeModel.js +9 -0
- package/lib/data-model/DataTypeModel.js.map +1 -0
- package/lib/data-model/NamingHelper.d.ts +57 -0
- package/lib/data-model/NamingHelper.js +225 -0
- package/lib/data-model/NamingHelper.js.map +1 -0
- package/lib/data-model/ServiceConfigHelper.d.ts +13 -0
- package/lib/data-model/ServiceConfigHelper.js +63 -0
- package/lib/data-model/ServiceConfigHelper.js.map +1 -0
- package/lib/data-model/edmx/ODataEdmxModelBase.d.ts +79 -0
- package/lib/data-model/edmx/ODataEdmxModelBase.js +3 -0
- package/lib/data-model/edmx/ODataEdmxModelBase.js.map +1 -0
- package/lib/data-model/edmx/ODataEdmxModelV3.d.ts +63 -0
- package/lib/data-model/edmx/ODataEdmxModelV3.js +3 -0
- package/lib/data-model/edmx/ODataEdmxModelV3.js.map +1 -0
- package/lib/data-model/edmx/ODataEdmxModelV4.d.ts +67 -0
- package/lib/data-model/edmx/ODataEdmxModelV4.js +3 -0
- package/lib/data-model/edmx/ODataEdmxModelV4.js.map +1 -0
- package/lib/defaultConfig.d.ts +9 -0
- package/lib/defaultConfig.js +176 -0
- package/lib/defaultConfig.js.map +1 -0
- package/lib/evaluateConfig.d.ts +25 -0
- package/lib/evaluateConfig.js +78 -0
- package/lib/evaluateConfig.js.map +1 -0
- package/lib/generator/ImportContainer.d.ts +16 -0
- package/lib/generator/ImportContainer.js +92 -0
- package/lib/generator/ImportContainer.js.map +1 -0
- package/lib/generator/ModelGenerator.d.ts +2 -0
- package/lib/generator/ModelGenerator.js +178 -0
- package/lib/generator/ModelGenerator.js.map +1 -0
- package/lib/generator/QueryObjectGenerator.d.ts +2 -0
- package/lib/generator/QueryObjectGenerator.js +234 -0
- package/lib/generator/QueryObjectGenerator.js.map +1 -0
- package/lib/generator/ServiceGenerator.d.ts +5 -0
- package/lib/generator/ServiceGenerator.js +412 -0
- package/lib/generator/ServiceGenerator.js.map +1 -0
- package/lib/generator/index.d.ts +3 -0
- package/lib/generator/index.js +10 -0
- package/lib/generator/index.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -0
- package/lib/project/ProjectManager.d.ts +30 -0
- package/lib/project/ProjectManager.js +177 -0
- package/lib/project/ProjectManager.js.map +1 -0
- package/lib/project/formatter/BaseFormatter.d.ts +49 -0
- package/lib/project/formatter/BaseFormatter.js +31 -0
- package/lib/project/formatter/BaseFormatter.js.map +1 -0
- package/lib/project/formatter/FileFormatter.d.ts +16 -0
- package/lib/project/formatter/FileFormatter.js +3 -0
- package/lib/project/formatter/FileFormatter.js.map +1 -0
- package/lib/project/formatter/NoopFormatter.d.ts +29 -0
- package/lib/project/formatter/NoopFormatter.js +43 -0
- package/lib/project/formatter/NoopFormatter.js.map +1 -0
- package/lib/project/formatter/PrettierFormatter.d.ts +46 -0
- package/lib/project/formatter/PrettierFormatter.js +93 -0
- package/lib/project/formatter/PrettierFormatter.js.map +1 -0
- package/lib/project/formatter/index.d.ts +2 -0
- package/lib/project/formatter/index.js +15 -0
- package/lib/project/formatter/index.js.map +1 -0
- package/lib/project/logger/logFilePath.d.ts +1 -0
- package/lib/project/logger/logFilePath.js +13 -0
- package/lib/project/logger/logFilePath.js.map +1 -0
- package/lib/run-cli.d.ts +2 -0
- package/lib/run-cli.js +7 -0
- package/lib/run-cli.js.map +1 -0
- package/package.json +91 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NamingHelper = void 0;
|
|
4
|
+
const camel_case_1 = require("camel-case");
|
|
5
|
+
const constant_case_1 = require("constant-case");
|
|
6
|
+
const pascal_case_1 = require("pascal-case");
|
|
7
|
+
const snake_case_1 = require("snake-case");
|
|
8
|
+
const NamingModel_1 = require("../NamingModel");
|
|
9
|
+
function getNamingStrategyImpl(strategy) {
|
|
10
|
+
switch (strategy) {
|
|
11
|
+
case NamingModel_1.NamingStrategies.CAMEL_CASE:
|
|
12
|
+
return camel_case_1.camelCase;
|
|
13
|
+
case NamingModel_1.NamingStrategies.PASCAL_CASE:
|
|
14
|
+
return pascal_case_1.pascalCase;
|
|
15
|
+
case NamingModel_1.NamingStrategies.CONSTANT_CASE:
|
|
16
|
+
return constant_case_1.constantCase;
|
|
17
|
+
case NamingModel_1.NamingStrategies.SNAKE_CASE:
|
|
18
|
+
return snake_case_1.snakeCase;
|
|
19
|
+
default:
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const noopNamingFunction = (value, options) => {
|
|
24
|
+
return ((options === null || options === void 0 ? void 0 : options.prefix) || "") + value + ((options === null || options === void 0 ? void 0 : options.suffix) || "");
|
|
25
|
+
};
|
|
26
|
+
class NamingHelper {
|
|
27
|
+
constructor(options, serviceName, overridingServiceName) {
|
|
28
|
+
var _a;
|
|
29
|
+
this.getServiceName = (name) => {
|
|
30
|
+
const opts = this.options.services;
|
|
31
|
+
return this.getName(name, this.namingFunction(opts === null || opts === void 0 ? void 0 : opts.namingStrategy), opts);
|
|
32
|
+
};
|
|
33
|
+
this.getCollectionServiceName = (name) => {
|
|
34
|
+
var _a;
|
|
35
|
+
const opts = this.options.services;
|
|
36
|
+
const strategy = this.namingFunction(opts === null || opts === void 0 ? void 0 : opts.namingStrategy);
|
|
37
|
+
const result = this.getName(name, strategy, opts === null || opts === void 0 ? void 0 : opts.collection);
|
|
38
|
+
return ((_a = opts === null || opts === void 0 ? void 0 : opts.collection) === null || _a === void 0 ? void 0 : _a.applyServiceNaming) ? this.getName(result, strategy, opts) : result;
|
|
39
|
+
};
|
|
40
|
+
this.getServiceResolverName = (name) => {
|
|
41
|
+
var _a;
|
|
42
|
+
const opts = (_a = this.options.services) === null || _a === void 0 ? void 0 : _a.serviceResolverFunction;
|
|
43
|
+
return this.getName(name, this.namingFunction(opts === null || opts === void 0 ? void 0 : opts.namingStrategy), opts);
|
|
44
|
+
};
|
|
45
|
+
this.getPrivatePropName = (name) => {
|
|
46
|
+
var _a;
|
|
47
|
+
const opts = (_a = this.options.services) === null || _a === void 0 ? void 0 : _a.privateProps;
|
|
48
|
+
return this.getName(name, this.namingFunction(opts === null || opts === void 0 ? void 0 : opts.namingStrategy), opts);
|
|
49
|
+
};
|
|
50
|
+
if (!options) {
|
|
51
|
+
throw new Error("NamingHelper: Options must be supplied!");
|
|
52
|
+
}
|
|
53
|
+
if (!(serviceName === null || serviceName === void 0 ? void 0 : serviceName.trim())) {
|
|
54
|
+
throw new Error("NamingHelper: ServicePrefix must be supplied!");
|
|
55
|
+
}
|
|
56
|
+
this.allowModelPropRenaming = (_a = options.allowRenaming) !== null && _a !== void 0 ? _a : false;
|
|
57
|
+
this.options = options.naming || {};
|
|
58
|
+
this.servicePrefix = serviceName + ".";
|
|
59
|
+
this.serviceName = overridingServiceName || serviceName;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The prefix used to reference model or enum types in this schema.
|
|
63
|
+
*
|
|
64
|
+
* @returns service prefix
|
|
65
|
+
*/
|
|
66
|
+
getServicePrefix() {
|
|
67
|
+
return this.servicePrefix;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The OData service name as it was found and is used in metadata file.
|
|
71
|
+
*
|
|
72
|
+
* @returns
|
|
73
|
+
*/
|
|
74
|
+
getODataServiceName() {
|
|
75
|
+
return this.serviceName;
|
|
76
|
+
}
|
|
77
|
+
getFileNames() {
|
|
78
|
+
var _a, _b;
|
|
79
|
+
return {
|
|
80
|
+
model: this.getFileName((_a = this.options.models) === null || _a === void 0 ? void 0 : _a.fileName),
|
|
81
|
+
qObject: this.getFileName((_b = this.options.queryObjects) === null || _b === void 0 ? void 0 : _b.fileName),
|
|
82
|
+
service: this.getMainServiceName(),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
getFileName(opts) {
|
|
86
|
+
return this.getName(this.serviceName, this.namingFunction(opts === null || opts === void 0 ? void 0 : opts.namingStrategy), opts);
|
|
87
|
+
}
|
|
88
|
+
getFileNameService(name) {
|
|
89
|
+
const opts = this.options.services;
|
|
90
|
+
return this.getName(name, this.namingFunction(opts === null || opts === void 0 ? void 0 : opts.namingStrategy), opts);
|
|
91
|
+
}
|
|
92
|
+
stripServicePrefix(token) {
|
|
93
|
+
return token.replace(this.servicePrefix, "");
|
|
94
|
+
}
|
|
95
|
+
namingFunction(strategy) {
|
|
96
|
+
const strategyFn = getNamingStrategyImpl(strategy);
|
|
97
|
+
if (!strategyFn || !this.allowModelPropRenaming) {
|
|
98
|
+
return noopNamingFunction;
|
|
99
|
+
}
|
|
100
|
+
return (value, options) => {
|
|
101
|
+
const prefix = options === null || options === void 0 ? void 0 : options.prefix;
|
|
102
|
+
const suffix = options === null || options === void 0 ? void 0 : options.suffix;
|
|
103
|
+
const isPrefixSpecialChar = prefix === null || prefix === void 0 ? void 0 : prefix.startsWith("_");
|
|
104
|
+
const isSuffixSpecialChar = suffix === null || suffix === void 0 ? void 0 : suffix.endsWith("_");
|
|
105
|
+
let result = strategyFn((prefix ? prefix + "_" : "") + value + (suffix ? "_" + suffix : ""));
|
|
106
|
+
if (isPrefixSpecialChar) {
|
|
107
|
+
result = "_" + result;
|
|
108
|
+
}
|
|
109
|
+
if (isSuffixSpecialChar) {
|
|
110
|
+
result = result + "_";
|
|
111
|
+
}
|
|
112
|
+
return result;
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
getName(name, strategy, options) {
|
|
116
|
+
return strategy(this.stripServicePrefix(name), options);
|
|
117
|
+
}
|
|
118
|
+
getModelNamingStrategy() {
|
|
119
|
+
var _a;
|
|
120
|
+
return this.namingFunction((_a = this.options.models) === null || _a === void 0 ? void 0 : _a.namingStrategy);
|
|
121
|
+
}
|
|
122
|
+
getModelPropNamingStrategy() {
|
|
123
|
+
var _a;
|
|
124
|
+
return this.namingFunction((_a = this.options.models) === null || _a === void 0 ? void 0 : _a.propNamingStrategy);
|
|
125
|
+
}
|
|
126
|
+
getQObjectNamingStrategy() {
|
|
127
|
+
var _a;
|
|
128
|
+
return this.namingFunction((_a = this.options.queryObjects) === null || _a === void 0 ? void 0 : _a.namingStrategy);
|
|
129
|
+
}
|
|
130
|
+
getQObjectPropNamingStrategy() {
|
|
131
|
+
var _a;
|
|
132
|
+
return this.namingFunction((_a = this.options.queryObjects) === null || _a === void 0 ? void 0 : _a.propNamingStrategy);
|
|
133
|
+
}
|
|
134
|
+
getOperationNamingStrategy() {
|
|
135
|
+
var _a, _b;
|
|
136
|
+
return this.namingFunction((_b = (_a = this.options.services) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.namingStrategy);
|
|
137
|
+
}
|
|
138
|
+
getModelName(name) {
|
|
139
|
+
return this.getName(name, this.getModelNamingStrategy(), this.options.models);
|
|
140
|
+
}
|
|
141
|
+
getModelPropName(name) {
|
|
142
|
+
return this.getName(name, this.getModelPropNamingStrategy());
|
|
143
|
+
}
|
|
144
|
+
getEnumName(name) {
|
|
145
|
+
return this.getName(name, this.getModelNamingStrategy(), this.options.models);
|
|
146
|
+
}
|
|
147
|
+
getEditableModelName(name) {
|
|
148
|
+
var _a;
|
|
149
|
+
let options = (_a = this.options.models) === null || _a === void 0 ? void 0 : _a.editableModels;
|
|
150
|
+
const result = this.getName(name, this.getModelNamingStrategy(), options);
|
|
151
|
+
return (options === null || options === void 0 ? void 0 : options.applyModelNaming)
|
|
152
|
+
? this.getName(result, this.getModelNamingStrategy(), this.options.models)
|
|
153
|
+
: result;
|
|
154
|
+
}
|
|
155
|
+
getIdModelName(name) {
|
|
156
|
+
var _a;
|
|
157
|
+
let options = (_a = this.options.models) === null || _a === void 0 ? void 0 : _a.idModels;
|
|
158
|
+
const result = this.getName(name, this.getModelNamingStrategy(), options);
|
|
159
|
+
return (options === null || options === void 0 ? void 0 : options.applyModelNaming)
|
|
160
|
+
? this.getName(result, this.getModelNamingStrategy(), this.options.models)
|
|
161
|
+
: result;
|
|
162
|
+
}
|
|
163
|
+
getOperationParamsModelName(name) {
|
|
164
|
+
var _a;
|
|
165
|
+
const settings = (_a = this.options.models) === null || _a === void 0 ? void 0 : _a.operationParamModels;
|
|
166
|
+
const result = this.getName(name, this.getModelNamingStrategy(), settings);
|
|
167
|
+
return (settings === null || settings === void 0 ? void 0 : settings.applyModelNaming)
|
|
168
|
+
? this.getName(result, this.getModelNamingStrategy(), this.options.models)
|
|
169
|
+
: result;
|
|
170
|
+
}
|
|
171
|
+
getQName(name) {
|
|
172
|
+
return this.getName(name, this.getQObjectNamingStrategy(), this.options.queryObjects);
|
|
173
|
+
}
|
|
174
|
+
getQPropName(name) {
|
|
175
|
+
return this.getName(name, this.getQObjectPropNamingStrategy());
|
|
176
|
+
}
|
|
177
|
+
getQIdFunctionName(name) {
|
|
178
|
+
var _a;
|
|
179
|
+
const opts = (_a = this.options.queryObjects) === null || _a === void 0 ? void 0 : _a.idFunctions;
|
|
180
|
+
const result = this.getName(name, this.getQObjectNamingStrategy(), opts);
|
|
181
|
+
return this.getName(result, this.getQObjectNamingStrategy(), this.options.queryObjects);
|
|
182
|
+
}
|
|
183
|
+
getQFunctionName(name) {
|
|
184
|
+
var _a;
|
|
185
|
+
const opts = (_a = this.options.queryObjects) === null || _a === void 0 ? void 0 : _a.operations;
|
|
186
|
+
const result = this.getName(name, this.getQObjectNamingStrategy(), (opts === null || opts === void 0 ? void 0 : opts.function) || opts);
|
|
187
|
+
return this.getName(result, this.getQObjectNamingStrategy(), this.options.queryObjects);
|
|
188
|
+
}
|
|
189
|
+
getQActionName(name) {
|
|
190
|
+
var _a;
|
|
191
|
+
const opts = (_a = this.options.queryObjects) === null || _a === void 0 ? void 0 : _a.operations;
|
|
192
|
+
const result = this.getName(name, this.getQObjectNamingStrategy(), (opts === null || opts === void 0 ? void 0 : opts.action) || opts);
|
|
193
|
+
return this.getName(result, this.getQObjectNamingStrategy(), this.options.queryObjects);
|
|
194
|
+
}
|
|
195
|
+
getMainServiceName() {
|
|
196
|
+
var _a, _b, _c, _d;
|
|
197
|
+
const name = this.getODataServiceName();
|
|
198
|
+
const opts = this.options.services;
|
|
199
|
+
const strategy = this.namingFunction((_b = (_a = opts === null || opts === void 0 ? void 0 : opts.main) === null || _a === void 0 ? void 0 : _a.namingStrategy) !== null && _b !== void 0 ? _b : (((_c = opts === null || opts === void 0 ? void 0 : opts.main) === null || _c === void 0 ? void 0 : _c.applyServiceNaming) ? opts.namingStrategy : undefined));
|
|
200
|
+
const result = this.getName(name, strategy, opts === null || opts === void 0 ? void 0 : opts.main);
|
|
201
|
+
return ((_d = opts === null || opts === void 0 ? void 0 : opts.main) === null || _d === void 0 ? void 0 : _d.applyServiceNaming) ? this.getName(result, strategy, opts) : result;
|
|
202
|
+
}
|
|
203
|
+
getFunctionName(name) {
|
|
204
|
+
var _a;
|
|
205
|
+
const opts = (_a = this.options.services) === null || _a === void 0 ? void 0 : _a.operations;
|
|
206
|
+
return this.getName(name, this.getOperationNamingStrategy(), (opts === null || opts === void 0 ? void 0 : opts.function) || opts);
|
|
207
|
+
}
|
|
208
|
+
getActionName(name) {
|
|
209
|
+
var _a;
|
|
210
|
+
const opts = (_a = this.options.services) === null || _a === void 0 ? void 0 : _a.operations;
|
|
211
|
+
return this.getName(name, this.getOperationNamingStrategy(), (opts === null || opts === void 0 ? void 0 : opts.action) || opts);
|
|
212
|
+
}
|
|
213
|
+
getRelatedServiceGetter(name) {
|
|
214
|
+
var _a;
|
|
215
|
+
const opts = (_a = this.options.services) === null || _a === void 0 ? void 0 : _a.relatedServiceGetter;
|
|
216
|
+
return this.getName(name, this.namingFunction(opts === null || opts === void 0 ? void 0 : opts.namingStrategy), opts);
|
|
217
|
+
}
|
|
218
|
+
getPublicPropNameForService(name) {
|
|
219
|
+
var _a;
|
|
220
|
+
const opts = (_a = this.options.services) === null || _a === void 0 ? void 0 : _a.publicProps;
|
|
221
|
+
return this.getName(name, this.namingFunction(opts === null || opts === void 0 ? void 0 : opts.namingStrategy));
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
exports.NamingHelper = NamingHelper;
|
|
225
|
+
//# sourceMappingURL=NamingHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NamingHelper.js","sourceRoot":"","sources":["../../src/data-model/NamingHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DigestionOptions } from "../FactoryFunctionModel";
|
|
2
|
+
import { PropertyGenerationOptions } from "../OptionModel";
|
|
3
|
+
export interface ConfiguredProp extends Omit<PropertyGenerationOptions, "name"> {
|
|
4
|
+
}
|
|
5
|
+
export declare class ServiceConfigHelper {
|
|
6
|
+
private propMapping;
|
|
7
|
+
private propRegExps;
|
|
8
|
+
constructor(options: DigestionOptions);
|
|
9
|
+
private evaluateProps;
|
|
10
|
+
private getPropByName;
|
|
11
|
+
private getPropByRegExp;
|
|
12
|
+
findConfigPropByName: (name: string) => ConfiguredProp | undefined;
|
|
13
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServiceConfigHelper = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const EXCEPTION_NO_NAME = "PropertiesByName: No value for required attribute [name] specified!";
|
|
6
|
+
const EXCEPTION_WRONG_NAME_TYPE = "PropertiesByName: Wrong type for attribute [name]! You have to supply either a plain string or a RegExp.";
|
|
7
|
+
class ServiceConfigHelper {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
this.propMapping = new Map();
|
|
10
|
+
this.propRegExps = [];
|
|
11
|
+
this.findConfigPropByName = (name) => {
|
|
12
|
+
const stringProp = this.getPropByName(name);
|
|
13
|
+
const reProp = this.getPropByRegExp(name);
|
|
14
|
+
return stringProp && reProp ? Object.assign(Object.assign({}, reProp), stringProp) : stringProp || reProp;
|
|
15
|
+
};
|
|
16
|
+
this.evaluateProps(options);
|
|
17
|
+
}
|
|
18
|
+
evaluateProps(options) {
|
|
19
|
+
options.propertiesByName.forEach((prop) => {
|
|
20
|
+
if (!prop.name) {
|
|
21
|
+
throw new Error(EXCEPTION_NO_NAME);
|
|
22
|
+
}
|
|
23
|
+
switch (typeof prop.name) {
|
|
24
|
+
case "string":
|
|
25
|
+
// TODO: check for existing prop.name and throw?
|
|
26
|
+
this.propMapping.set(prop.name, prop);
|
|
27
|
+
break;
|
|
28
|
+
case "object":
|
|
29
|
+
const { source, ignoreCase } = prop.name;
|
|
30
|
+
if (!source) {
|
|
31
|
+
throw new Error(EXCEPTION_WRONG_NAME_TYPE);
|
|
32
|
+
}
|
|
33
|
+
this.propRegExps.push([new RegExp(`^${source}$`, ignoreCase ? "i" : ""), prop]);
|
|
34
|
+
break;
|
|
35
|
+
default:
|
|
36
|
+
throw new Error(EXCEPTION_WRONG_NAME_TYPE);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
getPropByName(nameToMap) {
|
|
41
|
+
const stringProp = this.propMapping.get(nameToMap);
|
|
42
|
+
if (!stringProp) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const { name } = stringProp, attrs = tslib_1.__rest(stringProp, ["name"]);
|
|
46
|
+
return Object.assign({}, attrs);
|
|
47
|
+
}
|
|
48
|
+
getPropByRegExp(nameToMap) {
|
|
49
|
+
const resultList = this.propRegExps
|
|
50
|
+
.filter(([regExp]) => regExp.test(nameToMap))
|
|
51
|
+
.map((_a) => {
|
|
52
|
+
var [regExp, _b] = _a, { name, mappedName } = _b, attrs = tslib_1.__rest(_b, ["name", "mappedName"]);
|
|
53
|
+
return (Object.assign({ mappedName: mappedName ? nameToMap.replace(regExp, mappedName) : undefined }, attrs));
|
|
54
|
+
});
|
|
55
|
+
return !resultList.length
|
|
56
|
+
? undefined
|
|
57
|
+
: resultList.reduce((result, prop) => {
|
|
58
|
+
return Object.assign(Object.assign({}, result), prop);
|
|
59
|
+
}, {});
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.ServiceConfigHelper = ServiceConfigHelper;
|
|
63
|
+
//# sourceMappingURL=ServiceConfigHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceConfigHelper.js","sourceRoot":"","sources":["../../src/data-model/ServiceConfigHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export interface ODataEdmxModelBase<VersionedSchema> {
|
|
2
|
+
"edmx:Edmx": {
|
|
3
|
+
$: {
|
|
4
|
+
Version: string;
|
|
5
|
+
"xmlns:edmx": string;
|
|
6
|
+
};
|
|
7
|
+
"edmx:DataServices": Array<DataService<VersionedSchema>>;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export interface DataService<VersionedSchema> {
|
|
11
|
+
Schema: Array<VersionedSchema>;
|
|
12
|
+
}
|
|
13
|
+
export interface Schema<ET extends EntityType, CT extends ComplexType> {
|
|
14
|
+
$: {
|
|
15
|
+
Namespace: string;
|
|
16
|
+
xmlns: string;
|
|
17
|
+
};
|
|
18
|
+
EntityType?: Array<ET>;
|
|
19
|
+
ComplexType?: Array<CT>;
|
|
20
|
+
EnumType?: Array<EnumType>;
|
|
21
|
+
}
|
|
22
|
+
export interface EntityContainer<ES = EntitySet> {
|
|
23
|
+
$: {
|
|
24
|
+
Name: string;
|
|
25
|
+
};
|
|
26
|
+
EntitySet?: Array<ES>;
|
|
27
|
+
}
|
|
28
|
+
export interface EntitySet {
|
|
29
|
+
$: {
|
|
30
|
+
Name: string;
|
|
31
|
+
EntityType: string;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface EntityType {
|
|
35
|
+
$: {
|
|
36
|
+
Name: string;
|
|
37
|
+
BaseType?: string;
|
|
38
|
+
};
|
|
39
|
+
Key: Array<PropertyRef>;
|
|
40
|
+
Property: Array<Property>;
|
|
41
|
+
}
|
|
42
|
+
export interface ComplexType extends Omit<EntityType, "Key"> {
|
|
43
|
+
}
|
|
44
|
+
export interface PropertyRef {
|
|
45
|
+
PropertyRef: Array<{
|
|
46
|
+
$: {
|
|
47
|
+
Name: string;
|
|
48
|
+
};
|
|
49
|
+
}>;
|
|
50
|
+
}
|
|
51
|
+
export interface Property {
|
|
52
|
+
$: {
|
|
53
|
+
Name: string;
|
|
54
|
+
Type: string;
|
|
55
|
+
MaxLength?: number;
|
|
56
|
+
Nullable?: "true" | "false";
|
|
57
|
+
Precision?: number;
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export interface EnumType {
|
|
61
|
+
$: {
|
|
62
|
+
Name: string;
|
|
63
|
+
};
|
|
64
|
+
Member: Array<Member>;
|
|
65
|
+
}
|
|
66
|
+
export interface Member {
|
|
67
|
+
$: {
|
|
68
|
+
Name: string;
|
|
69
|
+
Value: number;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export interface Parameter extends Property {
|
|
73
|
+
Unicode?: boolean;
|
|
74
|
+
}
|
|
75
|
+
export interface ReturnType {
|
|
76
|
+
$: {
|
|
77
|
+
Type: string;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ODataEdmxModelBase.js","sourceRoot":"","sources":["../../../src/data-model/edmx/ODataEdmxModelBase.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ComplexType, EntityContainer, EntityType, ODataEdmxModelBase, Property, ReturnType, Schema } from "./ODataEdmxModelBase";
|
|
2
|
+
export interface ODataEdmxModelV3 extends ODataEdmxModelBase<SchemaV3> {
|
|
3
|
+
}
|
|
4
|
+
export interface SchemaV3 extends Schema<EntityTypeV3, ComplexTypeV3> {
|
|
5
|
+
EntityContainer?: Array<EntityContainerV3>;
|
|
6
|
+
Association?: Array<Association>;
|
|
7
|
+
}
|
|
8
|
+
export interface EntityTypeV3 extends EntityType {
|
|
9
|
+
NavigationProperty?: Array<NavigationProperty>;
|
|
10
|
+
}
|
|
11
|
+
export interface ComplexTypeV3 extends ComplexType {
|
|
12
|
+
}
|
|
13
|
+
export interface NavigationProperty {
|
|
14
|
+
$: {
|
|
15
|
+
Name: string;
|
|
16
|
+
Relationship: string;
|
|
17
|
+
FromRole: string;
|
|
18
|
+
ToRole: string;
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface EntityContainerV3 extends EntityContainer {
|
|
22
|
+
AssociationSet?: Array<AssociationSet>;
|
|
23
|
+
FunctionImport?: Array<FunctionImport>;
|
|
24
|
+
}
|
|
25
|
+
export interface AssociationSet {
|
|
26
|
+
$: {
|
|
27
|
+
Name: string;
|
|
28
|
+
Association: string;
|
|
29
|
+
};
|
|
30
|
+
End: Array<AssociationSetEnd>;
|
|
31
|
+
}
|
|
32
|
+
export interface AssociationSetEnd {
|
|
33
|
+
$: {
|
|
34
|
+
Role: string;
|
|
35
|
+
EntitySet: string;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export interface FunctionImport {
|
|
39
|
+
$: {
|
|
40
|
+
Name: string;
|
|
41
|
+
EntitySet?: string;
|
|
42
|
+
ReturnType?: string;
|
|
43
|
+
"m:HttpMethod"?: "POST" | "GET";
|
|
44
|
+
};
|
|
45
|
+
ReturnType?: Array<ReturnType>;
|
|
46
|
+
Parameter?: Array<Parameter>;
|
|
47
|
+
}
|
|
48
|
+
export interface Parameter extends Property {
|
|
49
|
+
Mode?: "In" | "Out" | "InOut";
|
|
50
|
+
}
|
|
51
|
+
export interface Association {
|
|
52
|
+
$: {
|
|
53
|
+
Name: string;
|
|
54
|
+
};
|
|
55
|
+
End: Array<AssociationEnd>;
|
|
56
|
+
}
|
|
57
|
+
export interface AssociationEnd {
|
|
58
|
+
$: {
|
|
59
|
+
Type: string;
|
|
60
|
+
Multiplicity: string;
|
|
61
|
+
Role?: string;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ODataEdmxModelV3.js","sourceRoot":"","sources":["../../../src/data-model/edmx/ODataEdmxModelV3.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { ComplexType, EntityContainer, EntitySet, EntityType, ODataEdmxModelBase, Property, ReturnType, Schema } from "./ODataEdmxModelBase";
|
|
2
|
+
export interface ODataEdmxModelV4 extends ODataEdmxModelBase<SchemaV4> {
|
|
3
|
+
}
|
|
4
|
+
export interface SchemaV4 extends Schema<EntityTypeV4, ComplexTypeV4> {
|
|
5
|
+
EntityContainer?: Array<EntityContainerV4>;
|
|
6
|
+
Function?: Array<Operation>;
|
|
7
|
+
Action?: Array<Operation>;
|
|
8
|
+
}
|
|
9
|
+
export interface EntityTypeV4 extends EntityType {
|
|
10
|
+
NavigationProperty?: Array<NavigationProperty>;
|
|
11
|
+
}
|
|
12
|
+
export interface ComplexTypeV4 extends ComplexType {
|
|
13
|
+
NavigationProperty?: Array<NavigationProperty>;
|
|
14
|
+
}
|
|
15
|
+
export interface NavigationProperty {
|
|
16
|
+
$: {
|
|
17
|
+
Name: string;
|
|
18
|
+
Type: string;
|
|
19
|
+
Nullable?: "true" | "false";
|
|
20
|
+
Partner?: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface EntityContainerV4 extends EntityContainer<EntitySetV4> {
|
|
24
|
+
Singleton?: Array<Singleton>;
|
|
25
|
+
FunctionImport?: Array<FunctionImport>;
|
|
26
|
+
ActionImport?: Array<ActionImport>;
|
|
27
|
+
}
|
|
28
|
+
export interface EntitySetV4 extends EntitySet {
|
|
29
|
+
NavigationPropertyBinding?: Array<NavigationPropertyBinding>;
|
|
30
|
+
}
|
|
31
|
+
export interface Singleton {
|
|
32
|
+
$: {
|
|
33
|
+
Name: string;
|
|
34
|
+
Type: string;
|
|
35
|
+
};
|
|
36
|
+
NavigationPropertyBinding?: Array<NavigationPropertyBinding>;
|
|
37
|
+
}
|
|
38
|
+
export interface FunctionImport {
|
|
39
|
+
$: {
|
|
40
|
+
Name: string;
|
|
41
|
+
Function: string;
|
|
42
|
+
EntitySet: string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
export interface ActionImport {
|
|
46
|
+
$: {
|
|
47
|
+
Name: string;
|
|
48
|
+
Action: string;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export interface NavigationPropertyBinding {
|
|
52
|
+
$: {
|
|
53
|
+
Path: string;
|
|
54
|
+
Target: string;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export interface Operation {
|
|
58
|
+
$: {
|
|
59
|
+
Name: string;
|
|
60
|
+
IsBound?: "true" | "false";
|
|
61
|
+
};
|
|
62
|
+
Parameter?: Array<Parameter>;
|
|
63
|
+
ReturnType?: Array<ReturnType>;
|
|
64
|
+
}
|
|
65
|
+
export interface Parameter extends Property {
|
|
66
|
+
Unicode?: boolean;
|
|
67
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ODataEdmxModelV4.js","sourceRoot":"","sources":["../../../src/data-model/edmx/ODataEdmxModelV4.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RunOptions } from "./OptionModel";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a defensive copy of the default config.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getDefaultConfig(): Omit<RunOptions, "source" | "output">;
|
|
6
|
+
/**
|
|
7
|
+
* Creates a defensive copy of the minimal config: minimal in respect to naming.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getMinimalConfig(): Omit<RunOptions, "source" | "output">;
|