csv-sort 7.0.2 → 7.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,10 +3,6 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [7.0.2](https://github.com/codsen/codsen/compare/csv-sort@7.0.1...csv-sort@7.0.2) (2022-12-06)
7
-
8
- **Note:** Version bump only for package csv-sort
9
-
10
6
  ## 7.0.0 (2022-12-01)
11
7
 
12
8
  ### BREAKING CHANGES
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * @name csv-sort
3
3
  * @fileoverview Sort double-entry bookkeeping CSV from internet banking
4
- * @version 7.0.2
4
+ * @version 7.0.4
5
5
  * @author Roy Revelt, Codsen Ltd
6
6
  * @license MIT
7
7
  * {@link https://codsen.com/os/csv-sort/}
8
8
  */
9
9
 
10
- import B from"lodash.pull";import{splitEasy as O}from"csv-split-easy";import R from"currency.js";function E(i){return typeof i=="number"&&!isNaN(i)?!0:(i=(i||"").toString().trim(),i?!isNaN(+i):!1)}var N=["\u062F.\u0625","\u060B","L","\u058F","\u0192","Kz","$","\u0192","\u20BC","KM","\u09F3","\u043B\u0432",".\u062F.\u0628","FBu","$b","R$","\u0E3F","Nu.","P","p.","BZ$","FC","CHF","\xA5","\u20A1","\u20B1","K\u010D","Fdj","kr","RD$","\u062F\u062C","kr","Nfk","Br","\u039E","\u20AC","\u20BE","\u20B5","GH\u20B5","D","FG","Q","L","kn","G","Ft","Rp","\u20AA","\u20B9","\u0639.\u062F","\uFDFC","kr","J$","JD","\xA5","KSh","\u043B\u0432","\u17DB","CF","\u20A9","\u20A9","KD","\u043B\u0432","\u20AD","\u20A8","M","\u0141","Lt","Ls","LD","MAD","lei","Ar","\u0434\u0435\u043D","K","\u20AE","MOP$","UM","\u20A8","Rf","MK","RM","MT","\u20A6","C$","kr","\u20A8","\uFDFC","B/.","S/.","K","\u20B1","\u20A8","z\u0142","Gs","\uFDFC","\uFFE5","lei","\u0414\u0438\u043D.","\u20BD","R\u20A3","\uFDFC","\u20A8","\u062C.\u0633.","kr","\xA3","Le","S","Db","E","\u0E3F","SM","T","\u062F.\u062A","T$","\u20A4","\u20BA","TT$","NT$","TSh","\u20B4","USh","$U","\u043B\u0432","Bs","\u20AB","VT","WS$","FCFA","\u0243","CFA","\u20A3","\uFDFC","R","Z$"];function f(i){return E(i)||N.some(b=>E(i.replace(b,"").replace(/[,.]/g,"")))?"numeric":i.trim()?"text":"empty"}var T="7.0.2";var K=T;function _(i){let b=null,C=null;if(typeof i!="string")throw new TypeError(`csv-sort/csvSort(): [THROW_ID_01] The input is of a wrong type! We accept either string of array of arrays. We got instead: ${typeof i}, equal to:
10
+ import B from"lodash.pull";import{splitEasy as O}from"csv-split-easy";import R from"currency.js";function E(i){return typeof i=="number"&&!isNaN(i)?!0:(i=(i||"").toString().trim(),i?!isNaN(+i):!1)}var N=["\u062F.\u0625","\u060B","L","\u058F","\u0192","Kz","$","\u0192","\u20BC","KM","\u09F3","\u043B\u0432",".\u062F.\u0628","FBu","$b","R$","\u0E3F","Nu.","P","p.","BZ$","FC","CHF","\xA5","\u20A1","\u20B1","K\u010D","Fdj","kr","RD$","\u062F\u062C","kr","Nfk","Br","\u039E","\u20AC","\u20BE","\u20B5","GH\u20B5","D","FG","Q","L","kn","G","Ft","Rp","\u20AA","\u20B9","\u0639.\u062F","\uFDFC","kr","J$","JD","\xA5","KSh","\u043B\u0432","\u17DB","CF","\u20A9","\u20A9","KD","\u043B\u0432","\u20AD","\u20A8","M","\u0141","Lt","Ls","LD","MAD","lei","Ar","\u0434\u0435\u043D","K","\u20AE","MOP$","UM","\u20A8","Rf","MK","RM","MT","\u20A6","C$","kr","\u20A8","\uFDFC","B/.","S/.","K","\u20B1","\u20A8","z\u0142","Gs","\uFDFC","\uFFE5","lei","\u0414\u0438\u043D.","\u20BD","R\u20A3","\uFDFC","\u20A8","\u062C.\u0633.","kr","\xA3","Le","S","Db","E","\u0E3F","SM","T","\u062F.\u062A","T$","\u20A4","\u20BA","TT$","NT$","TSh","\u20B4","USh","$U","\u043B\u0432","Bs","\u20AB","VT","WS$","FCFA","\u0243","CFA","\u20A3","\uFDFC","R","Z$"];function f(i){return E(i)||N.some(b=>E(i.replace(b,"").replace(/[,.]/g,"")))?"numeric":i.trim()?"text":"empty"}var T="7.0.4";var K=T;function _(i){let b=null,C=null;if(typeof i!="string")throw new TypeError(`csv-sort/csvSort(): [THROW_ID_01] The input is of a wrong type! We accept either string of array of arrays. We got instead: ${typeof i}, equal to:
11
11
  ${JSON.stringify(i,null,4)}`);if(!i.trim())return{res:[[""]],msgContent:b,msgType:C};let n=O(i),s=[],d=!1,S=!0,v=[],o=null;for(let t=n.length-1;t>=0;t--)if(s.length){t===0&&(d=n[t].every(l=>f(l)==="text"||f(l)==="empty")),!d&&s.length!==n[t].length&&(S=!1);let e=null;for(let l=0,p=n[t].length;l<p;l++)if(e===null&&f(n[t][l].trim())==="empty"&&(e=l),e!==null&&f(n[t][l].trim())!=="empty"&&(e=null),f(n[t][l].trim())!==s[l]&&!d){let a=f(n[t][l].trim());if(Array.isArray(s[l]))s[l].includes(a)||s[l].push(f(n[t][l].trim()));else if(s[l]!==a){let u=s[l];s[l]=[],s[l].push(u),s[l].push(a)}}o!==null&&e!==null&&e>o&&(!d||d&&t!==0)&&(o=e)}else if(n[t].length!==1||n[t][0]!=="")for(let e=0,l=n[t].length;e<l;e++)s.push(f(n[t][e].trim())),o===null&&f(n[t][e].trim())==="empty"&&(o=e),o!==null&&f(n[t][e].trim())!=="empty"&&(o=null);o||(o=s.length);let w=0;for(let t=0,e=s.length;t<e&&s[t]==="empty";t++)w=t;w!==0&&(n=n.map(t=>t.slice(w+1,o)),s=s.slice(w+1,o));let V=[],m;s.forEach((t,e)=>{t==="numeric"&&V.push(e)});let k=d?1:0;if(V.length===1)m=V[0];else{if(V.length===0)throw new Error('csv-sort/csvSort(): [THROW_ID_03] Your CSV file does not contain numeric-only columns and computer was not able to detect the "Balance" column!');{let t=Array.from(V),e=[];for(let l=0,p=t.length;l<p;l++){let a=t[l],u,g=!0,$,h=!0;for(let c=k,I=n.length;c<I&&(g&&(u==null?u=n[c][a]:u===n[c][a]?(e.push(a),g=!1):u=n[c][a]),h&&($==null?$=n[c][a]:n[c][a]!==$&&(h=!1)),!!g);c++);h&&v.push(a)}if(t=B(t,...e),t.length===1)m=t[0];else if(t.length===0)throw new Error(`csv-sort/csvSort(): [THROW_ID_04] The computer can't find the "Balance" column! It saw some numeric-only columns, but they all seem to have certain rows with the same values as rows right below/above them!`)}}if(!m)throw new Error("csv-sort/csvSort(): [THROW_ID_05] Sadly computer couldn't find its way in this CSV and had to stop working on it.");let D=B(Array.from(s.reduce((t,e,l)=>((typeof e=="string"&&e==="numeric"||Array.isArray(e)&&e.includes("numeric"))&&t.push(l),t),[])),m,...v),r=[];r.push(n[n.length-1].slice(0,o));let y=[],x=d?1:0;for(let t=n.length-2;t>=x;t--)for(let e=n.length-2;e>=x;e--)if(!y.includes(e)){let l=!1;for(let p=0,a=D.length;p<a;p++){let u=null;n[e][D[p]]!==""&&(u=R(n[e][D[p]]));let g=null;n[e][m]!==""&&(g=R(n[e][m]));let $=null;r[0][m]!==""&&($=R(r[0][m]).format());let h=null;r[r.length-1][D[p]]!==""&&(h=R(r[r.length-1][D[p]]).format());let c=null;if(r[r.length-1][m]!==""&&(c=R(r[r.length-1][m])),u&&g.add(u).format()===$){r.unshift(n[e].slice(0,o)),y.push(e),l=!0;break}else if(u&&g.subtract(u).format()===$){r.unshift(n[e].slice(0,o)),y.push(e),l=!0;break}else if(h&&c.add(h).format()===g.format()){r.push(n[e].slice(0,o)),y.push(e),l=!0;break}else if(h&&c.subtract(h).format()===g.format()){r.push(n[e].slice(0,o)),y.push(e),l=!0;break}}if(l){l=!1;break}}return d&&(S&&n[0].length>s.length&&(n[0].length=s.length),r.unshift(n[0].slice(0,o))),n.length-(d?2:1)!==y.length&&(b="Not all rows were recognised!",C="alert"),{res:r,msgContent:b,msgType:C}}export{f as findType,E as isNumeric,_ as sort,K as version};
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @name csv-sort
3
3
  * @fileoverview Sort double-entry bookkeeping CSV from internet banking
4
- * @version 7.0.2
4
+ * @version 7.0.4
5
5
  * @author Roy Revelt, Codsen Ltd
6
6
  * @license MIT
7
7
  * {@link https://codsen.com/os/csv-sort/}
@@ -17,61 +17,61 @@ ${JSON.stringify(s,null,4)}`);if(N(this.ranges)&&Array.isArray(this.last())&&n==
17
17
  ${JSON.stringify(e,null,4)}`);if(t&&typeof t!="object")throw new TypeError(`string-remove-thousand-separators/remSep(): [THROW_ID_02] Options object must be a plain object! Currently it's: ${typeof t}, equal to:
18
18
  ${JSON.stringify(t,null,4)}`);let r=b(b({},Ar),t),i=(0,Ee.default)(e.trim(),'"');if(i==="")return i;if(+e>0&&+e<1)return e;let u=new ae;for(let l=0,o=i.length;l<o;l++){if(r.removeThousandSeparatorsFromNumbers&&i[l].trim()===""&&u.add(l,l+1),r.removeThousandSeparatorsFromNumbers&&i[l]==="'"&&(u.add(l,l+1),i[l+1]==="'")){s=!1;break}if(n.includes(i[l])){if(i[l+1]!==void 0&&/^\d$/.test(i[l+1]))if(i[l+2]!==void 0)if(/^\d$/.test(i[l+2]))if(i[l+3]!==void 0)if(/^\d$/.test(i[l+3])){if(i[l+4]!==void 0&&/^\d$/.test(i[l+4])){s=!1;break}else if(r.removeThousandSeparatorsFromNumbers&&u.add(l,l+1),!a)a=i[l];else if(i[l]!==a){s=!1;break}}else{s=!1;break}else r.removeThousandSeparatorsFromNumbers&&r.forceUKStyle&&i[l]===","&&u.add(l,l+1,".");else{s=!1;break}else r.forceUKStyle&&i[l]===","&&u.add(l,l+1,"."),r.padSingleDecimalPlaceNumbers&&u.add(l+2,l+2,"0")}else if(!/^\d$/.test(i[l])){s=!1;break}}return s&&u.current()?oe(i,u.current()):i}var xr={removeThousandSeparatorsFromNumbers:!0,padSingleDecimalPlaceNumbers:!0,forceUKStyle:!1};function Ne(e,t){let s=0,n=0,a=[],r=[],i=!1,u=!0;if(t&&typeof t!="object")throw new Error(`csv-split-easy/split(): [THROW_ID_02] Options object must be a plain object! Currently it's of a type ${typeof t} equal to:
19
19
  ${JSON.stringify(t,null,4)}`);let l=b(b({},xr),t);if(typeof e!="string")throw new TypeError(`csv-split-easy/split(): [THROW_ID_04] input must be string! Currently it's: ${typeof e}, equal to: ${JSON.stringify(e,null,4)}`);if(e==="")return[[""]];e=e.trim();for(let o=0,f=e.length;o<f;o++){if(u&&e[o]!=='"'&&e[o]!==","&&e[o].trim()!==""&&(u=!1),e[o]==='"')if(i&&e[o+1]==='"')o+=1;else if(i){i=!1;let p=e.slice(s,o);p.trim()!==""&&(u=!1);let y=/""/.test(p)?p.replace(/""/g,'"'):C(p,{removeThousandSeparatorsFromNumbers:l.removeThousandSeparatorsFromNumbers,padSingleDecimalPlaceNumbers:l.padSingleDecimalPlaceNumbers,forceUKStyle:l.forceUKStyle});a.push(y)}else i=!0,s=o+1;else if(!i&&e[o]===","){if(e[o-1]!=='"'&&!i){let p=e.slice(s,o);p.trim()!==""&&(u=!1),a.push(C(p,{removeThousandSeparatorsFromNumbers:l.removeThousandSeparatorsFromNumbers,padSingleDecimalPlaceNumbers:l.padSingleDecimalPlaceNumbers,forceUKStyle:l.forceUKStyle}))}s=o+1,n&&(n=0)}else if(e[o]===`
20
- `||e[o]==="\r"){if(!n){if(n=o,!i&&e[o-1]!=='"'){let p=e.slice(s,o);p.trim()!==""&&(u=!1),a.push(C(p,{removeThousandSeparatorsFromNumbers:l.removeThousandSeparatorsFromNumbers,padSingleDecimalPlaceNumbers:l.padSingleDecimalPlaceNumbers,forceUKStyle:l.forceUKStyle}))}u?a.length=0:r.push(a),u=!0,a=[]}s=o+1}else n&&(n=0,s=o);if(o+1===f){if(e[o]!=='"'){let p=e.slice(s,o+1);p.trim()&&(u=!1),a.push(C(p,{removeThousandSeparatorsFromNumbers:l.removeThousandSeparatorsFromNumbers,padSingleDecimalPlaceNumbers:l.padSingleDecimalPlaceNumbers,forceUKStyle:l.forceUKStyle}))}u?a=[]:r.push(a),u=!0}}return r.length===0?[[""]]:r}var A=k(De(),1);function j(e){return typeof e=="number"&&!isNaN(e)?!0:(e=(e||"").toString().trim(),e?!isNaN(+e):!1)}var Vr=["\u062F.\u0625","\u060B","L","\u058F","\u0192","Kz","$","\u0192","\u20BC","KM","\u09F3","\u043B\u0432",".\u062F.\u0628","FBu","$b","R$","\u0E3F","Nu.","P","p.","BZ$","FC","CHF","\xA5","\u20A1","\u20B1","K\u010D","Fdj","kr","RD$","\u062F\u062C","kr","Nfk","Br","\u039E","\u20AC","\u20BE","\u20B5","GH\u20B5","D","FG","Q","L","kn","G","Ft","Rp","\u20AA","\u20B9","\u0639.\u062F","\uFDFC","kr","J$","JD","\xA5","KSh","\u043B\u0432","\u17DB","CF","\u20A9","\u20A9","KD","\u043B\u0432","\u20AD","\u20A8","M","\u0141","Lt","Ls","LD","MAD","lei","Ar","\u0434\u0435\u043D","K","\u20AE","MOP$","UM","\u20A8","Rf","MK","RM","MT","\u20A6","C$","kr","\u20A8","\uFDFC","B/.","S/.","K","\u20B1","\u20A8","z\u0142","Gs","\uFDFC","\uFFE5","lei","\u0414\u0438\u043D.","\u20BD","R\u20A3","\uFDFC","\u20A8","\u062C.\u0633.","kr","\xA3","Le","S","Db","E","\u0E3F","SM","T","\u062F.\u062A","T$","\u20A4","\u20BA","TT$","NT$","TSh","\u20B4","USh","$U","\u043B\u0432","Bs","\u20AB","VT","WS$","FCFA","\u0243","CFA","\u20A3","\uFDFC","R","Z$"];function w(e){return j(e)||Vr.some(t=>j(e.replace(t,"").replace(/[,.]/g,"")))?"numeric":e.trim()?"text":"empty"}var Ie="7.0.2";var Fr=Ie;function _r(e){let t=null,s=null;if(typeof e!="string")throw new TypeError(`csv-sort/csvSort(): [THROW_ID_01] The input is of a wrong type! We accept either string of array of arrays. We got instead: ${typeof e}, equal to:
20
+ `||e[o]==="\r"){if(!n){if(n=o,!i&&e[o-1]!=='"'){let p=e.slice(s,o);p.trim()!==""&&(u=!1),a.push(C(p,{removeThousandSeparatorsFromNumbers:l.removeThousandSeparatorsFromNumbers,padSingleDecimalPlaceNumbers:l.padSingleDecimalPlaceNumbers,forceUKStyle:l.forceUKStyle}))}u?a.length=0:r.push(a),u=!0,a=[]}s=o+1}else n&&(n=0,s=o);if(o+1===f){if(e[o]!=='"'){let p=e.slice(s,o+1);p.trim()&&(u=!1),a.push(C(p,{removeThousandSeparatorsFromNumbers:l.removeThousandSeparatorsFromNumbers,padSingleDecimalPlaceNumbers:l.padSingleDecimalPlaceNumbers,forceUKStyle:l.forceUKStyle}))}u?a=[]:r.push(a),u=!0}}return r.length===0?[[""]]:r}var A=k(De(),1);function j(e){return typeof e=="number"&&!isNaN(e)?!0:(e=(e||"").toString().trim(),e?!isNaN(+e):!1)}var Vr=["\u062F.\u0625","\u060B","L","\u058F","\u0192","Kz","$","\u0192","\u20BC","KM","\u09F3","\u043B\u0432",".\u062F.\u0628","FBu","$b","R$","\u0E3F","Nu.","P","p.","BZ$","FC","CHF","\xA5","\u20A1","\u20B1","K\u010D","Fdj","kr","RD$","\u062F\u062C","kr","Nfk","Br","\u039E","\u20AC","\u20BE","\u20B5","GH\u20B5","D","FG","Q","L","kn","G","Ft","Rp","\u20AA","\u20B9","\u0639.\u062F","\uFDFC","kr","J$","JD","\xA5","KSh","\u043B\u0432","\u17DB","CF","\u20A9","\u20A9","KD","\u043B\u0432","\u20AD","\u20A8","M","\u0141","Lt","Ls","LD","MAD","lei","Ar","\u0434\u0435\u043D","K","\u20AE","MOP$","UM","\u20A8","Rf","MK","RM","MT","\u20A6","C$","kr","\u20A8","\uFDFC","B/.","S/.","K","\u20B1","\u20A8","z\u0142","Gs","\uFDFC","\uFFE5","lei","\u0414\u0438\u043D.","\u20BD","R\u20A3","\uFDFC","\u20A8","\u062C.\u0633.","kr","\xA3","Le","S","Db","E","\u0E3F","SM","T","\u062F.\u062A","T$","\u20A4","\u20BA","TT$","NT$","TSh","\u20B4","USh","$U","\u043B\u0432","Bs","\u20AB","VT","WS$","FCFA","\u0243","CFA","\u20A3","\uFDFC","R","Z$"];function w(e){return j(e)||Vr.some(t=>j(e.replace(t,"").replace(/[,.]/g,"")))?"numeric":e.trim()?"text":"empty"}var Ie="7.0.4";var Fr=Ie;function _r(e){let t=null,s=null;if(typeof e!="string")throw new TypeError(`csv-sort/csvSort(): [THROW_ID_01] The input is of a wrong type! We accept either string of array of arrays. We got instead: ${typeof e}, equal to:
21
21
  ${JSON.stringify(e,null,4)}`);if(!e.trim())return{res:[[""]],msgContent:t,msgType:s};let n=Ne(e),a=[],r=!1,i=!0,u=[],l=null;for(let c=n.length-1;c>=0;c--)if(a.length){c===0&&(r=n[c].every(m=>w(m)==="text"||w(m)==="empty")),!r&&a.length!==n[c].length&&(i=!1);let g=null;for(let m=0,S=n[c].length;m<S;m++)if(g===null&&w(n[c][m].trim())==="empty"&&(g=m),g!==null&&w(n[c][m].trim())!=="empty"&&(g=null),w(n[c][m].trim())!==a[m]&&!r){let $=w(n[c][m].trim());if(Array.isArray(a[m]))a[m].includes($)||a[m].push(w(n[c][m].trim()));else if(a[m]!==$){let T=a[m];a[m]=[],a[m].push(T),a[m].push($)}}l!==null&&g!==null&&g>l&&(!r||r&&c!==0)&&(l=g)}else if(n[c].length!==1||n[c][0]!=="")for(let g=0,m=n[c].length;g<m;g++)a.push(w(n[c][g].trim())),l===null&&w(n[c][g].trim())==="empty"&&(l=g),l!==null&&w(n[c][g].trim())!=="empty"&&(l=null);l||(l=a.length);let o=0;for(let c=0,g=a.length;c<g&&a[c]==="empty";c++)o=c;o!==0&&(n=n.map(c=>c.slice(o+1,l)),a=a.slice(o+1,l));let f=[],p;a.forEach((c,g)=>{c==="numeric"&&f.push(g)});let y=r?1:0;if(f.length===1)p=f[0];else{if(f.length===0)throw new Error('csv-sort/csvSort(): [THROW_ID_03] Your CSV file does not contain numeric-only columns and computer was not able to detect the "Balance" column!');{let c=Array.from(f),g=[];for(let m=0,S=c.length;m<S;m++){let $=c[m],T,R=!0,I,O=!0;for(let v=y,Ae=n.length;v<Ae&&(R&&(T==null?T=n[v][$]:T===n[v][$]?(g.push($),R=!1):T=n[v][$]),O&&(I==null?I=n[v][$]:n[v][$]!==I&&(O=!1)),!!R);v++);O&&u.push($)}if(c=(0,G.default)(c,...g),c.length===1)p=c[0];else if(c.length===0)throw new Error(`csv-sort/csvSort(): [THROW_ID_04] The computer can't find the "Balance" column! It saw some numeric-only columns, but they all seem to have certain rows with the same values as rows right below/above them!`)}}if(!p)throw new Error("csv-sort/csvSort(): [THROW_ID_05] Sadly computer couldn't find its way in this CSV and had to stop working on it.");let h=(0,G.default)(Array.from(a.reduce((c,g,m)=>((typeof g=="string"&&g==="numeric"||Array.isArray(g)&&g.includes("numeric"))&&c.push(m),c),[])),p,...u),d=[];d.push(n[n.length-1].slice(0,l));let E=[],F=r?1:0;for(let c=n.length-2;c>=F;c--)for(let g=n.length-2;g>=F;g--)if(!E.includes(g)){let m=!1;for(let S=0,$=h.length;S<$;S++){let T=null;n[g][h[S]]!==""&&(T=(0,A.default)(n[g][h[S]]));let R=null;n[g][p]!==""&&(R=(0,A.default)(n[g][p]));let I=null;d[0][p]!==""&&(I=(0,A.default)(d[0][p]).format());let O=null;d[d.length-1][h[S]]!==""&&(O=(0,A.default)(d[d.length-1][h[S]]).format());let v=null;if(d[d.length-1][p]!==""&&(v=(0,A.default)(d[d.length-1][p])),T&&R.add(T).format()===I){d.unshift(n[g].slice(0,l)),E.push(g),m=!0;break}else if(T&&R.subtract(T).format()===I){d.unshift(n[g].slice(0,l)),E.push(g),m=!0;break}else if(O&&v.add(O).format()===R.format()){d.push(n[g].slice(0,l)),E.push(g),m=!0;break}else if(O&&v.subtract(O).format()===R.format()){d.push(n[g].slice(0,l)),E.push(g),m=!0;break}}if(m){m=!1;break}}return r&&(i&&n[0].length>a.length&&(n[0].length=a.length),d.unshift(n[0].slice(0,l))),n.length-(r?2:1)!==E.length&&(t="Not all rows were recognised!",s="alert"),{res:d,msgContent:t,msgType:s}}return We(jr);})();
