Umama-at-Bluchip/Quick-UI
0
1'use strict'2 3exports.parse = parse4exports.stringify = stringify5 6var comma = ','7var space = ' '8var empty = ''9 10// Parse comma-separated tokens to an array.11function parse(value) {12 var values = []13 var input = String(value || empty)14 var index = input.indexOf(comma)15 var lastIndex = 016 var end = false17 var val18 19 while (!end) {20 if (index === -1) {21 index = input.length22 end = true23 }24 25 val = input.slice(lastIndex, index).trim()26 27 if (val || !end) {28 values.push(val)29 }30 31 lastIndex = index + 132 index = input.indexOf(comma, lastIndex)33 }34 35 return values36}37 38// Compile an array to comma-separated tokens.39// `options.padLeft` (default: `true`) pads a space left of each token, and40// `options.padRight` (default: `false`) pads a space to the right of each token.41function stringify(values, options) {42 var settings = options || {}43 var left = settings.padLeft === false ? empty : space44 var right = settings.padRight ? space : empty45 46 // Ensure the last empty entry is seen.47 if (values[values.length - 1] === empty) {48 values = values.concat(empty)49 }50 51 return values.join(right + comma + left).trim()52}53 