UNPKG

@datastax/astra-db-ts

Version:
59 lines (58 loc) 2.91 kB
"use strict"; // Copyright Datastax, Inc // SPDX-License-Identifier: Apache-2.0 Object.defineProperty(exports, "__esModule", { value: true }); exports.RootOptsHandler = void 0; const opts_handlers_js_1 = require("../../lib/opts-handlers.js"); const index_js_1 = require("../../lib/index.js"); const decoders_1 = require("decoders"); const timeouts_js_1 = require("../../lib/api/timeouts/timeouts.js"); const internal_logger_js_1 = require("../../lib/logging/internal-logger.js"); const environment_cfg_handler_js_1 = require("../../client/opts-handlers/environment-cfg-handler.js"); const caller_cfg_handler_js_1 = require("../../client/opts-handlers/caller-cfg-handler.js"); const db_opts_handler_js_1 = require("../../client/opts-handlers/db-opts-handler.js"); const admin_opts_handler_js_1 = require("../../client/opts-handlers/admin-opts-handler.js"); const http_opts_handler_js_1 = require("../../client/opts-handlers/http-opts-handler.js"); const decoder = (0, decoders_1.exact)({ logging: internal_logger_js_1.InternalLogger.cfg.decoder, environment: environment_cfg_handler_js_1.EnvironmentCfgHandler.decoder, httpOptions: http_opts_handler_js_1.HttpOptsHandler.decoder, dbOptions: db_opts_handler_js_1.DbOptsHandler.decoder, adminOptions: admin_opts_handler_js_1.AdminOptsHandler.decoder, caller: caller_cfg_handler_js_1.CallerCfgHandler.decoder, timeoutDefaults: timeouts_js_1.Timeouts.cfg.decoder, additionalHeaders: index_js_1.HeadersProvider.opts.fromObj.decoder, }); const RootOptsHandler = (defaultToken, client) => { const transformer = decoder.transform((input) => { const dbAndAdminCommon = { timeoutDefaults: input.timeoutDefaults, logging: input.logging, }; return { additionalHeaders: input.additionalHeaders, environment: input.environment, fetchCtx: input.httpOptions, caller: input.caller, client: client, dbOptions: db_opts_handler_js_1.DbOptsHandler.concat([input.dbOptions, { ...db_opts_handler_js_1.DbOptsHandler.empty, token: index_js_1.TokenProvider.opts.concat([ defaultToken, input.dbOptions.token, ]), ...dbAndAdminCommon, }]), adminOptions: admin_opts_handler_js_1.AdminOptsHandler.concat([input.adminOptions, { ...admin_opts_handler_js_1.AdminOptsHandler.empty, adminToken: index_js_1.TokenProvider.opts.concat([ defaultToken, input.adminOptions.adminToken, ]), ...dbAndAdminCommon, }]), }; }); return new opts_handlers_js_1.OptionsHandler(transformer); }; exports.RootOptsHandler = RootOptsHandler;