Comparing version 1.13.0 to 1.14.0
@@ -817,6 +817,7 @@ /** | ||
declare const ObjectUtils: { | ||
map: <T extends Object, V extends unknown, W extends unknown>(obj: T, func: (key: string, value: V) => [string, W]) => OfType<T, W>; | ||
mapValues: <T_1 extends Object, V_1 extends unknown, W_1 extends unknown>(obj: T_1, func: (key: string, value: V_1) => W_1) => OfType<T_1, W_1>; | ||
mapKeys: <T_2 extends Object, V_2 extends unknown>(obj: T_2, func: (key: string, value: V_2) => string) => T_2; | ||
clean: <T_3 extends Object>(obj: T_3) => Partial<T_3>; | ||
map: <T extends Object, V extends unknown, W extends unknown>(obj: T, func: (key: string, value: V, index: number) => [string, W]) => OfType<T, W>; | ||
mapValues: <T_1 extends Object, V_1 extends unknown, W_1 extends unknown>(obj: T_1, func: (key: string, value: V_1, index: number) => W_1) => OfType<T_1, W_1>; | ||
mapKeys: <T_2 extends Object, V_2 extends unknown>(obj: T_2, func: (key: string, value: V_2, index: number) => string) => T_2; | ||
filter: <T_3 extends Object, V_3 extends unknown, O extends Partial<T_3>>(obj: T_3, func: (key: string, value: V_3, index: number) => boolean) => O; | ||
clean: <T_4 extends Object, O_1 extends Partial<T_4>>(obj: T_4) => O_1; | ||
}; | ||
@@ -823,0 +824,0 @@ |
@@ -847,6 +847,7 @@ var __defProp = Object.defineProperty; | ||
// src/tools/ObjectUtils.ts | ||
var map2 = (obj, func) => Object.fromEntries(Object.entries(obj).map(([key, value]) => func(key, value))); | ||
var mapValues = (obj, func) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, func(key, value)])); | ||
var mapKeys = (obj, func) => Object.fromEntries(Object.entries(obj).map(([key, value]) => [func(key, value), value])); | ||
var clean = (obj) => Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== void 0)); | ||
var map2 = (obj, func) => Object.fromEntries(Object.entries(obj).map(([key, value], index) => func(key, value, index))); | ||
var mapValues = (obj, func) => Object.fromEntries(Object.entries(obj).map(([key, value], index) => [key, func(key, value, index)])); | ||
var mapKeys = (obj, func) => Object.fromEntries(Object.entries(obj).map(([key, value], index) => [func(key, value, index), value])); | ||
var filter = (obj, func) => Object.fromEntries(Object.entries(obj).filter(([key, value], index) => func(key, value, index))); | ||
var clean = (obj) => filter(obj, (key, value) => value !== void 0); | ||
var ObjectUtils = { | ||
@@ -856,2 +857,3 @@ map: map2, | ||
mapKeys, | ||
filter, | ||
clean | ||
@@ -858,0 +860,0 @@ }; |
{ | ||
"name": "swiss-ak", | ||
"version": "1.13.0", | ||
"version": "1.14.0", | ||
"author": "Jack Cannon <jackc@annon.co.uk> (http://c.annon.co.uk/)", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
@@ -12,4 +12,4 @@ import { OfType } from './types'; | ||
*/ | ||
const map = <T extends Object, V extends any, W extends any>(obj: T, func: (key: string, value: V) => [string, W]): OfType<T, W> => | ||
Object.fromEntries(Object.entries(obj).map(([key, value]) => func(key, value))) as OfType<T, W>; | ||
const map = <T extends Object, V extends any, W extends any>(obj: T, func: (key: string, value: V, index: number) => [string, W]): OfType<T, W> => | ||
Object.fromEntries(Object.entries(obj).map(([key, value], index) => func(key, value, index))) as OfType<T, W>; | ||
@@ -25,4 +25,4 @@ /** | ||
*/ | ||
const mapValues = <T extends Object, V extends any, W extends any>(obj: T, func: (key: string, value: V) => W): OfType<T, W> => | ||
Object.fromEntries(Object.entries(obj).map(([key, value]) => [key, func(key, value)])) as OfType<T, W>; | ||
const mapValues = <T extends Object, V extends any, W extends any>(obj: T, func: (key: string, value: V, index: number) => W): OfType<T, W> => | ||
Object.fromEntries(Object.entries(obj).map(([key, value], index) => [key, func(key, value, index)])) as OfType<T, W>; | ||
@@ -38,9 +38,12 @@ /** | ||
*/ | ||
const mapKeys = <T extends Object, V extends any>(obj: T, func: (key: string, value: V) => string): T => | ||
Object.fromEntries(Object.entries(obj).map(([key, value]) => [func(key, value), value])) as T; | ||
const mapKeys = <T extends Object, V extends any>(obj: T, func: (key: string, value: V, index: number) => string): T => | ||
Object.fromEntries(Object.entries(obj).map(([key, value], index) => [func(key, value, index), value])) as T; | ||
// TODO docs | ||
const filter = <T extends Object, V extends any, O extends Partial<T>>(obj: T, func: (key: string, value: V, index: number) => boolean): O => | ||
Object.fromEntries(Object.entries(obj).filter(([key, value], index) => func(key, value, index))) as O; | ||
// TODO docs | ||
// removes properties with undefined values | ||
const clean = <T extends Object>(obj: T): Partial<T> => | ||
Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined)) as Partial<T>; | ||
const clean = <T extends Object, O extends Partial<T>>(obj: T): O => filter(obj, (key, value) => value !== undefined) as O; | ||
@@ -51,3 +54,4 @@ export const ObjectUtils = { | ||
mapKeys, | ||
filter, | ||
clean | ||
}; |
Sorry, the diff of this file is not supported yet
226263
6618