@gesslar/toolkit 5.3.0 → 5.4.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 CHANGED
@@ -5,7 +5,7 @@
5
5
  "name": "gesslar",
6
6
  "url": "https://gesslar.dev"
7
7
  },
8
- "version": "5.3.0",
8
+ "version": "5.4.0",
9
9
  "license": "0BSD",
10
10
  "homepage": "https://github.com/gesslar/toolkit#readme",
11
11
  "repository": {
@@ -77,17 +77,17 @@
77
77
  },
78
78
  "dependencies": {
79
79
  "@gesslar/colours": "^1.0.0",
80
- "ajv": "^8.18.0",
80
+ "ajv": "^8.20.0",
81
81
  "json5": "^2.2.3",
82
82
  "supports-color": "^10.2.2",
83
- "yaml": "^2.8.3"
83
+ "yaml": "^2.9.0"
84
84
  },
85
85
  "devDependencies": {
86
86
  "@gesslar/uglier": "^2.4.1",
87
87
  "@rollup/plugin-node-resolve": "^16.0.3",
88
- "eslint": "^10.2.0",
88
+ "eslint": "^10.3.0",
89
89
  "happy-dom": "^20.9.0",
90
- "rollup": "^4.60.1",
90
+ "rollup": "^4.60.3",
91
91
  "typescript": "^6.0.3"
92
92
  }
93
93
  }
@@ -166,25 +166,37 @@ export default class Util {
166
166
  Valid.type(supplied, "String", {allowEmpty: false})
167
167
  Valid.type(target, "String", {allowEmpty: false})
168
168
 
169
- const suppliedSemver = supplied.split(".").filter(Boolean).map(Number).filter(e => !isNaN(e))
170
- const targetSemver = target.split(".").filter(Boolean).map(Number).filter(e => !isNaN(e))
169
+ const {major: sMajor, minor: sMinor, patch: sPatch} =
170
+ this.semver.basic.exec(supplied)?.groups ?? {}
171
+ const {major: tMajor, minor: tMinor, patch: tPatch} =
172
+ this.semver.basic.exec(target)?.groups ?? {}
171
173
 
172
- Valid.assert(suppliedSemver.length === 3, "Invalid format for supplied semver.")
173
- Valid.assert(targetSemver.length === 3, "Invalid format for target semver.")
174
+ Valid.assert(Boolean(sMajor && sMinor && sPatch), "Invalid format for supplied semver.")
175
+ Valid.assert(Boolean(tMajor && tMinor && tPatch), "Invalid format for target semver.")
174
176
 
175
- if(suppliedSemver[0] < targetSemver[0])
177
+ const isMajor = Number(sMajor)
178
+ const itMajor = Number(tMajor)
179
+ if(isMajor < itMajor)
176
180
  return false
177
181
 
178
- if(suppliedSemver[0] === targetSemver[0]) {
179
- if(suppliedSemver[1] < targetSemver[1])
182
+ if(isMajor === itMajor) {
183
+ const isMinor = Number(sMinor)
184
+ const itMinor = Number(tMinor)
185
+ if(isMinor < itMinor)
180
186
  return false
181
187
 
182
- if(suppliedSemver[1] === targetSemver[1])
183
- if(suppliedSemver[2] < targetSemver[2])
188
+ if(isMinor === itMinor) {
189
+ const isPatch = Number(sPatch)
190
+ const itPatch = Number(tPatch)
191
+ if(isPatch < itPatch)
184
192
  return false
193
+ }
185
194
  }
186
195
 
187
196
  return true
188
- }
197
+ },
198
+
199
+ basic: /^(?<major>0|(?:[1-9]\d*))\.(?<minor>0|(?:[1-9]\d*))\.(?<patch>0|(?:[1-9]\d*))$/,
200
+ enhanced: /^(?<major>0|(?:[1-9]\d*))\.(?<minor>0|(?:[1-9]\d*))\.(?<patch>0|(?:[1-9]\d*))(?:-(?<prerelease>(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*))(?:\.(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*)))*))?(?:\+(?<build>(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*))(?:\.(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*)))*))?$/
189
201
  }
190
202
  }
