bananas-commerce
Version:
A client for bananas-commerce with support for TypeScript
53 lines (52 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Api = void 0;
const index_js_1 = require("./deps/deno.land/x/openapi_ts_fetch@2.1.0/index.js");
class Api {
constructor() {
Object.defineProperty(this, "fetcher", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
Object.defineProperty(this, "defaults", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
}
load(fetcher, defaults) {
this.fetcher = fetcher;
this.defaults = defaults;
return this;
}
/** */
assertLoaded() {
if (this.fetcher === undefined || this.defaults === undefined) {
throw new Error("NOT LOADED");
}
}
/**
* Catches any {@link ApiError} thrown by the promise and returns the response
* or any thrown {@link ApiError}.
*/
async catchApiError(response) {
return await response.catch((error) => {
if (error instanceof index_js_1.ApiError) {
return error;
}
else {
throw error;
}
});
}
}
Object.defineProperty(Api, "Error", {
enumerable: true,
configurable: true,
writable: true,
value: index_js_1.ApiError
});
exports.Api = Api;