@worker-tools/middleware
Version:
A suite of standalone HTTP server middlewares for Worker Runtimes.
35 lines (33 loc) • 1.02 kB
text/typescript
const _arr = new WeakMap<AppendOnlyList<unknown>, unknown>();
export class AppendOnlyList<T> {
constructor() {
_arr.set(this, []);
}
get length(): number {
return (<T[]>_arr.get(this)!).length;
}
toString(): string {
return (<T[]>_arr.get(this)!).toString();
}
toLocaleString(): string {
return (<T[]>_arr.get(this)!).toLocaleString();
}
push(...items: T[]): number {
return (<T[]>_arr.get(this)!).push(...items);
}
entries(): IterableIterator<[number, T]> {
return (<T[]>_arr.get(this)!).entries()
}
keys(): IterableIterator<number> {
return (<T[]>_arr.get(this)!).keys()
}
values(): IterableIterator<T> {
return (<T[]>_arr.get(this)!).values()
}
[Symbol.iterator](): IterableIterator<T> {
return (<T[]>_arr.get(this)!)[Symbol.iterator]();
}
[Symbol.unscopables](): { copyWithin: boolean; entries: boolean; fill: boolean; find: boolean; findIndex: boolean; keys: boolean; values: boolean; } {
throw new Error('Method not implemented.');
}
}