UNPKG

ts-data-forge

Version:

[![npm version](https://img.shields.io/npm/v/ts-data-forge.svg)](https://www.npmjs.com/package/ts-data-forge) [![npm downloads](https://img.shields.io/npm/dm/ts-data-forge.svg)](https://www.npmjs.com/package/ts-data-forge) [![License](https://img.shields.

113 lines 3.19 kB
/** * Checks if two arrays are equal by comparing their elements. * * @example * * ```ts * const numbers = [1, 2, 3] as const; * * const sameNumbers = [1, 2, 3] as const; * * const differentNumbers = [1, 2, 4] as const; * * assert.isTrue(Arr.eq(numbers, sameNumbers)); * * assert.isFalse(Arr.eq(numbers, differentNumbers)); * ``` */ export declare const eq: <E>(array1: readonly E[], array2: readonly E[], equality?: (a: E, b: E) => boolean) => boolean; /** * Alias for `eq`. * * @see {@link eq} */ export declare const equal: <E>(array1: readonly E[], array2: readonly E[], equality?: (a: E, b: E) => boolean) => boolean; /** * Checks if the first array is a subset of the second array. * * @example * * ```ts * const subset = [1, 2] as const; * * const superset = [1, 2, 3] as const; * * const notSubset = [2, 4] as const; * * assert.isTrue(Arr.isSubset(subset, superset)); * * assert.isFalse(Arr.isSubset(notSubset, superset)); * ``` */ export declare const isSubset: <E1 extends Primitive, E2 extends Primitive = E1>(array1: readonly E1[], array2: readonly E2[]) => boolean; /** * Checks if the first array is a superset of the second array. * * @example * * ```ts * const potentialSuperset = ['a', 'b', 'c'] as const; * * const subset = ['a', 'c'] as const; * * const notSuperset = ['a', 'd'] as const; * * assert.isTrue(Arr.isSuperset(potentialSuperset, subset)); * * assert.isFalse(Arr.isSuperset(subset, potentialSuperset)); * * assert.isFalse(Arr.isSuperset(potentialSuperset, notSuperset)); * ``` */ export declare const isSuperset: <E1 extends Primitive, E2 extends Primitive = E1>(array1: readonly E1[], array2: readonly E2[]) => boolean; /** * Returns the intersection of two arrays. * * @example * * ```ts * const refs = ['Ada', 'Alan', 'Grace'] as const; * * const attendees = ['Grace', 'Alan', 'Barbara'] as const; * * const both = Arr.setIntersection(refs, attendees); * * assert.deepStrictEqual(both, ['Alan', 'Grace']); * ``` */ export declare const setIntersection: <E1 extends Primitive, E2 extends Primitive = E1>(array1: readonly E1[], array2: readonly E2[]) => readonly (E1 & E2)[]; /** * Returns the set difference of two arrays (elements in first but not in second). * * @example * * ```ts * const baseline = [1, 2, 3, 4] as const; * * const removed = [2, 4] as const; * * const remaining = Arr.setDifference(baseline, removed); * * assert.deepStrictEqual(remaining, [1, 3]); * ``` */ export declare const setDifference: <E extends Primitive>(array1: readonly E[], array2: readonly E[]) => readonly E[]; /** * Returns the set difference of two sorted numeric arrays (optimized for sorted arrays). * * @example * * ```ts * const upcoming = [1, 3, 5, 7, 9] as const; * * const completed = [3, 4, 7] as const; * * const remaining = Arr.sortedNumSetDifference(upcoming, completed); * * const expected = [1, 5, 9] as const; * * assert.deepStrictEqual(remaining, expected); * ``` */ export declare const sortedNumSetDifference: <E extends number>(sortedList1: readonly E[], sortedList2: readonly E[]) => readonly E[]; //# sourceMappingURL=array-utils-set-op.d.mts.map