UNPKG

dynamodb-toolbox

Version:

Lightweight and type-safe query builder for DynamoDB and TypeScript.

19 lines (18 loc) 705 B
import { cloneDeep } from '../../../utils/cloneDeep.js'; export function* anySchemaFormatter(schema, rawValue, options = {}) { const { format = true, transform = true } = options; let transformedValue = undefined; if (transform) { const transformer = schema.props.transform; transformedValue = transformer !== undefined ? transformer.decode(rawValue) : cloneDeep(rawValue); if (format) { yield transformedValue; } else { return transformedValue; } } const formattedValue = transformedValue !== null && transformedValue !== void 0 ? transformedValue : cloneDeep(rawValue); return formattedValue; }