angular-odata
Version:
Client side OData typescript library for Angular
74 lines • 8.39 kB
JavaScript
import { CsdlAnnotable } from './csdl-annotation';
export class CsdlEnumType extends CsdlAnnotable {
schema;
Name;
Member;
UnderlyingType;
IsFlags;
constructor(schema, { Name, Member, UnderlyingType, IsFlags, Annotation, }) {
super({ Annotation });
this.schema = schema;
this.Name = Name;
this.Member = Member.map((m) => new CsdlMember(m));
this.UnderlyingType = UnderlyingType;
this.IsFlags = IsFlags;
}
toJson() {
const json = {
...super.toJson(),
Name: this.Name,
Member: this.Member.map((m) => m.toJson()),
};
if (this.UnderlyingType !== undefined) {
json['UnderlyingType'] = this.UnderlyingType;
}
if (this.IsFlags !== undefined) {
json['IsFlags'] = this.IsFlags;
}
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,
fields: this.Member.reduce((acc, m) => ({
...acc,
[m.Name]: m.toConfig(),
}), {}),
flags: this.IsFlags,
};
}
}
export class CsdlMember extends CsdlAnnotable {
Name;
Value;
constructor({ Name, Value, Annotation, }) {
super({ Annotation });
this.Name = Name;
this.Value = Value;
}
toJson() {
const json = { ...super.toJson(), Name: this.Name };
if (this.Value !== undefined) {
json['Value'] = this.Value;
}
return json;
}
toConfig(base) {
const config = {
...super.toConfig(),
value: this.Value,
};
return config;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NkbC1lbnVtLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW9kYXRhL3NyYy9saWIvbWV0YWRhdGEvY3NkbC9jc2RsLWVudW0tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsTUFBTSxPQUFPLFlBQWEsU0FBUSxhQUFhO0lBTW5DO0lBTFYsSUFBSSxDQUFTO0lBQ2IsTUFBTSxDQUFlO0lBQ3JCLGNBQWMsQ0FBVTtJQUN4QixPQUFPLENBQVc7SUFDbEIsWUFDVSxNQUFrQixFQUMxQixFQUNFLElBQUksRUFDSixNQUFNLEVBQ04sY0FBYyxFQUNkLE9BQU8sRUFDUCxVQUFVLEdBT1g7UUFFRCxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBZmQsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQWdCMUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFUSxNQUFNO1FBQ2IsTUFBTSxJQUFJLEdBQTJCO1lBQ25DLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNqQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUMzQyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDL0MsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNqQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSTtRQUNGLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVRLFFBQVEsQ0FBQyxJQUE4QjtRQUM5QyxPQUFPO1lBQ0wsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ25CLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FDeEIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNYLEdBQUcsR0FBRztnQkFDTixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO2FBQ3ZCLENBQUMsRUFDRixFQUFFLENBQ0g7WUFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDRixDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxVQUFXLFNBQVEsYUFBYTtJQUMzQyxJQUFJLENBQVM7SUFDYixLQUFLLENBQVU7SUFDZixZQUFZLEVBQ1YsSUFBSSxFQUNKLEtBQUssRUFDTCxVQUFVLEdBS1g7UUFDQyxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFUSxNQUFNO1FBQ2IsTUFBTSxJQUFJLEdBQTJCLEVBQUUsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1RSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVRLFFBQVEsQ0FBQyxJQUFtQztRQUNuRCxNQUFNLE1BQU0sR0FBMkI7WUFDckMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNsQixDQUFDO1FBQ0YsT0FBTyxNQUE2QixDQUFDO0lBQ3ZDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudW1UeXBlQ29uZmlnLCBFbnVtVHlwZUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQ3NkbEFubm90YWJsZSB9IGZyb20gJy4vY3NkbC1hbm5vdGF0aW9uJztcbmltcG9ydCB0eXBlIHsgQ3NkbFNjaGVtYSB9IGZyb20gJy4vY3NkbC1zY2hlbWEnO1xuXG5leHBvcnQgY2xhc3MgQ3NkbEVudW1UeXBlIGV4dGVuZHMgQ3NkbEFubm90YWJsZSB7XG4gIE5hbWU6IHN0cmluZztcbiAgTWVtYmVyOiBDc2RsTWVtYmVyW107XG4gIFVuZGVybHlpbmdUeXBlPzogc3RyaW5nO1xuICBJc0ZsYWdzPzogYm9vbGVhbjtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzY2hlbWE6IENzZGxTY2hlbWEsXG4gICAge1xuICAgICAgTmFtZSxcbiAgICAgIE1lbWJlcixcbiAgICAgIFVuZGVybHlpbmdUeXBlLFxuICAgICAgSXNGbGFncyxcbiAgICAgIEFubm90YXRpb24sXG4gICAgfToge1xuICAgICAgTmFtZTogc3RyaW5nO1xuICAgICAgTWVtYmVyOiBhbnlbXTtcbiAgICAgIFVuZGVybHlpbmdUeXBlPzogc3RyaW5nO1xuICAgICAgSXNGbGFncz86IGJvb2xlYW47XG4gICAgICBBbm5vdGF0aW9uPzogYW55W107XG4gICAgfSxcbiAgKSB7XG4gICAgc3VwZXIoeyBBbm5vdGF0aW9uIH0pO1xuICAgIHRoaXMuTmFtZSA9IE5hbWU7XG4gICAgdGhpcy5NZW1iZXIgPSBNZW1iZXIubWFwKChtKSA9PiBuZXcgQ3NkbE1lbWJlcihtKSk7XG4gICAgdGhpcy5VbmRlcmx5aW5nVHlwZSA9IFVuZGVybHlpbmdUeXBlO1xuICAgIHRoaXMuSXNGbGFncyA9IElzRmxhZ3M7XG4gIH1cblxuICBvdmVycmlkZSB0b0pzb24oKSB7XG4gICAgY29uc3QganNvbjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IHtcbiAgICAgIC4uLnN1cGVyLnRvSnNvbigpLFxuICAgICAgTmFtZTogdGhpcy5OYW1lLFxuICAgICAgTWVtYmVyOiB0aGlzLk1lbWJlci5tYXAoKG0pID0+IG0udG9Kc29uKCkpLFxuICAgIH07XG4gICAgaWYgKHRoaXMuVW5kZXJseWluZ1R5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAganNvblsnVW5kZXJseWluZ1R5cGUnXSA9IHRoaXMuVW5kZXJseWluZ1R5cGU7XG4gICAgfVxuICAgIGlmICh0aGlzLklzRmxhZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgICAganNvblsnSXNGbGFncyddID0gdGhpcy5Jc0ZsYWdzO1xuICAgIH1cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIG5hbWUoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuTmFtZX1gO1xuICB9XG5cbiAgbmFtZXNwYWNlKCkge1xuICAgIHJldHVybiBgJHt0aGlzLnNjaGVtYS5OYW1lc3BhY2V9YDtcbiAgfVxuXG4gIGZ1bGxOYW1lKCkge1xuICAgIHJldHVybiBgJHt0aGlzLnNjaGVtYS5OYW1lc3BhY2V9LiR7dGhpcy5OYW1lfWA7XG4gIH1cblxuICBvdmVycmlkZSB0b0NvbmZpZyhiYXNlPzogUGFydGlhbDxFbnVtVHlwZUNvbmZpZz4pOiBFbnVtVHlwZUNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLnRvQ29uZmlnKCksXG4gICAgICBuYW1lOiB0aGlzLk5hbWUsXG4gICAgICBmaWVsZHM6IHRoaXMuTWVtYmVyLnJlZHVjZShcbiAgICAgICAgKGFjYywgbSkgPT4gKHtcbiAgICAgICAgICAuLi5hY2MsXG4gICAgICAgICAgW20uTmFtZV06IG0udG9Db25maWcoKSxcbiAgICAgICAgfSksXG4gICAgICAgIHt9LFxuICAgICAgKSxcbiAgICAgIGZsYWdzOiB0aGlzLklzRmxhZ3MsXG4gICAgfSBhcyBFbnVtVHlwZUNvbmZpZztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3NkbE1lbWJlciBleHRlbmRzIENzZGxBbm5vdGFibGUge1xuICBOYW1lOiBzdHJpbmc7XG4gIFZhbHVlPzogbnVtYmVyO1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgTmFtZSxcbiAgICBWYWx1ZSxcbiAgICBBbm5vdGF0aW9uLFxuICB9OiB7XG4gICAgTmFtZTogc3RyaW5nO1xuICAgIFZhbHVlPzogbnVtYmVyO1xuICAgIEFubm90YXRpb24/OiBhbnlbXTtcbiAgfSkge1xuICAgIHN1cGVyKHsgQW5ub3RhdGlvbiB9KTtcbiAgICB0aGlzLk5hbWUgPSBOYW1lO1xuICAgIHRoaXMuVmFsdWUgPSBWYWx1ZTtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvSnNvbigpIHtcbiAgICBjb25zdCBqc29uOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0geyAuLi5zdXBlci50b0pzb24oKSwgTmFtZTogdGhpcy5OYW1lIH07XG4gICAgaWYgKHRoaXMuVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAganNvblsnVmFsdWUnXSA9IHRoaXMuVmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBqc29uO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9Db25maWcoYmFzZT86IFBhcnRpYWw8RW51bVR5cGVGaWVsZENvbmZpZz4pOiBFbnVtVHlwZUZpZWxkQ29uZmlnIHtcbiAgICBjb25zdCBjb25maWc6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7XG4gICAgICAuLi5zdXBlci50b0NvbmZpZygpLFxuICAgICAgdmFsdWU6IHRoaXMuVmFsdWUsXG4gICAgfTtcbiAgICByZXR1cm4gY29uZmlnIGFzIEVudW1UeXBlRmllbGRDb25maWc7XG4gIH1cbn1cbiJdfQ==