fixes AsyncMappedList

This commit is contained in:
Isaiah Becker-Mayer 2022-08-20 17:04:13 -04:00
parent 77f21f7a91
commit ebd8c0751a
2 changed files with 12 additions and 13 deletions

View File

@ -22,7 +22,7 @@ export class AsyncMappedList<F,T> extends BaseMappedList<F,T,Promise<T>> impleme
private _eventQueue: AsyncEvent<F>[] | null = null; private _eventQueue: AsyncEvent<F>[] | null = null;
private _flushing: boolean = false; private _flushing: boolean = false;
async onSubscribeFirst(): Promise<void> { onSubscribeFirst(): void {
this._sourceUnsubscribe = this._sourceList.subscribe(this); this._sourceUnsubscribe = this._sourceList.subscribe(this);
this._eventQueue = []; this._eventQueue = [];
this._mappedValues = []; this._mappedValues = [];
@ -31,7 +31,7 @@ export class AsyncMappedList<F,T> extends BaseMappedList<F,T,Promise<T>> impleme
this._eventQueue.push(new AddEvent(idx, item)); this._eventQueue.push(new AddEvent(idx, item));
idx += 1; idx += 1;
} }
await this._flush(); void this._flush();
} }
async _flush(): Promise<void> { async _flush(): Promise<void> {
@ -49,38 +49,38 @@ export class AsyncMappedList<F,T> extends BaseMappedList<F,T,Promise<T>> impleme
} }
} }
async onReset(): Promise<void> { onReset(): void {
if (this._eventQueue) { if (this._eventQueue) {
this._eventQueue.push(new ResetEvent()); this._eventQueue.push(new ResetEvent());
await this._flush(); void this._flush();
} }
} }
async onAdd(index: number, value: F): Promise<void> { onAdd(index: number, value: F): void {
if (this._eventQueue) { if (this._eventQueue) {
this._eventQueue.push(new AddEvent(index, value)); this._eventQueue.push(new AddEvent(index, value));
await this._flush(); void this._flush();
} }
} }
async onUpdate(index: number, value: F, params: any): Promise<void> { onUpdate(index: number, value: F, params: any): void {
if (this._eventQueue) { if (this._eventQueue) {
this._eventQueue.push(new UpdateEvent(index, value, params)); this._eventQueue.push(new UpdateEvent(index, value, params));
await this._flush(); void this._flush();
} }
} }
async onRemove(index: number): Promise<void> { onRemove(index: number): void {
if (this._eventQueue) { if (this._eventQueue) {
this._eventQueue.push(new RemoveEvent(index)); this._eventQueue.push(new RemoveEvent(index));
await this._flush(); void this._flush();
} }
} }
async onMove(fromIdx: number, toIdx: number): Promise<void> { onMove(fromIdx: number, toIdx: number): void {
if (this._eventQueue) { if (this._eventQueue) {
this._eventQueue.push(new MoveEvent(fromIdx, toIdx)); this._eventQueue.push(new MoveEvent(fromIdx, toIdx));
await this._flush(); void this._flush();
} }
} }

View File

@ -28,7 +28,6 @@ export class ApplyMap<K, V> extends BaseObservableMap<K, V> {
private _subscription?: SubscriptionHandle; private _subscription?: SubscriptionHandle;
private _apply?: Apply<K, V>; private _apply?: Apply<K, V>;
constructor(source: BaseObservableMap<K, V>, apply?: Apply<K, V>) { constructor(source: BaseObservableMap<K, V>, apply?: Apply<K, V>) {
super(); super();
this._source = source; this._source = source;