diff --git a/incremental/common/src/KoalaProfiler.ts b/incremental/common/src/KoalaProfiler.ts index 3eba324d8ed29b526e06490aaf2573e77afbc55e..d7f31ea58db2234d3bcea51172d5dd2447850b46 100644 --- a/incremental/common/src/KoalaProfiler.ts +++ b/incremental/common/src/KoalaProfiler.ts @@ -131,9 +131,9 @@ export class KoalaProfiler { `layouts: ${this.layouts}`, `FPS: ${this.lastFPS}`, ) - KoalaProfiler.map?.forEach((set:Set, kind:int32) => { + KoalaProfiler.map ? KoalaProfiler.map!.forEach((set:Set, kind:int32) => { if (set.size > 0) array.push(kind + ":" + set.size) - }) + }) : undefined return array.join("\n") } diff --git a/incremental/common/src/MarkableQueue.ts b/incremental/common/src/MarkableQueue.ts index 99adf2fbd4a5540335fc21d4de58185d1d7bff5b..6f4090081e7752f8be723f2b5deaf524dff761ef 100644 --- a/incremental/common/src/MarkableQueue.ts +++ b/incremental/common/src/MarkableQueue.ts @@ -58,7 +58,8 @@ class DefaultQueue implements MarkableQueue { if (marker) { let block = this.first.getAndSet(marker) while (block !== marker) { - block.callback?.() + const callback = block.callback + if (callback != undefined) callback!() block = block.next.value! } } @@ -90,7 +91,8 @@ class ReversedQueue implements MarkableQueue { if (marker) { let block = marker.next.getAndSet(undefined) while (block) { - block!.callback?.() + const callback = block!.callback + if (callback != undefined) block!.callback!() block = block!.next.value } } diff --git a/incremental/common/src/math.ts b/incremental/common/src/math.ts index 8827d8d7b5e5b5268775bc36c557eb384f6db8f1..bf657ce67298c7fd760fb73213356306c34b20f5 100644 --- a/incremental/common/src/math.ts +++ b/incremental/common/src/math.ts @@ -68,7 +68,7 @@ export function parseNumber(str: string, name: string = "number", verify: boolea const value = asFloat64(str) if (verify) { const reverseStr = asString(value) - if (reverseStr !== undefined && reverseStr?.length == str.length && reverseStr == str) { + if (reverseStr !== undefined && (reverseStr ? reverseStr!.length : undefined) == str.length && reverseStr == str) { return value } } diff --git a/incremental/compat/src/arkts/observable.ts b/incremental/compat/src/arkts/observable.ts index 7a6cd65b33a309bd8c92a4909d0403695240f0a8..ae725fc224d1addf252cb8c99af35fa23a526149 100644 --- a/incremental/compat/src/arkts/observable.ts +++ b/incremental/compat/src/arkts/observable.ts @@ -58,7 +58,7 @@ export class ObservableHandler implements Observable { while (true) { const result = it.next() if (result.done) break - result.value?.onAccess() + result.value ? result.value!.onAccess() : undefined } } } @@ -73,7 +73,7 @@ export class ObservableHandler implements Observable { while (true) { const result = it.next() if (result.done) break - result.value?.onModify() + result.value ? result.value!.onModify() : undefined } } }) diff --git a/incremental/runtime/src/states/Disposable.ts b/incremental/runtime/src/states/Disposable.ts index 81bdb2c36c21b63a16429bfcb24018b1706ff172..e29e41b33c828143864a361b4c5c0b93d016dde8 100644 --- a/incremental/runtime/src/states/Disposable.ts +++ b/incremental/runtime/src/states/Disposable.ts @@ -34,7 +34,8 @@ export interface Disposable { export function disposeContentForward(array: ReadonlyArray) { const length = array.length for (let i = 0; i < length; i++) { - array[i]?.dispose() + const ith = array[i] + ith ? ith!.dispose() : undefined } } @@ -44,7 +45,8 @@ export function disposeContentForward(array: ReadonlyAr export function disposeContentBackward(array: ReadonlyArray) { let i = array.length while (0 < i--) { - array[i]?.dispose() + const ith = array[i] + ith ? ith!.dispose() : undefined } } @@ -55,6 +57,6 @@ export function disposeContent(it: IterableIterator>(state) if (change) return change.value - const copy = Array.from(find>(state, chunk.previous.value)?.value ?? array) + const found = find>(state, chunk.previous.value) + const copy = Array.from(found ? found!.value : array) chunk.map.set(state, new AtomicRef>(copy)) return copy } @@ -132,9 +133,9 @@ class Chunk { */ function find(state: Object, chunk?: Chunk): AtomicRef | undefined { while (chunk) { - const change = chunk?.get(state) + const change = chunk ? chunk!.get(state) : undefined if (change) return change - chunk = chunk?.previous.value + chunk = chunk ? chunk!.previous.value : undefined } return undefined } diff --git a/incremental/runtime/src/tree/IncrementalNode.ts b/incremental/runtime/src/tree/IncrementalNode.ts index 198c7073b04c8ac2f35d4151117be76768f5097e..1d03b3f879f3c12da4af593bef1c5d721c46557d 100644 --- a/incremental/runtime/src/tree/IncrementalNode.ts +++ b/incremental/runtime/src/tree/IncrementalNode.ts @@ -121,7 +121,7 @@ export class IncrementalNode implements Disposable, ReadonlyTreeNode { if (parent._child === this) { parent._child = next } - parent.onChildRemoved?.(this) + parent.onChildRemoved ? parent.onChildRemoved!(this) : undefined } } @@ -217,7 +217,7 @@ export class IncrementalNode implements Disposable, ReadonlyTreeNode { // TODO: this is to workaround ast dumper bug #24055 if (0) {} else {} - parent.onChildInserted?.(this) + parent.onChildInserted ? parent.onChildInserted!(this) : undefined } } }