From ca33277ce257841bce2afa2b909ac6d5c48252c4 Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Thu, 12 Nov 2020 00:23:21 +0200 Subject: [PATCH 1/2] fix: Index for leading delimiters can get out of bounds if conditions are true for all elements --- src/nativescript-intl-common.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nativescript-intl-common.ts b/src/nativescript-intl-common.ts index 69ff5cc..0c71be6 100644 --- a/src/nativescript-intl-common.ts +++ b/src/nativescript-intl-common.ts @@ -184,7 +184,7 @@ export class DateTimeFormat implements intlDateTimeFormat { let result = []; let i = 0; // remove leading delimiters - while (patternOptions[i].patternValue === "" || patternOptions[i].isDateElement === false) { i++; } + while (i < patternOptionsLength && (patternOptions[i].patternValue === "" || patternOptions[i].isDateElement === false)) { i++; } for (i; i < patternOptionsLength; i++) { result.push(patternOptions[i].patternValue); } From 8eef27b88832aaff5572034a4c424259dc794c6c Mon Sep 17 00:00:00 2001 From: Dimitris - Rafail Katsampas Date: Thu, 12 Nov 2020 00:35:41 +0200 Subject: [PATCH 2/2] chore: Check element in such a way so that we can avoid undefined or null --- src/nativescript-intl-common.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nativescript-intl-common.ts b/src/nativescript-intl-common.ts index 0c71be6..440f324 100644 --- a/src/nativescript-intl-common.ts +++ b/src/nativescript-intl-common.ts @@ -184,7 +184,7 @@ export class DateTimeFormat implements intlDateTimeFormat { let result = []; let i = 0; // remove leading delimiters - while (i < patternOptionsLength && (patternOptions[i].patternValue === "" || patternOptions[i].isDateElement === false)) { i++; } + while (patternOptions[i] && (patternOptions[i].patternValue === "" || patternOptions[i].isDateElement === false)) { i++; } for (i; i < patternOptionsLength; i++) { result.push(patternOptions[i].patternValue); }