fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 1.35 kB
Source Map (JSON)
{"version":3,"file":"pick.min.mjs","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"],"names":["pick","source","arguments","length","undefined","reduce","o","key","pickBy","predicate","Object","keys"],"mappings":"MAMaA,EAAO,SAClBC,GAGA,OAFiBC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,IAERG,QAAO,CAACC,EAAGC,KACjBA,KAAON,IACTK,EAAEC,GAAON,EAAOM,IAEXD,IACN,CAAgB,EACrB,EAEaE,EAASA,CACpBP,EACAQ,IAEQC,OAAOC,KAAKV,GAAwBI,QAAO,CAACC,EAAGC,KACjDE,EAAUR,EAAOM,GAAMA,EAAKN,KAC9BK,EAAEC,GAAON,EAAOM,IAEXD,IACN,CAAgB"}