@@ -12275,13 +12275,6 @@ crypto.getRandomValues.bind(crypto);
12275
12275
function isCloudflareWorkers() {
12276
12276
return typeof WebSocketPair === 'function';
12277
12277
}
12278
- function isNodeJs() {
12279
- try {
12280
- return process.versions.node !== undefined;
12281
- } catch {
12282
- return false;
12283
- }
12284
- }
12285
12278
function unusable(name, prop = 'algorithm.name') {
12286
12279
return new TypeError(`CryptoKey does not support this operation, its ${prop} must be ${name}`);
12287
12280
}
@@ -12350,11 +12343,6 @@ function checkSigCryptoKey(key, alg, ...usages) {
12350
12343
if (actual !== expected) throw unusable(`SHA-${expected}`, 'algorithm.hash');
12351
12344
break;
12352
12345
}
12353
- case isNodeJs() && 'EdDSA':
12354
- {
12355
- if (key.algorithm.name !== 'NODE-ED25519' && key.algorithm.name !== 'NODE-ED448') throw unusable('NODE-ED25519 or NODE-ED448');
12356
- break;
12357
- }
12358
12346
case isCloudflareWorkers() && 'EdDSA':
12359
12347
{
12360
12348
if (!isAlgorithm(key.algorithm, 'NODE-ED25519')) throw unusable('NODE-ED25519');
@@ -12625,7 +12613,7 @@ function subtleMapping(jwk) {
12625
12613
}
12626
12614
break;
12627
12615
}
12628
- case ( isCloudflareWorkers() || isNodeJs() ) && 'OKP':
12616
+ case isCloudflareWorkers() && 'OKP':
12629
12617
if (jwk.alg !== 'EdDSA') {
12630
12618
throw new JOSENotSupported('Invalid or unsupported JWK "alg" (Algorithm) Parameter value');
12631
12619
}
@@ -12641,17 +12629,6 @@ function subtleMapping(jwk) {
12641
12629
'verify'
12642
12630
];
12643
12631
break;
12644
- case isNodeJs() && 'Ed448':
12645
- algorithm = {
12646
- name: 'NODE-ED448',
12647
- namedCurve: 'NODE-ED448'
12648
- };
12649
- keyUsages = jwk.d ? [
12650
- 'sign'
12651
- ] : [
12652
- 'verify'
12653
- ];
12654
- break;
12655
12632
default:
12656
12633
throw new JOSENotSupported('Invalid or unsupported JWK "crv" (Subtype of Key Pair) Parameter value');
12657
12634
}
@@ -12829,7 +12806,7 @@ function subtleDsa(alg, algorithm) {
12829
12806
name: 'ECDSA',
12830
12807
namedCurve: algorithm.namedCurve
12831
12808
};
12832
- case ( isCloudflareWorkers() || isNodeJs() ) && 'EdDSA':
12809
+ case isCloudflareWorkers() && 'EdDSA':
12833
12810
const { namedCurve } = algorithm;
12834
12811
return {
12835
12812
name: namedCurve,
@@ -39813,6 +39790,20 @@ base64.toString = (str, urlMode)=>{
39813
39790
base64.fromString = (str, urlMode)=>{
39814
39791
return base64.fromArrayBuffer((new TextEncoder).encode(str), urlMode);
39815
39792
};
39793
+ base64.validate = (encoded, urlMode)=>{
39794
+ if (!(typeof encoded === "string" || encoded instanceof String)) {
39795
+ return false;
39796
+ }
39797
+ try {
39798
+ if (urlMode) {
39799
+ return /^[-A-Za-z0-9\-_]*$/.test(encoded);
39800
+ } else {
39801
+ return /^[-A-Za-z0-9+/]*={0,3}$/.test(encoded);
39802
+ }
39803
+ } catch (_e) {
39804
+ return false;
39805
+ }
39806
+ };
39816
39807
base64.base64 = base64;
39817
39808
const mod1 = {};
39818
39809
function ab2str(buf) {
0 commit comments