diff --git a/packages/stdlib/src/structs/stack/index.ts b/packages/stdlib/src/structs/stack/index.ts index 611e750..39a30f6 100644 --- a/packages/stdlib/src/structs/stack/index.ts +++ b/packages/stdlib/src/structs/stack/index.ts @@ -110,7 +110,7 @@ export class Stack implements Iterable, AsyncIterable { * @returns {T[]} */ public toArray(): T[] { - return this.stack.slice(); + return this.stack.toReversed(); } /** @@ -119,7 +119,7 @@ export class Stack implements Iterable, AsyncIterable { * @returns {string} */ public toString() { - return this.stack.reverse().toString(); + return this.toArray().toString(); } /** @@ -128,7 +128,7 @@ export class Stack implements Iterable, AsyncIterable { * @returns {IterableIterator} */ public [Symbol.iterator]() { - return this.stack.reverse()[Symbol.iterator](); + return this.toArray()[Symbol.iterator](); } /** @@ -137,7 +137,7 @@ export class Stack implements Iterable, AsyncIterable { * @returns {AsyncIterableIterator} */ public async *[Symbol.asyncIterator]() { - for (const element of this.stack.reverse()) { + for (const element of this.toArray()) { yield element; } }