UNPKG

angular-odata

Version:

Client side OData typescript library for Angular

91 lines 11.4 kB
import { DEFAULT_FETCH_POLICY, DEFAULT_STRIP_METADATA, DEFAULT_VERSION, } from './constants'; import { ODataHelper } from './helper'; export class ODataApiOptions { /** * Default OData version */ version; /** * Send enum as string in the request */ stringAsEnum; /** * Delete reference by path or by id */ deleteRefBy; /** * No use parenthesis for empty parameters functions */ nonParenthesisForEmptyParameterFunction; /** * Strip metadata from the response */ stripMetadata; /** * Use JSON Batch Format */ jsonBatchFormat; /** * Relative urls * http://docs.oasis-open.org/odata/odata-json-format/v4.0/cs01/odata-json-format-v4.0-cs01.html#_Toc365464682 */ relativeUrls; /** * Cache fetch policy */ fetchPolicy; /** * Extra params to be sent in the request */ params; /** * Extra headers to be sent in the request */ headers; /** * Http request with credentials */ withCredentials; /** * Send query options in the request body */ bodyQueryOptions; /** * Customize accept header with OData options * @link http://docs.oasis-open.org/odata/odata-json-format/v4.01/odata-json-format-v4.01.html#sec_RequestingtheJSONFormat */ accept; etag = { ifMatch: true, ifNoneMatch: false }; prefer; constructor(config) { this.version = config.version || DEFAULT_VERSION; this.stringAsEnum = config.stringAsEnum || false; this.params = config.params || {}; this.headers = config.headers || {}; this.withCredentials = config.withCredentials; this.stripMetadata = config.stripMetadata || DEFAULT_STRIP_METADATA; this.fetchPolicy = config.fetchPolicy || DEFAULT_FETCH_POLICY; this.bodyQueryOptions = config.bodyQueryOptions || []; this.accept = config.accept; Object.assign(this.etag, config.etag || {}); this.prefer = config.prefer; this.deleteRefBy = config.deleteRefBy ?? 'path'; this.nonParenthesisForEmptyParameterFunction = config.nonParenthesisForEmptyParameterFunction ?? false; this.jsonBatchFormat = config.jsonBatchFormat ?? false; this.relativeUrls = config.relativeUrls ?? true; } get parserOptions() { return { version: this.version, stringAsEnum: this.stringAsEnum, deleteRefBy: this.deleteRefBy, nonParenthesisForEmptyParameterFunction: this.nonParenthesisForEmptyParameterFunction, ...this.accept, }; } get helper() { return ODataHelper[this.version]; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItb2RhdGEvc3JjL2xpYi9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsc0JBQXNCLEVBQ3RCLGVBQWUsR0FDaEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV2QyxNQUFNLE9BQU8sZUFBZTtJQUMxQjs7T0FFRztJQUNILE9BQU8sQ0FBZTtJQUN0Qjs7T0FFRztJQUNILFlBQVksQ0FBVTtJQUN0Qjs7T0FFRztJQUNILFdBQVcsQ0FBZ0I7SUFDM0I7O09BRUc7SUFDSCx1Q0FBdUMsQ0FBVTtJQUNqRDs7T0FFRztJQUNILGFBQWEsQ0FBb0I7SUFDakM7O09BRUc7SUFDSCxlQUFlLENBQVU7SUFDekI7OztPQUdHO0lBQ0gsWUFBWSxDQUFVO0lBQ3RCOztPQUVHO0lBQ0gsV0FBVyxDQUFjO0lBQ3pCOztPQUVHO0lBQ0gsTUFBTSxDQUF5QztJQUMvQzs7T0FFRztJQUNILE9BQU8sQ0FBeUM7SUFDaEQ7O09BRUc7SUFDSCxlQUFlLENBQVc7SUFDMUI7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBZ0I7SUFDaEM7OztPQUdHO0lBQ0gsTUFBTSxDQUtKO0lBQ0YsSUFBSSxHQVNBLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDMUMsTUFBTSxDQXFCSjtJQUVGLFlBQVksTUFBa0I7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLGVBQWUsQ0FBQztRQUNqRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUM7UUFDOUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLHNCQUFzQixDQUFDO1FBQ3BFLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxvQkFBb0IsQ0FBQztRQUM5RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDaEQsSUFBSSxDQUFDLHVDQUF1QztZQUMxQyxNQUFNLENBQUMsdUNBQXVDLElBQUksS0FBSyxDQUFDO1FBQzFELElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLHVDQUF1QyxFQUNyQyxJQUFJLENBQUMsdUNBQXVDO1lBQzlDLEdBQUcsSUFBSSxDQUFDLE1BQU07U0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcGlPcHRpb25zLFxuICBGZXRjaFBvbGljeSxcbiAgT0RhdGFNZXRhZGF0YVR5cGUsXG4gIE9EYXRhVmVyc2lvbixcbiAgUGFyc2VyT3B0aW9ucyxcbiAgUXVlcnlPcHRpb24sXG59IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9GRVRDSF9QT0xJQ1ksXG4gIERFRkFVTFRfU1RSSVBfTUVUQURBVEEsXG4gIERFRkFVTFRfVkVSU0lPTixcbn0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG5pbXBvcnQgeyBPRGF0YUhlbHBlciB9IGZyb20gJy4vaGVscGVyJztcblxuZXhwb3J0IGNsYXNzIE9EYXRhQXBpT3B0aW9ucyBpbXBsZW1lbnRzIEFwaU9wdGlvbnMge1xuICAvKipcbiAgICogRGVmYXVsdCBPRGF0YSB2ZXJzaW9uXG4gICAqL1xuICB2ZXJzaW9uOiBPRGF0YVZlcnNpb247XG4gIC8qKlxuICAgKiBTZW5kIGVudW0gYXMgc3RyaW5nIGluIHRoZSByZXF1ZXN0XG4gICAqL1xuICBzdHJpbmdBc0VudW06IGJvb2xlYW47XG4gIC8qKlxuICAgKiBEZWxldGUgcmVmZXJlbmNlIGJ5IHBhdGggb3IgYnkgaWRcbiAgICovXG4gIGRlbGV0ZVJlZkJ5OiAncGF0aCcgfCAnaWQnO1xuICAvKipcbiAgICogTm8gdXNlIHBhcmVudGhlc2lzIGZvciBlbXB0eSBwYXJhbWV0ZXJzIGZ1bmN0aW9uc1xuICAgKi9cbiAgbm9uUGFyZW50aGVzaXNGb3JFbXB0eVBhcmFtZXRlckZ1bmN0aW9uOiBib29sZWFuO1xuICAvKipcbiAgICogU3RyaXAgbWV0YWRhdGEgZnJvbSB0aGUgcmVzcG9uc2VcbiAgICovXG4gIHN0cmlwTWV0YWRhdGE6IE9EYXRhTWV0YWRhdGFUeXBlO1xuICAvKipcbiAgICogVXNlIEpTT04gQmF0Y2ggRm9ybWF0XG4gICAqL1xuICBqc29uQmF0Y2hGb3JtYXQ6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBSZWxhdGl2ZSB1cmxzXG4gICAqIGh0dHA6Ly9kb2NzLm9hc2lzLW9wZW4ub3JnL29kYXRhL29kYXRhLWpzb24tZm9ybWF0L3Y0LjAvY3MwMS9vZGF0YS1qc29uLWZvcm1hdC12NC4wLWNzMDEuaHRtbCNfVG9jMzY1NDY0NjgyXG4gICAqL1xuICByZWxhdGl2ZVVybHM6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDYWNoZSBmZXRjaCBwb2xpY3lcbiAgICovXG4gIGZldGNoUG9saWN5OiBGZXRjaFBvbGljeTtcbiAgLyoqXG4gICAqIEV4dHJhIHBhcmFtcyB0byBiZSBzZW50IGluIHRoZSByZXF1ZXN0XG4gICAqL1xuICBwYXJhbXM6IHsgW3BhcmFtOiBzdHJpbmddOiBzdHJpbmcgfCBzdHJpbmdbXSB9O1xuICAvKipcbiAgICogRXh0cmEgaGVhZGVycyB0byBiZSBzZW50IGluIHRoZSByZXF1ZXN0XG4gICAqL1xuICBoZWFkZXJzOiB7IFtwYXJhbTogc3RyaW5nXTogc3RyaW5nIHwgc3RyaW5nW10gfTtcbiAgLyoqXG4gICAqIEh0dHAgcmVxdWVzdCB3aXRoIGNyZWRlbnRpYWxzXG4gICAqL1xuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICAvKipcbiAgICogU2VuZCBxdWVyeSBvcHRpb25zIGluIHRoZSByZXF1ZXN0IGJvZHlcbiAgICovXG4gIGJvZHlRdWVyeU9wdGlvbnM6IFF1ZXJ5T3B0aW9uW107XG4gIC8qKlxuICAgKiBDdXN0b21pemUgYWNjZXB0IGhlYWRlciB3aXRoIE9EYXRhIG9wdGlvbnNcbiAgICogQGxpbmsgaHR0cDovL2RvY3Mub2FzaXMtb3Blbi5vcmcvb2RhdGEvb2RhdGEtanNvbi1mb3JtYXQvdjQuMDEvb2RhdGEtanNvbi1mb3JtYXQtdjQuMDEuaHRtbCNzZWNfUmVxdWVzdGluZ3RoZUpTT05Gb3JtYXRcbiAgICovXG4gIGFjY2VwdD86IHtcbiAgICBleHBvbmVudGlhbERlY2ltYWxzPzogYm9vbGVhbjtcbiAgICBpZWVlNzU0Q29tcGF0aWJsZT86IGJvb2xlYW47XG4gICAgbWV0YWRhdGE/OiBPRGF0YU1ldGFkYXRhVHlwZTtcbiAgICBzdHJlYW1pbmc/OiBib29sZWFuO1xuICB9O1xuICBldGFnOiB7XG4gICAgLyoqXG4gICAgICogQGxpbmsgaHR0cDovL2RvY3Mub2FzaXMtb3Blbi5vcmcvb2RhdGEvb2RhdGEvdjQuMC9lcnJhdGEwMi9vcy9jb21wbGV0ZS9wYXJ0MS1wcm90b2NvbC9vZGF0YS12NC4wLWVycmF0YTAyLW9zLXBhcnQxLXByb3RvY29sLWNvbXBsZXRlLmh0bWwjX1RvYzQwNjM5ODIyOVxuICAgICAqL1xuICAgIGlmTWF0Y2g6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQGxpbmsgaHR0cDovL2RvY3Mub2FzaXMtb3Blbi5vcmcvb2RhdGEvb2RhdGEvdjQuMC9lcnJhdGEwMi9vcy9jb21wbGV0ZS9wYXJ0MS1wcm90b2NvbC9vZGF0YS12NC4wLWVycmF0YTAyLW9zLXBhcnQxLXByb3RvY29sLWNvbXBsZXRlLmh0bWwjX1RvYzQwNjM5ODIzMFxuICAgICAqL1xuICAgIGlmTm9uZU1hdGNoOiBib29sZWFuO1xuICB9ID0geyBpZk1hdGNoOiB0cnVlLCBpZk5vbmVNYXRjaDogZmFsc2UgfTtcbiAgcHJlZmVyPzoge1xuICAgIC8qKlxuICAgICAqIEBsaW5rIGh0dHA6Ly9kb2NzLm9hc2lzLW9wZW4ub3JnL29kYXRhL29kYXRhL3Y0LjAvZXJyYXRhMDIvb3MvY29tcGxldGUvcGFydDEtcHJvdG9jb2wvb2RhdGEtdjQuMC1lcnJhdGEwMi1vcy1wYXJ0MS1wcm90b2NvbC1jb21wbGV0ZS5odG1sI19Ub2M0MDYzOTgyMzhcbiAgICAgKi9cbiAgICBtYXhQYWdlU2l6ZT86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAbGluayBodHRwOi8vZG9jcy5vYXNpcy1vcGVuLm9yZy9vZGF0YS9vZGF0YS92NC4wL2VycmF0YTAyL29zL2NvbXBsZXRlL3BhcnQxLXByb3RvY29sL29kYXRhLXY0LjAtZXJyYXRhMDItb3MtcGFydDEtcHJvdG9jb2wtY29tcGxldGUuaHRtbCNfVG9jNDA2Mzk4MjQwXG4gICAgICovXG4gICAgcmV0dXJuPzogJ3JlcHJlc2VudGF0aW9uJyB8ICdtaW5pbWFsJztcbiAgICAvKipcbiAgICAgKiBAbGluayBodHRwOi8vZG9jcy5vYXNpcy1vcGVuLm9yZy9vZGF0YS9vZGF0YS92NC4wL2VycmF0YTAyL29zL2NvbXBsZXRlL3BhcnQxLXByb3RvY29sL29kYXRhLXY0LjAtZXJyYXRhMDItb3MtcGFydDEtcHJvdG9jb2wtY29tcGxldGUuaHRtbCNfVG9jNDA2Mzk4MjM2XG4gICAgICovXG4gICAgY29udGludWVPbkVycm9yPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBAbGluayBodHRwOi8vZG9jcy5vYXNpcy1vcGVuLm9yZy9vZGF0YS9vZGF0YS92NC4wL2VycmF0YTAyL29zL2NvbXBsZXRlL3BhcnQxLXByb3RvY29sL29kYXRhLXY0LjAtZXJyYXRhMDItb3MtcGFydDEtcHJvdG9jb2wtY29tcGxldGUuaHRtbCNfVG9jNDA2Mzk4MjM3XG4gICAgICovXG4gICAgaW5jbHVkZUFubm90YXRpb25zPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIEBsaW5rIGh0dHBzOi8vZGV2YmxvZ3MubWljcm9zb2Z0LmNvbS9vZGF0YS9leHRlbnNpb24tb21pdC1udWxsLXZhbHVlLXByb3BlcnRpZXMtaW4tYXNwLW5ldC1jb3JlLW9kYXRhL1xuICAgICAqL1xuICAgIG9taXROdWxsVmFsdWVzPzogYm9vbGVhbjtcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEFwaU9wdGlvbnMpIHtcbiAgICB0aGlzLnZlcnNpb24gPSBjb25maWcudmVyc2lvbiB8fCBERUZBVUxUX1ZFUlNJT047XG4gICAgdGhpcy5zdHJpbmdBc0VudW0gPSBjb25maWcuc3RyaW5nQXNFbnVtIHx8IGZhbHNlO1xuICAgIHRoaXMucGFyYW1zID0gY29uZmlnLnBhcmFtcyB8fCB7fTtcbiAgICB0aGlzLmhlYWRlcnMgPSBjb25maWcuaGVhZGVycyB8fCB7fTtcbiAgICB0aGlzLndpdGhDcmVkZW50aWFscyA9IGNvbmZpZy53aXRoQ3JlZGVudGlhbHM7XG4gICAgdGhpcy5zdHJpcE1ldGFkYXRhID0gY29uZmlnLnN0cmlwTWV0YWRhdGEgfHwgREVGQVVMVF9TVFJJUF9NRVRBREFUQTtcbiAgICB0aGlzLmZldGNoUG9saWN5ID0gY29uZmlnLmZldGNoUG9saWN5IHx8IERFRkFVTFRfRkVUQ0hfUE9MSUNZO1xuICAgIHRoaXMuYm9keVF1ZXJ5T3B0aW9ucyA9IGNvbmZpZy5ib2R5UXVlcnlPcHRpb25zIHx8IFtdO1xuICAgIHRoaXMuYWNjZXB0ID0gY29uZmlnLmFjY2VwdDtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuZXRhZywgY29uZmlnLmV0YWcgfHwge30pO1xuICAgIHRoaXMucHJlZmVyID0gY29uZmlnLnByZWZlcjtcbiAgICB0aGlzLmRlbGV0ZVJlZkJ5ID0gY29uZmlnLmRlbGV0ZVJlZkJ5ID8/ICdwYXRoJztcbiAgICB0aGlzLm5vblBhcmVudGhlc2lzRm9yRW1wdHlQYXJhbWV0ZXJGdW5jdGlvbiA9XG4gICAgICBjb25maWcubm9uUGFyZW50aGVzaXNGb3JFbXB0eVBhcmFtZXRlckZ1bmN0aW9uID8/IGZhbHNlO1xuICAgIHRoaXMuanNvbkJhdGNoRm9ybWF0ID0gY29uZmlnLmpzb25CYXRjaEZvcm1hdCA/PyBmYWxzZTtcbiAgICB0aGlzLnJlbGF0aXZlVXJscyA9IGNvbmZpZy5yZWxhdGl2ZVVybHMgPz8gdHJ1ZTtcbiAgfVxuXG4gIGdldCBwYXJzZXJPcHRpb25zKCk6IFBhcnNlck9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICBzdHJpbmdBc0VudW06IHRoaXMuc3RyaW5nQXNFbnVtLFxuICAgICAgZGVsZXRlUmVmQnk6IHRoaXMuZGVsZXRlUmVmQnksXG4gICAgICBub25QYXJlbnRoZXNpc0ZvckVtcHR5UGFyYW1ldGVyRnVuY3Rpb246XG4gICAgICAgIHRoaXMubm9uUGFyZW50aGVzaXNGb3JFbXB0eVBhcmFtZXRlckZ1bmN0aW9uLFxuICAgICAgLi4udGhpcy5hY2NlcHQsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBoZWxwZXIoKSB7XG4gICAgcmV0dXJuIE9EYXRhSGVscGVyW3RoaXMudmVyc2lvbl07XG4gIH1cbn1cbiJdfQ==