UNPKG

bananas-commerce

Version:

A client for bananas-commerce with support for TypeScript

53 lines (52 loc) 1.42 kB
"use strict"; 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;