timm.d.ts 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. declare type Key = string | number;
  2. export declare function clone<T extends object>(obj0: T): T;
  3. export declare function addLast<T>(array: T[], val: T[] | T): T[];
  4. export declare function addFirst<T>(array: T[], val: T[] | T): T[];
  5. export declare function removeLast<T>(array: T[]): T[];
  6. export declare function removeFirst<T>(array: T[]): T[];
  7. export declare function insert<T>(array: T[], idx: number, val: T[] | T): T[];
  8. export declare function removeAt<T>(array: T[], idx: number): T[];
  9. export declare function replaceAt<T>(array: T[], idx: number, newItem: T): T[];
  10. export declare function getIn(obj: undefined, path: Key[]): undefined;
  11. export declare function getIn(obj: null, path: Key[]): null;
  12. export declare function getIn(obj: object, path: Key[]): unknown;
  13. export declare function set<K extends string, V>(obj: undefined | null, key: K, val: V): {
  14. [P in K]: V;
  15. };
  16. export declare function set<V>(obj: undefined | null, key: number, val: V): [V];
  17. export declare function set<T extends object, K extends string, V>(obj: T, key: K, val: V): Omit<T, keyof {
  18. [P in K]: any;
  19. }> & {
  20. [P in K]: V;
  21. };
  22. export declare function set<V>(obj: V[], key: number, val: V): V[];
  23. export declare function setIn(obj: object | null | undefined, path: Key[], val: any): unknown;
  24. export declare function update(obj: object | null | undefined, key: Key, fnUpdate: (prevValue: any) => any): unknown;
  25. export declare function updateIn(obj: object | null | undefined, path: Key[], fnUpdate: (prevValue: any) => any): unknown;
  26. export declare function merge<T extends object>(a: T): T;
  27. export declare function merge<T extends object>(a: T, b: undefined | null): T;
  28. export declare function merge<T extends object, U extends object>(a: T, b: U): Omit<T, keyof U> & U;
  29. export declare function merge<T extends object, V extends object>(a: T, b: undefined | null, c: V): Omit<T, keyof V> & V;
  30. export declare function merge<T extends object, U extends object>(a: T, b: U, c: undefined | null): Omit<T, keyof U> & U;
  31. export declare function merge<T extends object>(a: T, b: undefined | null, c: undefined | null): T;
  32. export declare function merge<T extends object, U extends object, V extends object>(a: T, b: U, c: V): Omit<Omit<T, keyof U> & U, keyof V> & V;
  33. export declare function merge(a: object, ...rest: Array<object | null>): object;
  34. export declare function mergeDeep(a: object, b?: object | null, c?: object | null, d?: object | null, e?: object | null, f?: object | null, ...rest: Array<object | null>): object;
  35. export declare function mergeIn(a: any, path: Key[], b?: object | null, c?: object | null, d?: object | null, e?: object | null, f?: object | null, ...rest: Array<object | null>): unknown;
  36. export declare function omit<T extends object, K extends string>(obj: T, attrs: K | K[]): Omit<T, keyof {
  37. [P in K]: any;
  38. }>;
  39. export declare function addDefaults<T extends object, U extends object>(a: T, b: U): Omit<U, keyof T> & T;
  40. export declare function addDefaults(a: object, b: object, ...rest: Array<object | null>): object;
  41. declare const timm: {
  42. clone: typeof clone;
  43. addLast: typeof addLast;
  44. addFirst: typeof addFirst;
  45. removeLast: typeof removeLast;
  46. removeFirst: typeof removeFirst;
  47. insert: typeof insert;
  48. removeAt: typeof removeAt;
  49. replaceAt: typeof replaceAt;
  50. getIn: typeof getIn;
  51. set: typeof set;
  52. setIn: typeof setIn;
  53. update: typeof update;
  54. updateIn: typeof updateIn;
  55. merge: typeof merge;
  56. mergeDeep: typeof mergeDeep;
  57. mergeIn: typeof mergeIn;
  58. omit: typeof omit;
  59. addDefaults: typeof addDefaults;
  60. };
  61. export default timm;