@@ -60,6 +60,8 @@ export default class Util {
60
60
  static regexify(input: any, trim?: boolean, flags?: any[]): RegExp;
61
61
  static semver: {
62
62
  meetsOrExceeds: (supplied: any, target: any) => boolean;
63
+ basic: RegExp;
64
+ enhanced: RegExp;
63
65
  };
64
66
  }
65
67
  //# sourceMappingURL=Util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../src/browser/lib/Util.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH;IACE;;;;;OAKG;IACH,wBAHW,MAAM,GACJ,MAAM,CAYlB;IAED;;;;;;OAMG;IACH,YAJa,CAAC,MACH,MAAM,OAAO,CAAC,CAAC,CAAC,GACd,OAAO,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAQ9C;IAED;;;;;;;OAOG;IACH,4BAJW,MAAM,GAAC,MAAM,UACb,MAAM,GACJ,MAAM,CAWlB;IAED;;;;;;;OAOG;IACH,6BAJW,MAAM,GAAC,MAAM,UACb,MAAM,GACJ,MAAM,CAalB;IAED;;;;;;OAMG;IACH,8BAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAsBlB;IAED;;;;;;;;OAQG;IACH,+BALW,MAAM,iBACN,KAAK,CAAC,MAAM,CAAC,cACb,MAAM,GACJ,MAAM,CAwBlB;IAED,mEAkBC;IAED;;MAyBC;CACF"}
