/**
* @typedef {Object} InputObject
*
* @property {string} text The input text whose labels are given
* @property {Array.<string>} labels Array of labels for the given text
* @memberof FastTextTools
*/
/**
* @typedef {Array.<InputObject>} InputData
* @memberof FastTextTools
*/
/**
* Converts a json array to a fastText readable labelled data
*
* @global
* @function generateLabelString
* @param {InputData} data - Data object containing labels and training data
* @param {object} config - Module config
*/
export default function labelGenerator(data, config) {
let finalData = ``;
/**
* [
* {
* text: 'Input String',
* labels: [ 'label1', 'label2' ]
* }
* ]
*/
for (let dataObject of data) {
let labels = '';
for (let label of dataObject.labels) {
labels += `__label__${label} `;
}
finalData += `${labels}${dataObject.text}\n`;
}
return finalData;
}