Skip to content

Commit

Permalink
chore: be compitable to ts5.6
Browse files Browse the repository at this point in the history
  • Loading branch information
SoonIter committed Oct 9, 2024
1 parent 4586fd9 commit 6a14727
Showing 1 changed file with 20 additions and 5 deletions.
25 changes: 20 additions & 5 deletions packages/rspack/src/Compilation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si
*/
get namedChunkGroups() {
return createReadonlyMap<ChunkGroup>({
keys: (): IterableIterator<string> => {
keys: (): MapIterator<string> => {
const names = this.#inner.getNamedChunkGroupKeys();
return names[Symbol.iterator]();
},
Expand Down Expand Up @@ -1190,6 +1190,21 @@ BREAKING CHANGE: Asset processing hooks in Compilation has been merged into a si

export type EntryData = binding.JsEntryData;

/**
* Describes an {@link Iterator} produced by the runtime that inherits from the intrinsic `Iterator.prototype`.
*/
interface IteratorObject<T, TReturn = unknown, TNext = unknown>
extends Iterator<T, TReturn, TNext> {
[Symbol.iterator](): IteratorObject<T, TReturn, TNext>;
}

type BuiltinIteratorReturn = any;

interface MapIterator<T>
extends IteratorObject<T, BuiltinIteratorReturn, unknown> {
[Symbol.iterator](): MapIterator<T>;
}

export class Entries implements Map<string, EntryData> {
#data: binding.JsEntries;

Expand Down Expand Up @@ -1218,7 +1233,7 @@ export class Entries implements Map<string, EntryData> {
return this.#data.size;
}

entries(): IterableIterator<[string, binding.JsEntryData]> {
entries(): MapIterator<[string, binding.JsEntryData]> {
const self = this;
const keys = this.keys();
return {
Expand All @@ -1235,11 +1250,11 @@ export class Entries implements Map<string, EntryData> {
};
}

values(): IterableIterator<binding.JsEntryData> {
values(): MapIterator<binding.JsEntryData> {
return this.#data.values()[Symbol.iterator]();
}

[Symbol.iterator](): IterableIterator<[string, binding.JsEntryData]> {
[Symbol.iterator](): MapIterator<[string, binding.JsEntryData]> {
return this.entries();
}

Expand All @@ -1264,7 +1279,7 @@ export class Entries implements Map<string, EntryData> {
return this.#data.get(key);
}

keys(): IterableIterator<string> {
keys(): MapIterator<string> {
return this.#data.keys()[Symbol.iterator]();
}
}

0 comments on commit 6a14727

Please sign in to comment.