@ctx-core/object
Advanced tools
Comparing version
@@ -300,2 +300,24 @@ /** | ||
export declare function _hash__key__obj(obj: any, key: any): {}; | ||
export declare type fn__assign = (value: any, obj?: any, key?: string) => any; | ||
/** | ||
* Assigns function calls into obj | ||
* @param obj | ||
* @param a1__h__fn__assign | ||
*/ | ||
export declare function assign__call(obj: any, ...a1__h__fn__assign: { | ||
[prop_name: string]: fn__assign; | ||
}[]): any; | ||
export declare type tuple__key_a1__fn = [string[], fn__assign]; | ||
/** | ||
* Assigns to obj array of keys the return value of function in a2__key_a1__fn. | ||
* @param obj | ||
* @param a2__key_a1__fn[...tuple__key_a1__fn[]] | ||
*/ | ||
export declare function assign__key_a1__fn(obj: any, ...a2__key_a1__fn: tuple__key_a1__fn[]): any; | ||
/** | ||
* Assigns to cloned obj array of keys the return value of function in a2__key_a1__fn. | ||
* @param obj | ||
* @param a2__key_a1__fn[...tuple__key_a1__fn[]] | ||
*/ | ||
export declare function clone__assign__key_a1__fn(obj: any, ...a2__key_a1__fn: tuple__key_a1__fn[]): any; | ||
export {}; |
@@ -514,2 +514,40 @@ 'use strict'; | ||
} | ||
/** | ||
* Assigns function calls into obj | ||
* @param obj | ||
* @param a1__h__fn__assign | ||
*/ | ||
function assign__call(obj, ...a1__h__fn__assign) { | ||
for (let i = 0; i < a1__h__fn__assign.length; i++) { | ||
const h__fn__assign = a1__h__fn__assign[i]; | ||
for (let prop_name in h__fn__assign) { | ||
const fn__assign = h__fn__assign[prop_name]; | ||
obj[prop_name] = fn__assign(obj[prop_name], obj, prop_name); | ||
} | ||
} | ||
return obj; | ||
} | ||
/** | ||
* Assigns to obj array of keys the return value of function in a2__key_a1__fn. | ||
* @param obj | ||
* @param a2__key_a1__fn[...tuple__key_a1__fn[]] | ||
*/ | ||
function assign__key_a1__fn(obj, ...a2__key_a1__fn) { | ||
for (let i = 0; i < a2__key_a1__fn.length; i++) { | ||
const [key_a1, fn] = a2__key_a1__fn[i]; | ||
for (let j = 0; j < key_a1.length; j += 1) { | ||
const key = key_a1[j]; | ||
obj[key] = fn(obj[key], obj, key); | ||
} | ||
} | ||
return obj; | ||
} | ||
/** | ||
* Assigns to cloned obj array of keys the return value of function in a2__key_a1__fn. | ||
* @param obj | ||
* @param a2__key_a1__fn[...tuple__key_a1__fn[]] | ||
*/ | ||
function clone__assign__key_a1__fn(obj, ...a2__key_a1__fn) { | ||
return assign__key_a1__fn(clone(obj), ...a2__key_a1__fn); | ||
} | ||
@@ -529,4 +567,7 @@ exports._a1__value__pick = _a1__value__pick; | ||
exports.assign = assign; | ||
exports.assign__call = assign__call; | ||
exports.assign__key_a1__fn = assign__key_a1__fn; | ||
exports.assign__unless__null = assign__unless__null; | ||
exports.clone = clone; | ||
exports.clone__assign__key_a1__fn = clone__assign__key_a1__fn; | ||
exports.clone__deep = clone__deep; | ||
@@ -533,0 +574,0 @@ exports.defaults = defaults; |
{ | ||
"name": "@ctx-core/object", | ||
"version": "6.0.38", | ||
"version": "6.1.2", | ||
"description": "ctx-core object", | ||
@@ -33,3 +33,3 @@ "main": "lib/index.js", | ||
"devDependencies": { | ||
"@ctx-core/function": "^10.4.1", | ||
"@ctx-core/function": "^10.5.2", | ||
"rollup": "^1.20.3", | ||
@@ -39,3 +39,3 @@ "rollup-plugin-typescript2": "^0.24.0", | ||
}, | ||
"gitHead": "9d57711e8d9b521bf182f0a7aa28fe22f61d5269" | ||
"gitHead": "faa5f56f9f1e4db5c618bf403731d9c6cef31deb" | ||
} |
@@ -509,1 +509,41 @@ import { _andand } from '@ctx-core/function' | ||
} | ||
export type fn__assign = (value:any, obj?:any, key?:string)=>any | ||
/** | ||
* Assigns function calls into obj | ||
* @param obj | ||
* @param a1__h__fn__assign | ||
*/ | ||
export function assign__call(obj, ...a1__h__fn__assign:{ [prop_name:string]:fn__assign }[]) { | ||
for (let i = 0; i < a1__h__fn__assign.length; i++) { | ||
const h__fn__assign = a1__h__fn__assign[i] | ||
for (let prop_name in h__fn__assign) { | ||
const fn__assign = h__fn__assign[prop_name] | ||
obj[prop_name] = fn__assign(obj[prop_name], obj, prop_name) | ||
} | ||
} | ||
return obj | ||
} | ||
export type tuple__key_a1__fn = [string[], fn__assign] | ||
/** | ||
* Assigns to obj array of keys the return value of function in a2__key_a1__fn. | ||
* @param obj | ||
* @param a2__key_a1__fn[...tuple__key_a1__fn[]] | ||
*/ | ||
export function assign__key_a1__fn(obj, ...a2__key_a1__fn:tuple__key_a1__fn[]) { | ||
for (let i = 0; i < a2__key_a1__fn.length; i++) { | ||
const [key_a1, fn] = a2__key_a1__fn[i] | ||
for (let j = 0; j < key_a1.length; j += 1) { | ||
const key = key_a1[j] | ||
obj[key] = fn(obj[key], obj, key) | ||
} | ||
} | ||
return obj | ||
} | ||
/** | ||
* Assigns to cloned obj array of keys the return value of function in a2__key_a1__fn. | ||
* @param obj | ||
* @param a2__key_a1__fn[...tuple__key_a1__fn[]] | ||
*/ | ||
export function clone__assign__key_a1__fn(obj, ...a2__key_a1__fn:tuple__key_a1__fn[]) { | ||
return assign__key_a1__fn(clone(obj), ...a2__key_a1__fn) | ||
} |
Sorry, the diff of this file is not supported yet
58822
9.14%2054
7.37%