Comparing version 0.2.0 to 0.2.1
@@ -1,3 +0,4 @@ | ||
var fs = require('fs'); | ||
var util = require('util'); | ||
const fs = require('fs'); | ||
const util = require('util'); | ||
const config = require('./config'); | ||
@@ -27,6 +28,9 @@ class CsvDB { | ||
var lines = input.split('\n'); | ||
const lines = input.split(config.lineSeparator); | ||
let fields; | ||
if (this.fields === null) { | ||
fields = lines.shift().split(';'); | ||
fields = lines | ||
.shift() | ||
.split(config.delimiter) | ||
.map(field => field.trim()); | ||
if (fields[fields.length -1] === '') { | ||
@@ -38,9 +42,9 @@ fields.pop(); | ||
} | ||
var result = []; | ||
const result = []; | ||
if (Array.isArray(lines) && lines.length > 0) { | ||
for (var i = 0; i < lines.length; i++) { | ||
for (let i = 0; i < lines.length; i++) { | ||
result[i] = {}; | ||
var cols = lines[i].split(';'); | ||
let cols = lines[i].split(config.delimiter); | ||
for (var j = 0; j < fields.length; j++) { | ||
for (let j = 0; j < fields.length; j++) { | ||
result[i][fields[j]] = cols[j]; | ||
@@ -57,3 +61,3 @@ } | ||
var result = this.transform(data); | ||
let result = this.transform(data); | ||
@@ -113,4 +117,4 @@ if (id) { | ||
flatten(input) { | ||
var result = []; | ||
var row = []; | ||
const result = []; | ||
let row = []; | ||
@@ -120,13 +124,13 @@ if (Array.isArray(input) && input.length > 0) { | ||
let fields = Object.keys(input[0]); | ||
result.push(fields.join(';') + ';'); | ||
result.push(fields.join(config.delimiter) + config.delimiter); | ||
for (var i = 0; i < input.length; i++) { | ||
for (let i = 0; i < input.length; i++) { | ||
row = []; | ||
for (var j = 0; j < fields.length; j++) { | ||
for (let j = 0; j < fields.length; j++) { | ||
row.push(input[i][fields[j]]); | ||
} | ||
result.push(row.join(';') + ';'); | ||
result.push(row.join(config.delimiter) + config.delimiter); | ||
} | ||
} | ||
return result.join('\n'); | ||
return result.join(config.lineSeparator); | ||
} | ||
@@ -142,3 +146,3 @@ | ||
existingContent = existingContent.map(item => { | ||
if (item.id === data[i].id.toString) { | ||
if (item.id === data[i].id.toString()) { | ||
return Object.assign(item, data[i]); | ||
@@ -171,3 +175,3 @@ } | ||
this.get().then(data => { | ||
for (var i = 0; i < data.length; i++) { | ||
for (let i = 0; i < data.length; i++) { | ||
if (data[i].id == id) { | ||
@@ -174,0 +178,0 @@ data.splice(i, 1) |
{ | ||
"name": "csv-db", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "Simple filebased database", | ||
@@ -13,6 +13,3 @@ "main": "index.js", | ||
}, | ||
"keywords": [ | ||
"csv", | ||
"database" | ||
], | ||
"keywords": ["csv", "database"], | ||
"author": { | ||
@@ -19,0 +16,0 @@ "name": "Sebastian Springer", |
@@ -24,2 +24,5 @@ # CSV based Database | ||
``` | ||
If you omit the second argument of the constructor, the property names will be read from the first line | ||
##Usage: | ||
@@ -26,0 +29,0 @@ ``` |
18402
462
92