UNPKG

angular-odata

Version:

Client side OData typescript library for Angular

59 lines 9.5 kB
import { CsdlEntitySet } from './csdl-entity-set'; import { CsdlSingleton } from './csdl-singleton'; import { CsdlFunctionImport, CsdlActionImport } from './csdl-function-action'; import { CsdlAnnotable } from './csdl-annotation'; export class CsdlEntityContainer extends CsdlAnnotable { schema; Name; Extend; EntitySet; Singleton; FunctionImport; ActionImport; constructor(schema, { Name, Extend, EntitySet, Singleton, FunctionImport, ActionImport, Annotation, }) { super({ Annotation }); this.schema = schema; this.Name = Name; this.Extend = Extend; this.EntitySet = EntitySet?.map((e) => new CsdlEntitySet(this, e)); this.Singleton = Singleton?.map((s) => new CsdlSingleton(this, s)); this.FunctionImport = FunctionImport?.map((f) => new CsdlFunctionImport(this, f)); this.ActionImport = ActionImport?.map((a) => new CsdlActionImport(this, a)); } toJson() { const json = { ...super.toJson() }; if (this.Extend !== undefined) { json['Extend'] = this.Extend; } if (Array.isArray(this.EntitySet) && this.EntitySet.length > 0) { json['EntitySet'] = this.EntitySet.map((a) => a.toJson()); } if (Array.isArray(this.Singleton) && this.Singleton.length > 0) { json['Singleton'] = this.Singleton.map((a) => a.toJson()); } if (Array.isArray(this.FunctionImport) && this.FunctionImport.length > 0) { json['FunctionImport'] = this.FunctionImport.map((a) => a.toJson()); } if (Array.isArray(this.ActionImport) && this.ActionImport.length > 0) { json['ActionImport'] = this.ActionImport.map((a) => a.toJson()); } return json; } name() { return `${this.Name}`; } namespace() { return `${this.schema.Namespace}`; } fullName() { return `${this.schema.Namespace}.${this.Name}`; } toConfig(base) { return { ...super.toConfig(), name: this.Name, entitySets: this.EntitySet?.map((t) => t.toConfig()), }; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NkbC1lbnRpdHktY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1vZGF0YS9zcmMvbGliL21ldGFkYXRhL2NzZGwvY3NkbC1lbnRpdHktY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSWxELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFhO0lBUzFDO0lBUkgsSUFBSSxDQUFTO0lBQ2IsTUFBTSxDQUFVO0lBQ2hCLFNBQVMsQ0FBbUI7SUFDNUIsU0FBUyxDQUFtQjtJQUM1QixjQUFjLENBQXdCO0lBQ3RDLFlBQVksQ0FBc0I7SUFFekMsWUFDVSxNQUFrQixFQUMxQixFQUNFLElBQUksRUFDSixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxjQUFjLEVBQ2QsWUFBWSxFQUNaLFVBQVUsR0FTWDtRQUVELEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFuQmQsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQXFCMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsRUFBRSxH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RyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDckQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENzZGxFbnRpdHlTZXQgfSBmcm9tICcuL2NzZGwtZW50aXR5LXNldCc7XG5pbXBvcnQgeyBDc2RsU2luZ2xldG9uIH0gZnJvbSAnLi9jc2RsLXNpbmdsZXRvbic7XG5pbXBvcnQgeyBDc2RsRnVuY3Rpb25JbXBvcnQsIENzZGxBY3Rpb25JbXBvcnQgfSBmcm9tICcuL2NzZGwtZnVuY3Rpb24tYWN0aW9uJztcbmltcG9ydCB7IENzZGxBbm5vdGFibGUgfSBmcm9tICcuL2NzZGwtYW5ub3RhdGlvbic7XG5pbXBvcnQgdHlwZSB7IENzZGxTY2hlbWEgfSBmcm9tICcuL2NzZGwtc2NoZW1hJztcbmltcG9ydCB7IEVudGl0eUNvbnRhaW5lckNvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGNsYXNzIENzZGxFbnRpdHlDb250YWluZXIgZXh0ZW5kcyBDc2RsQW5ub3RhYmxlIHtcbiAgcHVibGljIE5hbWU6IHN0cmluZztcbiAgcHVibGljIEV4dGVuZD86IHN0cmluZztcbiAgcHVibGljIEVudGl0eVNldD86IENzZGxFbnRpdHlTZXRbXTtcbiAgcHVibGljIFNpbmdsZXRvbj86IENzZGxTaW5nbGV0b25bXTtcbiAgcHVibGljIEZ1bmN0aW9uSW1wb3J0PzogQ3NkbEZ1bmN0aW9uSW1wb3J0W107XG4gIHB1YmxpYyBBY3Rpb25JbXBvcnQ/OiBDc2RsQWN0aW9uSW1wb3J0W107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzY2hlbWE6IENzZGxTY2hlbWEsXG4gICAge1xuICAgICAgTmFtZSxcbiAgICAgIEV4dGVuZCxcbiAgICAgIEVudGl0eVNldCxcbiAgICAgIFNpbmdsZXRvbixcbiAgICAgIEZ1bmN0aW9uSW1wb3J0LFxuICAgICAgQWN0aW9uSW1wb3J0LFxuICAgICAgQW5ub3RhdGlvbixcbiAgICB9OiB7XG4gICAgICBOYW1lOiBzdHJpbmc7XG4gICAgICBFeHRlbmQ/OiBzdHJpbmc7XG4gICAgICBFbnRpdHlTZXQ/OiBhbnlbXTtcbiAgICAgIFNpbmdsZXRvbj86IGFueVtdO1xuICAgICAgRnVuY3Rpb25JbXBvcnQ/OiBhbnlbXTtcbiAgICAgIEFjdGlvbkltcG9ydD86IGFueVtdO1xuICAgICAgQW5ub3RhdGlvbj86IGFueVtdO1xuICAgIH0sXG4gICkge1xuICAgIHN1cGVyKHsgQW5ub3RhdGlvbiB9KTtcblxuICAgIHRoaXMuTmFtZSA9IE5hbWU7XG4gICAgdGhpcy5FeHRlbmQgPSBFeHRlbmQ7XG4gICAgdGhpcy5FbnRpdHlTZXQgPSBFbnRpdHlTZXQ/Lm1hcCgoZSkgPT4gbmV3IENzZGxFbnRpdHlTZXQodGhpcywgZSkpO1xuICAgIHRoaXMuU2luZ2xldG9uID0gU2luZ2xldG9uPy5tYXAoKHMpID0+IG5ldyBDc2RsU2luZ2xldG9uKHRoaXMsIHMpKTtcbiAgICB0aGlzLkZ1bmN0aW9uSW1wb3J0ID0gRnVuY3Rpb25JbXBvcnQ/Lm1hcChcbiAgICAgIChmKSA9PiBuZXcgQ3NkbEZ1bmN0aW9uSW1wb3J0KHRoaXMsIGYpLFxuICAgICk7XG4gICAgdGhpcy5BY3Rpb25JbXBvcnQgPSBBY3Rpb25JbXBvcnQ/Lm1hcCgoYSkgPT4gbmV3IENzZGxBY3Rpb25JbXBvcnQodGhpcywgYSkpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9Kc29uKCkge1xuICAgIGNvbnN0IGpzb246IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7IC4uLnN1cGVyLnRvSnNvbigpIH07XG4gICAgaWYgKHRoaXMuRXh0ZW5kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGpzb25bJ0V4dGVuZCddID0gdGhpcy5FeHRlbmQ7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuRW50aXR5U2V0KSAmJiB0aGlzLkVudGl0eVNldC5sZW5ndGggPiAwKSB7XG4gICAgICBqc29uWydFbnRpdHlTZXQnXSA9IHRoaXMuRW50aXR5U2V0Lm1hcCgoYSkgPT4gYS50b0pzb24oKSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuU2luZ2xldG9uKSAmJiB0aGlzLlNpbmdsZXRvbi5sZW5ndGggPiAwKSB7XG4gICAgICBqc29uWydTaW5nbGV0b24nXSA9IHRoaXMuU2luZ2xldG9uLm1hcCgoYSkgPT4gYS50b0pzb24oKSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuRnVuY3Rpb25JbXBvcnQpICYmIHRoaXMuRnVuY3Rpb25JbXBvcnQubGVuZ3RoID4gMCkge1xuICAgICAganNvblsnRnVuY3Rpb25JbXBvcnQnXSA9IHRoaXMuRnVuY3Rpb25JbXBvcnQubWFwKChhKSA9PiBhLnRvSnNvbigpKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5BY3Rpb25JbXBvcnQpICYmIHRoaXMuQWN0aW9uSW1wb3J0Lmxlbmd0aCA+IDApIHtcbiAgICAgIGpzb25bJ0FjdGlvbkltcG9ydCddID0gdGhpcy5BY3Rpb25JbXBvcnQubWFwKChhKSA9PiBhLnRvSnNvbigpKTtcbiAgICB9XG4gICAgcmV0dXJuIGpzb247XG4gIH1cblxuICBuYW1lKCkge1xuICAgIHJldHVybiBgJHt0aGlzLk5hbWV9YDtcbiAgfVxuXG4gIG5hbWVzcGFjZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zY2hlbWEuTmFtZXNwYWNlfWA7XG4gIH1cblxuICBmdWxsTmFtZSgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5zY2hlbWEuTmFtZXNwYWNlfS4ke3RoaXMuTmFtZX1gO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9Db25maWcoXG4gICAgYmFzZT86IFBhcnRpYWw8RW50aXR5Q29udGFpbmVyQ29uZmlnPixcbiAgKTogRW50aXR5Q29udGFpbmVyQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIudG9Db25maWcoKSxcbiAgICAgIG5hbWU6IHRoaXMuTmFtZSxcbiAgICAgIGVudGl0eVNldHM6IHRoaXMuRW50aXR5U2V0Py5tYXAoKHQpID0+IHQudG9Db25maWcoKSksXG4gICAgfTtcbiAgfVxufVxuIl19