1.1.1 • Published 1 year ago

@abozhilov/set-utils v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@abozhilov/set-utils - v1.0.0

Utility library for working with the built-in Set.

Written in TypeScript.

Installation

npm

    npm install @abozhilov/set-utils

yarn

    yarn add @abozhilov/set-utils

Table of contents

Functions

Functions

isSubset

isSubset<Т>(setA, setB): boolean

Checks whether setA is a subset of setB. The operation is denoted by setA ⊆ setB.

  assert.equal(
      isSubset(new Set([1, 2]), new Set([1, 2, 3])),
      true
  );

Type parameters

Name
Т

Parameters

NameType
setASet<Т>
setBSet<Т>

Returns

boolean

Defined in

index.ts:12


isStrictSubset

isStrictSubset<Т>(setA, setB): boolean

Checks whether setA is a strict (proper) subset of setB. The operation is denoted by setA ⊂ setB.

 assert.equal(
     isStrictSubset(new Set([1, 2]), new Set([1, 2, 3])),
     true
 );
 assert.equal(
     isStrictSubset(new Set([1, 2]), new Set([1, 2])),
     false
 );

Type parameters

Name
Т

Parameters

NameType
setASet<Т>
setBSet<Т>

Returns

boolean

Defined in

index.ts:41


isSuperset

isSuperset<T>(setA, setB): boolean

Checks whether setA is a superset of setB. The operation is denoted by setA ⊇ setB.

  assert.equal(
      isSuperset(new Set([1, 2, 3]), new Set([1, 2])),
      true
  );

Type parameters

Name
T

Parameters

NameType
setASet<T>
setBSet<T>

Returns

boolean

Defined in

index.ts:60


isStrictSuperset

isStrictSuperset<T>(setA, setB): boolean

Checks whether setA is a strict (proper) superset of setB. The operation is denoted by setA ⊃ setB.

 assert.equal(
     isStrictSuperset(new Set([1, 2, 3]), new Set([1, 2])),
     true
 );
 assert.equal(
     isStrictSuperset(new Set([1, 2]), new Set([1, 2])),
     false
 );

Type parameters

Name
T

Parameters

NameType
setASet<T>
setBSet<T>

Returns

boolean

Defined in

index.ts:82


isEqual

isEqual<T>(setA, setB): boolean

Checks whether setA is structurally equal to setB.

 assert.equal(
     isEqual(new Set([1, 2, 3]), new Set([2, 3, 1])),
     true
 );
 assert.equal(
     isEqual(new Set([1, 2, 3]), new Set([1, 2])),
     false
 );

Type parameters

Name
T

Parameters

NameType
setASet<T>
setBSet<T>

Returns

boolean

Defined in

index.ts:103


union

union<T>(setA, setB, ...restSets): Set<T>

Returns new set which contains all elements from each set. The operation is denoted by setA ⋃ setB.

   assert.deepEqual(
       union(new Set([1, 2]), new Set([3, 4])),
       new Set([1, 2, 3, 4])
   );
   assert.deepEqual(
       union(new Set([1, 2]), new Set([3, 4]), new Set([5, 6])),
       new Set([1, 2, 3, 4, 5, 6])
   );

Type parameters

Name
T

Parameters

NameType
setASet<T>
setBSet<T>
...restSetsSet<T>[]

Returns

Set<T>

Defined in

index.ts:129


intersect

intersect<T>(setA, setB, ...sets): Set<T>

Returns a new set with all elements of setA that also belongs to setB. The operation is denoted by setA ⋂ setB.

   assert.deepEqual(
       intersect(new Set([1, 2, 3]), new Set([2, 3, 4])),
       new Set([2, 3])
   );
   assert.deepEqual(
       intersect(new Set([1, 2, 3]), new Set([2, 3, 4]), new Set([2, 3, 5])),
       new Set([2, 3])
   );

Type parameters

Name
T

Parameters

NameType
setASet<T>
setBSet<T>
...setsSet<T>[]

Returns

Set<T>

Defined in

index.ts:163


difference

difference<T>(setA, setB, ...sets): Set<T>

Returns a new set with all elements of setA that not belongs to setB. The operation is denoted by setA \ setB.

   assert.deepEqual(
       difference(new Set([1, 2, 3]), new Set([3, 4, 5])),
       new Set([1, 2])
   );
   assert.deepEqual(
       difference(new Set([1, 2, 3, 4, 5]), new Set([3, 4]), new Set([4, 5])),
       new Set([1, 2])
   );

Type parameters

Name
T

Parameters

NameType
setASet<T>
setBSet<T>
...setsSet<T>[]

Returns

Set<T>

Defined in

index.ts:202


symmetricDifference

symmetricDifference<T>(setA, setB, ...sets): Set<T>

Returns a new set with all elements of setA that not belongs to setB and vice versa. The operation is denoted by setA ∆ setB.

   assert.deepEqual(
       symmetricDifference(new Set([1, 2, 3]), new Set([3, 4, 5])),
       new Set([1, 2, 4, 5])
   );
   assert.deepEqual(
       symmetricDifference(new Set([1, 2, 3, 4]), new Set([3, 4, 5, 6]), new Set([4, 5, 7])),
       new Set([1, 2, 6, 7])
   );

Type parameters

Name
T

Parameters

NameType
setASet<T>
setBSet<T>
...setsSet<T>[]

Returns

Set<T>

Defined in

index.ts:241

1.1.1

1 year ago

1.1.0

1 year ago

1.0.0

2 years ago