@datastax/astra-db-ts
Version:
Data API TypeScript client
22 lines (21 loc) • 969 B
JavaScript
// Copyright Datastax, Inc
// SPDX-License-Identifier: Apache-2.0
import { MonoidalOptionsHandler, monoids } from '../../../lib/opts-handlers.js';
import { exact, nullish, optional, positiveNumber } from 'decoders';
const monoid = monoids.object({
requestTimeoutMs: monoids.optional(),
generalMethodTimeoutMs: monoids.optional(),
collectionAdminTimeoutMs: monoids.optional(),
tableAdminTimeoutMs: monoids.optional(),
databaseAdminTimeoutMs: monoids.optional(),
keyspaceAdminTimeoutMs: monoids.optional(),
});
const decoder = nullish(exact({
requestTimeoutMs: optional(positiveNumber),
generalMethodTimeoutMs: optional(positiveNumber),
collectionAdminTimeoutMs: optional(positiveNumber),
tableAdminTimeoutMs: optional(positiveNumber),
databaseAdminTimeoutMs: optional(positiveNumber),
keyspaceAdminTimeoutMs: optional(positiveNumber),
}), {});
export const TimeoutCfgHandler = new MonoidalOptionsHandler(decoder, monoid);