processSheet = function(data, multiseparator = ",") {
let rawColumnNames = Object.keys(data[0])
let safeColumnNames = safeQuestions(rawColumnNames)
let questions = {};
safeColumnNames.map((q, i) => {
let question = rawColumnNames[i]
let type = questionType(question, data, multiseparator)
questions[q] = {
id: q,
question,
data,
type,
domain: domain(question, data, type === "multi" ? multiseparator : false),
getDomain: function(d = data, multiselect = type === "multi") {
return domain(question, d, multiselect ? multiseparator : false)
},
getCounts: function(d = data, multiselect = type === "multi") {
return getCounts(question, d, multiselect ? multiseparator : false)
},
multiSplit: function(answer) {
return multiSplit(answer, multiseparator)
},
}
})
return { data, questions, multiseparator }
}