@datastax/astra-db-ts
Version:
Data API TypeScript client
21 lines (20 loc) • 960 B
JavaScript
;
// Copyright Datastax, Inc
// SPDX-License-Identifier: Apache-2.0
Object.defineProperty(exports, "__esModule", { value: true });
exports.TableSerDesCfgHandler = void 0;
const decoders_1 = require("decoders");
const cfg_handler_js_1 = require("../../../lib/api/ser-des/cfg-handler.js");
const opts_handlers_js_1 = require("../../../lib/opts-handlers.js");
const monoid = opts_handlers_js_1.monoids.object({
...cfg_handler_js_1.serdesMonoidSchema,
sparseData: opts_handlers_js_1.monoids.optional(),
});
const decoder = (0, decoders_1.nullish)((0, decoders_1.exact)({
...cfg_handler_js_1.serDesDecoders,
sparseData: (0, decoders_1.optional)(decoders_1.boolean),
}));
const transformer = decoder.transform((input) => (input)
? { ...(0, cfg_handler_js_1.serDesTransform)(input), sparseData: input.sparseData }
: monoid.empty);
exports.TableSerDesCfgHandler = new opts_handlers_js_1.MonoidalOptionsHandler(transformer, monoid);