UNPKG

fabric

Version:

Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.

1 lines 1.24 kB
{"version":3,"file":"pick.mjs","names":[],"sources":["../../../../src/util/misc/pick.ts"],"sourcesContent":["/**\n * Populates an object with properties of another object\n * @param {Object} source Source object\n * @param {string[]} properties Properties names to include\n * @returns object populated with the picked keys\n */\nexport const pick = <T extends Record<string, any>>(\n source: T,\n keys: (keyof T)[] = [],\n) => {\n return keys.reduce((o, key) => {\n if (key in source) {\n o[key] = source[key];\n }\n return o;\n }, {} as Partial<T>);\n};\n\nexport const pickBy = <T extends Record<string, any>>(\n source: T,\n predicate: <K extends keyof T>(value: T[K], key: K, collection: T) => boolean,\n) => {\n return (Object.keys(source) as (keyof T)[]).reduce((o, key) => {\n if (predicate(source[key], key, source)) {\n o[key] = source[key];\n }\n return o;\n }, {} as Partial<T>);\n};\n"],"mappings":";;;;;;;AAMA,MAAa,QACX,QACA,OAAoB,EAAE,KACnB;AACH,QAAO,KAAK,QAAQ,GAAG,QAAQ;AAC7B,MAAI,OAAO,OACT,GAAE,OAAO,OAAO;AAElB,SAAO;IACN,EAAE,CAAe;;AAGtB,MAAa,UACX,QACA,cACG;AACH,QAAQ,OAAO,KAAK,OAAO,CAAiB,QAAQ,GAAG,QAAQ;AAC7D,MAAI,UAAU,OAAO,MAAM,KAAK,OAAO,CACrC,GAAE,OAAO,OAAO;AAElB,SAAO;IACN,EAAE,CAAe"}