1
0
mirror of https://github.com/sasjs/adapter.git synced 2026-01-17 09:00:06 +00:00

chore: special missings, test assertion improved, added failing test

This commit is contained in:
2022-03-01 15:32:30 +01:00
parent b4c0946883
commit 6e8b19eda1
5 changed files with 301 additions and 167 deletions

160
package-lock.json generated
View File

@@ -8,7 +8,7 @@
"hasInstallScript": true, "hasInstallScript": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@sasjs/utils": "2.35.0", "@sasjs/utils": "2.36.1",
"axios": "0.26.0", "axios": "0.26.0",
"axios-cookiejar-support": "1.0.1", "axios-cookiejar-support": "1.0.1",
"form-data": "4.0.0", "form-data": "4.0.0",
@@ -1143,23 +1143,50 @@
} }
}, },
"node_modules/@sasjs/utils": { "node_modules/@sasjs/utils": {
"version": "2.35.0", "version": "2.36.1",
"resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.35.0.tgz", "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.36.1.tgz",
"integrity": "sha512-q9ZKV+TXqwiaj+0z5U7/00eBpp2QpjKfC9BKx7A6rQjBl10WtoWd5C9Em+RQULWVEdRbVS2XcnNsWelbKq/Zsw==", "integrity": "sha512-JkGUpLOODsvkeU+S25jb9k2WnvzyD2w6cEk7YyQ/byuqKL8xawH91PPWegrVcJlDY8WmqKE4CPcA3d1mM3B3LA==",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@types/fs-extra": "^9.0.13", "@types/fs-extra": "9.0.13",
"@types/prompts": "^2.0.13", "@types/prompts": "2.0.13",
"chalk": "^4.1.1", "chalk": "4.1.1",
"cli-table": "^0.3.6", "cli-table": "0.3.6",
"consola": "^2.15.0", "consola": "2.15.0",
"csv-stringify": "^5.6.5", "csv-stringify": "5.6.5",
"find": "0.3.0", "find": "0.3.0",
"fs-extra": "^10.0.0", "fs-extra": "10.0.0",
"jwt-decode": "^3.1.2", "jwt-decode": "3.1.2",
"prompts": "^2.4.1", "prompts": "2.4.1",
"rimraf": "^3.0.2", "rimraf": "3.0.2",
"valid-url": "^1.0.9" "valid-url": "1.0.9"
}
},
"node_modules/@sasjs/utils/node_modules/chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/@sasjs/utils/node_modules/prompts": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz",
"integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==",
"dependencies": {
"kleur": "^3.0.3",
"sisteransi": "^1.0.5"
},
"engines": {
"node": ">= 6"
} }
}, },
"node_modules/@semantic-release/commit-analyzer": { "node_modules/@semantic-release/commit-analyzer": {
@@ -1644,9 +1671,9 @@
"dev": true "dev": true
}, },
"node_modules/@types/prompts": { "node_modules/@types/prompts": {
"version": "2.0.14", "version": "2.0.13",
"resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.0.14.tgz", "resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.0.13.tgz",
"integrity": "sha512-HZBd99fKxRWpYCErtm2/yxUZv6/PBI9J7N4TNFffl5JbrYMHBwF25DjQGTW3b3jmXq+9P6/8fCIb2ee57BFfYA==", "integrity": "sha512-jwMOIGy49VruR/gYehhJYgpVzB+EVpEE7t7j9m1oTo4HMpOe7KmsyqdBuoxAzA5B4caUgx0cKrWr7wUEqMXJ7Q==",
"dependencies": { "dependencies": {
"@types/node": "*" "@types/node": "*"
} }
@@ -2068,6 +2095,7 @@
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
"engines": { "engines": {
"node": ">=8" "node": ">=8"
} }
@@ -2692,6 +2720,7 @@
"version": "4.1.2", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"dependencies": { "dependencies": {
"ansi-styles": "^4.1.0", "ansi-styles": "^4.1.0",
"supports-color": "^7.1.0" "supports-color": "^7.1.0"
@@ -2762,12 +2791,14 @@
} }
}, },
"node_modules/cli-table": { "node_modules/cli-table": {
"version": "0.3.9", "version": "0.3.6",
"resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.9.tgz", "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz",
"integrity": "sha512-7eA6hFtAZwVx3dWAGoaBqTrzWko5jRUFKpHT64ZHkJpaA3y5wf5NlLjguqTRmqycatJZiwftODYYyGNLbQ7MuA==", "integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==",
"dependencies": { "dependencies": {
"colors": "1.0.3", "colors": "1.0.3"
"strip-ansi": "^6.0.1" },
"engines": {
"node": ">= 0.2.0"
} }
}, },
"node_modules/cli-table3": { "node_modules/cli-table3": {
@@ -2912,9 +2943,9 @@
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
}, },
"node_modules/consola": { "node_modules/consola": {
"version": "2.15.3", "version": "2.15.0",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz",
"integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" "integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ=="
}, },
"node_modules/console-browserify": { "node_modules/console-browserify": {
"version": "1.2.0", "version": "1.2.0",
@@ -10539,6 +10570,7 @@
"version": "2.4.2", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
"integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
"dev": true,
"dependencies": { "dependencies": {
"kleur": "^3.0.3", "kleur": "^3.0.3",
"sisteransi": "^1.0.5" "sisteransi": "^1.0.5"
@@ -11685,6 +11717,7 @@
"version": "6.0.1", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"dependencies": { "dependencies": {
"ansi-regex": "^5.0.1" "ansi-regex": "^5.0.1"
}, },
@@ -14018,22 +14051,42 @@
} }
}, },
"@sasjs/utils": { "@sasjs/utils": {
"version": "2.35.0", "version": "2.36.1",
"resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.35.0.tgz", "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.36.1.tgz",
"integrity": "sha512-q9ZKV+TXqwiaj+0z5U7/00eBpp2QpjKfC9BKx7A6rQjBl10WtoWd5C9Em+RQULWVEdRbVS2XcnNsWelbKq/Zsw==", "integrity": "sha512-JkGUpLOODsvkeU+S25jb9k2WnvzyD2w6cEk7YyQ/byuqKL8xawH91PPWegrVcJlDY8WmqKE4CPcA3d1mM3B3LA==",
"requires": { "requires": {
"@types/fs-extra": "^9.0.13", "@types/fs-extra": "9.0.13",
"@types/prompts": "^2.0.13", "@types/prompts": "2.0.13",
"chalk": "^4.1.1", "chalk": "4.1.1",
"cli-table": "^0.3.6", "cli-table": "0.3.6",
"consola": "^2.15.0", "consola": "2.15.0",
"csv-stringify": "^5.6.5", "csv-stringify": "5.6.5",
"find": "0.3.0", "find": "0.3.0",
"fs-extra": "^10.0.0", "fs-extra": "10.0.0",
"jwt-decode": "^3.1.2", "jwt-decode": "3.1.2",
"prompts": "^2.4.1", "prompts": "2.4.1",
"rimraf": "^3.0.2", "rimraf": "3.0.2",
"valid-url": "^1.0.9" "valid-url": "1.0.9"
},
"dependencies": {
"chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"prompts": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz",
"integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==",
"requires": {
"kleur": "^3.0.3",
"sisteransi": "^1.0.5"
}
}
} }
}, },
"@semantic-release/commit-analyzer": { "@semantic-release/commit-analyzer": {
@@ -14458,9 +14511,9 @@
"dev": true "dev": true
}, },
"@types/prompts": { "@types/prompts": {
"version": "2.0.14", "version": "2.0.13",
"resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.0.14.tgz", "resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.0.13.tgz",
"integrity": "sha512-HZBd99fKxRWpYCErtm2/yxUZv6/PBI9J7N4TNFffl5JbrYMHBwF25DjQGTW3b3jmXq+9P6/8fCIb2ee57BFfYA==", "integrity": "sha512-jwMOIGy49VruR/gYehhJYgpVzB+EVpEE7t7j9m1oTo4HMpOe7KmsyqdBuoxAzA5B4caUgx0cKrWr7wUEqMXJ7Q==",
"requires": { "requires": {
"@types/node": "*" "@types/node": "*"
} }
@@ -14828,7 +14881,8 @@
"ansi-regex": { "ansi-regex": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
}, },
"ansi-styles": { "ansi-styles": {
"version": "4.3.0", "version": "4.3.0",
@@ -15312,6 +15366,7 @@
"version": "4.1.2", "version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"requires": { "requires": {
"ansi-styles": "^4.1.0", "ansi-styles": "^4.1.0",
"supports-color": "^7.1.0" "supports-color": "^7.1.0"
@@ -15364,12 +15419,11 @@
"dev": true "dev": true
}, },
"cli-table": { "cli-table": {
"version": "0.3.9", "version": "0.3.6",
"resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.9.tgz", "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz",
"integrity": "sha512-7eA6hFtAZwVx3dWAGoaBqTrzWko5jRUFKpHT64ZHkJpaA3y5wf5NlLjguqTRmqycatJZiwftODYYyGNLbQ7MuA==", "integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==",
"requires": { "requires": {
"colors": "1.0.3", "colors": "1.0.3"
"strip-ansi": "^6.0.1"
} }
}, },
"cli-table3": { "cli-table3": {
@@ -15491,9 +15545,9 @@
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
}, },
"consola": { "consola": {
"version": "2.15.3", "version": "2.15.0",
"resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz",
"integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" "integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ=="
}, },
"console-browserify": { "console-browserify": {
"version": "1.2.0", "version": "1.2.0",
@@ -21233,6 +21287,7 @@
"version": "2.4.2", "version": "2.4.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
"integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
"dev": true,
"requires": { "requires": {
"kleur": "^3.0.3", "kleur": "^3.0.3",
"sisteransi": "^1.0.5" "sisteransi": "^1.0.5"
@@ -22135,6 +22190,7 @@
"version": "6.0.1", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"requires": { "requires": {
"ansi-regex": "^5.0.1" "ansi-regex": "^5.0.1"
} }

View File

@@ -73,7 +73,7 @@
}, },
"main": "index.js", "main": "index.js",
"dependencies": { "dependencies": {
"@sasjs/utils": "2.35.0", "@sasjs/utils": "2.36.1",
"axios": "0.26.0", "axios": "0.26.0",
"axios-cookiejar-support": "1.0.1", "axios-cookiejar-support": "1.0.1",
"form-data": "4.0.0", "form-data": "4.0.0",

View File

@@ -70,7 +70,7 @@ parmcards4;
%webout(FETCH) %webout(FETCH)
%webout(OPEN) %webout(OPEN)
%macro x(); %macro x();
%do i=1 %to &_webin_file_count; %webout(OBJ,&&_webin_name&i,missing=STRING) %end; %do i=1 %to &_webin_file_count; %webout(OBJ,&&_webin_name&i,missing=STRING,showmeta=YES) %end;
%mend; %x() %mend; %x()
%webout(CLOSE) %webout(CLOSE)
;;;; ;;;;
@@ -79,7 +79,7 @@ parmcards4;
%webout(FETCH) %webout(FETCH)
%webout(OPEN) %webout(OPEN)
%macro x(); %macro x();
%do i=1 %to &_webin_file_count; %webout(ARR,&&_webin_name&i,missing=STRING) %end; %do i=1 %to &_webin_file_count; %webout(ARR,&&_webin_name&i,missing=STRING,showmeta=YES) %end;
%mend; %x() %mend; %x()
%webout(CLOSE) %webout(CLOSE)
;;;; ;;;;
@@ -111,7 +111,7 @@ parmcards4;
%macro x(); %macro x();
%do i=1 %to %sysfunc(countw(&sasjs_tables)); %do i=1 %to %sysfunc(countw(&sasjs_tables));
%let table=%scan(&sasjs_tables,&i); %let table=%scan(&sasjs_tables,&i);
%webout(OBJ,&table,missing=STRING) %webout(OBJ,&table,missing=STRING,showmeta=YES)
%end; %end;
%mend; %mend;
%x() %x()
@@ -125,7 +125,7 @@ parmcards4;
%macro x(); %macro x();
%do i=1 %to %sysfunc(countw(&sasjs_tables)); %do i=1 %to %sysfunc(countw(&sasjs_tables));
%let table=%scan(&sasjs_tables,&i); %let table=%scan(&sasjs_tables,&i);
%webout(ARR,&table,missing=STRING) %webout(ARR,&table,missing=STRING,showmeta=YES)
%end; %end;
%mend; %mend;
%x() %x()

View File

@@ -2388,16 +2388,16 @@
"node_modules/@sasjs/adapter": { "node_modules/@sasjs/adapter": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "file:../build/sasjs-adapter-5.0.0.tgz", "resolved": "file:../build/sasjs-adapter-5.0.0.tgz",
"integrity": "sha512-O9BBQCqMR7l1fsGPD+onh1ET93ZCuIr8sJMA7Y8sOm8JXigUooDtdk/Lo6emBT7Ibwu1kR3gW88oeL+jN3kH/w==", "integrity": "sha512-iPr8TRKHAFSI9tWJjCqB/M+DzstyhQSJhrovkhqiKB76tuqck+vvgTiB+4KoHEq6PjlbW+mfIzHcVC9trrztxA==",
"hasInstallScript": true, "hasInstallScript": true,
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@sasjs/utils": "^2.32.0", "@sasjs/utils": "2.36.1",
"axios": "^0.21.4", "axios": "0.26.0",
"axios-cookiejar-support": "^1.0.1", "axios-cookiejar-support": "1.0.1",
"form-data": "^4.0.0", "form-data": "4.0.0",
"https": "^1.0.0", "https": "1.0.0",
"tough-cookie": "^4.0.0" "tough-cookie": "4.0.0"
} }
}, },
"node_modules/@sasjs/test-framework": { "node_modules/@sasjs/test-framework": {
@@ -2422,24 +2422,50 @@
} }
}, },
"node_modules/@sasjs/utils": { "node_modules/@sasjs/utils": {
"version": "2.34.1", "version": "2.36.1",
"integrity": "sha512-hd1qieH3d7+xH96n5DpRGTEazeAhYyBBKCdnKhOXMgF2TZVoHFdRs5REfT88CKza6DHBGRVGnIVm5ORGP4cVLg==", "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.36.1.tgz",
"integrity": "sha512-JkGUpLOODsvkeU+S25jb9k2WnvzyD2w6cEk7YyQ/byuqKL8xawH91PPWegrVcJlDY8WmqKE4CPcA3d1mM3B3LA==",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@types/fs-extra": "^9.0.11", "@types/fs-extra": "9.0.13",
"@types/prompts": "^2.0.13", "@types/prompts": "2.0.13",
"chalk": "^4.1.1", "chalk": "4.1.1",
"cli-table": "^0.3.6", "cli-table": "0.3.6",
"consola": "^2.15.0", "consola": "2.15.0",
"csv-stringify": "^5.6.5", "csv-stringify": "5.6.5",
"find": "0.3.0", "find": "0.3.0",
"fs-extra": "^10.0.0", "fs-extra": "10.0.0",
"jwt-decode": "^3.1.2", "jwt-decode": "3.1.2",
"lodash.groupby": "4.6.0", "prompts": "2.4.1",
"lodash.uniqby": "4.7.0", "rimraf": "3.0.2",
"prompts": "^2.4.1", "valid-url": "1.0.9"
"rimraf": "^3.0.2", }
"valid-url": "^1.0.9" },
"node_modules/@sasjs/utils/node_modules/chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/@sasjs/utils/node_modules/prompts": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz",
"integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==",
"dependencies": {
"kleur": "^3.0.3",
"sisteransi": "^1.0.5"
},
"engines": {
"node": ">= 6"
} }
}, },
"node_modules/@semantic-ui-react/event-stack": { "node_modules/@semantic-ui-react/event-stack": {
@@ -2723,6 +2749,7 @@
}, },
"node_modules/@types/fs-extra": { "node_modules/@types/fs-extra": {
"version": "9.0.13", "version": "9.0.13",
"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz",
"integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==",
"dependencies": { "dependencies": {
"@types/node": "*" "@types/node": "*"
@@ -2811,8 +2838,9 @@
"integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==" "integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA=="
}, },
"node_modules/@types/prompts": { "node_modules/@types/prompts": {
"version": "2.0.14", "version": "2.0.13",
"integrity": "sha512-HZBd99fKxRWpYCErtm2/yxUZv6/PBI9J7N4TNFffl5JbrYMHBwF25DjQGTW3b3jmXq+9P6/8fCIb2ee57BFfYA==", "resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.0.13.tgz",
"integrity": "sha512-jwMOIGy49VruR/gYehhJYgpVzB+EVpEE7t7j9m1oTo4HMpOe7KmsyqdBuoxAzA5B4caUgx0cKrWr7wUEqMXJ7Q==",
"dependencies": { "dependencies": {
"@types/node": "*" "@types/node": "*"
} }
@@ -3751,10 +3779,11 @@
} }
}, },
"node_modules/axios": { "node_modules/axios": {
"version": "0.21.4", "version": "0.26.0",
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz",
"integrity": "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==",
"dependencies": { "dependencies": {
"follow-redirects": "^1.14.0" "follow-redirects": "^1.14.8"
} }
}, },
"node_modules/axios-cookiejar-support": { "node_modules/axios-cookiejar-support": {
@@ -4834,8 +4863,9 @@
} }
}, },
"node_modules/cli-table": { "node_modules/cli-table": {
"version": "0.3.11", "version": "0.3.6",
"integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz",
"integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==",
"dependencies": { "dependencies": {
"colors": "1.0.3" "colors": "1.0.3"
}, },
@@ -5002,6 +5032,7 @@
}, },
"node_modules/colors": { "node_modules/colors": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
"integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
"engines": { "engines": {
"node": ">=0.1.90" "node": ">=0.1.90"
@@ -5112,8 +5143,9 @@
} }
}, },
"node_modules/consola": { "node_modules/consola": {
"version": "2.15.3", "version": "2.15.0",
"integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz",
"integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ=="
}, },
"node_modules/console-browserify": { "node_modules/console-browserify": {
"version": "1.2.0", "version": "1.2.0",
@@ -5705,6 +5737,7 @@
}, },
"node_modules/csv-stringify": { "node_modules/csv-stringify": {
"version": "5.6.5", "version": "5.6.5",
"resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz",
"integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A=="
}, },
"node_modules/cyclist": { "node_modules/cyclist": {
@@ -7786,6 +7819,7 @@
}, },
"node_modules/find": { "node_modules/find": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/find/-/find-0.3.0.tgz",
"integrity": "sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw==", "integrity": "sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw==",
"dependencies": { "dependencies": {
"traverse-chain": "~0.1.0" "traverse-chain": "~0.1.0"
@@ -7843,8 +7877,9 @@
} }
}, },
"node_modules/follow-redirects": { "node_modules/follow-redirects": {
"version": "1.14.6", "version": "1.14.9",
"integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
"funding": [ "funding": [
{ {
"type": "individual", "type": "individual",
@@ -8114,6 +8149,7 @@
}, },
"node_modules/fs-extra": { "node_modules/fs-extra": {
"version": "10.0.0", "version": "10.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
"integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
"dependencies": { "dependencies": {
"graceful-fs": "^4.2.0", "graceful-fs": "^4.2.0",
@@ -10633,6 +10669,7 @@
}, },
"node_modules/jwt-decode": { "node_modules/jwt-decode": {
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz",
"integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A=="
}, },
"node_modules/keyboard-key": { "node_modules/keyboard-key": {
@@ -10750,10 +10787,6 @@
"version": "4.0.8", "version": "4.0.8",
"integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
}, },
"node_modules/lodash.groupby": {
"version": "4.6.0",
"integrity": "sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E="
},
"node_modules/lodash.memoize": { "node_modules/lodash.memoize": {
"version": "4.1.2", "version": "4.1.2",
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
@@ -10785,10 +10818,6 @@
"version": "4.5.0", "version": "4.5.0",
"integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
}, },
"node_modules/lodash.uniqby": {
"version": "4.7.0",
"integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI="
},
"node_modules/loglevel": { "node_modules/loglevel": {
"version": "1.8.0", "version": "1.8.0",
"integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==", "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==",
@@ -17128,6 +17157,7 @@
}, },
"node_modules/traverse-chain": { "node_modules/traverse-chain": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/traverse-chain/-/traverse-chain-0.1.0.tgz",
"integrity": "sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE=" "integrity": "sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE="
}, },
"node_modules/trim-newlines": { "node_modules/trim-newlines": {
@@ -17619,6 +17649,7 @@
}, },
"node_modules/valid-url": { "node_modules/valid-url": {
"version": "1.0.9", "version": "1.0.9",
"resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz",
"integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA="
}, },
"node_modules/validate-npm-package-license": { "node_modules/validate-npm-package-license": {
@@ -20967,14 +20998,14 @@
}, },
"@sasjs/adapter": { "@sasjs/adapter": {
"version": "file:../build/sasjs-adapter-5.0.0.tgz", "version": "file:../build/sasjs-adapter-5.0.0.tgz",
"integrity": "sha512-O9BBQCqMR7l1fsGPD+onh1ET93ZCuIr8sJMA7Y8sOm8JXigUooDtdk/Lo6emBT7Ibwu1kR3gW88oeL+jN3kH/w==", "integrity": "sha512-iPr8TRKHAFSI9tWJjCqB/M+DzstyhQSJhrovkhqiKB76tuqck+vvgTiB+4KoHEq6PjlbW+mfIzHcVC9trrztxA==",
"requires": { "requires": {
"@sasjs/utils": "^2.32.0", "@sasjs/utils": "2.36.1",
"axios": "^0.21.4", "axios": "0.26.0",
"axios-cookiejar-support": "^1.0.1", "axios-cookiejar-support": "1.0.1",
"form-data": "^4.0.0", "form-data": "4.0.0",
"https": "^1.0.0", "https": "1.0.0",
"tough-cookie": "^4.0.0" "tough-cookie": "4.0.0"
} }
}, },
"@sasjs/test-framework": { "@sasjs/test-framework": {
@@ -20991,23 +21022,42 @@
} }
}, },
"@sasjs/utils": { "@sasjs/utils": {
"version": "2.34.1", "version": "2.36.1",
"integrity": "sha512-hd1qieH3d7+xH96n5DpRGTEazeAhYyBBKCdnKhOXMgF2TZVoHFdRs5REfT88CKza6DHBGRVGnIVm5ORGP4cVLg==", "resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-2.36.1.tgz",
"integrity": "sha512-JkGUpLOODsvkeU+S25jb9k2WnvzyD2w6cEk7YyQ/byuqKL8xawH91PPWegrVcJlDY8WmqKE4CPcA3d1mM3B3LA==",
"requires": { "requires": {
"@types/fs-extra": "^9.0.11", "@types/fs-extra": "9.0.13",
"@types/prompts": "^2.0.13", "@types/prompts": "2.0.13",
"chalk": "^4.1.1", "chalk": "4.1.1",
"cli-table": "^0.3.6", "cli-table": "0.3.6",
"consola": "^2.15.0", "consola": "2.15.0",
"csv-stringify": "^5.6.5", "csv-stringify": "5.6.5",
"find": "0.3.0", "find": "0.3.0",
"fs-extra": "^10.0.0", "fs-extra": "10.0.0",
"jwt-decode": "^3.1.2", "jwt-decode": "3.1.2",
"lodash.groupby": "4.6.0", "prompts": "2.4.1",
"lodash.uniqby": "4.7.0", "rimraf": "3.0.2",
"prompts": "^2.4.1", "valid-url": "1.0.9"
"rimraf": "^3.0.2", },
"valid-url": "^1.0.9" "dependencies": {
"chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
"integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"prompts": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz",
"integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==",
"requires": {
"kleur": "^3.0.3",
"sisteransi": "^1.0.5"
}
}
} }
}, },
"@semantic-ui-react/event-stack": { "@semantic-ui-react/event-stack": {
@@ -21186,6 +21236,7 @@
}, },
"@types/fs-extra": { "@types/fs-extra": {
"version": "9.0.13", "version": "9.0.13",
"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz",
"integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==", "integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==",
"requires": { "requires": {
"@types/node": "*" "@types/node": "*"
@@ -21274,8 +21325,9 @@
"integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA==" "integrity": "sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA=="
}, },
"@types/prompts": { "@types/prompts": {
"version": "2.0.14", "version": "2.0.13",
"integrity": "sha512-HZBd99fKxRWpYCErtm2/yxUZv6/PBI9J7N4TNFffl5JbrYMHBwF25DjQGTW3b3jmXq+9P6/8fCIb2ee57BFfYA==", "resolved": "https://registry.npmjs.org/@types/prompts/-/prompts-2.0.13.tgz",
"integrity": "sha512-jwMOIGy49VruR/gYehhJYgpVzB+EVpEE7t7j9m1oTo4HMpOe7KmsyqdBuoxAzA5B4caUgx0cKrWr7wUEqMXJ7Q==",
"requires": { "requires": {
"@types/node": "*" "@types/node": "*"
} }
@@ -21992,10 +22044,11 @@
"integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==" "integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA=="
}, },
"axios": { "axios": {
"version": "0.21.4", "version": "0.26.0",
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz",
"integrity": "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==",
"requires": { "requires": {
"follow-redirects": "^1.14.0" "follow-redirects": "^1.14.8"
} }
}, },
"axios-cookiejar-support": { "axios-cookiejar-support": {
@@ -22832,8 +22885,9 @@
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A=="
}, },
"cli-table": { "cli-table": {
"version": "0.3.11", "version": "0.3.6",
"integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.6.tgz",
"integrity": "sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ==",
"requires": { "requires": {
"colors": "1.0.3" "colors": "1.0.3"
} }
@@ -22967,6 +23021,7 @@
}, },
"colors": { "colors": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
"integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs="
}, },
"combined-stream": { "combined-stream": {
@@ -23055,8 +23110,9 @@
"integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg=="
}, },
"consola": { "consola": {
"version": "2.15.3", "version": "2.15.0",
"integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.0.tgz",
"integrity": "sha512-vlcSGgdYS26mPf7qNi+dCisbhiyDnrN1zaRbw3CSuc2wGOMEGGPsp46PdRG5gqXwgtJfjxDkxRNAgRPr1B77vQ=="
}, },
"console-browserify": { "console-browserify": {
"version": "1.2.0", "version": "1.2.0",
@@ -23501,6 +23557,7 @@
}, },
"csv-stringify": { "csv-stringify": {
"version": "5.6.5", "version": "5.6.5",
"resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz",
"integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==" "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A=="
}, },
"cyclist": { "cyclist": {
@@ -25029,6 +25086,7 @@
}, },
"find": { "find": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/find/-/find-0.3.0.tgz",
"integrity": "sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw==", "integrity": "sha512-iSd+O4OEYV/I36Zl8MdYJO0xD82wH528SaCieTVHhclgiYNe9y+yPKSwK+A7/WsmHL1EZ+pYUJBXWTL5qofksw==",
"requires": { "requires": {
"traverse-chain": "~0.1.0" "traverse-chain": "~0.1.0"
@@ -25076,8 +25134,9 @@
} }
}, },
"follow-redirects": { "follow-redirects": {
"version": "1.14.6", "version": "1.14.9",
"integrity": "sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==" "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w=="
}, },
"for-in": { "for-in": {
"version": "1.0.2", "version": "1.0.2",
@@ -25274,6 +25333,7 @@
}, },
"fs-extra": { "fs-extra": {
"version": "10.0.0", "version": "10.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
"integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
"requires": { "requires": {
"graceful-fs": "^4.2.0", "graceful-fs": "^4.2.0",
@@ -27139,6 +27199,7 @@
}, },
"jwt-decode": { "jwt-decode": {
"version": "3.1.2", "version": "3.1.2",
"resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz",
"integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A=="
}, },
"keyboard-key": { "keyboard-key": {
@@ -27232,10 +27293,6 @@
"version": "4.0.8", "version": "4.0.8",
"integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
}, },
"lodash.groupby": {
"version": "4.6.0",
"integrity": "sha1-Cwih3PaDl8OXhVwyOXg4Mt90A9E="
},
"lodash.memoize": { "lodash.memoize": {
"version": "4.1.2", "version": "4.1.2",
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
@@ -27267,10 +27324,6 @@
"version": "4.5.0", "version": "4.5.0",
"integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
}, },
"lodash.uniqby": {
"version": "4.7.0",
"integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI="
},
"loglevel": { "loglevel": {
"version": "1.8.0", "version": "1.8.0",
"integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==" "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA=="
@@ -32152,6 +32205,7 @@
}, },
"traverse-chain": { "traverse-chain": {
"version": "0.1.0", "version": "0.1.0",
"resolved": "https://registry.npmjs.org/traverse-chain/-/traverse-chain-0.1.0.tgz",
"integrity": "sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE=" "integrity": "sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE="
}, },
"trim-newlines": { "trim-newlines": {
@@ -32524,6 +32578,7 @@
}, },
"valid-url": { "valid-url": {
"version": "1.0.9", "version": "1.0.9",
"resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz",
"integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=" "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA="
}, },
"validate-npm-package-license": { "validate-npm-package-license": {

View File

@@ -80,16 +80,22 @@ const errorAndCsrfData: any = {
} }
const testTable = 'sometable' const testTable = 'sometable'
export const testTableWithNullVars: { [key: string]: any } = { export const testTableWithSpecialNumeric: { [key: string]: any } = {
[testTable]: [ [testTable]: [
{ var1: 'string', var2: 232, nullvar: 'A' }, { var1: 'string', var2: 232, specialnumeric: 'A' },
{ var1: 'string', var2: 232, nullvar: 'B' }, { var1: 'string', var2: 232, specialnumeric: 'B' },
{ var1: 'string', var2: 232, nullvar: '_' }, { var1: 'string', var2: 232, specialnumeric: '_' },
{ var1: 'string', var2: 232, nullvar: 0 }, { var1: 'string', var2: 232, specialnumeric: 0 },
{ var1: 'string', var2: 232, nullvar: 'z' }, { var1: 'string', var2: 232, specialnumeric: 'z' },
{ var1: 'string', var2: 232, nullvar: null } { var1: 'string', var2: 232, specialnumeric: null }
], ],
[`$${testTable}`]: { formats: { var1: '$char12.', nullvar: 'best.' } } [`$${testTable}`]: { formats: { var1: '$char12.', specialnumeric: 'best.' } }
}
export const testTableWithSpecialNumericOneRow: { [key: string]: any } = {
[testTable]: [
{ var1: 'string', var2: 232, specialnumeric: 'S' }
],
[`$${testTable}`]: { formats: { var1: '$char12.', specialnumeric: 'best.' } }
} }
export const specialCaseTests = (adapter: SASjs): TestSuite => ({ export const specialCaseTests = (adapter: SASjs): TestSuite => ({
@@ -265,31 +271,48 @@ export const specialCaseTests = (adapter: SASjs): TestSuite => ({
title: 'Special missing values', title: 'Special missing values',
description: 'Should support special missing values', description: 'Should support special missing values',
test: () => { test: () => {
return adapter.request('common/sendObj', testTableWithNullVars) return adapter.request('common/sendObj', testTableWithSpecialNumeric)
}, },
assertion: (res: any) => { assertion: (res: any) => {
let assertionRes = true let assertionRes = true
testTableWithNullVars[testTable].forEach( //We check the $ formats values that come from sas are in right order
(row: { [key: string]: any }, i: number) => const resVars = res[`$${testTable}`].vars
Object.keys(row).forEach((col: string) => {
const resValue = res[testTable][i][col.toUpperCase()]
if ( Object.keys(resVars).forEach(
typeof row[col] === 'string' && (key: any, i: number) => {
testTableWithNullVars[`$${testTable}`].formats[col] === let formatValue = testTableWithSpecialNumeric[`$${testTable}`].formats[key.toLowerCase()]
'best.' && //If it is char, we change id to $ to pass the test
row[col].toUpperCase() !== resValue //If it is number, it will already be compatible to comapre
) { formatValue = formatValue?.includes('$') ? '$' : formatValue
assertionRes = false
} else if ( if (formatValue !== undefined && !resVars[key].format.includes(formatValue)) assertionRes = false
typeof row[col] !== 'string' && })
row[col] !== resValue
) { return assertionRes
assertionRes = false }
} },
}) {
) title: 'Special missing values (ONE ROW)',
description: 'Should support special missing values, when one row is send',
test: () => {
return adapter.request('common/sendObj', testTableWithSpecialNumericOneRow,)
},
assertion: (res: any) => {
let assertionRes = true
//We check the $ formats values that come from sas are in right order
const resVars = res[`$${testTable}`].vars
Object.keys(resVars).forEach(
(key: any, i: number) => {
let formatValue = testTableWithSpecialNumeric[`$${testTable}`].formats[key.toLowerCase()]
//If it is char, we change id to $ to pass the test
//If it is number, it will already be compatible to comapre
formatValue = formatValue?.includes('$') ? '$' : formatValue
if (formatValue !== undefined && !resVars[key].format.includes(formatValue)) assertionRes = false
})
return assertionRes return assertionRes
} }