was.js – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 ///////////////////////////////////////////////////////////////////////////
2 // Copyright (C) 2016 Wizardry and Steamworks - License: GNU GPLv3 //
3 ///////////////////////////////////////////////////////////////////////////
4 function wasCSVToArray(csv) {
5 var l = [];
6 var s = [];
7 var m = "";
8  
9 do {
10 var a = csv.charAt(0);
11 csv = csv.slice(1, csv.length);
12 if(a == ",") {
13 if(s[s.length-1] != '"') {
14 l.push(m);
15 m = "";
16 continue;
17 }
18 m += a;
19 continue;
20 }
21 if(a == '"' && csv.charAt(0) == a) {
22 m += a;
23 csv = csv.slice(1, csv.length);
24 continue;
25 }
26 if(a == '"') {
27 if(s[s.length-1] != a) {
28 s.push(a);
29 continue;
30 }
31 s.pop();
32 continue;
33 }
34 m += a;
35 } while(csv != "");
36  
37 l.push(m);
38  
39 return l;
40 }
41  
42 ///////////////////////////////////////////////////////////////////////////
43 // Copyright (C) 2016 Wizardry and Steamworks - License: GNU GPLv3 //
44 ///////////////////////////////////////////////////////////////////////////
45 function wasArrayToCSV(a) {
46 var csv = [];
47 for(var i=0; i<a.length; ++i) {
48 var cell = a[i].toString().replace('"', '""');
49 if(/"\s,\r\n/.test(cell)) {
50 csv[i] = '"' + cell + '"';
51 continue;
52 }
53 csv[i] = cell;
54 }
55 return csv.join();
56 }