diff --git a/packages/core/src/render3/assert.ts b/packages/core/src/render3/assert.ts index b90245f85a..a8df759478 100644 --- a/packages/core/src/render3/assert.ts +++ b/packages/core/src/render3/assert.ts @@ -37,7 +37,7 @@ export function assertEqual( } export function assertLessThan(actual: T, expected: T, name: string) { - (actual < expected) && assertThrow(actual, expected, name, '>'); + (actual >= expected) && assertThrow(actual, expected, name, '<'); } export function assertNotNull(actual: T, name: string) { diff --git a/packages/core/src/render3/instructions.ts b/packages/core/src/render3/instructions.ts index d716d211ab..a3b54f4266 100644 --- a/packages/core/src/render3/instructions.ts +++ b/packages/core/src/render3/instructions.ts @@ -1878,8 +1878,8 @@ export function memory(index: number, value?: T): T { } function valueInData(data: any[], index: number, value?: T): T { - ngDevMode && assertDataInRange(index, data); if (value === undefined) { + ngDevMode && assertDataInRange(index, data); value = data[index]; } else { // We don't store any static data for local variables, so the first time @@ -1914,5 +1914,5 @@ function assertHasParent() { function assertDataInRange(index: number, arr?: any[]) { if (arr == null) arr = data; - assertLessThan(arr ? arr.length : 0, index, 'data.length'); + assertLessThan(index, arr ? arr.length : 0, 'data.length'); }