UNPKG

@thisisagile/easy-mongo

Version:
17 lines (15 loc) 556 B
import { choose, DateTime, isArray, isDate, isDateTime, isIsoDateString, isObject, Json, meta } from '@thisisagile/easy'; export const toMongoType = (input: unknown): Json => choose(input) .type(isIsoDateString, i => new DateTime(i).toDate() as any) .type(isDateTime, i => i.toDate() as any) .type(isArray, a => a.map((i: any) => toMongoType(i))) .type(isDate, d => d) .type(isObject, o => Object.fromEntries( meta(o) .entries() .map(([k, i]) => [k, toMongoType(i)]) ) ) .else(input);