Skip to content

Commit

Permalink
refactor!: rename DeepMergeFunctionUtils to DeepMergeUtils
Browse files Browse the repository at this point in the history
  • Loading branch information
RebeccaStevens committed May 20, 2024
1 parent 40bd69b commit b946627
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 28 deletions.
14 changes: 7 additions & 7 deletions docs/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,33 +27,33 @@ All these options are optional.

#### `mergeRecords`

Type: `false | (values: Record<any, unknown>[], utils: DeepMergeFunctionUtils, meta: MetaData) => unknown`
Type: `false | (values: Record<any, unknown>[], utils: DeepMergeUtils, meta: MetaData) => unknown`

If `false`, records won't be merged. If set to a function, that function will be used to merge records.

Note: Records are "vanilla" objects (e.g. `{ foo: "hello", bar: "world" }`).

#### `mergeArrays`

Type: `false | (values: unknown[][], utils: DeepMergeFunctionUtils, meta: MetaData) => unknown`
Type: `false | (values: unknown[][], utils: DeepMergeUtils, meta: MetaData) => unknown`

If `false`, arrays won't be merged. If set to a function, that function will be used to merge arrays.

#### `mergeMaps`

Type: `false | (values: Map<unknown, unknown>[], utils: DeepMergeFunctionUtils, meta: MetaData) => unknown`
Type: `false | (values: Map<unknown, unknown>[], utils: DeepMergeUtils, meta: MetaData) => unknown`

If `false`, maps won't be merged. If set to a function, that function will be used to merge maps.

#### `mergeSets`

Type: `false | (values: Set<unknown>[], utils: DeepMergeFunctionUtils, meta: MetaData) => unknown`
Type: `false | (values: Set<unknown>[], utils: DeepMergeUtils, meta: MetaData) => unknown`

If `false`, sets won't be merged. If set to a function, that function will be used to merge sets.

#### `mergeOthers`

Type: `(values: unknown[], utils: DeepMergeFunctionUtils, meta: MetaData) => unknown`
Type: `(values: unknown[], utils: DeepMergeUtils, meta: MetaData) => unknown`

If set to a function, that function will be used to merge everything else.

Expand All @@ -72,7 +72,7 @@ Type: `MetaData`

The given meta data value will be passed to root level merges.

### DeepMergeFunctionUtils
### DeepMergeUtils

This is a set of utility functions that are made available to your custom merge functions.

Expand Down Expand Up @@ -115,7 +115,7 @@ All these options are optional.

#### `mergeRecords`

Type: `false | (target: DeepMergeValueReference<Record<PropertyKey, unknown>>, values: Record<any, unknown>[], utils: DeepMergeFunctionUtils, meta: MetaData) => void | symbol` <!-- markdownlint-disable-line MD013 -->
Type: `false | (target: DeepMergeValueReference<Record<PropertyKey, unknown>>, values: Record<any, unknown>[], utils: DeepMergeUtils, meta: MetaData) => void | symbol` <!-- markdownlint-disable-line MD013 -->

If `false`, records won't be merged. If set to a function, that function will be used to merge records by mutating
`target.value`.
Expand Down
24 changes: 12 additions & 12 deletions src/deepmerge.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import {
import * as defaultMergeFunctions from "./defaults/vanilla";
import {
type DeepMergeBuiltInMetaData,
type DeepMergeFunctionUtils,
type DeepMergeFunctionsDefaultURIs,
type DeepMergeFunctionsURIs,
type DeepMergeHKT,
type DeepMergeOptions,
type DeepMergeUtils,
type GetDeepMergeFunctionsURIs,
} from "./types";
import { ObjectType, getObjectType } from "./utils";
Expand Down Expand Up @@ -80,7 +80,7 @@ export function deepmergeCustom<
...objects: Ts
) => DeepMergeHKT<Ts, GetDeepMergeFunctionsURIs<PMF>, MetaData>;

