{"record":{"id":"b4f70abce1973d36","repo":"bettercap/bettercap","slug":"expected-identifier-to-be-an-array-start-e","errorCode":null,"errorMessage":"Expected '${identifier}' to be an array, [start, end].","messagePattern":"Expected '(.+?)' to be an array, \\[start, end\\]\\.","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"modules/ui/ui/vendor.js","lineNumber":23299,"sourceCode":"    if (!Array.isArray(value)) {\n        throw new Error(\"Expected '\" + identifier + \"' to be an array of strings.\");\n    }\n    for (var i = 0; i < value.length; i += 1) {\n        if (typeof value[i] !== 'string') {\n            throw new Error(\"Expected '\" + identifier + \"' to be an array of strings.\");\n        }\n    }\n}\nvar INTERPOLATION_BLACKLIST_REGEXPS = [\n    /^\\s*$/,\n    /[<>]/,\n    /^[{}]$/,\n    /&(#|[a-z])/i,\n    /^\\/\\//,\n];\nfunction assertInterpolationSymbols(identifier, value) {\n    if (value != null && !(Array.isArray(value) && value.length == 2)) {\n        throw new Error(\"Expected '\" + identifier + \"' to be an array, [start, end].\");\n    }\n    else if (value != null) {\n        var start_1 = value[0];\n        var end_1 = value[1];\n        // black list checking\n        INTERPOLATION_BLACKLIST_REGEXPS.forEach(function (regexp) {\n            if (regexp.test(start_1) || regexp.test(end_1)) {\n                throw new Error(\"['\" + start_1 + \"', '\" + end_1 + \"'] contains unusable interpolation symbol.\");\n            }\n        });\n    }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be","sourceCodeStart":23281,"sourceCodeEnd":23317,"githubUrl":"https://github.com/bettercap/bettercap/blob/8eca2820f3c41d2004434ed5a291d87462caeeb7/modules/ui/ui/vendor.js#L23281-L23317","documentation":"assertInterpolationSymbols validates custom interpolation delimiters (CompilerOptions.interpolation). It fires when the option is non-null but not exactly a 2-element array: Angular needs a [start, end] pair such as ['{{', '}}'] to replace the defaults, and any other shape (wrong length, non-array) is rejected.","triggerScenarios":"Thrown at modules/ui/ui/vendor.js:23299 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set interpolation to a two-element array like ['{{','}}'] or leave it undefined to use defaults","Check for accidental string assignment such as interpolation: '{{ }}'"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8eca2820f3c41d2004434ed5a291d87462caeeb7","analyzedAt":"2026-09-02T12:49:00.712Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T16:17:10.729Z"}