in functions/src/project.ts [459:493]
arraysToMaps(obj: any, lowercase: string[] = []) {
const newobj: any = {};
Object.keys(obj).forEach(key => {
const arr = obj[key];
// Only sanitize if it's a non-empty
// array of strings.
if (
arr &&
arr.constructor === Array &&
arr.length > 0 &&
arr[0].constructor === String
) {
const map: any = {};
arr.forEach((item: any) => {
// If requested, lowercase the item
let itemKey;
if (lowercase.indexOf(key) >= 0) {
itemKey = item.toLowerCase();
} else {
itemKey = item;
}
map[itemKey] = true;
});
newobj[key] = map;
} else {
newobj[key] = obj[key];
}
});
return newobj;
}