@datastax/astra-db-ts
Version:
Data API TypeScript client
23 lines (22 loc) • 1.03 kB
JavaScript
;
// Copyright Datastax, Inc
// SPDX-License-Identifier: Apache-2.0
Object.defineProperty(exports, "__esModule", { value: true });
exports.CallerCfgHandler = void 0;
const utils_js_1 = require("../../lib/utils.js");
const decoders_1 = require("decoders");
const opts_handlers_js_1 = require("../../lib/opts-handlers.js");
const constants_js_1 = require("../../lib/api/constants.js");
const decoder = (0, decoders_1.nullish)((0, utils_js_1.oneOrMany)((0, decoders_1.either)((0, decoders_1.tuple)(decoders_1.string), (0, decoders_1.tuple)(decoders_1.string, decoders_1.string))), []);
const transformer = decoder.transform((config) => {
const callers = ((Array.isArray(config[0]))
? config
: [config]);
const callerString = callers.map((c) => {
return (c[1]) ? `${c[0]}/${c[1]}` : c[0];
}).join(' ');
return {
userAgent: `${constants_js_1.CLIENT_USER_AGENT} ${callerString}`.trim(),
};
});
exports.CallerCfgHandler = new opts_handlers_js_1.OptionsHandler(transformer);