UNPKG

tupleson

Version:

A hackable JSON serializer/deserializer

1 lines 1.02 kB
{"version":3,"sources":["../../src/internals/mapOrReturn.ts"],"sourcesContent":["import { isPlainObject } from \"./isPlainObject.js\";\n\n/**\n * Maps over an object or array, returning a new object or array with the same keys.\n * If the input is not an object or array, the input is returned.\n */\n\nexport function mapOrReturn(\n\tinput: unknown,\n\tfn: (val: unknown, key: number | string) => unknown,\n): unknown {\n\tif (Array.isArray(input)) {\n\t\treturn input.map(fn);\n\t}\n\n\tif (isPlainObject(input)) {\n\t\tconst output: typeof input = {};\n\t\tfor (const [key, value] of Object.entries(input)) {\n\t\t\toutput[key] = fn(value, key);\n\t\t}\n\n\t\treturn output;\n\t}\n\n\treturn input;\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAOvB,SAAS,YACf,OACA,IACU;AACV,MAAI,MAAM,QAAQ,KAAK,GAAG;AACzB,WAAO,MAAM,IAAI,EAAE;AAAA,EACpB;AAEA,MAAI,cAAc,KAAK,GAAG;AACzB,UAAM,SAAuB,CAAC;AAC9B,eAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,KAAK,GAAG;AACjD,aAAO,GAAG,IAAI,GAAG,OAAO,GAAG;AAAA,IAC5B;AAEA,WAAO;AAAA,EACR;AAEA,SAAO;AACR;","names":[]}