angular-odata
Version:
Client side OData typescript library for Angular
77 lines • 2.96 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Service = void 0;
const core_1 = require("@angular-devkit/core");
const base_1 = require("./base");
const csdl_singleton_1 = require("../metadata/csdl/csdl-singleton");
const csdl_entity_set_1 = require("../metadata/csdl/csdl-entity-set");
const schematics_1 = require("@angular-devkit/schematics");
class Service extends base_1.Base {
constructor(options, edmElement) {
super(options);
this.edmElement = edmElement;
}
template() {
return this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet
? (0, schematics_1.url)('./files/entityset-service')
: this.edmElement instanceof csdl_singleton_1.CsdlSingleton
? (0, schematics_1.url)('./files/singleton-service')
: (0, schematics_1.url)('./files/entitycontainer-service');
}
variables() {
var _a;
return {
path: this.edmElement.name(),
type: this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet
? this.edmElement.EntityType
: this.edmElement instanceof csdl_singleton_1.CsdlSingleton
? this.edmElement.Type
: this.options.name,
callables: (_a = this.callables) !== null && _a !== void 0 ? _a : [],
};
}
entityType() {
return this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet
? this.edmElement.EntityType
: this.edmElement instanceof csdl_singleton_1.CsdlSingleton
? this.edmElement.Type
: '';
}
name() {
return core_1.strings.classify(this.edmElement.name()) + 'Service';
}
fileName() {
return core_1.strings.dasherize(this.edmElement.name()) + '.service';
}
directory() {
return this.edmElement.namespace().replace(/\./g, '/');
}
fullName() {
return this.edmElement.fullName();
}
importTypes() {
var _a;
const imports = [];
if (this.edmElement instanceof csdl_entity_set_1.CsdlEntitySet) {
imports.push(this.edmElement.EntityType);
}
else if (this.edmElement instanceof csdl_singleton_1.CsdlSingleton) {
imports.push(this.edmElement.Type);
}
for (var call of (_a = this.callables) !== null && _a !== void 0 ? _a : []) {
const ret = call.returnType();
if (ret !== undefined && !ret.Type.startsWith('Edm.')) {
imports.push(ret.Type);
}
const { binding, required, optional } = call.parameters();
for (let param of [...required, ...optional]) {
if (!param.Type.startsWith('Edm.')) {
imports.push(param.Type);
}
}
}
return imports;
}
}
exports.Service = Service;
//# sourceMappingURL=service.js.map