1
+ {"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../src/browser/lib/Util.js"],"names":[],"mappings":"AAGA;;;GAGG;AACH;IACE;;;;;OAKG;IACH,wBAHW,MAAM,GACJ,MAAM,CAYlB;IAED;;;;;;OAMG;IACH,YAJa,CAAC,MACH,MAAM,OAAO,CAAC,CAAC,CAAC,GACd,OAAO,CAAC;QAAC,MAAM,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAQ9C;IAED;;;;;;;OAOG;IACH,4BAJW,MAAM,GAAC,MAAM,UACb,MAAM,GACJ,MAAM,CAWlB;IAED;;;;;;;OAOG;IACH,6BAJW,MAAM,GAAC,MAAM,UACb,MAAM,GACJ,MAAM,CAalB;IAED;;;;;;OAMG;IACH,8BAJW,MAAM,KACN,MAAM,GACJ,MAAM,CAsBlB;IAED;;;;;;;;OAQG;IACH,+BALW,MAAM,iBACN,KAAK,CAAC,MAAM,CAAC,cACb,MAAM,GACJ,MAAM,CAwBlB;IAED,mEAkBC;IAED;;;;MAqCC;CACF"}
@@ -1,4 +1,4 @@
1
- // @gesslar/toolkit v5.3.0 - ES module bundle
1
+ // @gesslar/toolkit v5.4.0 - ES module bundle
2
2
  /**
3
3
  * @file Tantrum.js
4
4
  *
@@ -559,26 +559,38 @@ class Util {
559
559
  Valid.type(supplied, "String", {allowEmpty: false});
560
560
  Valid.type(target, "String", {allowEmpty: false});
561
561
 
562
- const suppliedSemver = supplied.split(".").filter(Boolean).map(Number).filter(e => !isNaN(e));
563
- const targetSemver = target.split(".").filter(Boolean).map(Number).filter(e => !isNaN(e));
562
+ const {major: sMajor, minor: sMinor, patch: sPatch} =
563
+ this.semver.basic.exec(supplied)?.groups ?? {};
564
+ const {major: tMajor, minor: tMinor, patch: tPatch} =
565
+ this.semver.basic.exec(target)?.groups ?? {};
564
566
 
565
- Valid.assert(suppliedSemver.length === 3, "Invalid format for supplied semver.");
566
- Valid.assert(targetSemver.length === 3, "Invalid format for target semver.");
567
+ Valid.assert(Boolean(sMajor && sMinor && sPatch), "Invalid format for supplied semver.");
568
+ Valid.assert(Boolean(tMajor && tMinor && tPatch), "Invalid format for target semver.");
567
569
 
568
- if(suppliedSemver[0] < targetSemver[0])
570
+ const isMajor = Number(sMajor);
571
+ const itMajor = Number(tMajor);
572
+ if(isMajor < itMajor)
569
573
  return false
570
574
 
571
- if(suppliedSemver[0] === targetSemver[0]) {
572
- if(suppliedSemver[1] < targetSemver[1])
575
+ if(isMajor === itMajor) {
576
+ const isMinor = Number(sMinor);
577
+ const itMinor = Number(tMinor);
578
+ if(isMinor < itMinor)
573
579
  return false
574
580
 
575
- if(suppliedSemver[1] === targetSemver[1])
576
- if(suppliedSemver[2] < targetSemver[2])
581
+ if(isMinor === itMinor) {
582
+ const isPatch = Number(sPatch);
583
+ const itPatch = Number(tPatch);
584
+ if(isPatch < itPatch)
577
585
  return false
586
+ }
578
587
  }
579
588
 
580
589
  return true
581
- }
590
+ },
591
+
592
+ basic: /^(?<major>0|(?:[1-9]\d*))\.(?<minor>0|(?:[1-9]\d*))\.(?<patch>0|(?:[1-9]\d*))$/,
593
+ enhanced: /^(?<major>0|(?:[1-9]\d*))\.(?<minor>0|(?:[1-9]\d*))\.(?<patch>0|(?:[1-9]\d*))(?:-(?<prerelease>(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*))(?:\.(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*)))*))?(?:\+(?<build>(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*))(?:\.(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*)))*))?$/
582
594
  }
583
595
  }
584
596
 
@@ -1,4 +1,4 @@
1
- // @gesslar/toolkit v5.3.0 - UMD bundle
1
+ // @gesslar/toolkit v5.4.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) :
@@ -565,26 +565,38 @@
565
565
  Valid.type(supplied, "String", {allowEmpty: false});
566
566
  Valid.type(target, "String", {allowEmpty: false});
567
567
 
568
- const suppliedSemver = supplied.split(".").filter(Boolean).map(Number).filter(e => !isNaN(e));
569
- const targetSemver = target.split(".").filter(Boolean).map(Number).filter(e => !isNaN(e));
568
+ const {major: sMajor, minor: sMinor, patch: sPatch} =
569
+ this.semver.basic.exec(supplied)?.groups ?? {};
570
+ const {major: tMajor, minor: tMinor, patch: tPatch} =
571
+ this.semver.basic.exec(target)?.groups ?? {};
570
572
 
571
- Valid.assert(suppliedSemver.length === 3, "Invalid format for supplied semver.");
572
- Valid.assert(targetSemver.length === 3, "Invalid format for target semver.");
573
+ Valid.assert(Boolean(sMajor && sMinor && sPatch), "Invalid format for supplied semver.");
574
+ Valid.assert(Boolean(tMajor && tMinor && tPatch), "Invalid format for target semver.");
573
575
 
574
- if(suppliedSemver[0] < targetSemver[0])
576
+ const isMajor = Number(sMajor);
577
+ const itMajor = Number(tMajor);
578
+ if(isMajor < itMajor)
575
579
  return false
576
580
 
577
- if(suppliedSemver[0] === targetSemver[0]) {
578
- if(suppliedSemver[1] < targetSemver[1])
581
+ if(isMajor === itMajor) {
582
+ const isMinor = Number(sMinor);
583
+ const itMinor = Number(tMinor);
584
+ if(isMinor < itMinor)
579
585
  return false
580
586
 
581
- if(suppliedSemver[1] === targetSemver[1])
582
- if(suppliedSemver[2] < targetSemver[2])
587
+ if(isMinor === itMinor) {
588
+ const isPatch = Number(sPatch);
589
+ const itPatch = Number(tPatch);
590
+ if(isPatch < itPatch)
583
591
  return false
592
+ }
584
593
  }
585
594
 
586
595
  return true
587
- }
596
+ },
597
+
598
+ basic: /^(?<major>0|(?:[1-9]\d*))\.(?<minor>0|(?:[1-9]\d*))\.(?<patch>0|(?:[1-9]\d*))$/,
599
+ enhanced: /^(?<major>0|(?:[1-9]\d*))\.(?<minor>0|(?:[1-9]\d*))\.(?<patch>0|(?:[1-9]\d*))(?:-(?<prerelease>(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*))(?:\.(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*)))*))?(?:\+(?<build>(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*))(?:\.(?:0|(?:[1-9A-Za-z-][0-9A-Za-z-]*)))*))?$/
588
600
  }
589
601
  }
590
602