diff --git a/vendors/knockout/src/subscribables/observableArray.js b/vendors/knockout/src/subscribables/observableArray.js index 592389c23..0f50e1c64 100644 --- a/vendors/knockout/src/subscribables/observableArray.js +++ b/vendors/knockout/src/subscribables/observableArray.js @@ -1,7 +1,7 @@ ko['observableArray'] = initialValues => { initialValues = initialValues || []; - if (typeof initialValues != 'object' || !('length' in initialValues)) + if (!Array.isArray(initialValues)) throw new Error("The argument passed when initializing an observable array must be an array, or null, or undefined."); return Object.setPrototypeOf(ko.observable(initialValues), ko['observableArray']['fn']).extend({'trackArrayChanges':true}); diff --git a/vendors/knockout/src/templating/templating.js b/vendors/knockout/src/templating/templating.js index 3f858fdd4..74eadb400 100644 --- a/vendors/knockout/src/templating/templating.js +++ b/vendors/knockout/src/templating/templating.js @@ -67,7 +67,7 @@ var renderedNodesArray = renderTemplateSource(makeTemplateSource(template, templateDocument)); // Loosely check result is an array of DOM nodes - if ((typeof renderedNodesArray.length != "number") || (renderedNodesArray.length > 0 && typeof renderedNodesArray[0].nodeType != "number")) + if (!Array.isArray(renderedNodesArray) || (renderedNodesArray.length > 0 && typeof renderedNodesArray[0].nodeType != "number")) throw new Error("Template engine must return an array of DOM nodes"); if (replaceChildren) {