dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
19 lines (18 loc) • 705 B
JavaScript
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;
}