From caa5aa47dc577c877536a102f9ec2b92d1b5a244 Mon Sep 17 00:00:00 2001 From: Mihajlo Date: Mon, 18 Apr 2022 14:49:57 +0200 Subject: [PATCH 1/5] fix: isSpecialMissing from utils --- src/utils/convertToCsv.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/utils/convertToCsv.ts b/src/utils/convertToCsv.ts index bab7788..46007dd 100644 --- a/src/utils/convertToCsv.ts +++ b/src/utils/convertToCsv.ts @@ -1,3 +1,5 @@ +import { isSpecialMissing } from '@sasjs/utils' + /** * Converts the given JSON object array to a CSV string. * @param data - the array of JSON objects to convert. @@ -18,7 +20,6 @@ export const convertToCSV = ( let headers: string[] = [] let csvTest let invalidString = false - const specialMissingValueRegExp = /^[a-z_]{1}$/i if (formats) { headers = Object.keys(formats).map((key) => `${key}:${formats![key]}`) @@ -36,7 +37,7 @@ export const convertToCSV = ( hasNullOrNumber = true } else if ( typeof row[field] === 'string' && - specialMissingValueRegExp.test(row[field]) + isSpecialMissing(row[field]) ) { hasSpecialMissingString = true } @@ -130,10 +131,10 @@ export const convertToCSV = ( value = currentCell === null ? '' : currentCell if (formats && formats[fieldName] === 'best.') { - if (value && !specialMissingValueRegExp.test(value)) { + if (value && !isSpecialMissing(value)) { console.log(`🤖[value]🤖`, value) throw new Error( - 'Special missing value can only be a single character from A to Z or _' + 'A Special missing value can only be a single character from A to Z or _ or .[a-z] or ._' ) } From 9bf38858686fd567dff405288958b0897340f222 Mon Sep 17 00:00:00 2001 From: Mihajlo Date: Mon, 18 Apr 2022 14:54:50 +0200 Subject: [PATCH 2/5] chore: test fix --- src/test/utils/formatDataForRequest.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/utils/formatDataForRequest.spec.ts b/src/test/utils/formatDataForRequest.spec.ts index 9a74998..a311c60 100644 --- a/src/test/utils/formatDataForRequest.spec.ts +++ b/src/test/utils/formatDataForRequest.spec.ts @@ -62,7 +62,7 @@ describe('formatDataForRequest', () => { expect(() => formatDataForRequest(tableWithMissingValues)).toThrow( new Error( - 'Special missing value can only be a single character from A to Z or _' + 'A Special missing value can only be a single character from A to Z or _ or .[a-z] or ._' ) ) }) From ecec2e77c067b5d86cff454fd871317bf53136d1 Mon Sep 17 00:00:00 2001 From: Mihajlo Date: Thu, 21 Apr 2022 15:45:59 +0200 Subject: [PATCH 3/5] chore: error improved --- src/test/utils/formatDataForRequest.spec.ts | 2 +- src/utils/convertToCsv.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/utils/formatDataForRequest.spec.ts b/src/test/utils/formatDataForRequest.spec.ts index a311c60..3303a2b 100644 --- a/src/test/utils/formatDataForRequest.spec.ts +++ b/src/test/utils/formatDataForRequest.spec.ts @@ -62,7 +62,7 @@ describe('formatDataForRequest', () => { expect(() => formatDataForRequest(tableWithMissingValues)).toThrow( new Error( - 'A Special missing value can only be a single character from A to Z or _ or .[a-z] or ._' + 'A Special missing value can only be a single character from \'A\' to \'Z\', \'_\', \'.[a-z]\', \'._\'' ) ) }) diff --git a/src/utils/convertToCsv.ts b/src/utils/convertToCsv.ts index 46007dd..fb32cad 100644 --- a/src/utils/convertToCsv.ts +++ b/src/utils/convertToCsv.ts @@ -134,7 +134,7 @@ export const convertToCSV = ( if (value && !isSpecialMissing(value)) { console.log(`🤖[value]🤖`, value) throw new Error( - 'A Special missing value can only be a single character from A to Z or _ or .[a-z] or ._' + 'A Special missing value can only be a single character from \'A\' to \'Z\', \'_\', \'.[a-z]\', \'._\'' ) } From 54516665bf28213f10f8502bf188e8490ebbf8f4 Mon Sep 17 00:00:00 2001 From: Mihajlo Date: Fri, 22 Apr 2022 11:54:59 +0200 Subject: [PATCH 4/5] chore: string escaping --- src/test/utils/formatDataForRequest.spec.ts | 2 +- src/utils/convertToCsv.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/utils/formatDataForRequest.spec.ts b/src/test/utils/formatDataForRequest.spec.ts index 3303a2b..eee87a4 100644 --- a/src/test/utils/formatDataForRequest.spec.ts +++ b/src/test/utils/formatDataForRequest.spec.ts @@ -62,7 +62,7 @@ describe('formatDataForRequest', () => { expect(() => formatDataForRequest(tableWithMissingValues)).toThrow( new Error( - 'A Special missing value can only be a single character from \'A\' to \'Z\', \'_\', \'.[a-z]\', \'._\'' + `A Special missing value can only be a single character from 'A' to 'Z', '_', '.[a-z]', '._'` ) ) }) diff --git a/src/utils/convertToCsv.ts b/src/utils/convertToCsv.ts index fb32cad..c792375 100644 --- a/src/utils/convertToCsv.ts +++ b/src/utils/convertToCsv.ts @@ -134,7 +134,7 @@ export const convertToCSV = ( if (value && !isSpecialMissing(value)) { console.log(`🤖[value]🤖`, value) throw new Error( - 'A Special missing value can only be a single character from \'A\' to \'Z\', \'_\', \'.[a-z]\', \'._\'' + `A Special missing value can only be a single character from 'A' to 'Z', '_', '.[a-z]', '._'` ) } From c00c8007e54abb23248cf8b761b1d6c68f52d593 Mon Sep 17 00:00:00 2001 From: Mihajlo Date: Tue, 26 Apr 2022 12:27:55 +0200 Subject: [PATCH 5/5] chore: utils update --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index f51088d..255a302 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,7 @@ "hasInstallScript": true, "license": "ISC", "dependencies": { - "@sasjs/utils": "2.42.0", + "@sasjs/utils": "2.44.0", "axios": "0.26.0", "axios-cookiejar-support": "1.0.1", "form-data": "4.0.0", @@ -1142,9 +1142,9 @@ } }, "node_modules/@sasjs/utils": { - "version": "2.42.0", - "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.42.0.tgz", - "integrity": "sha512-Y69l89PYNF/h9xvVH72om/39xA+cY80bhiVLzp/fJb3BlvzCf4RNswBBanUOv2I5JNa7gPpJuE7mEiXOlhD3eg==", + "version": "2.44.0", + "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.44.0.tgz", + "integrity": "sha512-hpC4erHYA8Mcb38mzxFEP0cXehfa0iKeqSW2d9MmxZ9g2qpy0BU6xyZJohN9kOiafXo5H359ndNKsg4DOq5YgA==", "hasInstallScript": true, "dependencies": { "@types/fs-extra": "9.0.13", @@ -13870,9 +13870,9 @@ } }, "@sasjs/utils": { - "version": "2.42.0", - "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.42.0.tgz", - "integrity": "sha512-Y69l89PYNF/h9xvVH72om/39xA+cY80bhiVLzp/fJb3BlvzCf4RNswBBanUOv2I5JNa7gPpJuE7mEiXOlhD3eg==", + "version": "2.44.0", + "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.44.0.tgz", + "integrity": "sha512-hpC4erHYA8Mcb38mzxFEP0cXehfa0iKeqSW2d9MmxZ9g2qpy0BU6xyZJohN9kOiafXo5H359ndNKsg4DOq5YgA==", "requires": { "@types/fs-extra": "9.0.13", "@types/prompts": "2.0.13", diff --git a/package.json b/package.json index e2e4dc5..2be4b9a 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ }, "main": "index.js", "dependencies": { - "@sasjs/utils": "2.42.0", + "@sasjs/utils": "2.44.0", "axios": "0.26.0", "axios-cookiejar-support": "1.0.1", "form-data": "4.0.0",