UNPKG

@datastax/astra-db-ts

Version:
18 lines (17 loc) 745 B
// Copyright Datastax, Inc // SPDX-License-Identifier: Apache-2.0 import { boolean, exact, nullish, optional } from 'decoders'; import { serDesDecoders, serdesMonoidSchema, serDesTransform, } from '../../../lib/api/ser-des/cfg-handler.js'; import { MonoidalOptionsHandler, monoids } from '../../../lib/opts-handlers.js'; const monoid = monoids.object({ ...serdesMonoidSchema, sparseData: monoids.optional(), }); const decoder = nullish(exact({ ...serDesDecoders, sparseData: optional(boolean), })); const transformer = decoder.transform((input) => (input) ? { ...serDesTransform(input), sparseData: input.sparseData } : monoid.empty); export const TableSerDesCfgHandler = new MonoidalOptionsHandler(transformer, monoid);