@learncard/helpers 1.3.8 → 1.3.10

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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@learncard/helpers",
3
- "version": "1.3.8",
3
+ "version": "1.3.10",
4
4
  "description": "Shared helpers for LearnCard packages",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -59,7 +59,7 @@
59
59
  "dependencies": {
60
60
  "@noble/hashes": "^1.8.0",
61
61
  "@sd-jwt/decode": "^0.19.0",
62
- "@learncard/types": "5.17.5",
62
+ "@learncard/types": "5.18.0",
63
63
  "@trpc/server": "11.7.1",
64
64
  "immer": "^10.0.3",
65
65
  "use-immer": "^0.9.0",
package/src/did.ts ADDED
@@ -0,0 +1,12 @@
1
+ /** Generates a did:web for a user given the app domain and profile ID. */
2
+ export const getDidWeb = (domain: string, profileId: string): string => {
3
+ let decodedDomain = domain;
4
+
5
+ try {
6
+ decodedDomain = decodeURIComponent(domain);
7
+ } catch {
8
+ // Keep the original domain when it is not valid URI-encoded input.
9
+ }
10
+
11
+ return `did:web:${encodeURIComponent(decodedDomain)}:users:${profileId}`;
12
+ };
package/src/index.ts CHANGED
@@ -85,6 +85,7 @@ export * from './Utilities';
85
85
  // Export app install helpers
86
86
  export * from './app-install';
87
87
  export * from './credential-format';
88
+ export * from './did';
88
89
 
89
90
  // ADR-0001 Phase 1: format-tagged credential storage projector
90
91
  export * from './credential-format';