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