fabric
Version:
Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.
1 lines • 1.83 kB
Source Map (JSON)
{"version":3,"file":"pick.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","keys","arguments","length","undefined","reduce","o","key","pickBy","predicate","Object"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;MACaA,IAAI,GAAG,UAClBC,MAAS,EAEN;AAAA,EAAA,IADHC,IAAiB,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;EAEtB,OAAOD,IAAI,CAACI,MAAM,CAAC,CAACC,CAAC,EAAEC,GAAG,KAAK;IAC7B,IAAIA,GAAG,IAAIP,MAAM,EAAE;AACjBM,MAAAA,CAAC,CAACC,GAAG,CAAC,GAAGP,MAAM,CAACO,GAAG,CAAC,CAAA;AACtB,KAAA;AACA,IAAA,OAAOD,CAAC,CAAA;GACT,EAAE,EAAgB,CAAC,CAAA;AACtB,EAAC;MAEYE,MAAM,GAAGA,CACpBR,MAAS,EACTS,SAA6E,KAC1E;AACH,EAAA,OAAQC,MAAM,CAACT,IAAI,CAACD,MAAM,CAAC,CAAiBK,MAAM,CAAC,CAACC,CAAC,EAAEC,GAAG,KAAK;IAC7D,IAAIE,SAAS,CAACT,MAAM,CAACO,GAAG,CAAC,EAAEA,GAAG,EAAEP,MAAM,CAAC,EAAE;AACvCM,MAAAA,CAAC,CAACC,GAAG,CAAC,GAAGP,MAAM,CAACO,GAAG,CAAC,CAAA;AACtB,KAAA;AACA,IAAA,OAAOD,CAAC,CAAA;GACT,EAAE,EAAgB,CAAC,CAAA;AACtB;;;;"}