angular-odata
Version:
Client side OData typescript library for Angular
43 lines • 5.74 kB
JavaScript
import { forkJoin, map, of } from 'rxjs';
import { ODataMetadataParser } from './metadata';
export class ODataConfigLoader {
}
export class ODataConfigSyncLoader {
passedConfigs;
constructor(passedConfigs) {
this.passedConfigs = passedConfigs;
}
loadConfigs() {
return Array.isArray(this.passedConfigs)
? of(this.passedConfigs)
: of([this.passedConfigs]);
}
}
export class ODataConfigAsyncLoader {
configs$;
constructor(configs$) {
this.configs$ = configs$;
}
loadConfigs() {
return Array.isArray(this.configs$)
? forkJoin(this.configs$)
: this.configs$.pipe(map((value) => Array.isArray(value)
? value
: [value]));
}
}
export class ODataMetadataLoader {
sources$;
baseConfigs;
constructor(sources$, baseConfigs) {
this.sources$ = sources$;
this.baseConfigs = baseConfigs;
}
loadConfigs() {
const configs = Array.isArray(this.baseConfigs)
? this.baseConfigs
: [this.baseConfigs];
return this.sources$.pipe(map((source) => (Array.isArray(source) ? source : [source]).map((m, i) => new ODataMetadataParser(m).metadata().toConfig(configs[i] ?? {}))));
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9sb2FkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFakQsTUFBTSxPQUFnQixpQkFBaUI7Q0FFdEM7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0lBQ0g7SUFBN0IsWUFBNkIsYUFBc0M7UUFBdEMsa0JBQWEsR0FBYixhQUFhLENBQXlCO0lBQUcsQ0FBQztJQUV2RSxXQUFXO1FBQ1QsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDdEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sc0JBQXNCO0lBRWQ7SUFEbkIsWUFDbUIsUUFFc0I7UUFGdEIsYUFBUSxHQUFSLFFBQVEsQ0FFYztJQUN0QyxDQUFDO0lBRUosV0FBVztRQUNULE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN6QixDQUFDLENBQUUsSUFBSSxDQUFDLFFBQWdELENBQUMsSUFBSSxDQUN6RCxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNaLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUNsQixDQUFDLENBQUUsS0FBcUI7Z0JBQ3hCLENBQUMsQ0FBRSxDQUFDLEtBQUssQ0FBaUIsQ0FDN0IsQ0FDRixDQUFDO0lBQ1IsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtJQUVYO0lBQ0E7SUFGbkIsWUFDbUIsUUFBdUMsRUFDdkMsV0FBb0M7UUFEcEMsYUFBUSxHQUFSLFFBQVEsQ0FBK0I7UUFDdkMsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO0lBQ3BELENBQUM7SUFFSixXQUFXO1FBQ1QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVztZQUNsQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDdkIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDYixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUN2RCxJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQ2pFLENBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4sIG1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwaUNvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgT0RhdGFNZXRhZGF0YVBhcnNlciB9IGZyb20gJy4vbWV0YWRhdGEnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgT0RhdGFDb25maWdMb2FkZXIge1xuICBhYnN0cmFjdCBsb2FkQ29uZmlncygpOiBPYnNlcnZhYmxlPEFwaUNvbmZpZ1tdPjtcbn1cblxuZXhwb3J0IGNsYXNzIE9EYXRhQ29uZmlnU3luY0xvYWRlciBpbXBsZW1lbnRzIE9EYXRhQ29uZmlnTG9hZGVyIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwYXNzZWRDb25maWdzOiBBcGlDb25maWcgfCBBcGlDb25maWdbXSkge31cblxuICBsb2FkQ29uZmlncygpOiBPYnNlcnZhYmxlPEFwaUNvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5wYXNzZWRDb25maWdzKVxuICAgICAgPyBvZih0aGlzLnBhc3NlZENvbmZpZ3MpXG4gICAgICA6IG9mKFt0aGlzLnBhc3NlZENvbmZpZ3NdKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT0RhdGFDb25maWdBc3luY0xvYWRlciBpbXBsZW1lbnRzIE9EYXRhQ29uZmlnTG9hZGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdzJDpcbiAgICAgIHwgT2JzZXJ2YWJsZTxBcGlDb25maWc+W11cbiAgICAgIHwgT2JzZXJ2YWJsZTxBcGlDb25maWcgfCBBcGlDb25maWdbXT4sXG4gICkge31cblxuICBsb2FkQ29uZmlncygpOiBPYnNlcnZhYmxlPEFwaUNvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5jb25maWdzJClcbiAgICAgID8gZm9ya0pvaW4odGhpcy5jb25maWdzJClcbiAgICAgIDogKHRoaXMuY29uZmlncyQgYXMgT2JzZXJ2YWJsZTxBcGlDb25maWcgfCBBcGlDb25maWdbXT4pLnBpcGUoXG4gICAgICAgICAgbWFwKCh2YWx1ZSkgPT5cbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkodmFsdWUpXG4gICAgICAgICAgICAgID8gKHZhbHVlIGFzIEFwaUNvbmZpZ1tdKVxuICAgICAgICAgICAgICA6IChbdmFsdWVdIGFzIEFwaUNvbmZpZ1tdKSxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBPRGF0YU1ldGFkYXRhTG9hZGVyIGltcGxlbWVudHMgT0RhdGFDb25maWdMb2FkZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZXMkOiBPYnNlcnZhYmxlPHN0cmluZyB8IHN0cmluZ1tdPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJhc2VDb25maWdzOiBBcGlDb25maWcgfCBBcGlDb25maWdbXSxcbiAgKSB7fVxuXG4gIGxvYWRDb25maWdzKCk6IE9ic2VydmFibGU8QXBpQ29uZmlnW10+IHtcbiAgICBjb25zdCBjb25maWdzID0gQXJyYXkuaXNBcnJheSh0aGlzLmJhc2VDb25maWdzKVxuICAgICAgPyB0aGlzLmJhc2VDb25maWdzXG4gICAgICA6IFt0aGlzLmJhc2VDb25maWdzXTtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2VzJC5waXBlKFxuICAgICAgbWFwKChzb3VyY2UpID0+XG4gICAgICAgIChBcnJheS5pc0FycmF5KHNvdXJjZSkgPyBzb3VyY2UgOiBbc291cmNlXSkubWFwKChtLCBpKSA9PlxuICAgICAgICAgIG5ldyBPRGF0YU1ldGFkYXRhUGFyc2VyKG0pLm1ldGFkYXRhKCkudG9Db25maWcoY29uZmlnc1tpXSA/PyB7fSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==