var builder =
''
var builderKey =
''
var builderValue =
''
for (
var i =
0; i < message.length; i++) {
var c = message.charAt(i);
var nextStr = message.substring(i +
1);
var nextKvIndex = nextStr.indexOf(kvSeparator);
var nextFieldIndex = nextStr.indexOf(fieldSeparator);
var addValue = nextKvIndex < nextFieldIndex || nextStr ===
''
if (c === kvSeparator && builderKey ===
'') {
builderKey = builder;
builder =
'';
continue;
}
if (c === fieldSeparator && builderValue ===
'' && addValue) {
builderValue = builder;
builder =
'';
if (builderKey) {
var builderItem = {}
builderItem.key = builderKey
if (valuePackageRegexp && packageRegexp.exec(builderValue)) {
var vtemp = packageRegexp.exec(builderValue)
builderItem.value = vtemp[
1]
}
else {
builderItem.value = builderValue
}
arr.push(builderItem)
builderKey =
'';
builderValue =
'';
}
continue;
}
builder += c;
}
=====================================================
// const kvStr = message.split(fieldSeparator)
// kvStr.map(o => {
// const kvsIndex = o.indexOf(kvSeparator)
// const key = o.substring(0, kvsIndex)
// const value = o.substring(kvsIndex + 1)
// var item = {}
// if (key) {
// item.key = key
// if (valuePackageRegexp && packageRegexp.exec(value)) {
// var a = packageRegexp.exec(value)
// item.value = a[1]
// } else {
// item.value = value
// }
// arr.push(item)
// }
// })