angular-odata 0.126.0 → 0.128.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/esm2022/lib/annotations.mjs +140 -0
- package/esm2022/lib/api.mjs +211 -166
- package/esm2022/lib/cache/cache.mjs +1 -1
- package/esm2022/lib/cache/memory.mjs +1 -1
- package/esm2022/lib/client.mjs +8 -48
- package/esm2022/lib/constants.mjs +4 -1
- package/esm2022/lib/index.mjs +3 -1
- package/esm2022/lib/loaders.mjs +23 -17
- package/esm2022/lib/metadata/csdl/csdl-annotation.mjs +95 -0
- package/esm2022/lib/metadata/csdl/csdl-entity-container.mjs +27 -0
- package/esm2022/lib/metadata/csdl/csdl-entity-set.mjs +24 -0
- package/esm2022/lib/metadata/csdl/csdl-enum-type.mjs +37 -0
- package/esm2022/lib/metadata/csdl/csdl-function-action.mjs +94 -0
- package/esm2022/lib/metadata/csdl/csdl-navigation-property-binding.mjs +7 -0
- package/esm2022/lib/metadata/csdl/csdl-reference.mjs +23 -0
- package/esm2022/lib/metadata/csdl/csdl-schema.mjs +39 -0
- package/esm2022/lib/metadata/csdl/csdl-singleton.mjs +15 -0
- package/esm2022/lib/metadata/csdl/csdl-structural-property.mjs +70 -0
- package/esm2022/lib/metadata/csdl/csdl-structured-type.mjs +92 -0
- package/esm2022/lib/metadata/csdl/csdl-type-definition.mjs +15 -0
- package/esm2022/lib/metadata/index.mjs +3 -0
- package/esm2022/lib/metadata/metadata.mjs +14 -0
- package/esm2022/lib/metadata/parser.mjs +563 -0
- package/esm2022/lib/models/collection.mjs +202 -207
- package/esm2022/lib/models/model.mjs +48 -52
- package/esm2022/lib/models/options.mjs +172 -137
- package/esm2022/lib/module.mjs +21 -8
- package/esm2022/lib/options.mjs +2 -1
- package/esm2022/lib/resources/index.mjs +2 -2
- package/esm2022/lib/resources/options.mjs +56 -0
- package/esm2022/lib/resources/path/handlers.mjs +14 -4
- package/esm2022/lib/resources/path/segments.mjs +29 -11
- package/esm2022/lib/resources/query/builder.mjs +14 -2
- package/esm2022/lib/resources/query/expressions/apply.mjs +236 -0
- package/esm2022/lib/resources/query/expressions/base.mjs +1 -1
- package/esm2022/lib/resources/query/expressions/compute.mjs +2 -2
- package/esm2022/lib/resources/query/expressions/count.mjs +6 -6
- package/esm2022/lib/resources/query/expressions/expand.mjs +7 -7
- package/esm2022/lib/resources/query/expressions/filter.mjs +6 -6
- package/esm2022/lib/resources/query/expressions/index.mjs +2 -1
- package/esm2022/lib/resources/query/expressions/orderby.mjs +3 -3
- package/esm2022/lib/resources/query/expressions/search.mjs +6 -6
- package/esm2022/lib/resources/query/expressions/select.mjs +6 -2
- package/esm2022/lib/resources/query/expressions/syntax.mjs +161 -8
- package/esm2022/lib/resources/query/handlers.mjs +89 -54
- package/esm2022/lib/resources/query/options.mjs +91 -77
- package/esm2022/lib/resources/request.mjs +5 -5
- package/esm2022/lib/resources/resource.mjs +118 -88
- package/esm2022/lib/resources/response.mjs +174 -0
- package/esm2022/lib/resources/types/action.mjs +29 -26
- package/esm2022/lib/resources/types/batch.mjs +18 -16
- package/esm2022/lib/resources/types/count.mjs +7 -7
- package/esm2022/lib/resources/types/entity-set.mjs +38 -25
- package/esm2022/lib/resources/types/entity.mjs +14 -11
- package/esm2022/lib/resources/types/function.mjs +25 -28
- package/esm2022/lib/resources/types/metadata.mjs +9 -5
- package/esm2022/lib/resources/types/navigation-property.mjs +37 -31
- package/esm2022/lib/resources/types/property.mjs +32 -50
- package/esm2022/lib/resources/types/reference.mjs +6 -7
- package/esm2022/lib/resources/types/singleton.mjs +11 -7
- package/esm2022/lib/resources/types/value.mjs +16 -12
- package/esm2022/lib/schema/callable.mjs +10 -10
- package/esm2022/lib/schema/element.mjs +15 -9
- package/esm2022/lib/schema/entity-container.mjs +4 -2
- package/esm2022/lib/schema/enum-type.mjs +6 -7
- package/esm2022/lib/schema/index.mjs +2 -1
- package/esm2022/lib/schema/parsers/callable.mjs +10 -7
- package/esm2022/lib/schema/parsers/edm.mjs +6 -4
- package/esm2022/lib/schema/parsers/enum-type.mjs +15 -8
- package/esm2022/lib/schema/parsers/structured-type.mjs +66 -55
- package/esm2022/lib/schema/schema.mjs +18 -34
- package/esm2022/lib/schema/singleton.mjs +9 -0
- package/esm2022/lib/schema/structured-type.mjs +18 -23
- package/esm2022/lib/services/base.mjs +4 -4
- package/esm2022/lib/services/entity-set.mjs +12 -2
- package/esm2022/lib/services/entity.mjs +2 -2
- package/esm2022/lib/services/factory.mjs +22 -11
- package/esm2022/lib/services/singleton.mjs +8 -2
- package/esm2022/lib/settings.mjs +7 -99
- package/esm2022/lib/types.mjs +12 -1
- package/esm2022/lib/utils/http.mjs +8 -6
- package/fesm2022/angular-odata.mjs +7413 -6579
- package/fesm2022/angular-odata.mjs.map +1 -1
- package/lib/{resources/responses/annotations.d.ts → annotations.d.ts} +3 -2
- package/lib/api.d.ts +29 -26
- package/lib/cache/memory.d.ts +1 -1
- package/lib/client.d.ts +0 -20
- package/lib/constants.d.ts +3 -0
- package/lib/index.d.ts +1 -0
- package/lib/loaders.d.ts +7 -1
- package/lib/metadata/csdl/csdl-annotation.d.ts +123 -0
- package/lib/metadata/csdl/csdl-entity-container.d.ts +26 -0
- package/lib/metadata/csdl/csdl-entity-set.d.ts +20 -0
- package/lib/metadata/csdl/csdl-enum-type.d.ts +29 -0
- package/lib/metadata/csdl/csdl-function-action.d.ts +105 -0
- package/lib/metadata/csdl/csdl-navigation-property-binding.d.ts +8 -0
- package/lib/metadata/csdl/csdl-reference.d.ts +30 -0
- package/lib/metadata/csdl/csdl-schema.d.ts +34 -0
- package/lib/metadata/csdl/csdl-singleton.d.ts +16 -0
- package/lib/metadata/csdl/csdl-structural-property.d.ts +70 -0
- package/lib/metadata/csdl/csdl-structured-type.d.ts +73 -0
- package/lib/metadata/csdl/csdl-type-definition.d.ts +22 -0
- package/lib/metadata/index.d.ts +2 -0
- package/lib/metadata/metadata.d.ts +10 -0
- package/lib/{resources/responses/metadata.d.ts → metadata/parser.d.ts} +19 -7
- package/lib/models/collection.d.ts +23 -12
- package/lib/models/model.d.ts +19 -19
- package/lib/models/options.d.ts +43 -27
- package/lib/module.d.ts +2 -1
- package/lib/options.d.ts +5 -0
- package/lib/resources/index.d.ts +1 -1
- package/lib/resources/{responses/options.d.ts → options.d.ts} +2 -2
- package/lib/resources/path/handlers.d.ts +4 -2
- package/lib/resources/path/segments.d.ts +13 -1
- package/lib/resources/query/builder.d.ts +6 -5
- package/lib/resources/query/expressions/apply.d.ts +125 -0
- package/lib/resources/query/expressions/base.d.ts +1 -1
- package/lib/resources/query/expressions/compute.d.ts +4 -4
- package/lib/resources/query/expressions/count.d.ts +3 -3
- package/lib/resources/query/expressions/expand.d.ts +8 -8
- package/lib/resources/query/expressions/filter.d.ts +3 -3
- package/lib/resources/query/expressions/index.d.ts +1 -0
- package/lib/resources/query/expressions/orderby.d.ts +7 -6
- package/lib/resources/query/expressions/search.d.ts +2 -2
- package/lib/resources/query/expressions/select.d.ts +4 -3
- package/lib/resources/query/expressions/syntax.d.ts +77 -4
- package/lib/resources/query/handlers.d.ts +32 -9
- package/lib/resources/query/options.d.ts +20 -10
- package/lib/resources/resource.d.ts +32 -16
- package/lib/resources/{responses/response.d.ts → response.d.ts} +17 -5
- package/lib/resources/types/action.d.ts +12 -10
- package/lib/resources/types/batch.d.ts +12 -6
- package/lib/resources/types/count.d.ts +1 -5
- package/lib/resources/types/entity-set.d.ts +13 -6
- package/lib/resources/types/entity.d.ts +3 -4
- package/lib/resources/types/function.d.ts +11 -11
- package/lib/resources/types/metadata.d.ts +1 -1
- package/lib/resources/types/navigation-property.d.ts +13 -7
- package/lib/resources/types/property.d.ts +15 -8
- package/lib/resources/types/reference.d.ts +2 -4
- package/lib/resources/types/singleton.d.ts +4 -6
- package/lib/resources/types/value.d.ts +2 -6
- package/lib/schema/callable.d.ts +5 -7
- package/lib/schema/element.d.ts +11 -4
- package/lib/schema/entity-container.d.ts +2 -0
- package/lib/schema/enum-type.d.ts +4 -7
- package/lib/schema/index.d.ts +1 -0
- package/lib/schema/parsers/callable.d.ts +7 -8
- package/lib/schema/parsers/enum-type.d.ts +15 -5
- package/lib/schema/parsers/structured-type.d.ts +6 -8
- package/lib/schema/schema.d.ts +6 -9
- package/lib/schema/singleton.d.ts +10 -0
- package/lib/schema/structured-type.d.ts +5 -8
- package/lib/services/entity-set.d.ts +7 -3
- package/lib/services/factory.d.ts +14 -2
- package/lib/services/singleton.d.ts +4 -2
- package/lib/settings.d.ts +0 -10
- package/lib/types.d.ts +23 -3
- package/lib/utils/http.d.ts +1 -1
- package/package.json +5 -1
- package/schematics/apigen/angular/api-config.d.ts +15 -0
- package/schematics/apigen/angular/api-config.js +34 -0
- package/schematics/apigen/angular/api-config.js.map +1 -0
- package/schematics/apigen/angular/base.d.ts +51 -0
- package/schematics/apigen/angular/base.js +200 -0
- package/schematics/apigen/angular/base.js.map +1 -0
- package/schematics/apigen/angular/entity.d.ts +24 -0
- package/schematics/apigen/angular/entity.js +71 -0
- package/schematics/apigen/angular/entity.js.map +1 -0
- package/schematics/apigen/angular/enum.d.ts +25 -0
- package/schematics/apigen/angular/enum.js +56 -0
- package/schematics/apigen/angular/enum.js.map +1 -0
- package/schematics/apigen/angular/import.d.ts +6 -0
- package/schematics/apigen/angular/import.js +18 -0
- package/schematics/apigen/angular/import.js.map +1 -0
- package/schematics/apigen/angular/module.d.ts +18 -0
- package/schematics/apigen/angular/module.js +41 -0
- package/schematics/apigen/angular/module.js.map +1 -0
- package/schematics/apigen/angular/service.d.ts +20 -0
- package/schematics/apigen/angular/service.js +76 -0
- package/schematics/apigen/angular/service.js.map +1 -0
- package/schematics/apigen/files/api-config/__fileName__.ts +9 -0
- package/schematics/apigen/files/entity/__fileName__.ts +7 -0
- package/schematics/apigen/files/entitycontainer-service/__fileName__.ts +18 -0
- package/schematics/apigen/files/entityset-service/__fileName__.ts +27 -0
- package/schematics/apigen/files/enum/__fileName__.ts +4 -0
- package/schematics/apigen/files/index/__fileName__.ts +2 -0
- package/schematics/apigen/files/module/__fileName__.ts +9 -0
- package/schematics/apigen/files/singleton-service/__fileName__.ts +18 -0
- package/schematics/apigen/index.d.ts +3 -0
- package/schematics/apigen/index.js +106 -0
- package/schematics/apigen/index.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-annotation.d.ts +120 -0
- package/schematics/apigen/metadata/csdl/csdl-annotation.js +98 -0
- package/schematics/apigen/metadata/csdl/csdl-annotation.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-container.d.ts +26 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-container.js +30 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-container.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-set.d.ts +20 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-set.js +26 -0
- package/schematics/apigen/metadata/csdl/csdl-entity-set.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-enum-type.d.ts +28 -0
- package/schematics/apigen/metadata/csdl/csdl-enum-type.js +33 -0
- package/schematics/apigen/metadata/csdl/csdl-enum-type.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-function-action.d.ts +103 -0
- package/schematics/apigen/metadata/csdl/csdl-function-action.js +84 -0
- package/schematics/apigen/metadata/csdl/csdl-function-action.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.d.ts +8 -0
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js +11 -0
- package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-reference.d.ts +30 -0
- package/schematics/apigen/metadata/csdl/csdl-reference.js +29 -0
- package/schematics/apigen/metadata/csdl/csdl-reference.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-schema.d.ts +32 -0
- package/schematics/apigen/metadata/csdl/csdl-schema.js +26 -0
- package/schematics/apigen/metadata/csdl/csdl-schema.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-singleton.d.ts +18 -0
- package/schematics/apigen/metadata/csdl/csdl-singleton.js +25 -0
- package/schematics/apigen/metadata/csdl/csdl-singleton.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-structural-property.d.ts +63 -0
- package/schematics/apigen/metadata/csdl/csdl-structural-property.js +50 -0
- package/schematics/apigen/metadata/csdl/csdl-structural-property.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-structured-type.d.ts +64 -0
- package/schematics/apigen/metadata/csdl/csdl-structured-type.js +71 -0
- package/schematics/apigen/metadata/csdl/csdl-structured-type.js.map +1 -0
- package/schematics/apigen/metadata/csdl/csdl-type-definition.d.ts +22 -0
- package/schematics/apigen/metadata/csdl/csdl-type-definition.js +19 -0
- package/schematics/apigen/metadata/csdl/csdl-type-definition.js.map +1 -0
- package/schematics/apigen/metadata/index.d.ts +1 -0
- package/schematics/apigen/metadata/index.js +18 -0
- package/schematics/apigen/metadata/index.js.map +1 -0
- package/schematics/apigen/metadata/metadata.d.ts +11 -0
- package/schematics/apigen/metadata/metadata.js +30 -0
- package/schematics/apigen/metadata/metadata.js.map +1 -0
- package/schematics/apigen/metadata/parser.d.ts +110 -0
- package/schematics/apigen/metadata/parser.js +568 -0
- package/schematics/apigen/metadata/parser.js.map +1 -0
- package/schematics/apigen/schema.d.ts +8 -0
- package/schematics/apigen/schema.js +3 -0
- package/schematics/apigen/schema.js.map +1 -0
- package/schematics/apigen/schema.json +36 -0
- package/schematics/apigen/utils.d.ts +1 -0
- package/schematics/apigen/utils.js +75 -0
- package/schematics/apigen/utils.js.map +1 -0
- package/schematics/collection.json +14 -0
- package/schematics/ng-add/index.d.ts +2 -0
- package/schematics/ng-add/index.js +13 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/random.d.ts +1 -0
- package/schematics/random.js +604 -0
- package/schematics/random.js.map +1 -0
- package/esm2022/lib/resources/responses/annotations.mjs +0 -137
- package/esm2022/lib/resources/responses/csdl/csdl-annotation.mjs +0 -33
- package/esm2022/lib/resources/responses/csdl/csdl-entity-container.mjs +0 -11
- package/esm2022/lib/resources/responses/csdl/csdl-entity-set.mjs +0 -9
- package/esm2022/lib/resources/responses/csdl/csdl-enum-type.mjs +0 -15
- package/esm2022/lib/resources/responses/csdl/csdl-function-action.mjs +0 -56
- package/esm2022/lib/resources/responses/csdl/csdl-navigation-property-binding.mjs +0 -7
- package/esm2022/lib/resources/responses/csdl/csdl-reference.mjs +0 -23
- package/esm2022/lib/resources/responses/csdl/csdl-schema.mjs +0 -18
- package/esm2022/lib/resources/responses/csdl/csdl-singleton.mjs +0 -8
- package/esm2022/lib/resources/responses/csdl/csdl-structural-property.mjs +0 -39
- package/esm2022/lib/resources/responses/csdl/csdl-structured-type.mjs +0 -34
- package/esm2022/lib/resources/responses/csdl/csdl-type-definition.mjs +0 -14
- package/esm2022/lib/resources/responses/index.mjs +0 -5
- package/esm2022/lib/resources/responses/metadata.mjs +0 -547
- package/esm2022/lib/resources/responses/options.mjs +0 -56
- package/esm2022/lib/resources/responses/response.mjs +0 -174
- package/esm2022/lib/resources/responses/types.mjs +0 -2
- package/lib/resources/responses/csdl/csdl-annotation.d.ts +0 -27
- package/lib/resources/responses/csdl/csdl-entity-container.d.ts +0 -12
- package/lib/resources/responses/csdl/csdl-entity-set.d.ts +0 -8
- package/lib/resources/responses/csdl/csdl-enum-type.d.ts +0 -12
- package/lib/resources/responses/csdl/csdl-function-action.d.ts +0 -49
- package/lib/resources/responses/csdl/csdl-navigation-property-binding.d.ts +0 -5
- package/lib/resources/responses/csdl/csdl-reference.d.ts +0 -18
- package/lib/resources/responses/csdl/csdl-schema.d.ts +0 -20
- package/lib/resources/responses/csdl/csdl-singleton.d.ts +0 -7
- package/lib/resources/responses/csdl/csdl-structural-property.d.ts +0 -31
- package/lib/resources/responses/csdl/csdl-structured-type.d.ts +0 -27
- package/lib/resources/responses/csdl/csdl-type-definition.d.ts +0 -11
- package/lib/resources/responses/index.d.ts +0 -4
- package/lib/resources/responses/types.d.ts +0 -13
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Index = exports.Base = exports.Callable = void 0;
|
|
4
|
+
const core_1 = require("@angular-devkit/core");
|
|
5
|
+
const random_1 = require("../../random");
|
|
6
|
+
const import_1 = require("./import");
|
|
7
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
8
|
+
const csdl_function_action_1 = require("../metadata/csdl/csdl-function-action");
|
|
9
|
+
const utils_1 = require("../utils");
|
|
10
|
+
const makeRelativePath = (from, to) => {
|
|
11
|
+
if (from === '') {
|
|
12
|
+
return to;
|
|
13
|
+
}
|
|
14
|
+
if (to.startsWith(from)) {
|
|
15
|
+
return to.substring(from.length + 1);
|
|
16
|
+
}
|
|
17
|
+
let shared = from;
|
|
18
|
+
let i = 0;
|
|
19
|
+
while (shared.length > 0 && !to.startsWith(shared)) {
|
|
20
|
+
shared = shared.substring(0, shared.lastIndexOf('/'));
|
|
21
|
+
i++;
|
|
22
|
+
}
|
|
23
|
+
return (Array.from({ length: i }).fill('..').join('/') +
|
|
24
|
+
'/' +
|
|
25
|
+
to.substring(shared.length));
|
|
26
|
+
};
|
|
27
|
+
class Callable {
|
|
28
|
+
constructor(callable) {
|
|
29
|
+
this.callable = callable;
|
|
30
|
+
}
|
|
31
|
+
name() {
|
|
32
|
+
return this.callable.Name;
|
|
33
|
+
}
|
|
34
|
+
isBound() {
|
|
35
|
+
return this.callable.IsBound;
|
|
36
|
+
}
|
|
37
|
+
bindingParameter() {
|
|
38
|
+
var _a;
|
|
39
|
+
return (_a = this.callable.Parameter) === null || _a === void 0 ? void 0 : _a.find((p) => p.Name === csdl_function_action_1.BINDING_PARAMETER_NAME);
|
|
40
|
+
}
|
|
41
|
+
parameters() {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
return ((_b = (_a = this.callable.Parameter) === null || _a === void 0 ? void 0 : _a.filter((p) => p.Name !== csdl_function_action_1.BINDING_PARAMETER_NAME)) !== null && _b !== void 0 ? _b : []);
|
|
44
|
+
}
|
|
45
|
+
returnType() {
|
|
46
|
+
return this.callable.ReturnType;
|
|
47
|
+
}
|
|
48
|
+
fullName() {
|
|
49
|
+
return this.callable.fullName();
|
|
50
|
+
}
|
|
51
|
+
resourceFunction() {
|
|
52
|
+
const isFunction = this.callable instanceof csdl_function_action_1.CsdlFunction;
|
|
53
|
+
const methodName = core_1.strings.camelize(this.callable.Name);
|
|
54
|
+
const bindingParameter = this.bindingParameter();
|
|
55
|
+
const bindingType = bindingParameter !== undefined
|
|
56
|
+
? (0, utils_1.toTypescriptType)(bindingParameter.Type)
|
|
57
|
+
: '';
|
|
58
|
+
const returnType = this.returnType();
|
|
59
|
+
const retType = returnType === undefined ? 'null' : (0, utils_1.toTypescriptType)(returnType.Type);
|
|
60
|
+
const bindingMethod = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection) ? 'entity' : 'entities';
|
|
61
|
+
const baseMethod = isFunction ? 'function' : 'action';
|
|
62
|
+
const keyParameter = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection)
|
|
63
|
+
? `key: EntityKey<${bindingType}>`
|
|
64
|
+
: '';
|
|
65
|
+
const key = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection) ? `key` : '';
|
|
66
|
+
const parameters = this.parameters();
|
|
67
|
+
const parametersType = parameters.length === 0
|
|
68
|
+
? 'null'
|
|
69
|
+
: `{${parameters.map((p) => `${p.Name}: ${(0, utils_1.toTypescriptType)(p.Type)}`).join(', ')}}`;
|
|
70
|
+
return `public ${methodName}(${keyParameter}) {
|
|
71
|
+
return this.${bindingMethod}(${key}).${baseMethod}<${parametersType}, ${retType}>('${this.fullName()}');
|
|
72
|
+
}`;
|
|
73
|
+
}
|
|
74
|
+
callableFunction() {
|
|
75
|
+
const isFunction = this.callable instanceof csdl_function_action_1.CsdlFunction;
|
|
76
|
+
const bindingParameter = this.bindingParameter();
|
|
77
|
+
const parameters = this.parameters();
|
|
78
|
+
const returnType = this.returnType();
|
|
79
|
+
const methodResourceName = core_1.strings.camelize(this.callable.Name);
|
|
80
|
+
const methodName = core_1.strings.classify(this.callable.Name);
|
|
81
|
+
const responseType = returnType === undefined
|
|
82
|
+
? 'none'
|
|
83
|
+
: (returnType === null || returnType === void 0 ? void 0 : returnType.Collection)
|
|
84
|
+
? 'entities'
|
|
85
|
+
: (returnType === null || returnType === void 0 ? void 0 : returnType.Type.startsWith('Edm.'))
|
|
86
|
+
? 'property'
|
|
87
|
+
: 'entity';
|
|
88
|
+
const retType = returnType === undefined ? 'null' : (0, utils_1.toTypescriptType)(returnType.Type);
|
|
89
|
+
const bindingType = bindingParameter !== undefined
|
|
90
|
+
? (0, utils_1.toTypescriptType)(bindingParameter.Type)
|
|
91
|
+
: '';
|
|
92
|
+
const baseMethod = isFunction ? 'callFunction' : 'callAction';
|
|
93
|
+
const parametersCall = parameters.length === 0
|
|
94
|
+
? 'null'
|
|
95
|
+
: `{${parameters.map((p) => p.Name).join(', ')}}`;
|
|
96
|
+
// Method arguments
|
|
97
|
+
let args = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection)
|
|
98
|
+
? [`key: EntityKey<${bindingType}>`]
|
|
99
|
+
: [];
|
|
100
|
+
args = [
|
|
101
|
+
...args,
|
|
102
|
+
...(parameters.length === 0
|
|
103
|
+
? []
|
|
104
|
+
: parameters.map((p) => `${p.Name}: ${(0, utils_1.toTypescriptType)(p.Type)}`)),
|
|
105
|
+
];
|
|
106
|
+
const optionsType = returnType !== undefined && returnType.Type.startsWith('Edm.')
|
|
107
|
+
? isFunction
|
|
108
|
+
? 'ODataOptions & {alias?: boolean}'
|
|
109
|
+
: 'ODataOptions'
|
|
110
|
+
: isFunction
|
|
111
|
+
? `ODataFunctionOptions<${retType}>`
|
|
112
|
+
: `ODataActionOptions<${retType}>`;
|
|
113
|
+
args.push(`options?: ${optionsType}`);
|
|
114
|
+
// Key parameter
|
|
115
|
+
const key = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection) ? `key` : '';
|
|
116
|
+
// Render
|
|
117
|
+
return `public call${methodName}(${args.join(', ')}) {
|
|
118
|
+
return this.${baseMethod}(${parametersCall}, this.${methodResourceName}(${key}), '${responseType}', options);
|
|
119
|
+
}`;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.Callable = Callable;
|
|
123
|
+
class Base {
|
|
124
|
+
constructor(options) {
|
|
125
|
+
this.options = options;
|
|
126
|
+
this.dependencies = [];
|
|
127
|
+
this.callables = [];
|
|
128
|
+
}
|
|
129
|
+
path() {
|
|
130
|
+
const directory = this.directory();
|
|
131
|
+
const filename = this.fileName();
|
|
132
|
+
return directory !== '' ? directory + `/${filename}` : filename;
|
|
133
|
+
}
|
|
134
|
+
imports() {
|
|
135
|
+
const groups = this.dependencies
|
|
136
|
+
.filter((a) => a[1].path() != this.path())
|
|
137
|
+
.reduce((acc, i) => {
|
|
138
|
+
const path = makeRelativePath(this.directory(), i[1].path());
|
|
139
|
+
if (acc[path] === undefined) {
|
|
140
|
+
acc[path] = [];
|
|
141
|
+
}
|
|
142
|
+
acc[path].push(i);
|
|
143
|
+
return acc;
|
|
144
|
+
}, {});
|
|
145
|
+
return Object.entries(groups).map(([path, items]) => {
|
|
146
|
+
const names = items.reduce((acc, i) => [...acc, i[0]], []);
|
|
147
|
+
return new import_1.Import(names, path);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
cleanImportedNames() {
|
|
151
|
+
this.dependencies.forEach((d) => (d[1].importedName = d[1].name()));
|
|
152
|
+
}
|
|
153
|
+
addDependency(renderable) {
|
|
154
|
+
if (this.dependencies.every((d) => d[1] != renderable)) {
|
|
155
|
+
var alias = renderable.name();
|
|
156
|
+
while (this.dependencies.some((d) => d[0] == alias)) {
|
|
157
|
+
alias = (0, random_1.getRandomName)();
|
|
158
|
+
}
|
|
159
|
+
this.dependencies.push([alias, renderable]);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
addDependencies(renderables) {
|
|
163
|
+
renderables.forEach((r) => this.addDependency(r));
|
|
164
|
+
}
|
|
165
|
+
addCallable(callable) {
|
|
166
|
+
this.callables.push(callable);
|
|
167
|
+
}
|
|
168
|
+
addCallables(callables) {
|
|
169
|
+
callables.forEach((r) => this.addCallable(r));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.Base = Base;
|
|
173
|
+
class Index extends Base {
|
|
174
|
+
constructor(options) {
|
|
175
|
+
super(options);
|
|
176
|
+
}
|
|
177
|
+
template() {
|
|
178
|
+
return (0, schematics_1.url)('./files/index');
|
|
179
|
+
}
|
|
180
|
+
variables() {
|
|
181
|
+
return Object.assign({}, this.options);
|
|
182
|
+
}
|
|
183
|
+
name() {
|
|
184
|
+
return '';
|
|
185
|
+
}
|
|
186
|
+
fileName() {
|
|
187
|
+
return 'index';
|
|
188
|
+
}
|
|
189
|
+
directory() {
|
|
190
|
+
return '';
|
|
191
|
+
}
|
|
192
|
+
fullName() {
|
|
193
|
+
return this.name();
|
|
194
|
+
}
|
|
195
|
+
importTypes() {
|
|
196
|
+
return [];
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
exports.Index = Index;
|
|
200
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/base.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,yCAA6C;AAC7C,qCAAkC;AAClC,2DAAyD;AAEzD,gFAM+C;AAC/C,oCAA4C;AAE5C,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAU,EAAE,EAAE;IACpD,IAAI,IAAI,KAAK,EAAE,EAAE;QACf,OAAO,EAAE,CAAC;KACX;IACD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACtC;IACD,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QAClD,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC,EAAE,CAAC;KACL;IACD,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9C,GAAG;QACH,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAC5B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAa,QAAQ;IACnB,YAAsB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAEhD,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,gBAAgB;;QACd,OAAO,MAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,0CAAE,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,6CAAsB,CACzC,CAAC;IACJ,CAAC;IAED,UAAU;;QACR,OAAO,CACL,MAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,0CAAE,MAAM,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,6CAAsB,CACzC,mCAAK,EAAsB,CAC7B,CAAC;IACJ,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;IAClC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,gBAAgB;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,YAAY,mCAAY,CAAC;QACzD,MAAM,UAAU,GAAG,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjD,MAAM,WAAW,GACf,gBAAgB,KAAK,SAAS;YAC5B,CAAC,CAAC,IAAA,wBAAgB,EAAC,gBAAgB,CAAC,IAAI,CAAC;YACzC,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,OAAO,GACX,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,CAAA,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;QAC5E,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtD,MAAM,YAAY,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,CAAA;YAChD,CAAC,CAAC,kBAAkB,WAAW,GAAG;YAClC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,GAAG,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,CAAA,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,cAAc,GAClB,UAAU,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAA,wBAAgB,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACxF,OAAO,UAAU,UAAU,IAAI,YAAY;kBAC7B,aAAa,IAAI,GAAG,KAAK,UAAU,IAAI,cAAc,KAAK,OAAO,MAAM,IAAI,CAAC,QAAQ,EAAE;IACpG,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,YAAY,mCAAY,CAAC;QACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAErC,MAAM,kBAAkB,GAAG,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,YAAY,GAChB,UAAU,KAAK,SAAS;YACtB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU;gBACtB,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;oBACnC,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,QAAQ,CAAC;QACnB,MAAM,OAAO,GACX,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAExE,MAAM,WAAW,GACf,gBAAgB,KAAK,SAAS;YAC5B,CAAC,CAAC,IAAA,wBAAgB,EAAC,gBAAgB,CAAC,IAAI,CAAC;YACzC,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9D,MAAM,cAAc,GAClB,UAAU,CAAC,MAAM,KAAK,CAAC;YACrB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEtD,mBAAmB;QACnB,IAAI,IAAI,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,CAAA;YACtC,CAAC,CAAC,CAAC,kBAAkB,WAAW,GAAG,CAAC;YACpC,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,GAAG;YACL,GAAG,IAAI;YACP,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gBACzB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAA,wBAAgB,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACrE,CAAC;QACF,MAAM,WAAW,GACf,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5D,CAAC,CAAC,UAAU;gBACV,CAAC,CAAC,kCAAkC;gBACpC,CAAC,CAAC,cAAc;YAClB,CAAC,CAAC,UAAU;gBACV,CAAC,CAAC,wBAAwB,OAAO,GAAG;gBACpC,CAAC,CAAC,sBAAsB,OAAO,GAAG,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC;QAEtC,gBAAgB;QAChB,MAAM,GAAG,GAAG,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,UAAU,CAAA,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvD,SAAS;QACT,OAAO,cAAc,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;kBACpC,UAAU,IAAI,cAAc,UAAU,kBAAkB,IAAI,GAAG,OAAO,YAAY;IAChG,CAAC;IACH,CAAC;CACF;AApHD,4BAoHC;AAED,MAAsB,IAAI;IACxB,YAAsB,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;QAyCjC,iBAAY,GAAqB,EAAE,CAAC;QAepC,cAAS,GAAe,EAAE,CAAC;IAxDS,CAAC;IAWxC,IAAI;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClE,CAAC;IAEM,OAAO;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;aACzC,MAAM,CACL,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACT,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;gBAC3B,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;aAChB;YACD,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAA0C,CAC3C,CAAC;QACJ,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAc,CAAC,CAAC;YACvE,OAAO,IAAI,eAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAGM,kBAAkB;QACvB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAEM,aAAa,CAAC,UAAgB;QACnC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE;YACtD,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,EAAG,CAAC;YAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE;gBACnD,KAAK,GAAG,IAAA,sBAAa,GAAE,CAAC;aACzB;YACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;SAC7C;IACH,CAAC;IAEM,eAAe,CAAC,WAAmB;QACxC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAGM,WAAW,CAAC,QAAkB;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAEM,YAAY,CAAC,SAAqB;QACvC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;CACF;AAjED,oBAiEC;AAED,MAAa,KAAM,SAAQ,IAAI;IAC7B,YAAY,OAAqB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,eAAe,CAAC,CAAC;IAC9B,CAAC;IACe,SAAS;QACvB,yBAAY,IAAI,CAAC,OAAO,EAAG;IAC7B,CAAC;IACe,IAAI;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;IACe,QAAQ;QACtB,OAAO,OAAO,CAAC;IACjB,CAAC;IACe,SAAS;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACe,WAAW;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAzBD,sBAyBC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Base } from './base';
|
|
2
|
+
import { CsdlComplexType, CsdlEntityType } from '../metadata/csdl/csdl-structured-type';
|
|
3
|
+
import { Source } from '@angular-devkit/schematics';
|
|
4
|
+
import { Schema as ApiGenSchema } from '../schema';
|
|
5
|
+
import { CsdlNavigationProperty, CsdlProperty } from '../metadata/csdl/csdl-structural-property';
|
|
6
|
+
export declare class EntityProperty {
|
|
7
|
+
protected edmType: CsdlProperty | CsdlNavigationProperty;
|
|
8
|
+
constructor(edmType: CsdlProperty | CsdlNavigationProperty);
|
|
9
|
+
name(): string;
|
|
10
|
+
type(): string;
|
|
11
|
+
}
|
|
12
|
+
export declare class Entity extends Base {
|
|
13
|
+
protected edmType: CsdlEntityType | CsdlComplexType;
|
|
14
|
+
constructor(options: ApiGenSchema, edmType: CsdlEntityType | CsdlComplexType);
|
|
15
|
+
template(): Source;
|
|
16
|
+
variables(): {
|
|
17
|
+
[name: string]: any;
|
|
18
|
+
};
|
|
19
|
+
name(): string;
|
|
20
|
+
fileName(): string;
|
|
21
|
+
directory(): string;
|
|
22
|
+
fullName(): string;
|
|
23
|
+
importTypes(): string[];
|
|
24
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Entity = exports.EntityProperty = void 0;
|
|
4
|
+
const core_1 = require("@angular-devkit/core");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
const csdl_structured_type_1 = require("../metadata/csdl/csdl-structured-type");
|
|
7
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
8
|
+
class EntityProperty {
|
|
9
|
+
constructor(edmType) {
|
|
10
|
+
this.edmType = edmType;
|
|
11
|
+
}
|
|
12
|
+
name() {
|
|
13
|
+
return this.edmType.Name;
|
|
14
|
+
}
|
|
15
|
+
type() {
|
|
16
|
+
return this.edmType.Type;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.EntityProperty = EntityProperty;
|
|
20
|
+
class Entity extends base_1.Base {
|
|
21
|
+
constructor(options, edmType) {
|
|
22
|
+
super(options);
|
|
23
|
+
this.edmType = edmType;
|
|
24
|
+
}
|
|
25
|
+
template() {
|
|
26
|
+
return (0, schematics_1.url)('./files/entity');
|
|
27
|
+
}
|
|
28
|
+
variables() {
|
|
29
|
+
var _a, _b;
|
|
30
|
+
return {
|
|
31
|
+
baseType: this.edmType.BaseType,
|
|
32
|
+
properties: [
|
|
33
|
+
...((_a = this.edmType.Property) !== null && _a !== void 0 ? _a : []).map((p) => new EntityProperty(p)),
|
|
34
|
+
...((_b = this.edmType.NavigationProperty) !== null && _b !== void 0 ? _b : []).map((p) => new EntityProperty(p)),
|
|
35
|
+
],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
name() {
|
|
39
|
+
return core_1.strings.classify(this.edmType.name());
|
|
40
|
+
}
|
|
41
|
+
fileName() {
|
|
42
|
+
return (core_1.strings.dasherize(this.edmType.name()) +
|
|
43
|
+
(this.edmType instanceof csdl_structured_type_1.CsdlEntityType ? '.entity' : '.complex'));
|
|
44
|
+
}
|
|
45
|
+
directory() {
|
|
46
|
+
return this.edmType.namespace().replace(/\./g, '/');
|
|
47
|
+
}
|
|
48
|
+
fullName() {
|
|
49
|
+
return this.edmType.fullName();
|
|
50
|
+
}
|
|
51
|
+
importTypes() {
|
|
52
|
+
var _a, _b, _c, _d;
|
|
53
|
+
const imports = [];
|
|
54
|
+
if (this.edmType.BaseType) {
|
|
55
|
+
imports.push(this.edmType.BaseType);
|
|
56
|
+
}
|
|
57
|
+
for (let prop of (_b = (_a = this.edmType) === null || _a === void 0 ? void 0 : _a.Property) !== null && _b !== void 0 ? _b : []) {
|
|
58
|
+
if (!prop.Type.startsWith('Edm.')) {
|
|
59
|
+
imports.push(prop.Type);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
for (let prop of (_d = (_c = this.edmType) === null || _c === void 0 ? void 0 : _c.NavigationProperty) !== null && _d !== void 0 ? _d : []) {
|
|
63
|
+
if (!prop.Type.startsWith('Edm.')) {
|
|
64
|
+
imports.push(prop.Type);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return imports;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.Entity = Entity;
|
|
71
|
+
//# sourceMappingURL=entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/entity.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAE9B,gFAG+C;AAC/C,2DAAyD;AAOzD,MAAa,cAAc;IACzB,YAAsB,OAA8C;QAA9C,YAAO,GAAP,OAAO,CAAuC;IAAG,CAAC;IAExE,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAVD,wCAUC;AAED,MAAa,MAAO,SAAQ,WAAI;IAC9B,YACE,OAAqB,EACX,OAAyC;QAEnD,KAAK,CAAC,OAAO,CAAC,CAAC;QAFL,YAAO,GAAP,OAAO,CAAkC;IAGrD,CAAC;IAEe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IACe,SAAS;;QACvB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC/B,UAAU,EAAE;gBACV,GAAG,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC;gBAClE,GAAG,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC,GAAG,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,CAC7B;aACF;SACF,CAAC;IACJ,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACe,QAAQ;QACtB,OAAO,CACL,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtC,CAAC,IAAI,CAAC,OAAO,YAAY,qCAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAClE,CAAC;IACJ,CAAC;IACe,SAAS;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IACe,WAAW;;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SACrC;QACD,KAAK,IAAI,IAAI,IAAI,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,mCAAI,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACF;QACD,KAAK,IAAI,IAAI,IAAI,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,kBAAkB,mCAAI,EAAE,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBACjC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAtDD,wBAsDC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CsdlEnumType, CsdlMember } from '../metadata/csdl/csdl-enum-type';
|
|
2
|
+
import { Base } from './base';
|
|
3
|
+
import { Source } from '@angular-devkit/schematics';
|
|
4
|
+
import { Schema as ApiGenSchema } from '../schema';
|
|
5
|
+
export declare class EnumValue {
|
|
6
|
+
private edmType;
|
|
7
|
+
constructor(edmType: CsdlMember);
|
|
8
|
+
name(): string;
|
|
9
|
+
value(): number | undefined;
|
|
10
|
+
}
|
|
11
|
+
export declare class Enum extends Base {
|
|
12
|
+
protected edmType: CsdlEnumType;
|
|
13
|
+
constructor(options: ApiGenSchema, edmType: CsdlEnumType);
|
|
14
|
+
template(): Source;
|
|
15
|
+
variables(): {
|
|
16
|
+
[name: string]: any;
|
|
17
|
+
};
|
|
18
|
+
name(): string;
|
|
19
|
+
fileName(): string;
|
|
20
|
+
directory(): string;
|
|
21
|
+
fullName(): string;
|
|
22
|
+
members(): string[];
|
|
23
|
+
flags(): boolean | undefined;
|
|
24
|
+
importTypes(): string[];
|
|
25
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Enum = exports.EnumValue = void 0;
|
|
4
|
+
const core_1 = require("@angular-devkit/core");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
7
|
+
class EnumValue {
|
|
8
|
+
constructor(edmType) {
|
|
9
|
+
this.edmType = edmType;
|
|
10
|
+
}
|
|
11
|
+
name() {
|
|
12
|
+
return this.edmType.Name;
|
|
13
|
+
}
|
|
14
|
+
value() {
|
|
15
|
+
return this.edmType.Value;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.EnumValue = EnumValue;
|
|
19
|
+
class Enum extends base_1.Base {
|
|
20
|
+
constructor(options, edmType) {
|
|
21
|
+
super(options);
|
|
22
|
+
this.edmType = edmType;
|
|
23
|
+
}
|
|
24
|
+
template() {
|
|
25
|
+
return (0, schematics_1.url)('./files/enum');
|
|
26
|
+
}
|
|
27
|
+
variables() {
|
|
28
|
+
var _a;
|
|
29
|
+
return {
|
|
30
|
+
values: ((_a = this.edmType.Member) !== null && _a !== void 0 ? _a : []).map((m) => new EnumValue(m)),
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
name() {
|
|
34
|
+
return core_1.strings.classify(this.edmType.name());
|
|
35
|
+
}
|
|
36
|
+
fileName() {
|
|
37
|
+
return core_1.strings.dasherize(this.edmType.name()) + '.enum';
|
|
38
|
+
}
|
|
39
|
+
directory() {
|
|
40
|
+
return this.edmType.namespace().replace(/\./g, '/');
|
|
41
|
+
}
|
|
42
|
+
fullName() {
|
|
43
|
+
return this.edmType.fullName();
|
|
44
|
+
}
|
|
45
|
+
members() {
|
|
46
|
+
return this.edmType.Member.map((m) => `${m.Name} = ${m.Value}`);
|
|
47
|
+
}
|
|
48
|
+
flags() {
|
|
49
|
+
return this.edmType.IsFlags;
|
|
50
|
+
}
|
|
51
|
+
importTypes() {
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.Enum = Enum;
|
|
56
|
+
//# sourceMappingURL=enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/enum.ts"],"names":[],"mappings":";;;AACA,+CAA+C;AAC/C,iCAA8B;AAE9B,2DAAyD;AAGzD,MAAa,SAAS;IACpB,YAAoB,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;IAAG,CAAC;IACpC,IAAI;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IACM,KAAK;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;CACF;AARD,8BAQC;AACD,MAAa,IAAK,SAAQ,WAAI;IAC5B,YACE,OAAqB,EACX,OAAqB;QAE/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFL,YAAO,GAAP,OAAO,CAAc;IAGjC,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IACe,SAAS;;QACvB,OAAO;YACL,MAAM,EAAE,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;SACjE,CAAC;IACJ,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACe,QAAQ;QACtB,OAAO,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAC1D,CAAC;IACe,SAAS;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IACM,OAAO;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IACM,KAAK;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;IACe,WAAW;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AApCD,oBAoCC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Import = void 0;
|
|
4
|
+
class Import {
|
|
5
|
+
constructor(names, from) {
|
|
6
|
+
this.names = [];
|
|
7
|
+
this.names = names;
|
|
8
|
+
this.from = from;
|
|
9
|
+
}
|
|
10
|
+
path() {
|
|
11
|
+
var path = this.from.toString();
|
|
12
|
+
if (!path.startsWith('../'))
|
|
13
|
+
path = `./${path}`;
|
|
14
|
+
return path;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.Import = Import;
|
|
18
|
+
//# sourceMappingURL=import.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/import.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IAGjB,YAAmB,KAAe,EAAE,IAAY;QAFzC,UAAK,GAAa,EAAE,CAAC;QAG1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,IAAI;QACT,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAbD,wBAaC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Base } from './base';
|
|
2
|
+
import { Source } from '@angular-devkit/schematics';
|
|
3
|
+
import { Schema as ApiGenSchema } from '../schema';
|
|
4
|
+
import { Service } from './service';
|
|
5
|
+
export declare class Module extends Base {
|
|
6
|
+
services: Service[];
|
|
7
|
+
constructor(options: ApiGenSchema);
|
|
8
|
+
template(): Source;
|
|
9
|
+
variables(): {
|
|
10
|
+
[name: string]: any;
|
|
11
|
+
};
|
|
12
|
+
addService(service: Service): void;
|
|
13
|
+
name(): string;
|
|
14
|
+
fileName(): string;
|
|
15
|
+
directory(): string;
|
|
16
|
+
fullName(): string;
|
|
17
|
+
importTypes(): string[];
|
|
18
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Module = void 0;
|
|
4
|
+
const core_1 = require("@angular-devkit/core");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
7
|
+
class Module extends base_1.Base {
|
|
8
|
+
constructor(options) {
|
|
9
|
+
super(options);
|
|
10
|
+
this.services = [];
|
|
11
|
+
}
|
|
12
|
+
template() {
|
|
13
|
+
return (0, schematics_1.url)('./files/module');
|
|
14
|
+
}
|
|
15
|
+
variables() {
|
|
16
|
+
return {
|
|
17
|
+
services: this.services,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
addService(service) {
|
|
21
|
+
this.services.push(service);
|
|
22
|
+
this.addDependency(service);
|
|
23
|
+
}
|
|
24
|
+
name() {
|
|
25
|
+
return core_1.strings.classify(this.options.name) + 'Module';
|
|
26
|
+
}
|
|
27
|
+
fileName() {
|
|
28
|
+
return core_1.strings.dasherize(this.options.name) + '.module';
|
|
29
|
+
}
|
|
30
|
+
directory() {
|
|
31
|
+
return '';
|
|
32
|
+
}
|
|
33
|
+
fullName() {
|
|
34
|
+
return this.name();
|
|
35
|
+
}
|
|
36
|
+
importTypes() {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.Module = Module;
|
|
41
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/module.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAE9B,2DAAyD;AAIzD,MAAa,MAAO,SAAQ,WAAI;IAE9B,YAAY,OAAqB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFjB,aAAQ,GAAc,EAAE,CAAC;IAGzB,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,gBAAgB,CAAC,CAAC;IAC/B,CAAC;IACe,SAAS;QACvB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IACM,UAAU,CAAC,OAAgB;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACxD,CAAC;IACe,QAAQ;QACtB,OAAO,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,CAAC;IACe,SAAS;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACe,WAAW;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAhCD,wBAgCC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Base } from './base';
|
|
2
|
+
import { CsdlEntityContainer } from '../metadata/csdl/csdl-entity-container';
|
|
3
|
+
import { CsdlSingleton } from '../metadata/csdl/csdl-singleton';
|
|
4
|
+
import { CsdlEntitySet } from '../metadata/csdl/csdl-entity-set';
|
|
5
|
+
import { Source } from '@angular-devkit/schematics';
|
|
6
|
+
import { Schema as ApiGenSchema } from '../schema';
|
|
7
|
+
export declare class Service extends Base {
|
|
8
|
+
protected edmElement: CsdlEntitySet | CsdlEntityContainer | CsdlSingleton;
|
|
9
|
+
constructor(options: ApiGenSchema, edmElement: CsdlEntitySet | CsdlEntityContainer | CsdlSingleton);
|
|
10
|
+
template(): Source;
|
|
11
|
+
variables(): {
|
|
12
|
+
[name: string]: any;
|
|
13
|
+
};
|
|
14
|
+
entityType(): string;
|
|
15
|
+
name(): string;
|
|
16
|
+
fileName(): string;
|
|
17
|
+
directory(): string;
|
|
18
|
+
fullName(): string;
|
|
19
|
+
importTypes(): string[];
|
|
20
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Service = void 0;
|
|
4
|
+
const core_1 = require("@angular-devkit/core");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
const csdl_singleton_1 = require("../metadata/csdl/csdl-singleton");
|
|
7
|
+
const csdl_entity_set_1 = require("../metadata/csdl/csdl-entity-set");
|
|
8
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
9
|
+
class Service extends base_1.Base {
|
|
10
|
+
constructor(options, edmElement) {
|
|
11
|
+
super(options);
|
|
12
|
+
this.edmElement = edmElement;
|
|
13
|
+
}
|
|
14
|
+
template() {
|
|
15
|
+
return this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet
|
|
16
|
+
? (0, schematics_1.url)('./files/entityset-service')
|
|
17
|
+
: this.edmElement instanceof csdl_singleton_1.CsdlSingleton
|
|
18
|
+
? (0, schematics_1.url)('./files/singleton-service')
|
|
19
|
+
: (0, schematics_1.url)('./files/entitycontainer-service');
|
|
20
|
+
}
|
|
21
|
+
variables() {
|
|
22
|
+
var _a;
|
|
23
|
+
return {
|
|
24
|
+
type: this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet
|
|
25
|
+
? this.edmElement.EntityType
|
|
26
|
+
: this.edmElement instanceof csdl_singleton_1.CsdlSingleton
|
|
27
|
+
? this.edmElement.Type
|
|
28
|
+
: this.options.name,
|
|
29
|
+
callables: (_a = this.callables) !== null && _a !== void 0 ? _a : [],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
entityType() {
|
|
33
|
+
return this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet
|
|
34
|
+
? this.edmElement.EntityType
|
|
35
|
+
: this.edmElement instanceof csdl_singleton_1.CsdlSingleton
|
|
36
|
+
? this.edmElement.Type
|
|
37
|
+
: '';
|
|
38
|
+
}
|
|
39
|
+
name() {
|
|
40
|
+
return core_1.strings.classify(this.edmElement.name()) + 'Service';
|
|
41
|
+
}
|
|
42
|
+
fileName() {
|
|
43
|
+
return core_1.strings.dasherize(this.edmElement.name()) + '.service';
|
|
44
|
+
}
|
|
45
|
+
directory() {
|
|
46
|
+
return this.edmElement.namespace().replace(/\./g, '/');
|
|
47
|
+
}
|
|
48
|
+
fullName() {
|
|
49
|
+
return this.edmElement.fullName();
|
|
50
|
+
}
|
|
51
|
+
importTypes() {
|
|
52
|
+
var _a;
|
|
53
|
+
const imports = [];
|
|
54
|
+
if (this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet) {
|
|
55
|
+
imports.push(this.edmElement.EntityType);
|
|
56
|
+
}
|
|
57
|
+
else if (this.edmElement instanceof csdl_singleton_1.CsdlSingleton) {
|
|
58
|
+
imports.push(this.edmElement.Type);
|
|
59
|
+
}
|
|
60
|
+
for (var call of (_a = this.callables) !== null && _a !== void 0 ? _a : []) {
|
|
61
|
+
const ret = call.returnType();
|
|
62
|
+
if (ret !== undefined && !ret.Type.startsWith('Edm.')) {
|
|
63
|
+
imports.push(ret.Type);
|
|
64
|
+
}
|
|
65
|
+
const params = call.parameters();
|
|
66
|
+
for (let param of params) {
|
|
67
|
+
if (!param.Type.startsWith('Edm.')) {
|
|
68
|
+
imports.push(param.Type);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return imports;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.Service = Service;
|
|
76
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/service.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAE9B,oEAAgE;AAChE,sEAAiE;AACjE,2DAAyD;AAGzD,MAAa,OAAQ,SAAQ,WAAI;IAC/B,YACE,OAAqB,EACX,UAA+D;QAEzE,KAAK,CAAC,OAAO,CAAC,CAAC;QAFL,eAAU,GAAV,UAAU,CAAqD;IAG3E,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,UAAU,YAAY,+BAAa;YAC7C,CAAC,CAAC,IAAA,gBAAG,EAAC,2BAA2B,CAAC;YAClC,CAAC,CAAC,IAAI,CAAC,UAAU,YAAY,8BAAa;gBACxC,CAAC,CAAC,IAAA,gBAAG,EAAC,2BAA2B,CAAC;gBAClC,CAAC,CAAC,IAAA,gBAAG,EAAC,iCAAiC,CAAC,CAAC;IAC/C,CAAC;IACe,SAAS;;QACvB,OAAO;YACL,IAAI,EACF,IAAI,CAAC,UAAU,YAAY,+BAAa;gBACtC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU;gBAC5B,CAAC,CAAC,IAAI,CAAC,UAAU,YAAY,8BAAa;oBACxC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;oBACtB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;YACzB,SAAS,EAAE,MAAA,IAAI,CAAC,SAAS,mCAAI,EAAE;SAChC,CAAC;IACJ,CAAC;IACM,UAAU;QACf,OAAO,IAAI,CAAC,UAAU,YAAY,+BAAa;YAC7C,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU;YAC5B,CAAC,CAAC,IAAI,CAAC,UAAU,YAAY,8BAAa;gBACxC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;gBACtB,CAAC,CAAC,EAAE,CAAC;IACX,CAAC;IAEe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IAC9D,CAAC;IACe,QAAQ;QACtB,OAAO,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU,CAAC;IAChE,CAAC;IACe,SAAS;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IACe,WAAW;;QACzB,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,UAAU,YAAY,+BAAa,EAAE;YAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;SAC1C;aAAM,IAAI,IAAI,CAAC,UAAU,YAAY,8BAAa,EAAE;YACnD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,KAAK,IAAI,IAAI,IAAI,MAAA,IAAI,CAAC,SAAS,mCAAI,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBACrD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACxB;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oBAClC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC1B;aACF;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAlED,0BAkEC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ApiConfig, EDM_PARSERS } from 'angular-odata';
|
|
2
|
+
|
|
3
|
+
export const <%= classify(name) %> = {
|
|
4
|
+
serviceRootUrl: '<%= serviceRootUrl %>',
|
|
5
|
+
name: '<%= name %>',
|
|
6
|
+
version: '<%= version %>',
|
|
7
|
+
creation: new Date('<%= creation.toISOString() %>'),
|
|
8
|
+
parsers: EDM_PARSERS
|
|
9
|
+
} as ApiConfig;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Duration } from 'angular-odata';<% for (let imp of imports) { %>
|
|
2
|
+
import { <%= imp.names.join(", ") %> } from '<%= imp.path() %>';<% } %>
|
|
3
|
+
|
|
4
|
+
export const <%= classify(name) %>Type = '<%= fullName %>';
|
|
5
|
+
export interface <%= classify(name) %><% if (baseType) { %> extends <%= toTypescriptType(baseType) %><% } %> {<% for(let prop of properties) { %>
|
|
6
|
+
<%= prop.name() %>: <%= toTypescriptType(prop.type()) %>;<% } %>
|
|
7
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ODataClient,
|
|
3
|
+
ODataActionResource,
|
|
4
|
+
ODataActionOptions,
|
|
5
|
+
ODataFunctionResource,
|
|
6
|
+
ODataFunctionOptions,
|
|
7
|
+
ODataEntitySetService,
|
|
8
|
+
ODataOptions,
|
|
9
|
+
ODataBaseService,
|
|
10
|
+
EntityKey } from 'angular-odata';<% for (let imp of imports) { %>
|
|
11
|
+
import { <%= imp.names.join(", ") %> } from '<%= imp.path() %>';<% } %>
|
|
12
|
+
|
|
13
|
+
@Injectable()
|
|
14
|
+
export class <%= classify(name) %> extends ODataBaseService {
|
|
15
|
+
constructor(client: ODataClient) {
|
|
16
|
+
super(client, '<%= name %>', '<%= type %>');
|
|
17
|
+
}
|
|
18
|
+
}
|