UNPKG

angular-odata

Version:

Client side OData typescript library for Angular

77 lines 2.96 kB
"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