UNPKG

hn-api-sdk

Version:

HackerNews API with TypeScript, generated by tsdk

46 lines (44 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setHandler = setHandler; exports.getHandler = getHandler; exports.default = genAPICall; var error_1 = require("./error"); var handler = function (apiConfig, requestData, requestConfig) { return Promise.reject(new error_1.NoHandlerError("Call `setHandler` first")); }; /** * @example * ```ts * setAxiosInstance(axios.create()) setSocketIOInstance(io()); setHandler(axiosHandler); setHandler(socketIOHandler); * ``` * @param _handler */ function setHandler(_handler) { handler = _handler; } function getHandler() { return handler; } /** * Generate API * * @param apiConfig - {@link APIConfig} * * @example * ```ts * const apiDemo = genApi<ApiDemoReqPayload, ApiDemoResData>(ApiDemoConfig); * ``` */ function genAPICall(apiConfig) { function APICall(data, requestConfig, customHandler) { return (customHandler ? customHandler : getHandler())(apiConfig, data, requestConfig); } // now you can access the config with api // without another import APICall.config = apiConfig; return APICall; }