File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed
Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change 66
77const mergeCache = new WeakMap ( ) ;
88
9+ /**
10+ * Merges two given objects and caches the result to avoid computation if same objects passed as arguements again.
11+ * @example
12+ * // performs Object.assign(first, second), stores the result in WeakMap and returns result
13+ * cachedMerge({a: 1}, {a: 2})
14+ * {a: 2}
15+ * // when same arguments passed, gets the result from WeakMap and returns it.
16+ * cachedMerge({a: 1}, {a: 2})
17+ * {a: 2}
18+ * @param {object } first first object
19+ * @param {object } second second object
20+ * @returns {object } merged object of first and second object
21+ */
922const cachedMerge = ( first , second ) => {
1023 let innerCache = mergeCache . get ( first ) ;
1124 if ( innerCache === undefined ) {
You can’t perform that action at this time.
0 commit comments