@sd-jwt/decode 0.15.2-next.8 → 0.16.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/CHANGELOG.md +17 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -5
- package/dist/index.mjs +5 -5
- package/package.json +6 -6
- package/src/decode.ts +1 -1
- package/src/test/decode.spec.ts +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.16.0](https://github.com/openwallet-foundation/sd-jwt-js/compare/v0.15.1...v0.16.0) (2025-10-07)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* change repo url from labs to other one ([#323](https://github.com/openwallet-foundation/sd-jwt-js/issues/323)) ([f68c847](https://github.com/openwallet-foundation/sd-jwt-js/commit/f68c8476c2f04bb9d53acd4059b59caf271df015))
|
|
12
|
+
* set correct url in package json ([#321](https://github.com/openwallet-foundation/sd-jwt-js/issues/321)) ([554152c](https://github.com/openwallet-foundation/sd-jwt-js/commit/554152cc819bbc3afb504b25f4a2018a92fb72f1))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* updates all dependencies to latest versions + biome updates ([#324](https://github.com/openwallet-foundation/sd-jwt-js/issues/324)) ([75d5780](https://github.com/openwallet-foundation/sd-jwt-js/commit/75d5780fb53c5e2c886537b283503fc6fb088a4a))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
# [0.15.0](https://github.com/openwallet-foundation/sd-jwt-js/compare/v0.14.1...v0.15.0) (2025-08-20)
|
|
7
24
|
|
|
8
25
|
**Note:** Version bump only for package @sd-jwt/decode
|
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Disclosure } from '@sd-jwt/utils';
|
|
2
1
|
import { Hasher, HasherAndAlg } from '@sd-jwt/types';
|
|
3
2
|
import { HasherSync, HasherAndAlgSync } from '@sd-jwt/types/src/type';
|
|
3
|
+
import { Disclosure } from '@sd-jwt/utils';
|
|
4
4
|
|
|
5
5
|
declare const decodeJwt: <H extends Record<string, unknown>, T extends Record<string, unknown>>(jwt: string) => {
|
|
6
6
|
header: H;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Disclosure } from '@sd-jwt/utils';
|
|
2
1
|
import { Hasher, HasherAndAlg } from '@sd-jwt/types';
|
|
3
2
|
import { HasherSync, HasherAndAlgSync } from '@sd-jwt/types/src/type';
|
|
3
|
+
import { Disclosure } from '@sd-jwt/utils';
|
|
4
4
|
|
|
5
5
|
declare const decodeJwt: <H extends Record<string, unknown>, T extends Record<string, unknown>>(jwt: string) => {
|
|
6
6
|
header: H;
|
package/dist/index.js
CHANGED
|
@@ -70,8 +70,8 @@ __export(index_exports, {
|
|
|
70
70
|
module.exports = __toCommonJS(index_exports);
|
|
71
71
|
|
|
72
72
|
// src/decode.ts
|
|
73
|
-
var import_utils = require("@sd-jwt/utils");
|
|
74
73
|
var import_types = require("@sd-jwt/types");
|
|
74
|
+
var import_utils = require("@sd-jwt/utils");
|
|
75
75
|
var decodeJwt = (jwt) => {
|
|
76
76
|
const { 0: header, 1: payload, 2: signature, length } = jwt.split(".");
|
|
77
77
|
if (length !== 3) {
|
|
@@ -98,7 +98,7 @@ var splitSdJwt = (sdjwt) => {
|
|
|
98
98
|
kbJwt: encodedKeyBindingJwt || void 0
|
|
99
99
|
};
|
|
100
100
|
};
|
|
101
|
-
var decodeSdJwt = (sdjwt, hasher) => __async(
|
|
101
|
+
var decodeSdJwt = (sdjwt, hasher) => __async(null, null, function* () {
|
|
102
102
|
const [encodedJwt, ...encodedDisclosures] = sdjwt.split(import_types.SD_SEPARATOR);
|
|
103
103
|
const jwt = decodeJwt(encodedJwt);
|
|
104
104
|
if (encodedDisclosures.length === 0) {
|
|
@@ -142,7 +142,7 @@ var decodeSdJwtSync = (sdjwt, hasher) => {
|
|
|
142
142
|
kbJwt
|
|
143
143
|
};
|
|
144
144
|
};
|
|
145
|
-
var getClaims = (rawPayload, disclosures, hasher) => __async(
|
|
145
|
+
var getClaims = (rawPayload, disclosures, hasher) => __async(null, null, function* () {
|
|
146
146
|
const { unpackedObj } = yield unpack(rawPayload, disclosures, hasher);
|
|
147
147
|
return unpackedObj;
|
|
148
148
|
});
|
|
@@ -214,7 +214,7 @@ var unpackObjInternal = (obj, map, prefix = "") => {
|
|
|
214
214
|
}
|
|
215
215
|
return { unpackedObj: obj, disclosureKeymap: keys };
|
|
216
216
|
};
|
|
217
|
-
var createHashMapping = (disclosures, hash) => __async(
|
|
217
|
+
var createHashMapping = (disclosures, hash) => __async(null, null, function* () {
|
|
218
218
|
const map = {};
|
|
219
219
|
for (let i = 0; i < disclosures.length; i++) {
|
|
220
220
|
const disclosure = disclosures[i];
|
|
@@ -239,7 +239,7 @@ var getSDAlgAndPayload = (SdJwtPayload) => {
|
|
|
239
239
|
}
|
|
240
240
|
return { _sd_alg, payload };
|
|
241
241
|
};
|
|
242
|
-
var unpack = (SdJwtPayload, disclosures, hasher) => __async(
|
|
242
|
+
var unpack = (SdJwtPayload, disclosures, hasher) => __async(null, null, function* () {
|
|
243
243
|
const { _sd_alg, payload } = getSDAlgAndPayload(SdJwtPayload);
|
|
244
244
|
const hash = { hasher, alg: _sd_alg };
|
|
245
245
|
const map = yield createHashMapping(disclosures, hash);
|
package/dist/index.mjs
CHANGED
|
@@ -35,12 +35,12 @@ var __async = (__this, __arguments, generator) => {
|
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
// src/decode.ts
|
|
38
|
-
import { base64urlDecode, SDJWTException, Disclosure } from "@sd-jwt/utils";
|
|
39
38
|
import {
|
|
40
39
|
SD_DIGEST,
|
|
41
40
|
SD_LIST_KEY,
|
|
42
41
|
SD_SEPARATOR
|
|
43
42
|
} from "@sd-jwt/types";
|
|
43
|
+
import { base64urlDecode, Disclosure, SDJWTException } from "@sd-jwt/utils";
|
|
44
44
|
var decodeJwt = (jwt) => {
|
|
45
45
|
const { 0: header, 1: payload, 2: signature, length } = jwt.split(".");
|
|
46
46
|
if (length !== 3) {
|
|
@@ -67,7 +67,7 @@ var splitSdJwt = (sdjwt) => {
|
|
|
67
67
|
kbJwt: encodedKeyBindingJwt || void 0
|
|
68
68
|
};
|
|
69
69
|
};
|
|
70
|
-
var decodeSdJwt = (sdjwt, hasher) => __async(
|
|
70
|
+
var decodeSdJwt = (sdjwt, hasher) => __async(null, null, function* () {
|
|
71
71
|
const [encodedJwt, ...encodedDisclosures] = sdjwt.split(SD_SEPARATOR);
|
|
72
72
|
const jwt = decodeJwt(encodedJwt);
|
|
73
73
|
if (encodedDisclosures.length === 0) {
|
|
@@ -111,7 +111,7 @@ var decodeSdJwtSync = (sdjwt, hasher) => {
|
|
|
111
111
|
kbJwt
|
|
112
112
|
};
|
|
113
113
|
};
|
|
114
|
-
var getClaims = (rawPayload, disclosures, hasher) => __async(
|
|
114
|
+
var getClaims = (rawPayload, disclosures, hasher) => __async(null, null, function* () {
|
|
115
115
|
const { unpackedObj } = yield unpack(rawPayload, disclosures, hasher);
|
|
116
116
|
return unpackedObj;
|
|
117
117
|
});
|
|
@@ -183,7 +183,7 @@ var unpackObjInternal = (obj, map, prefix = "") => {
|
|
|
183
183
|
}
|
|
184
184
|
return { unpackedObj: obj, disclosureKeymap: keys };
|
|
185
185
|
};
|
|
186
|
-
var createHashMapping = (disclosures, hash) => __async(
|
|
186
|
+
var createHashMapping = (disclosures, hash) => __async(null, null, function* () {
|
|
187
187
|
const map = {};
|
|
188
188
|
for (let i = 0; i < disclosures.length; i++) {
|
|
189
189
|
const disclosure = disclosures[i];
|
|
@@ -208,7 +208,7 @@ var getSDAlgAndPayload = (SdJwtPayload) => {
|
|
|
208
208
|
}
|
|
209
209
|
return { _sd_alg, payload };
|
|
210
210
|
};
|
|
211
|
-
var unpack = (SdJwtPayload, disclosures, hasher) => __async(
|
|
211
|
+
var unpack = (SdJwtPayload, disclosures, hasher) => __async(null, null, function* () {
|
|
212
212
|
const { _sd_alg, payload } = getSDAlgAndPayload(SdJwtPayload);
|
|
213
213
|
const hash = { hasher, alg: _sd_alg };
|
|
214
214
|
const map = yield createHashMapping(disclosures, hash);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sd-jwt/decode",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "sd-jwt draft 7 implementation in typescript",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"sd-jwt-vc"
|
|
25
25
|
],
|
|
26
26
|
"engines": {
|
|
27
|
-
"node": ">=
|
|
27
|
+
"node": ">=20"
|
|
28
28
|
},
|
|
29
29
|
"repository": {
|
|
30
30
|
"url": "https://github.com/openwallet-foundation/sd-jwt-js"
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
},
|
|
37
37
|
"license": "Apache-2.0",
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@sd-jwt/crypto-nodejs": "0.
|
|
39
|
+
"@sd-jwt/crypto-nodejs": "0.16.0"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@sd-jwt/types": "0.
|
|
43
|
-
"@sd-jwt/utils": "0.
|
|
42
|
+
"@sd-jwt/types": "0.16.0",
|
|
43
|
+
"@sd-jwt/utils": "0.16.0"
|
|
44
44
|
},
|
|
45
45
|
"publishConfig": {
|
|
46
46
|
"access": "public"
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"esm"
|
|
59
59
|
]
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "910c79c1607e91ae61e048a0c1b81c9ba0886684"
|
|
62
62
|
}
|
package/src/decode.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { base64urlDecode, SDJWTException, Disclosure } from '@sd-jwt/utils';
|
|
2
1
|
import {
|
|
3
2
|
type Hasher,
|
|
4
3
|
type HasherAndAlg,
|
|
@@ -7,6 +6,7 @@ import {
|
|
|
7
6
|
SD_SEPARATOR,
|
|
8
7
|
} from '@sd-jwt/types';
|
|
9
8
|
import type { HasherAndAlgSync, HasherSync } from '@sd-jwt/types/src/type';
|
|
9
|
+
import { base64urlDecode, Disclosure, SDJWTException } from '@sd-jwt/utils';
|
|
10
10
|
|
|
11
11
|
export const decodeJwt = <
|
|
12
12
|
H extends Record<string, unknown>,
|
package/src/test/decode.spec.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { digest } from '@sd-jwt/crypto-nodejs';
|
|
1
2
|
import { describe, expect, test } from 'vitest';
|
|
2
3
|
import {
|
|
3
4
|
createHashMapping,
|
|
@@ -10,7 +11,6 @@ import {
|
|
|
10
11
|
splitSdJwt,
|
|
11
12
|
unpackObj,
|
|
12
13
|
} from '../index';
|
|
13
|
-
import { digest } from '@sd-jwt/crypto-nodejs';
|
|
14
14
|
|
|
15
15
|
describe('decode tests', () => {
|
|
16
16
|
test('decode jwt', () => {
|
|
@@ -180,7 +180,7 @@ describe('decode tests', () => {
|
|
|
180
180
|
});
|
|
181
181
|
|
|
182
182
|
test('Test default sd hash algorithm', () => {
|
|
183
|
-
const { _sd_alg
|
|
183
|
+
const { _sd_alg } = getSDAlgAndPayload({});
|
|
184
184
|
expect(_sd_alg).toBe('sha-256');
|
|
185
185
|
});
|
|
186
186
|
|
|
@@ -190,7 +190,7 @@ describe('decode tests', () => {
|
|
|
190
190
|
const decodedSdJwt = await decodeSdJwt(sdjwt, digest);
|
|
191
191
|
const jwtPayload = JSON.parse(JSON.stringify(decodedSdJwt.jwt.payload));
|
|
192
192
|
|
|
193
|
-
const { _sd_alg
|
|
193
|
+
const { _sd_alg } = getSDAlgAndPayload(decodedSdJwt.jwt.payload);
|
|
194
194
|
const hash = { hasher: digest, alg: _sd_alg };
|
|
195
195
|
const map = await createHashMapping(decodedSdJwt.disclosures, hash);
|
|
196
196
|
|