22
22
  /**
23
- * @name csv-split-easy
24
- * @fileoverview Splits the CSV string into array of arrays, each representing a row of columns
25
- * @version 7.0.2
26
- * @author Roy Revelt, Codsen Ltd
27
- * @license MIT
28
- * {@link https://codsen.com/os/csv-split-easy/}
29
- */
30
- /**
31
- * @name ranges-apply
32
- * @fileoverview Take an array of string index ranges, delete/replace the string according to them
33
- * @version 7.0.2
23
+ * @name ranges-sort
24
+ * @fileoverview Sort string index ranges
25
+ * @version 6.0.4
34
26
  * @author Roy Revelt, Codsen Ltd
35
27
  * @license MIT
36
- * {@link https://codsen.com/os/ranges-apply/}
28
+ * {@link https://codsen.com/os/ranges-sort/}
37
29
  */
38
30
  /**
39
31
  * @name ranges-merge
40
32
  * @fileoverview Merge and sort string index ranges
41
- * @version 9.0.2
33
+ * @version 9.0.4
42
34
  * @author Roy Revelt, Codsen Ltd
43
35
  * @license MIT
44
36
  * {@link https://codsen.com/os/ranges-merge/}
45
37
  */
46
38
  /**
47
- * @name ranges-push
48
- * @fileoverview Gather string index ranges
49
- * @version 7.0.2
39
+ * @name ranges-apply
40
+ * @fileoverview Take an array of string index ranges, delete/replace the string according to them
41
+ * @version 7.0.4
50
42
  * @author Roy Revelt, Codsen Ltd
51
43
  * @license MIT
52
- * {@link https://codsen.com/os/ranges-push/}
44
+ * {@link https://codsen.com/os/ranges-apply/}
53
45
  */
