UNPKG

dynamodb-toolbox

Version:

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

40 lines (39 loc) 1.49 kB
import { jsonStringify } from '../../../../transformers/jsonStringify.js'; import { pipe } from '../../../../transformers/pipe.js'; import { prefix } from '../../../../transformers/prefix.js'; import { suffix } from '../../../../transformers/suffix.js'; export const fromTransformerDTO = (transformerDTO) => { try { switch (transformerDTO.transformerId) { case 'custom': return null; case 'jsonStringify': { const { space } = transformerDTO; return jsonStringify({ space }); } case 'prefix': { const { prefix: _prefix, delimiter } = transformerDTO; return prefix(_prefix, { delimiter }); } case 'suffix': { const { suffix: _suffix, delimiter } = transformerDTO; return suffix(_suffix, { delimiter }); } case 'pipe': { const { transformers: transformerDTOs } = transformerDTO; const transformers = []; for (const transformerDTO of transformerDTOs) { const transformer = fromTransformerDTO(transformerDTO); if (transformer === null) { return null; } transformers.push(transformer); } return pipe(...transformers); } } } catch { return null; } };