@e1011/es-kit 1.0.120 → 1.0.124
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/dist/hooks/esm/index.css +30 -30
- package/dist/hooks/index.css +30 -30
- package/dist/lib/cjs/node_modules/core-js/modules/es.object.keys.js +2 -0
- package/dist/lib/cjs/node_modules/core-js/modules/es.object.keys.js.map +1 -0
- package/dist/lib/cjs/src/core/ui/components/container/CollapsibleContainer.js +1 -1
- package/dist/lib/cjs/src/core/ui/components/container/CollapsibleContainer.js.map +1 -1
- package/dist/lib/cjs/src/core/ui/components/container/ResizableContainer.js.map +1 -1
- package/dist/lib/cjs/src/core/ui/components/dividers/DividerLine.js.map +1 -1
- package/dist/lib/cjs/src/core/ui/components/icon/IconBase.js +1 -1
- package/dist/lib/cjs/src/core/ui/components/icon/IconBase.js.map +1 -1
- package/dist/lib/cjs/src/core/utils/helpers/fileValidator.js +1 -1
- package/dist/lib/cjs/src/core/utils/helpers/fileValidator.js.map +1 -1
- package/dist/lib/esm/node_modules/core-js/modules/es.object.keys.js +2 -0
- package/dist/lib/esm/node_modules/core-js/modules/es.object.keys.js.map +1 -0
- package/dist/lib/esm/src/core/ui/components/container/CollapsibleContainer.js +1 -1
- package/dist/lib/esm/src/core/ui/components/container/CollapsibleContainer.js.map +1 -1
- package/dist/lib/esm/src/core/ui/components/container/ResizableContainer.js.map +1 -1
- package/dist/lib/esm/src/core/ui/components/dividers/DividerLine.js.map +1 -1
- package/dist/lib/esm/src/core/ui/components/icon/IconBase.js +1 -1
- package/dist/lib/esm/src/core/ui/components/icon/IconBase.js.map +1 -1
- package/dist/lib/esm/src/core/utils/helpers/fileValidator.js +1 -1
- package/dist/lib/esm/src/core/utils/helpers/fileValidator.js.map +1 -1
- package/dist/lib/src/core/ui/components/container/CollapsibleContainer.js +4 -1
- package/dist/lib/src/core/ui/components/container/CollapsibleContainer.js.map +1 -1
- package/dist/lib/src/core/ui/components/container/ResizableContainer.js +0 -3
- package/dist/lib/src/core/ui/components/container/ResizableContainer.js.map +1 -1
- package/dist/lib/src/core/ui/components/dividers/DividerLine.js.map +1 -1
- package/dist/lib/src/core/ui/components/icon/IconBase.js +10 -3
- package/dist/lib/src/core/ui/components/icon/IconBase.js.map +1 -1
- package/dist/lib/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/core/ui/components/container/CollapsibleContainer.d.ts +3 -2
- package/dist/types/src/core/ui/components/container/CollapsibleContainer.d.ts.map +1 -1
- package/dist/types/src/core/ui/components/container/ResizableContainer.d.ts.map +1 -1
- package/dist/types/src/core/ui/components/dividers/DividerLine.d.ts.map +1 -1
- package/dist/types/src/core/ui/components/icon/IconBase.d.ts +2 -1
- package/dist/types/src/core/ui/components/icon/IconBase.d.ts.map +1 -1
- package/dist/ui/esm/src/core/ui/components/container/CollapsibleContainer.js +1 -1
- package/dist/ui/esm/src/core/ui/components/container/CollapsibleContainer.js.map +1 -1
- package/dist/ui/esm/src/core/ui/components/container/ResizableContainer.js.map +1 -1
- package/dist/ui/esm/src/core/ui/components/dividers/DividerLine.js.map +1 -1
- package/dist/ui/esm/src/core/ui/components/icon/IconBase.js +1 -1
- package/dist/ui/esm/src/core/ui/components/icon/IconBase.js.map +1 -1
- package/dist/ui/src/core/ui/components/container/CollapsibleContainer.js +1 -1
- package/dist/ui/src/core/ui/components/container/CollapsibleContainer.js.map +1 -1
- package/dist/ui/src/core/ui/components/container/ResizableContainer.js.map +1 -1
- package/dist/ui/src/core/ui/components/dividers/DividerLine.js.map +1 -1
- package/dist/ui/src/core/ui/components/icon/IconBase.js +1 -1
- package/dist/ui/src/core/ui/components/icon/IconBase.js.map +1 -1
- package/dist/utils/esm/index.css +30 -30
- package/dist/utils/esm/node_modules/core-js/modules/es.object.keys.js +2 -0
- package/dist/utils/esm/node_modules/core-js/modules/es.object.keys.js.map +1 -0
- package/dist/utils/esm/src/core/utils/helpers/fileValidator.js +1 -1
- package/dist/utils/esm/src/core/utils/helpers/fileValidator.js.map +1 -1
- package/dist/utils/index.css +30 -30
- package/dist/utils/node_modules/core-js/modules/es.object.keys.js +2 -0
- package/dist/utils/node_modules/core-js/modules/es.object.keys.js.map +1 -0
- package/dist/utils/src/core/utils/helpers/fileValidator.js +1 -1
- package/dist/utils/src/core/utils/helpers/fileValidator.js.map +1 -1
- package/package.json +6 -5
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_rollupPluginBabelHelpers.js");require("../../../../node_modules/core-js/modules/es.regexp.exec.js"),require("../../../../node_modules/core-js/modules/es.string.split.js"),require("../../../../node_modules/core-js/modules/es.string.trim.js"),require("../../../../node_modules/core-js/modules/es.array.splice.js"),require("../../../../node_modules/core-js/modules/es.object.to-string.js"),require("../../../../node_modules/core-js/modules/web.dom-collections.for-each.js"),require("../../../../node_modules/core-js/modules/es.array.includes.js"),require("../../../../node_modules/core-js/modules/es.regexp.to-string.js"),require("../../../../node_modules/core-js/modules/es.array.map.js"),require("../../../../node_modules/core-js/modules/es.array.iterator.js"),require("../../../../node_modules/core-js/modules/es.set.constructor.js"),require("../../../../node_modules/core-js/modules/es.string.iterator.js"),require("../../../../node_modules/core-js/modules/web.dom-collections.iterator.js");var r=require("./textValueOperations.js"),l=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:";",l=e.split("\r\n");l.length<=1&&(l=e.split("\n"));var n=l.shift(),s=n?n.split(r):null;return{firstLine:n,lines:l,columns:s,numColumns:s?s.length:0}},n=function(e,r,l,n){return e.length!==r?{message:"errors.uploadInput.file.line.invalid",params:{line:l,index:n+1}}:null},s=function(e,r,l,n){return e!==e.trim()?{message:"errors.uploadInput.file.cell.invalid",params:{line:r,cell:e,lineIndex:l,cellIndex:n}}:null},o=function(e,r){for(var l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:";",o=[],i=e.length;i--;)""!==e[i].trim()&&""!==e[i].split(";").join("").trim()||e.splice(i,1);var t=null,u=null,a=null;return e.forEach((function(e,i){t=e.split(l),(u=n(t,r,e,i))&&o.push(u),t.forEach((function(r,l){(a=s(r,e,i,l))&&o.push(a)}))})),o};exports.parseCSVdata=l,exports.validateCSVFile=function(n,s){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:";";if(n)if("csv"===r.fileNameExt(n.name)&&["text/csv","text/plain","application/vnd.ms-excel"].includes(n.type)){var t=new FileReader;t.readAsText(n),t.onloadend=function(){var r=t.result?t.result.toString():"",n=l(r,i),u=n.numColumns,a=n.lines;if(u<2)s(["errors.uploadInput.file.numColumns"]);else if((null==a?void 0:a.length)<1)s(["errors.uploadInput.file.numLines"]);else{var d=o(a,u,i).map((function(e){return null!=e&&e.message?JSON.stringify(e):String(e)})),m=e.toConsumableArray(new Set(d)).map((function(e){return JSON.parse(e)}));s&&s(m.length?m:null)}},t.onerror=function(e){}}else s(["errors.uploadInput.file.invalid"]);else s(["errors.uploadInput.file.empty"])},exports.validateCSVlines=o,exports.validateJSONFile=function(e,n){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:";";if(e)if("json"===r.fileNameExt(e.name)){var o=new FileReader;o.readAsText(e),o.onloadend=function(){var e=o.result?o.result.toString():"";try{var r=JSON.parse(e);JSON.stringify(r)}catch(e){return void n(["errors.uploadInput.file.invalid"])}var i=l(e,s).lines;(null==i?void 0:i.length)<1?n(["errors.uploadInput.file.numLines"]):n&&n(null)},o.onerror=function(e){}}else n(["errors.uploadInput.file.invalid"]);else n(["errors.uploadInput.file.empty"])},exports.validateLineCellTrimmed=s,exports.validateLineNumColumns=n,exports.validateSDFFile=function(e,n){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:";";if(e)if("sdf"===r.fileNameExt(e.name)){var o=new FileReader;o.readAsText(e),o.onloadend=function(){var e=o.result?o.result.toString():"",r=l(e,s).lines;(null==r?void 0:r.length)<1?n(["errors.uploadInput.file.numLines"]):n&&n(null)},o.onerror=function(e){}}else n(["errors.uploadInput.file.invalid"]);else n(["errors.uploadInput.file.empty"])};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_rollupPluginBabelHelpers.js");require("../../../../node_modules/core-js/modules/es.regexp.exec.js"),require("../../../../node_modules/core-js/modules/es.string.split.js"),require("../../../../node_modules/core-js/modules/es.string.trim.js"),require("../../../../node_modules/core-js/modules/es.array.splice.js"),require("../../../../node_modules/core-js/modules/es.object.to-string.js"),require("../../../../node_modules/core-js/modules/web.dom-collections.for-each.js"),require("../../../../node_modules/core-js/modules/es.array.includes.js"),require("../../../../node_modules/core-js/modules/es.regexp.to-string.js"),require("../../../../node_modules/core-js/modules/es.array.map.js"),require("../../../../node_modules/core-js/modules/es.array.iterator.js"),require("../../../../node_modules/core-js/modules/es.set.constructor.js"),require("../../../../node_modules/core-js/modules/es.string.iterator.js"),require("../../../../node_modules/core-js/modules/web.dom-collections.iterator.js"),require("../../../../node_modules/core-js/modules/es.object.keys.js");var r=require("./textValueOperations.js"),l=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:";",l=e.split("\r\n");l.length<=1&&(l=e.split("\n"));var n=l.shift(),s=n?n.split(r):null;return{firstLine:n,lines:l,columns:s,numColumns:s?s.length:0}},n=function(e,r,l,n){return e.length!==r?{message:"errors.uploadInput.file.line.invalid",params:{line:l,index:n+1}}:null},s=function(e,r,l,n){return e!==e.trim()?{message:"errors.uploadInput.file.cell.invalid",params:{line:r,cell:e,lineIndex:l,cellIndex:n}}:null},o=function(e,r){for(var l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:";",o=[],i=e.length;i--;)""!==e[i].trim()&&""!==e[i].split(";").join("").trim()||e.splice(i,1);var t=null,u=null,a=null;return e.forEach((function(e,i){t=e.split(l),(u=n(t,r,e,i))&&o.push(u),t.forEach((function(r,l){(a=s(r,e,i,l))&&o.push(a)}))})),o};exports.parseCSVdata=l,exports.validateCSVFile=function(n,s){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:";";if(n)if("csv"===r.fileNameExt(n.name)&&["text/csv","text/plain","application/vnd.ms-excel"].includes(n.type)){var t=new FileReader;t.readAsText(n),t.onloadend=function(){var r=t.result?t.result.toString():"",n=l(r,i),u=n.numColumns,a=n.lines;if(u<2)s(["errors.uploadInput.file.numColumns"]);else if((null==a?void 0:a.length)<1)s(["errors.uploadInput.file.numLines"]);else{var d=o(a,u,i).map((function(e){return null!=e&&e.message?JSON.stringify(e):String(e)})),m=e.toConsumableArray(new Set(d)).map((function(e){return JSON.parse(e)}));s&&s(m.length?m:null)}},t.onerror=function(e){}}else s(["errors.uploadInput.file.invalid"]);else s(["errors.uploadInput.file.empty"])},exports.validateCSVlines=o,exports.validateJSONFile=function(e,n){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:";";if(e)if("json"===r.fileNameExt(e.name)){var o=new FileReader;o.readAsText(e),o.onloadend=function(){var e=o.result?o.result.toString():"";try{var r=JSON.parse(e);JSON.stringify(r)}catch(e){return void n(["errors.uploadInput.file.invalid"])}var i=l(e,s).lines;(null==i?void 0:i.length)<1?n(["errors.uploadInput.file.numLines"]):n&&n(null)},o.onerror=function(e){}}else n(["errors.uploadInput.file.invalid"]);else n(["errors.uploadInput.file.empty"])},exports.validateLineCellTrimmed=s,exports.validateLineNumColumns=n,exports.validateSDFFile=function(e,n){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:";";if(e)if("sdf"===r.fileNameExt(e.name)){var o=new FileReader;o.readAsText(e),o.onloadend=function(){var e=o.result?o.result.toString():"",r=l(e,s).lines;(null==r?void 0:r.length)<1?n(["errors.uploadInput.file.numLines"]):n&&n(null)},o.onerror=function(e){}}else n(["errors.uploadInput.file.invalid"]);else n(["errors.uploadInput.file.empty"])};
|
|
2
2
|
//# sourceMappingURL=fileValidator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileValidator.js","sources":["../../../../../../src/core/utils/helpers/fileValidator.ts"],"sourcesContent":["import { fileNameExt } from './textValueOperations'\n\nexport const parseCSVdata = (data: string, columnDelimiter = ';'): {\n firstLine: string\n lines: string[]\n columns: null | string[]\n numColumns: number\n} => {\n let lines: string[] = data.split('\\r\\n')\n\n if (lines.length <= 1) {\n lines = data.split('\\n')\n }\n\n const firstLine: string = lines.shift() as string\n const columns: null | string[] = firstLine ? firstLine.split(columnDelimiter) : null\n const numColumns: number = columns ? columns.length : 0\n\n return {\n firstLine,\n lines,\n columns,\n numColumns,\n }\n}\n\nexport const validateLineNumColumns\n = (lineColumns: Array<string>, numColumns: number, line: string, index: number): ErrorMessage | null => {\n if (lineColumns.length !== numColumns) {\n // errors.push(`Line number of cells is not equal to the number of columns: \"${line}, index: ${index}\"`)\n return {\n message: 'errors.uploadInput.file.line.invalid',\n params: { line, index: index + 1 } } as ErrorMessage\n }\n return null\n }\n\nexport const validateLineCellTrimmed\n = (cell: string, line: string, lineIndex: number, cellIndex: number): ErrorMessage | null => {\n if (cell !== cell.trim()) {\n return {\n message: 'errors.uploadInput.file.cell.invalid',\n params: {\n line, cell, lineIndex, cellIndex,\n },\n } as ErrorMessage\n }\n return null\n }\n\nexport const validateCSVlines = (lines: string[], numColumns: number, columnDelimiter = ';'): ErrorMessage[] => {\n const errors: ErrorMessage[] = []\n // lines without first line of columns (hence the index + 1 in error message)\n let linesNum = lines.length\n\n // eslint-disable-next-line no-cond-assign\n // eslint-disable-next-line no-plusplus\n while (linesNum--) {\n if (lines[linesNum].trim() === '' || lines[linesNum].split(';').join('').trim() === '') {\n lines.splice(linesNum, 1)\n }\n }\n\n let lineColumns = null\n let errorLineNumColumns = null\n let errorLineCellNotTrimmed = null\n\n lines.forEach((line, index) => {\n lineColumns = line.split(columnDelimiter)\n\n errorLineNumColumns = validateLineNumColumns(lineColumns, numColumns, line, index)\n errorLineNumColumns && errors.push(errorLineNumColumns)\n\n lineColumns.forEach((cell, cellIndex) => {\n errorLineCellNotTrimmed = validateLineCellTrimmed(cell, line, index, cellIndex)\n errorLineCellNotTrimmed && errors.push(errorLineCellNotTrimmed)\n })\n })\n\n return errors\n}\n\n/*\n// maybe add aditional mime types\nhttp://fileformats.archiveteam.org/wiki/CSV\n['text/csv','application/csv', 'text/x-csv',\n'application/x-csv', 'text/x-comma-separated-values', 'text/comma-separated-values']\n*/\n\nexport type ErrorMessage = {\n message: string\n params: Record<string, string | number>\n}\n\nexport const validateCSVFile\n= (file: File, callBack: (errors?: (ErrorMessage | string)[] | null) => void, columnDelimiter = ';'): void => {\n if (!file) {\n callBack(['errors.uploadInput.file.empty'])\n return\n }\n if (fileNameExt(file.name) !== 'csv' || !['text/csv', 'text/plain', 'application/vnd.ms-excel'].includes(file.type)) {\n callBack(['errors.uploadInput.file.invalid'])\n return\n }\n const reader = new FileReader()\n\n reader.readAsText(file)\n reader.onloadend = () => {\n const data = reader.result ? reader.result.toString() : ''\n\n const { numColumns, lines } = parseCSVdata(data, columnDelimiter)\n\n if (numColumns < 2) {\n callBack(['errors.uploadInput.file.numColumns'])\n return\n }\n\n if (lines?.length < 1) {\n callBack(['errors.uploadInput.file.numLines'])\n return\n }\n\n const errors: (ErrorMessage | string)[] = validateCSVlines(lines, numColumns, columnDelimiter)\n\n const flatErrors: string[] = errors.map((errorMsg: ErrorMessage | string) => (\n (errorMsg as ErrorMessage)?.message ? JSON.stringify(errorMsg) : String(errorMsg)))\n\n const errorsArray: string[] = [...new Set(flatErrors)].map((serialized: string) => JSON.parse(serialized))\n\n // callBack && callBack(errorsArray.length ? errorsArray?.splice?.(0, 6) : null)\n callBack && callBack(errorsArray.length ? errorsArray : null)\n }\n\n reader.onerror = (error) => {\n console.error(error)\n }\n}\n\nexport const validateSDFFile\n= (file: File, callBack: (errors?: (ErrorMessage | string)[] | null) => void, columnDelimiter = ';'): void => {\n if (!file) {\n callBack(['errors.uploadInput.file.empty'])\n return\n }\n if (fileNameExt(file.name) !== 'sdf') {\n callBack(['errors.uploadInput.file.invalid'])\n return\n }\n const reader = new FileReader()\n\n reader.readAsText(file)\n reader.onloadend = () => {\n const data = reader.result ? reader.result.toString() : ''\n\n const { lines } = parseCSVdata(data, columnDelimiter)\n\n if (lines?.length < 1) {\n callBack(['errors.uploadInput.file.numLines'])\n return\n }\n\n callBack && callBack(null)\n }\n\n reader.onerror = (error) => {\n console.error(error)\n }\n}\n\nexport const validateJSONFile\n= (file: File, callBack: (errors?: (ErrorMessage | string)[] | null) => void, columnDelimiter = ';'): void => {\n if (!file) {\n callBack(['errors.uploadInput.file.empty'])\n return\n }\n if (fileNameExt(file.name) !== 'json') {\n callBack(['errors.uploadInput.file.invalid'])\n return\n }\n const reader = new FileReader()\n\n reader.readAsText(file)\n reader.onloadend = () => {\n const data = reader.result ? reader.result.toString() : ''\n\n try {\n const parsed = JSON.parse(data)\n\n JSON.stringify(parsed)\n } catch (error) {\n console.error(error)\n callBack(['errors.uploadInput.file.invalid'])\n return\n }\n\n const { lines } = parseCSVdata(data, columnDelimiter)\n\n if (lines?.length < 1) {\n callBack(['errors.uploadInput.file.numLines'])\n return\n }\n\n callBack && callBack(null)\n }\n\n reader.onerror = (error) => {\n console.error(error)\n }\n}\n"],"names":["parseCSVdata","data","columnDelimiter","arguments","length","undefined","lines","split","firstLine","shift","columns","numColumns","validateLineNumColumns","lineColumns","line","index","message","params","validateLineCellTrimmed","cell","lineIndex","cellIndex","trim","validateCSVlines","errors","linesNum","join","splice","errorLineNumColumns","errorLineCellNotTrimmed","forEach","push","file","callBack","fileNameExt","name","includes","type","reader","FileReader","readAsText","onloadend","result","toString","_parseCSVdata","flatErrors","map","errorMsg","JSON","stringify","String","errorsArray","_toConsumableArray","toConsumableArray","Set","serialized","parse","onerror","error","parsed"],"mappings":"
|
|
1
|
+
{"version":3,"file":"fileValidator.js","sources":["../../../../../../src/core/utils/helpers/fileValidator.ts"],"sourcesContent":["import { fileNameExt } from './textValueOperations'\n\nexport const parseCSVdata = (data: string, columnDelimiter = ';'): {\n firstLine: string\n lines: string[]\n columns: null | string[]\n numColumns: number\n} => {\n let lines: string[] = data.split('\\r\\n')\n\n if (lines.length <= 1) {\n lines = data.split('\\n')\n }\n\n const firstLine: string = lines.shift() as string\n const columns: null | string[] = firstLine ? firstLine.split(columnDelimiter) : null\n const numColumns: number = columns ? columns.length : 0\n\n return {\n firstLine,\n lines,\n columns,\n numColumns,\n }\n}\n\nexport const validateLineNumColumns\n = (lineColumns: Array<string>, numColumns: number, line: string, index: number): ErrorMessage | null => {\n if (lineColumns.length !== numColumns) {\n // errors.push(`Line number of cells is not equal to the number of columns: \"${line}, index: ${index}\"`)\n return {\n message: 'errors.uploadInput.file.line.invalid',\n params: { line, index: index + 1 } } as ErrorMessage\n }\n return null\n }\n\nexport const validateLineCellTrimmed\n = (cell: string, line: string, lineIndex: number, cellIndex: number): ErrorMessage | null => {\n if (cell !== cell.trim()) {\n return {\n message: 'errors.uploadInput.file.cell.invalid',\n params: {\n line, cell, lineIndex, cellIndex,\n },\n } as ErrorMessage\n }\n return null\n }\n\nexport const validateCSVlines = (lines: string[], numColumns: number, columnDelimiter = ';'): ErrorMessage[] => {\n const errors: ErrorMessage[] = []\n // lines without first line of columns (hence the index + 1 in error message)\n let linesNum = lines.length\n\n // eslint-disable-next-line no-cond-assign\n // eslint-disable-next-line no-plusplus\n while (linesNum--) {\n if (lines[linesNum].trim() === '' || lines[linesNum].split(';').join('').trim() === '') {\n lines.splice(linesNum, 1)\n }\n }\n\n let lineColumns = null\n let errorLineNumColumns = null\n let errorLineCellNotTrimmed = null\n\n lines.forEach((line, index) => {\n lineColumns = line.split(columnDelimiter)\n\n errorLineNumColumns = validateLineNumColumns(lineColumns, numColumns, line, index)\n errorLineNumColumns && errors.push(errorLineNumColumns)\n\n lineColumns.forEach((cell, cellIndex) => {\n errorLineCellNotTrimmed = validateLineCellTrimmed(cell, line, index, cellIndex)\n errorLineCellNotTrimmed && errors.push(errorLineCellNotTrimmed)\n })\n })\n\n return errors\n}\n\n/*\n// maybe add aditional mime types\nhttp://fileformats.archiveteam.org/wiki/CSV\n['text/csv','application/csv', 'text/x-csv',\n'application/x-csv', 'text/x-comma-separated-values', 'text/comma-separated-values']\n*/\n\nexport type ErrorMessage = {\n message: string\n params: Record<string, string | number>\n}\n\nexport const validateCSVFile\n= (file: File, callBack: (errors?: (ErrorMessage | string)[] | null) => void, columnDelimiter = ';'): void => {\n if (!file) {\n callBack(['errors.uploadInput.file.empty'])\n return\n }\n if (fileNameExt(file.name) !== 'csv' || !['text/csv', 'text/plain', 'application/vnd.ms-excel'].includes(file.type)) {\n callBack(['errors.uploadInput.file.invalid'])\n return\n }\n const reader = new FileReader()\n\n reader.readAsText(file)\n reader.onloadend = () => {\n const data = reader.result ? reader.result.toString() : ''\n\n const { numColumns, lines } = parseCSVdata(data, columnDelimiter)\n\n if (numColumns < 2) {\n callBack(['errors.uploadInput.file.numColumns'])\n return\n }\n\n if (lines?.length < 1) {\n callBack(['errors.uploadInput.file.numLines'])\n return\n }\n\n const errors: (ErrorMessage | string)[] = validateCSVlines(lines, numColumns, columnDelimiter)\n\n const flatErrors: string[] = errors.map((errorMsg: ErrorMessage | string) => (\n (errorMsg as ErrorMessage)?.message ? JSON.stringify(errorMsg) : String(errorMsg)))\n\n const errorsArray: string[] = [...new Set(flatErrors)].map((serialized: string) => JSON.parse(serialized))\n\n // callBack && callBack(errorsArray.length ? errorsArray?.splice?.(0, 6) : null)\n callBack && callBack(errorsArray.length ? errorsArray : null)\n }\n\n reader.onerror = (error) => {\n console.error(error)\n }\n}\n\nexport const validateSDFFile\n= (file: File, callBack: (errors?: (ErrorMessage | string)[] | null) => void, columnDelimiter = ';'): void => {\n if (!file) {\n callBack(['errors.uploadInput.file.empty'])\n return\n }\n if (fileNameExt(file.name) !== 'sdf') {\n callBack(['errors.uploadInput.file.invalid'])\n return\n }\n const reader = new FileReader()\n\n reader.readAsText(file)\n reader.onloadend = () => {\n const data = reader.result ? reader.result.toString() : ''\n\n const { lines } = parseCSVdata(data, columnDelimiter)\n\n if (lines?.length < 1) {\n callBack(['errors.uploadInput.file.numLines'])\n return\n }\n\n callBack && callBack(null)\n }\n\n reader.onerror = (error) => {\n console.error(error)\n }\n}\n\nexport const validateJSONFile\n= (file: File, callBack: (errors?: (ErrorMessage | string)[] | null) => void, columnDelimiter = ';'): void => {\n if (!file) {\n callBack(['errors.uploadInput.file.empty'])\n return\n }\n if (fileNameExt(file.name) !== 'json') {\n callBack(['errors.uploadInput.file.invalid'])\n return\n }\n const reader = new FileReader()\n\n reader.readAsText(file)\n reader.onloadend = () => {\n const data = reader.result ? reader.result.toString() : ''\n\n try {\n const parsed = JSON.parse(data)\n\n JSON.stringify(parsed)\n } catch (error) {\n console.error(error)\n callBack(['errors.uploadInput.file.invalid'])\n return\n }\n\n const { lines } = parseCSVdata(data, columnDelimiter)\n\n if (lines?.length < 1) {\n callBack(['errors.uploadInput.file.numLines'])\n return\n }\n\n callBack && callBack(null)\n }\n\n reader.onerror = (error) => {\n console.error(error)\n }\n}\n"],"names":["parseCSVdata","data","columnDelimiter","arguments","length","undefined","lines","split","firstLine","shift","columns","numColumns","validateLineNumColumns","lineColumns","line","index","message","params","validateLineCellTrimmed","cell","lineIndex","cellIndex","trim","validateCSVlines","errors","linesNum","join","splice","errorLineNumColumns","errorLineCellNotTrimmed","forEach","push","file","callBack","fileNameExt","name","includes","type","reader","FileReader","readAsText","onloadend","result","toString","_parseCSVdata","flatErrors","map","errorMsg","JSON","stringify","String","errorsArray","_toConsumableArray","toConsumableArray","Set","serialized","parse","onerror","error","parsed"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@e1011/es-kit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.124",
|
|
4
4
|
"main": "dist/lib/cjs/src/index.js",
|
|
5
5
|
"module": "dist/lib/esm/src/index.js",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
"sass": "^1.59.3",
|
|
104
104
|
"ts-jest": "^29.0.5",
|
|
105
105
|
"ts-node": "^10.9.1",
|
|
106
|
-
"typescript": "^4.
|
|
106
|
+
"typescript": "^4.9.4"
|
|
107
107
|
},
|
|
108
108
|
"dependencies": {
|
|
109
109
|
"core-js": "^3.20.2",
|
|
@@ -111,8 +111,8 @@
|
|
|
111
111
|
"i18next": "^21.6.14",
|
|
112
112
|
"lodash-es": "^4.17.21",
|
|
113
113
|
"ramda": "^0.27.1",
|
|
114
|
-
"react": "^18.2.0",
|
|
115
|
-
"react-dom": "^18.2.0",
|
|
114
|
+
"react": "^17.0.2 || ^18.2.0",
|
|
115
|
+
"react-dom": "^17.0.2 || ^18.2.0",
|
|
116
116
|
"react-i18next": "^11.16.2",
|
|
117
117
|
"sanitize-html": "^2.6.1",
|
|
118
118
|
"styled-components": "^5.3.3"
|
|
@@ -123,7 +123,8 @@
|
|
|
123
123
|
"i18next": "^21.6.14",
|
|
124
124
|
"lodash-es": "^4.17.21",
|
|
125
125
|
"ramda": "^0.27.1",
|
|
126
|
-
"react": "^18.2.0",
|
|
126
|
+
"react": "^17.0.2 || ^18.2.0",
|
|
127
|
+
"react-dom": "^17.0.2 || ^18.2.0",
|
|
127
128
|
"react-i18next": "^11.16.2",
|
|
128
129
|
"sanitize-html": "^2.6.1",
|
|
129
130
|
"styled-components": "^5.3.3"
|