@datastax/astra-db-ts
Version:
Data API TypeScript client
38 lines (37 loc) • 1.68 kB
JavaScript
;
// 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);