54
46
  /**
55
- * @name ranges-sort
56
- * @fileoverview Sort string index ranges
57
- * @version 6.0.2
47
+ * @name string-collapse-leading-whitespace
48
+ * @fileoverview Collapse the leading and trailing whitespace of a string
49
+ * @version 7.0.3
58
50
  * @author Roy Revelt, Codsen Ltd
59
51
  * @license MIT
60
- * {@link https://codsen.com/os/ranges-sort/}
52
+ * {@link https://codsen.com/os/string-collapse-leading-whitespace/}
61
53
  */
62
54
  /**
63
- * @name string-collapse-leading-whitespace
64
- * @fileoverview Collapse the leading and trailing whitespace of a string
65
- * @version 7.0.2
55
+ * @name ranges-push
56
+ * @fileoverview Gather string index ranges
57
+ * @version 7.0.4
66
58
  * @author Roy Revelt, Codsen Ltd
67
59
  * @license MIT
68
- * {@link https://codsen.com/os/string-collapse-leading-whitespace/}
60
+ * {@link https://codsen.com/os/ranges-push/}
69
61
  */
70
62
  /**
71
63
  * @name string-remove-thousand-separators
72
64
  * @fileoverview Detects and removes thousand separators (dot/comma/quote/space) from string-type digits
73
- * @version 7.0.2
65
+ * @version 7.0.4
74
66
  * @author Roy Revelt, Codsen Ltd
75
67
  * @license MIT
76
68
  * {@link https://codsen.com/os/string-remove-thousand-separators/}
77
69
  */
70
+ /**
71
+ * @name csv-split-easy
72
+ * @fileoverview Splits the CSV string into array of arrays, each representing a row of columns
73
+ * @version 7.0.4
74
+ * @author Roy Revelt, Codsen Ltd
75
+ * @license MIT
76
+ * {@link https://codsen.com/os/csv-split-easy/}
77
+ */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "csv-sort",
3
- "version": "7.0.2",
3
+ "version": "7.0.4",
4
4
  "description": "Sort double-entry bookkeeping CSV from internet banking",
5
5
  "keywords": [
6
6
  "accountancy",
@@ -76,7 +76,7 @@
76
76
  }
77
77
  },
78
78
  "dependencies": {
79
- "csv-split-easy": "^7.0.2",
79
+ "csv-split-easy": "^7.0.4",
80
80
  "currency.js": "^2.0.4",
81
81
  "lodash.pull": "^4.1.0"
82
82
  },
package/types/index.d.ts CHANGED
File without changes
@@ -1,2 +0,0 @@
1
- declare function findType(something: string): string;
2
- export default findType;