const utils: DeepMergeFunctionUtils<MetaData, MetaMetaData> = getUtils(
const utils: DeepMergeUtils<MetaData, MetaMetaData> = getUtils(
options,
customizedDeepmerge as CustomizedDeepmerge,
);
Expand Down Expand Up @@ -111,8 +111,8 @@ function getUtils<
MM extends DeepMergeBuiltInMetaData = DeepMergeBuiltInMetaData,
>(
options: DeepMergeOptions<M, MM>,
customizedDeepmerge: DeepMergeFunctionUtils<M, MM>["deepmerge"],
): DeepMergeFunctionUtils<M, MM> {
customizedDeepmerge: DeepMergeUtils<M, MM>["deepmerge"],
): DeepMergeUtils<M, MM> {
return {
defaultMergeFunctions,
mergeFunctions: {
Expand All @@ -126,9 +126,9 @@ function getUtils<
: [key, option],
),
),
} as DeepMergeFunctionUtils<M, MM>["mergeFunctions"],
} as DeepMergeUtils<M, MM>["mergeFunctions"],
metaDataUpdater: (options.metaDataUpdater ??
defaultMetaDataUpdater) as unknown as DeepMergeFunctionUtils<
defaultMetaDataUpdater) as unknown as DeepMergeUtils<
M,
MM
>["metaDataUpdater"],
Expand All @@ -149,7 +149,7 @@ function getUtils<
*/
export function mergeUnknowns<
Ts extends ReadonlyArray<unknown>,
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
Fs extends DeepMergeFunctionsURIs,
M,
MM extends DeepMergeBuiltInMetaData = DeepMergeBuiltInMetaData,
Expand Down Expand Up @@ -234,7 +234,7 @@ export function mergeUnknowns<
* @param values - The records.
*/
function mergeRecords<
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
Fs extends DeepMergeFunctionsURIs,
M,
MM extends DeepMergeBuiltInMetaData = DeepMergeBuiltInMetaData,
Expand Down Expand Up @@ -270,7 +270,7 @@ function mergeRecords<
* @param values - The arrays.
*/
function mergeArrays<
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
M,
MM extends DeepMergeBuiltInMetaData = DeepMergeBuiltInMetaData,
>(
Expand Down Expand Up @@ -298,7 +298,7 @@ function mergeArrays<
* @param values - The sets.
*/
function mergeSets<
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
M,
MM extends DeepMergeBuiltInMetaData = DeepMergeBuiltInMetaData,
>(
Expand All @@ -325,7 +325,7 @@ function mergeSets<
* @param values - The maps.
*/
function mergeMaps<
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
M,
MM extends DeepMergeBuiltInMetaData = DeepMergeBuiltInMetaData,
>(
Expand All @@ -352,7 +352,7 @@ function mergeMaps<
* @param values - The other things.
*/
function mergeOthers<
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
M,
MM extends DeepMergeBuiltInMetaData = DeepMergeBuiltInMetaData,
>(values: ReadonlyArray<unknown>, utils: U, meta: M | undefined) {
Expand Down
4 changes: 2 additions & 2 deletions src/defaults/vanilla.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import { mergeUnknowns } from "../deepmerge";
import {
type DeepMergeArraysDefaultHKT,
type DeepMergeBuiltInMetaData,
type DeepMergeFunctionUtils,
type DeepMergeFunctionsURIs,
type DeepMergeMapsDefaultHKT,
type DeepMergeRecordsDefaultHKT,
type DeepMergeSetsDefaultHKT,
type DeepMergeUtils,
} from "../types";
import { getIterableOfIterables, getKeys, objectHasProperty } from "../utils";

Expand All @@ -29,7 +29,7 @@ export type MergeFunctions = {
*/
export function mergeRecords<
Ts extends ReadonlyArray<Record<PropertyKey, unknown>>,
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
Fs extends DeepMergeFunctionsURIs,
M,
MM extends DeepMergeBuiltInMetaData = DeepMergeBuiltInMetaData,
Expand Down
2 changes: 1 addition & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export type {
DeepMergeFunctionsDefaultURIs,
DeepMergeFunctionsURIs,
DeepMergeFunctionURItoKind,
DeepMergeFunctionUtils,
DeepMergeUtils,
DeepMergeIntoFunctionUtils,
DeepMergeOptions,
DeepMergeIntoOptions,
Expand Down
12 changes: 6 additions & 6 deletions src/types/options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ type DeepMergeFunctions<
> = Readonly<{
mergeRecords: <
Ts extends ReadonlyArray<Readonly<Record<PropertyKey, unknown>>>,
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
>(
values: Ts,
utils: U,
Expand All @@ -92,7 +92,7 @@ type DeepMergeFunctions<

mergeArrays: <
Ts extends ReadonlyArray<ReadonlyArray<unknown>>,
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
>(
values: Ts,
utils: U,
Expand All @@ -101,7 +101,7 @@ type DeepMergeFunctions<

mergeMaps: <
Ts extends ReadonlyArray<Readonly<ReadonlyMap<unknown, unknown>>>,
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
>(
values: Ts,
utils: U,
Expand All @@ -110,7 +110,7 @@ type DeepMergeFunctions<

mergeSets: <
Ts extends ReadonlyArray<Readonly<ReadonlySet<unknown>>>,
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
>(
values: Ts,
utils: U,
Expand All @@ -119,7 +119,7 @@ type DeepMergeFunctions<

mergeOthers: <
Ts extends ReadonlyArray<unknown>,
U extends DeepMergeFunctionUtils<M, MM>,
U extends DeepMergeUtils<M, MM>,
>(
values: Ts,
utils: U,
Expand Down Expand Up @@ -191,7 +191,7 @@ type DeepMergeIntoFunctions<
/**
* The utils provided to the merge functions.
*/
export type DeepMergeFunctionUtils<
export type DeepMergeUtils<
in out M,
MM extends DeepMergeBuiltInMetaData = DeepMergeBuiltInMetaData,
> = Readonly<{
Expand Down

0 comments on commit b946627

Please sign in to comment.