fix kvp splits on secure note mapping

This commit is contained in:
Kyle Spearrin 2019-01-18 23:42:03 -05:00
parent fa65b5637b
commit 50d242e53a
1 changed files with 21 additions and 10 deletions

View File

@ -210,28 +210,39 @@ export class LastPassCsvImporter extends BaseImporter implements Importer {
const dataObj: any = {};
extraParts.forEach((extraPart) => {
const fieldParts = extraPart.split(':');
if (fieldParts.length < 1 || this.isNullOrWhitespace(fieldParts[0]) ||
this.isNullOrWhitespace(fieldParts[1]) || fieldParts[0] === 'NoteType') {
if (this.isNullOrWhitespace(extraPart)) {
return;
}
let key: string = null;
let val: string = null;
const colonIndex = extraPart.indexOf(':');
if (colonIndex === -1) {
key = extraPart;
} else {
key = extraPart.substring(0, colonIndex);
if (extraPart.length > colonIndex) {
val = extraPart.substring(colonIndex + 1);
}
}
if (this.isNullOrWhitespace(key) || this.isNullOrWhitespace(val) || key === 'NoteType') {
return;
}
if (fieldParts[0] === 'Notes') {
if (key === 'Notes') {
if (!this.isNullOrWhitespace(notes)) {
notes += ('\n' + fieldParts[1]);
notes += ('\n' + val);
} else {
notes = fieldParts[1];
notes = val;
}
} else if (map.hasOwnProperty(fieldParts[0])) {
dataObj[map[fieldParts[0]]] = fieldParts[1];
} else if (map.hasOwnProperty(key)) {
dataObj[map[key]] = val;
} else {
if (!this.isNullOrWhitespace(notes)) {
notes += '\n';
} else {
notes = '';
}
notes += (fieldParts[0] + ': ' + fieldParts[1]);
notes += (key + ': ' + val);
}
});