UNPKG

@datastax/astra-db-ts

Version:
51 lines (50 loc) 2.31 kB
"use strict"; // Copyright Datastax, Inc // SPDX-License-Identifier: Apache-2.0 Object.defineProperty(exports, "__esModule", { value: true }); exports.ObjectBasedHeadersProviderOptsHandler = exports.StringBasedHeadersProviderOptsHandler = void 0; const index_js_1 = require("../../../lib/headers-providers/index.js"); const opts_handlers_js_1 = require("../../../lib/opts-handlers.js"); const decoders_1 = require("decoders"); const utils_js_1 = require("../../../lib/utils.js"); const monoid = opts_handlers_js_1.monoids.object({ providers: opts_handlers_js_1.monoids.array(), }); const decoderFromStr = (0, decoders_1.nullish)((0, decoders_1.either)((0, utils_js_1.anyInstanceOf)(index_js_1.HeadersProvider), decoders_1.string)); const StringBasedHeadersProviderOptsHandler = (kleisli) => { const transformer = decoderFromStr .transform((input) => { if (typeof input === 'string') { return { providers: [new kleisli(input)] }; } if ((0, utils_js_1.isNullish)(input)) { return monoid.empty; } return { providers: [input] }; }); return new opts_handlers_js_1.MonoidalOptionsHandler(transformer, monoid); }; exports.StringBasedHeadersProviderOptsHandler = StringBasedHeadersProviderOptsHandler; const decoderFromObj = (0, decoders_1.nullish)((0, utils_js_1.oneOrMany)((0, decoders_1.either)((0, utils_js_1.anyInstanceOf)(index_js_1.HeadersProvider), (0, decoders_1.record)((0, decoders_1.optional)(decoders_1.string))))); exports.ObjectBasedHeadersProviderOptsHandler = (() => { const transformer = decoderFromObj.transform((input) => { if (!input) { return monoid.empty; } const asArray = (!Array.isArray(input)) ? [input] : input; const providers = asArray.map((value) => { if (value instanceof index_js_1.HeadersProvider) { return value; } return new index_js_1.StaticHeadersProvider(value); }); return { providers }; }); return new opts_handlers_js_1.MonoidalOptionsHandler(transformer, monoid); })(); index_js_1.HeadersProvider.opts = { fromStr: exports.StringBasedHeadersProviderOptsHandler, fromObj: exports.ObjectBasedHeadersProviderOptsHandler, monoid: monoid, parsed: null, };