@gesslar/toolkit 5.1.0 → 5.2.0
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/package.json +4 -4
- package/src/browser/lib/Valid.js +3 -1
- package/src/node/lib/DirectoryObject.js +18 -11
- package/src/node/lib/FileObject.js +13 -3
- package/types/browser/lib/Valid.d.ts.map +1 -1
- package/types/node/lib/DirectoryObject.d.ts.map +1 -1
- package/types/node/lib/FileObject.d.ts.map +1 -1
- package/vendor/toolkit.esm.js +4 -2
- package/vendor/toolkit.umd.js +4 -2
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"name": "gesslar",
|
|
6
6
|
"url": "https://gesslar.dev"
|
|
7
7
|
},
|
|
8
|
-
"version": "5.
|
|
8
|
+
"version": "5.2.0",
|
|
9
9
|
"license": "0BSD",
|
|
10
10
|
"homepage": "https://github.com/gesslar/toolkit#readme",
|
|
11
11
|
"repository": {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"LICENSE.txt"
|
|
56
56
|
],
|
|
57
57
|
"engines": {
|
|
58
|
-
"node": ">=24
|
|
58
|
+
"node": ">=24"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
|
61
61
|
"preinstall": "node ./scripts/check-node-version.mjs",
|
|
@@ -86,8 +86,8 @@
|
|
|
86
86
|
"@gesslar/uglier": "^2.4.1",
|
|
87
87
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
88
88
|
"eslint": "^10.2.0",
|
|
89
|
-
"happy-dom": "^20.
|
|
89
|
+
"happy-dom": "^20.9.0",
|
|
90
90
|
"rollup": "^4.60.1",
|
|
91
|
-
"typescript": "^6.0.
|
|
91
|
+
"typescript": "^6.0.3"
|
|
92
92
|
}
|
|
93
93
|
}
|
package/src/browser/lib/Valid.js
CHANGED
|
@@ -77,7 +77,9 @@ export default class Valid {
|
|
|
77
77
|
static prototypePollutionProtection(keys) {
|
|
78
78
|
this.type(keys, "String[]")
|
|
79
79
|
|
|
80
|
-
const oopsIDidItAgain = Collection.intersection(
|
|
80
|
+
const oopsIDidItAgain = Collection.intersection(
|
|
81
|
+
Valid.#restrictedProto, keys
|
|
82
|
+
)
|
|
81
83
|
|
|
82
84
|
this.assert(
|
|
83
85
|
oopsIDidItAgain.length === 0,
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* resolution and existence checks.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import {glob, mkdir,
|
|
7
|
+
import {glob, mkdir, readdir, rmdir, stat} from "node:fs/promises"
|
|
8
8
|
import path, {relative} from "node:path"
|
|
9
9
|
import {URL} from "node:url"
|
|
10
10
|
import {inspect} from "node:util"
|
|
@@ -342,16 +342,24 @@ export default class DirectoryObject extends FS {
|
|
|
342
342
|
* Check if a directory exists
|
|
343
343
|
*
|
|
344
344
|
* @returns {Promise<boolean>} Whether the directory exists
|
|
345
|
+
* @throws {Sass} If the path exists but is not a directory
|
|
345
346
|
*/
|
|
346
347
|
async #directoryExists() {
|
|
347
|
-
const path = this.path
|
|
348
|
-
|
|
349
348
|
try {
|
|
350
|
-
|
|
349
|
+
const stats = await stat(this.path).catch(error => error.code === "ENOENT" ? null : error)
|
|
350
|
+
|
|
351
|
+
if(stats instanceof Error)
|
|
352
|
+
throw stats
|
|
353
|
+
|
|
354
|
+
if(stats === null)
|
|
355
|
+
return false
|
|
356
|
+
|
|
357
|
+
if(!stats.isDirectory())
|
|
358
|
+
throw Sass.new(`Path exists but is not a directory: '${this.path}'`)
|
|
351
359
|
|
|
352
360
|
return true
|
|
353
|
-
} catch {
|
|
354
|
-
|
|
361
|
+
} catch(error) {
|
|
362
|
+
throw Sass.new(`Determining status of '${this.path}'`, error)
|
|
355
363
|
}
|
|
356
364
|
}
|
|
357
365
|
|
|
@@ -583,9 +591,9 @@ export default class DirectoryObject extends FS {
|
|
|
583
591
|
* @returns {Promise<boolean>} True if the file exists, false otherwise
|
|
584
592
|
*/
|
|
585
593
|
async hasFile(filename) {
|
|
586
|
-
const file =
|
|
594
|
+
const file = this.getFile(filename)
|
|
587
595
|
|
|
588
|
-
return await file.exists
|
|
596
|
+
return await file.exists.catch(() => false)
|
|
589
597
|
}
|
|
590
598
|
|
|
591
599
|
/**
|
|
@@ -595,10 +603,9 @@ export default class DirectoryObject extends FS {
|
|
|
595
603
|
* @returns {Promise<boolean>} True if the directory exists, false otherwise
|
|
596
604
|
*/
|
|
597
605
|
async hasDirectory(dirname) {
|
|
598
|
-
const dir =
|
|
599
|
-
const directory = new DirectoryObject(dir)
|
|
606
|
+
const dir = this.getDirectory(dirname)
|
|
600
607
|
|
|
601
|
-
return await
|
|
608
|
+
return await dir.exists.catch(() => false)
|
|
602
609
|
}
|
|
603
610
|
|
|
604
611
|
/**
|
|
@@ -324,14 +324,24 @@ export default class FileObject extends FS {
|
|
|
324
324
|
* Check if a file exists
|
|
325
325
|
*
|
|
326
326
|
* @returns {Promise<boolean>} Whether the file exists
|
|
327
|
+
* @throws {Sass} If the path exists but is not a file
|
|
327
328
|
*/
|
|
328
329
|
async #fileExists() {
|
|
329
330
|
try {
|
|
330
|
-
await fs.
|
|
331
|
+
const stats = await fs.stat(this.path).catch(error => error.code === "ENOENT" ? null : error)
|
|
332
|
+
|
|
333
|
+
if(stats instanceof Error)
|
|
334
|
+
throw stats
|
|
335
|
+
|
|
336
|
+
if(stats === null)
|
|
337
|
+
return false
|
|
338
|
+
|
|
339
|
+
if(!stats.isFile())
|
|
340
|
+
throw Sass.new(`Path exists but is not a file: '${this.path}'`)
|
|
331
341
|
|
|
332
342
|
return true
|
|
333
|
-
} catch {
|
|
334
|
-
|
|
343
|
+
} catch(error) {
|
|
344
|
+
throw Sass.new(`Determining status of '${this.path}'`, error)
|
|
335
345
|
}
|
|
336
346
|
}
|
|
337
347
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Valid.d.ts","sourceRoot":"","sources":["../../../src/browser/lib/Valid.js"],"names":[],"mappings":"AAWA;;;;;GAKG;AAEH;;GAEG;AACH;IACE,0BAA0B;IAC1B,cADW,OAAO,IAAI,CACH;IAEnB;;;;;;OAMG;IACH,mBAJW,OAAO,QACP,MAAM,YACN,qBAAqB,QAY/B;IAED;;;;;;;;OAQG;IACH,yBANW,OAAO,WACP,MAAM,QAEN,MAAM,QAehB;IAED,2CAAkF;IAElF;;;;;;OAMG;IACH,0CAHW,KAAK,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"Valid.d.ts","sourceRoot":"","sources":["../../../src/browser/lib/Valid.js"],"names":[],"mappings":"AAWA;;;;;GAKG;AAEH;;GAEG;AACH;IACE,0BAA0B;IAC1B,cADW,OAAO,IAAI,CACH;IAEnB;;;;;;OAMG;IACH,mBAJW,OAAO,QACP,MAAM,YACN,qBAAqB,QAY/B;IAED;;;;;;;;OAQG;IACH,yBANW,OAAO,WACP,MAAM,QAEN,MAAM,QAehB;IAED,2CAAkF;IAElF;;;;;;OAMG;IACH,0CAHW,KAAK,CAAC,MAAM,CAAC,QAcvB;CACF;;;;;;;;iBAzEa,OAAO;;iBARJ,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectoryObject.d.ts","sourceRoot":"","sources":["../../../src/node/lib/DirectoryObject.js"],"names":[],"mappings":"AAiBA;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH;yBAoGa,MAAM,WACN,MAAM,oBAEJ,MAAM;IAhDnB;;;;;;;;;OASG;IACH,kBALa,eAAe,CAO3B;IA7CD;;;;OAIG;IACH,uBAFW,MAAM,OAAC,EA4BjB;IAyBD;;;;OAIG;IACH,UAFa,MAAM,CAclB;IA8BD;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;OAIG;IACH,gBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,GAAG,CAIf;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,aALa,KAAK,CAAC,MAAM,CAAC,CAOzB;IAED;;;;;;;;;;;;OAYG;IACH,cARa,eAAe,GAAC,IAAI,CAsBhC;IAED;;;;OAIG;IACH,mBAFa,OAAO,CAInB;
|
|
1
|
+
{"version":3,"file":"DirectoryObject.d.ts","sourceRoot":"","sources":["../../../src/node/lib/DirectoryObject.js"],"names":[],"mappings":"AAiBA;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH;yBAoGa,MAAM,WACN,MAAM,oBAEJ,MAAM;IAhDnB;;;;;;;;;OASG;IACH,kBALa,eAAe,CAO3B;IA7CD;;;;OAIG;IACH,uBAFW,MAAM,OAAC,EA4BjB;IAyBD;;;;OAIG;IACH,UAFa,MAAM,CAclB;IA8BD;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;OAIG;IACH,gBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,GAAG,CAIf;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;;;;OAOG;IACH,aALa,KAAK,CAAC,MAAM,CAAC,CAOzB;IAED;;;;;;;;;;;;OAYG;IACH,cARa,eAAe,GAAC,IAAI,CAsBhC;IAED;;;;OAIG;IACH,mBAFa,OAAO,CAInB;IA2BD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAZW,MAAM,iBACJ,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;KAAC,CAAC,CAkCpF;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAXW,MAAM,iBACJ,OAAO,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;KAAC,CAAC,CA0BpF;IAqCD;;;;;;;;;;;;OAYG;IACH,uBARW,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAuB9B;IAyBD;;;;;;;;;;;;;;;OAeG;IACH,cAZa,eAAe,CAc3B;IAED;;;;;;;;;;;;;;OAcG;IACH,UARa,OAAO,CAAC,SAAS,CAAC,CAkB9B;IAED;;;;;OAKG;IACH,kBAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAM5B;IAED;;;;;OAKG;IACH,sBAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAM5B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,sBAbW,MAAM,GACJ,eAAe,CAgC3B;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,kBAbW,MAAM,GACJ,UAAU,CAgCtB;IA/fD;;;;;;;OAOG;IACH,2BAHW,QAAQ,GAAC,QAAQ,GAAC,SAAS,GACzB,MAAM,GAAC,MAAM,CAQzB;;CAkfF;;UA9qBa,MAAY;QAAC,KAAK,EAAE,eAAe,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAC;eACnD,MAAY,aAAa;;;;;;iBAMzB,OAAO;;;;eACP,MAAM,GAAC,IAAI;;;;YACX,MAAM,GAAC,IAAI;;;;UACX,MAAM,GAAC,IAAI;;;;YACX,eAAe,GAAC,SAAS;;;;gBACzB,MAAM,GAAC,IAAI;;;;UACX,MAAM,GAAC,IAAI;;;;SACX,MAAM,GAAC,IAAI;;;;cACX,MAAM,GAAC,IAAI;;;;WACX,KAAK,CAAC,MAAM,CAAC,GAAC,IAAI;;;;SAClB,GAAG,GAAC,IAAI;;eAvBP,iBAAiB;uBADT,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileObject.d.ts","sourceRoot":"","sources":["../../../src/node/lib/FileObject.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;GAaG;AAEH;yBA8Ha,MAAM,WACN,MAAM,oBAEJ,MAAM;
|
|
1
|
+
{"version":3,"file":"FileObject.d.ts","sourceRoot":"","sources":["../../../src/node/lib/FileObject.js"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;GAaG;AAEH;yBA8Ha,MAAM,WACN,MAAM,oBAEJ,MAAM;IAggBnB;;;;;;;;;;;OAWG;IACH,kBAPa,UAAU,CAsCtB;IAjpBD;;;;;OAKG;IACH,uBAHW,MAAM,WACN,eAAe,GAAC,MAAM,GAAC,IAAI,EA+DrC;IAWD;;;;OAIG;IACH,UAFa,MAAM,CAalB;IA8BD;;;;OAIG;IACH,WAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,OAAO,CAAC,OAAO,CAAC,CAI5B;IAED;;;;OAIG;IACH,gBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,GAAG,CAIf;IAED;;;;OAIG;IACH,YAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,cAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,iBAFa,MAAM,CAIlB;IACD;;;;OAIG;IACH,cAFa,OAAO,CAInB;IAED;;;;;;;;;;;;;;OAcG;IACH,cAFa,eAAe,CAI3B;IAED;;;;OAIG;IACH,kBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,WAFa,OAAO,CAAC,OAAO,CAAC,CAU5B;IAED;;;;OAIG;IACH,YAFa,OAAO,CAAC,OAAO,CAAC,CAU5B;IA2BD;;;;OAIG;IACH,QAFa,OAAO,CAAC,MAAM,OAAC,CAAC,CAU5B;IAED;;;;;OAKG;IACH,YAFa,OAAO,CAAC,IAAI,OAAC,CAAC,CAU1B;IAED;;;;OAIG;IACH,cAFa,OAAO,CAInB;IAED;;;;;;;OAOG;IACH,kBAJW,KAAK,GACH,UAAU,CAYtB;IAED;;;;OAIG;IACH,eAFa,UAAU,CAOtB;IAED;;;;OAIG;IACH,cAFa,UAAU,CAMtB;IAED;;;;;;;OAOG;IACH,+BAJG;QAAyB,QAAQ,GAAzB,MAAM;QACY,SAAS,GAA3B,OAAO;KACf,GAAU,OAAO,CAAC,MAAM,CAAC,CAa3B;IAED;;;;;;;;;;;OAWG;IACH,cARa,OAAO,CAAC,MAAM,CAAC,CAe3B;IAED;;;;;;;;;;;OAWG;IACH,eARW,MAAM,aACN,MAAM,GACJ,OAAO,CAAC,SAAS,CAAC,CAiB9B;IAED;;;;;;;;;;;;;;;OAeG;IACH,kBAXW,WAAW,GAAC,IAAI,GAAC,MAAM,GACrB,OAAO,CAAC,SAAS,CAAC,CAwB9B;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,yCAZG;QAAyB,IAAI,GAArB,MAAM;QACW,QAAQ,GAAzB,MAAM;QACY,SAAS,GAA3B,OAAO;KACf,GAAU,OAAO,CAAC,OAAO,CAAC,CAqB5B;IAED;;;;OAIG;IACH,UAFa,OAAO,CAAC,MAAM,CAAC,CAS3B;IAED;;;;;;;;;;;;OAYG;IACH,kBATW,MAAM,GACJ,OAAO,CAAC,UAAU,CAAC,CAyB/B;IAED;;;;;;;;;;;;;OAaG;IACH,kBATW,MAAM,GACJ,OAAO,CAAC,UAAU,CAAC,CA0C/B;IAED;;;;;;;;;OASG;IACH,UAPa,OAAO,CAAC,SAAS,CAAC,CAc9B;IAxfD;;;;;;;OAOG;IACH,2BAHW,QAAQ,GAAC,QAAQ,GAAC,SAAS,GACzB,MAAM,GAAC,MAAM,CAQzB;;CAwhBF;eAhsBc,iBAAiB;4BADJ,sBAAsB;kBAFhC,YAAY"}
|
package/vendor/toolkit.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @gesslar/toolkit v5.
|
|
1
|
+
// @gesslar/toolkit v5.2.0 - ES module bundle
|
|
2
2
|
/**
|
|
3
3
|
* @file Tantrum.js
|
|
4
4
|
*
|
|
@@ -385,7 +385,9 @@ class Valid {
|
|
|
385
385
|
static prototypePollutionProtection(keys) {
|
|
386
386
|
this.type(keys, "String[]");
|
|
387
387
|
|
|
388
|
-
const oopsIDidItAgain = Collection.intersection(
|
|
388
|
+
const oopsIDidItAgain = Collection.intersection(
|
|
389
|
+
Valid.#restrictedProto, keys
|
|
390
|
+
);
|
|
389
391
|
|
|
390
392
|
this.assert(
|
|
391
393
|
oopsIDidItAgain.length === 0,
|
package/vendor/toolkit.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @gesslar/toolkit v5.
|
|
1
|
+
// @gesslar/toolkit v5.2.0 - UMD bundle
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
@@ -391,7 +391,9 @@
|
|
|
391
391
|
static prototypePollutionProtection(keys) {
|
|
392
392
|
this.type(keys, "String[]");
|
|
393
393
|
|
|
394
|
-
const oopsIDidItAgain = Collection.intersection(
|
|
394
|
+
const oopsIDidItAgain = Collection.intersection(
|
|
395
|
+
Valid.#restrictedProto, keys
|
|
396
|
+
);
|
|
395
397
|
|
|
396
398
|
this.assert(
|
|
397
399
|
oopsIDidItAgain.length === 0,
|