UNPKG

unstructured-client

Version:

<h3 align="center"> <img src="https://raw.githubusercontent.com/Unstructured-IO/unstructured/main/img/unstructured_logo.png" height="200" > </h3>

82 lines 2.6 kB
/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import { initHooks } from "./registration.js"; export class SDKHooks { constructor() { this.sdkInitHooks = []; this.beforeCreateRequestHooks = []; this.beforeRequestHooks = []; this.afterSuccessHooks = []; this.afterErrorHooks = []; const presetHooks = []; for (const hook of presetHooks) { if ("sdkInit" in hook) { this.registerSDKInitHook(hook); } if ("beforeCreateRequest" in hook) { this.registerBeforeCreateRequestHook(hook); } if ("beforeRequest" in hook) { this.registerBeforeRequestHook(hook); } if ("afterSuccess" in hook) { this.registerAfterSuccessHook(hook); } if ("afterError" in hook) { this.registerAfterErrorHook(hook); } } initHooks(this); } registerSDKInitHook(hook) { this.sdkInitHooks.push(hook); } registerBeforeCreateRequestHook(hook) { this.beforeCreateRequestHooks.push(hook); } registerBeforeRequestHook(hook) { this.beforeRequestHooks.push(hook); } registerAfterSuccessHook(hook) { this.afterSuccessHooks.push(hook); } registerAfterErrorHook(hook) { this.afterErrorHooks.push(hook); } sdkInit(opts) { return this.sdkInitHooks.reduce((opts, hook) => hook.sdkInit(opts), opts); } beforeCreateRequest(hookCtx, input) { let inp = input; for (const hook of this.beforeCreateRequestHooks) { inp = hook.beforeCreateRequest(hookCtx, inp); } return inp; } async beforeRequest(hookCtx, request) { let req = request; for (const hook of this.beforeRequestHooks) { req = await hook.beforeRequest(hookCtx, req); } return req; } async afterSuccess(hookCtx, response) { let res = response; for (const hook of this.afterSuccessHooks) { res = await hook.afterSuccess(hookCtx, res); } return res; } async afterError(hookCtx, response, error) { let res = response; let err = error; for (const hook of this.afterErrorHooks) { const result = await hook.afterError(hookCtx, res, err); res = result.response; err = result.error; } return { response: res, error: err }; } } //# sourceMappingURL=hooks.js.map