Skip to content

Commit

Permalink
consistently renamed value to element (#42)
Browse files Browse the repository at this point in the history
  • Loading branch information
kubikowski authored Oct 28, 2022
1 parent a753c88 commit 531d4e6
Show file tree
Hide file tree
Showing 11 changed files with 30 additions and 30 deletions.
8 changes: 4 additions & 4 deletions src/comparisons/disjoint.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ export function disjoint<T, S extends ReadonlySet<T>>(...sets: S[]): boolean {
return true;
}

const allValues = new Set<T>(sets[0]);
const allElements = new Set<T>(sets[0]);
for (let index = 1; index < sets.length; index++) {
for (const value of sets[index]!) {
if (allValues.has(value)) {
for (const element of sets[index]!) {
if (allElements.has(element)) {
return false;
} else {
allValues.add(value);
allElements.add(element);
}
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/comparisons/equivalence.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ export function equivalence<T>(...sets: ReadonlySet<T>[]): boolean;

/**
* Sets are equivalent if they have the same cardinality,
* and there is a bijection between the values contained in each set.
* and there is a bijection between the elements contained in each set.
* Set equivalence is also commonly referred to as equals.
*
* Set equivalence is notated A ∼ B,
Expand All @@ -25,9 +25,9 @@ export function equivalence<T, S extends ReadonlySet<T>>(...sets: S[]): boolean
return false;
}

for (const value of sets[0]!) {
for (const element of sets[0]!) {
for (let index = 1; index < sets.length; index++) {
if (!sets[index]?.has(value)) {
if (!sets[index]?.has(element)) {
return false;
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/comparisons/proper-subset.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ export function properSubset<T, S extends ReadonlySet<T>>(...sets: S[]): boolean
return false;
}

for (const value of sets[0]!) {
for (const element of sets[0]!) {
for (let index = 1; index < sets.length; index++) {
if (!sets[index]?.has(value)) {
if (!sets[index]?.has(element)) {
return false;
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/comparisons/proper-superset.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ export function properSuperset<T, S extends ReadonlySet<T>>(...sets: S[]): boole
}

for (let index = 1; index < sets.length; index++) {
for (const value of sets[index]!) {
if (!sets[0]?.has(value)) {
for (const element of sets[index]!) {
if (!sets[0]?.has(element)) {
return false;
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/comparisons/subset.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ export function subset<T, S extends ReadonlySet<T>>(...sets: S[]): boolean {
return false;
}

for (const value of sets[0]!) {
for (const element of sets[0]!) {
for (let index = 1; index < sets.length; index++) {
if (!sets[index]?.has(value)) {
if (!sets[index]?.has(element)) {
return false;
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/comparisons/superset.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ export function superset<T, S extends ReadonlySet<T>>(...sets: S[]): boolean {
}

for (let index = 1; index < sets.length; index++) {
for (const value of sets[index]!) {
if (!sets[0]?.has(value)) {
for (const element of sets[index]!) {
if (!sets[0]?.has(element)) {
return false;
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/operations/difference.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ export function difference<T, S extends ReadonlySet<T>>(...sets: S[]): S {
const result = new Set<T>(sets[0]);

for (let index = 1; index < sets.length; index++) {
for (const value of sets[index]!) {
result.delete(value);
for (const element of sets[index]!) {
result.delete(element);
}
}

Expand Down
6 changes: 3 additions & 3 deletions src/operations/intersection.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ export function intersection<T, S extends ReadonlySet<T>>(...sets: S[]): S {
const result = new Set<T>(sets[0]);

for (let index = 1; index < sets.length; index++) {
for (const value of result) {
if (!sets[index]!.has(value)) {
result.delete(value);
for (const element of result) {
if (!sets[index]!.has(element)) {
result.delete(element);
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions src/operations/union.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ export function union<T, S extends ReadonlySet<T>>(...sets: S[]): S {
const result = new Set<T>(sets[0]);

for (let index = 1; index < sets.length; index++) {
for (const value of sets[index]!) {
result.add(value);
for (const element of sets[index]!) {
result.add(element);
}
}

Expand Down
14 changes: 7 additions & 7 deletions src/operations/xor.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ export function xor<T>(...sets: ReadonlySet<T>[]): ReadonlySet<T>;
*/
export function xor<T, S extends ReadonlySet<T>>(...sets: S[]): S {
const result = new Set<T>(sets[0]);
const reusedValues = new Set<T>();
const reusedElements = new Set<T>();

for (let index = 1; index < sets.length; index++) {
for (const value of sets[index]!) {
if (result.has(value)) {
result.delete(value);
reusedValues.add(value);
} else if (!reusedValues.has(value)) {
result.add(value);
for (const element of sets[index]!) {
if (result.has(element)) {
result.delete(element);
reusedElements.add(element);
} else if (!reusedElements.has(element)) {
result.add(element);
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/ordering/sort.function.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export function sort<T>(set: ReadonlySet<T>, compareFunction?: (a: T, b: T) => n
* of Set sort does not modify the original Set.
*
* Instead, it returns a new sorted Set
* with the same values contained in the original.
* with the same elements contained in the original.
*/
export function sort<T, S extends ReadonlySet<T>>(set: S, compareFunction?: (a: T, b: T) => number): S {
return new Set<T>(Array.from(set).sort(compareFunction)) as ReadonlySet<T> as S;
Expand Down

0 comments on commit 531d4e6

Please sign in to comment.