string-converters
Version:
A utility library for converting data types and working with arrays. Provides converters for boolean, number, and string values, along with array conversion functions and support for values with predefined options.
1 lines • 1.11 kB
Source Map (JSON)
{"version":3,"sources":["../src/createArrayConverter/index.ts"],"names":[],"mappings":";AAUA,IAAM,uBAAuB,CAC3B,eACA,YAAoB,SACA;AAAA,EACpB,MAAM,OAAO;AACX,WAAO,MAAM,MAAM,SAAS,EAAE,IAAI,cAAc,KAAK;AAAA,EACvD;AAAA,EACA,UAAU,OAAO;AACf,WAAO,MAAM,IAAI,cAAc,SAAS,EAAE,KAAK,SAAS;AAAA,EAC1D;AACF;AAEA,IAAO,+BAAQ","sourcesContent":["import { Converter } from \"../types\";\n\n/**\n * Creates a converter for arrays using the specified item converter and separator.\n *\n * @template T - The type of items in the array.\n * @param {Converter<T>} itemConverter - The converter for individual items in the array.\n * @param {string} [separator=','] - The separator used to split and join the array values.\n * @returns {Converter<T[]>} The converter for arrays.\n */\nconst createArrayConverter = <T>(\n itemConverter: Converter<T>,\n separator: string = \",\"\n): Converter<T[]> => ({\n parse(value) {\n return value.split(separator).map(itemConverter.parse) as T[];\n },\n stringify(value) {\n return value.map(itemConverter.stringify).join(separator);\n },\n});\n\nexport default createArrayConverter;\n"]}