/* @flow */ "use strict" const _ = require("lodash") /** * Check whether the variable is an object and all it's properties are arrays of string values: * * ignoreProperties = { * value1: ["item11", "item12", "item13"], * value2: ["item21", "item22", "item23"], * value3: ["item31", "item32", "item33"], * } */ module.exports = function (value/*: Object*/)/*: boolean*/ { if (!_.isPlainObject(value)) { return false } return Object.keys(value).every(key => { if (!_.isArray(value[key])) { return false } // Make sure the array items are strings return value[key].every(item => _.isString(item)) }) }