Skip to content

Commit 906cd6e

Browse files
committed
chore: update
1 parent bdb9236 commit 906cd6e

File tree

1 file changed

+35
-30
lines changed

1 file changed

+35
-30
lines changed

src/page-objects/ListPageObject.ts

Lines changed: 35 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -170,41 +170,46 @@ export class ListPageObject<
170170
*
171171
* Use `for await...of` or `await list.getAll()` — not synchronous `for...of`.
172172
*/
173-
get items(): Record<number, TItem> & AsyncIterable<TItem> & {
174-
at(index: number): TItem;
175-
} {
173+
get items(): Record<number, TItem> &
174+
AsyncIterable<TItem> & {
175+
at(index: number): TItem;
176+
} {
176177
const self = this;
177178

178-
const proxy = new Proxy({} as Record<number, TItem> & AsyncIterable<TItem>, {
179-
get: (target, prop) => {
180-
if (prop === "at") {
181-
return (index: number) => self.getItemByIndex(index);
182-
}
183-
if (prop === Symbol.asyncIterator) {
184-
return async function* () {
185-
const count = await self.count();
186-
for (let i = 0; i < count; i++) {
187-
yield self.getItemByIndex(i);
179+
const proxy = new Proxy(
180+
{} as Record<number, TItem> & AsyncIterable<TItem>,
181+
{
182+
get: (target, prop) => {
183+
if (prop === "at") {
184+
return (index: number) => self.getItemByIndex(index);
185+
}
186+
if (prop === Symbol.asyncIterator) {
187+
return async function* () {
188+
const count = await self.count();
189+
for (let i = 0; i < count; i++) {
190+
yield self.getItemByIndex(i);
191+
}
192+
};
193+
}
194+
if (prop === Symbol.iterator) {
195+
throw new Error(
196+
"list.items is not synchronously iterable. Use `for await...of` or `await list.getAll()`.",
197+
);
198+
}
199+
if (typeof prop === "string" || typeof prop === "number") {
200+
const index = Number(prop);
201+
if (!Number.isNaN(index)) {
202+
return self.getItemByIndex(index);
188203
}
189-
};
190-
}
191-
if (prop === Symbol.iterator) {
192-
throw new Error(
193-
"list.items is not synchronously iterable. Use `for await...of` or `await list.getAll()`.",
194-
);
195-
}
196-
if (typeof prop === "string" || typeof prop === "number") {
197-
const index = Number(prop);
198-
if (!Number.isNaN(index)) {
199-
return self.getItemByIndex(index);
200204
}
201-
}
202-
return Reflect.get(target, prop);
205+
return Reflect.get(target, prop);
206+
},
203207
},
204-
});
205-
return proxy as Record<number, TItem> & AsyncIterable<TItem> & {
206-
at(index: number): TItem;
207-
};
208+
);
209+
return proxy as Record<number, TItem> &
210+
AsyncIterable<TItem> & {
211+
at(index: number): TItem;
212+
};
208213
}
209214

210215
/**

0 commit comments

Comments
 (0)