UNPKG

@datastax/astra-db-ts

Version:
38 lines (37 loc) 1.68 kB
"use strict"; // Copyright Datastax, Inc // SPDX-License-Identifier: Apache-2.0 Object.defineProperty(exports, "__esModule", { value: true }); exports.AdminOptsHandler = 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 monoid = opts_handlers_js_1.monoids.object({ logging: internal_logger_js_1.InternalLogger.cfg, endpointUrl: opts_handlers_js_1.monoids.optional(), astraEnv: opts_handlers_js_1.monoids.optional(), timeoutDefaults: timeouts_js_1.Timeouts.cfg, adminToken: index_js_1.TokenProvider.opts, }); const decoder = (0, decoders_1.nullish)((0, decoders_1.exact)({ environment: environment_cfg_handler_js_1.EnvironmentCfgHandler.decoder, logging: internal_logger_js_1.InternalLogger.cfg.decoder, adminToken: index_js_1.TokenProvider.opts.decoder, endpointUrl: (0, decoders_1.optional)(decoders_1.string), astraEnv: (0, decoders_1.optional)((0, decoders_1.oneOf)(['dev', 'prod', 'test'])), timeoutDefaults: timeouts_js_1.Timeouts.cfg.decoder, })); const transformer = decoder.transform((input) => { if (!input) { return monoid.empty; } return { ...input, endpointUrl: input.endpointUrl, astraEnv: input.astraEnv, }; }); exports.AdminOptsHandler = new opts_handlers_js_1.MonoidalOptionsHandler(transformer, monoid);