From 5f8ea04cac866e50aa1c32e9b68f76fa71b84614 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Fri, 3 Jun 2022 15:30:02 +0200 Subject: [PATCH] Fix returned TS type on toArray() and consume() methods --- circular-buffer.d.ts | 6 +++--- fixed-deque.d.ts | 6 +++--- fixed-reverse-heap.d.ts | 6 +++--- fixed-stack.d.ts | 6 +++--- heap.d.ts | 22 +++++++++++----------- utils/types.d.ts | 2 ++ 6 files changed, 25 insertions(+), 23 deletions(-) diff --git a/circular-buffer.d.ts b/circular-buffer.d.ts index ec1fa4cb..15ce40c7 100644 --- a/circular-buffer.d.ts +++ b/circular-buffer.d.ts @@ -2,7 +2,7 @@ * Mnemonist CircularBuffer Typings * ================================= */ -import {IArrayLikeConstructor} from './utils/types'; +import {IArrayLikeConstructor, TypedArray} from './utils/types'; export default class CircularBuffer implements Iterable { @@ -23,12 +23,12 @@ export default class CircularBuffer implements Iterable { peekLast(): T | undefined; get(index: number): T | undefined; forEach(callback: (item: T, index: number, buffer: this) => void, scope?: any): void; - toArray(): Iterable; + toArray(): Array | TypedArray; values(): IterableIterator; entries(): IterableIterator<[number, T]>; [Symbol.iterator](): IterableIterator; inspect(): any; // Statics - static from(iterable: Iterable | {[key: string] : I}, ArrayClass: IArrayLikeConstructor, capacity?: number): CircularBuffer; + static from(iterable: Iterable | {[key: string]: I}, ArrayClass: IArrayLikeConstructor, capacity?: number): CircularBuffer; } diff --git a/fixed-deque.d.ts b/fixed-deque.d.ts index 6e6b9084..a08c861a 100644 --- a/fixed-deque.d.ts +++ b/fixed-deque.d.ts @@ -2,7 +2,7 @@ * Mnemonist FixedDeque Typings * ============================= */ -import {IArrayLikeConstructor} from './utils/types'; +import {IArrayLikeConstructor, TypedArray} from './utils/types'; export default class FixedDeque implements Iterable { @@ -23,12 +23,12 @@ export default class FixedDeque implements Iterable { peekLast(): T | undefined; get(index: number): T | undefined; forEach(callback: (item: T, index: number, buffer: this) => void, scope?: any): void; - toArray(): Iterable; + toArray(): Array | TypedArray; values(): IterableIterator; entries(): IterableIterator<[number, T]>; [Symbol.iterator](): IterableIterator; inspect(): any; // Statics - static from(iterable: Iterable | {[key: string] : I}, ArrayClass: IArrayLikeConstructor, capacity?: number): FixedDeque; + static from(iterable: Iterable | {[key: string]: I}, ArrayClass: IArrayLikeConstructor, capacity?: number): FixedDeque; } diff --git a/fixed-reverse-heap.d.ts b/fixed-reverse-heap.d.ts index 668c5564..091ce0c6 100644 --- a/fixed-reverse-heap.d.ts +++ b/fixed-reverse-heap.d.ts @@ -2,7 +2,7 @@ * Mnemonist FixedReverseHeap Typings * =================================== */ -import {IArrayLikeConstructor} from './utils/types'; +import {IArrayLikeConstructor, TypedArray} from './utils/types'; type HeapComparator = (a: T, b: T) => number; @@ -19,7 +19,7 @@ export default class FixedReverseHeap { // Methods clear(): void; push(item: T): number; - consume(): Iterable; - toArray(): Iterable; + consume(): Array | TypedArray; + toArray(): Array | TypedArray; inspect(): any; } diff --git a/fixed-stack.d.ts b/fixed-stack.d.ts index 99658534..ca14a5e5 100644 --- a/fixed-stack.d.ts +++ b/fixed-stack.d.ts @@ -2,7 +2,7 @@ * Mnemonist FixedStack Typings * ============================= */ -import {IArrayLikeConstructor} from './utils/types'; +import {IArrayLikeConstructor, TypedArray} from './utils/types'; export default class FixedStack implements Iterable { @@ -19,7 +19,7 @@ export default class FixedStack implements Iterable { pop(): T | undefined; peek(): T | undefined; forEach(callback: (item: T, index: number, stack: this) => void, scope?: any): void; - toArray(): Iterable; + toArray(): Array | TypedArray; values(): IterableIterator; entries(): IterableIterator<[number, T]>; [Symbol.iterator](): IterableIterator; @@ -29,7 +29,7 @@ export default class FixedStack implements Iterable { // Statics static from( - iterable: Iterable | {[key: string] : I}, + iterable: Iterable | {[key: string]: I}, ArrayClass: IArrayLikeConstructor, capacity?: number ): FixedStack; diff --git a/heap.d.ts b/heap.d.ts index cba7b4f4..0f80d64c 100644 --- a/heap.d.ts +++ b/heap.d.ts @@ -17,15 +17,15 @@ export default class Heap { push(item: T): number; peek(): T | undefined; pop(): T | undefined; - replace(item: T): T | undefined; - pushpop(item: T): T | undefined; + replace(item: T): T | undefined; + pushpop(item: T): T | undefined; toArray(): Array; consume(): Array; inspect(): any; // Statics static from( - iterable: Iterable | {[key: string] : I}, + iterable: Iterable | {[key: string]: I}, comparator?: HeapComparator ): Heap; } @@ -43,15 +43,15 @@ export class MinHeap { push(item: T): number; peek(): T | undefined; pop(): T | undefined; - replace(item: T): T | undefined; - pushpop(item: T): T | undefined; + replace(item: T): T | undefined; + pushpop(item: T): T | undefined; toArray(): Array; consume(): Array; inspect(): any; - + // Statics static from( - iterable: Iterable | {[key: string] : I}, + iterable: Iterable | {[key: string]: I}, comparator?: HeapComparator ): Heap; } @@ -69,15 +69,15 @@ export class MaxHeap { push(item: T): number; peek(): T | undefined; pop(): T | undefined; - replace(item: T): T | undefined; - pushpop(item: T): T | undefined; + replace(item: T): T | undefined; + pushpop(item: T): T | undefined; toArray(): Array; consume(): Array; inspect(): any; - + // Statics static from( - iterable: Iterable | {[key: string] : I}, + iterable: Iterable | {[key: string]: I}, comparator?: HeapComparator ): Heap; } diff --git a/utils/types.d.ts b/utils/types.d.ts index 1a199d66..7a5cb00d 100644 --- a/utils/types.d.ts +++ b/utils/types.d.ts @@ -14,3 +14,5 @@ export type ArrayLike = IArrayLike | ArrayBuffer; export interface IArrayLikeConstructor { new(...args: any[]): ArrayLike; } + +export type TypedArray = Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array; \ No newline at end of file