nostr-double-ratchet 0.0.65 → 0.0.72
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/dist/Group.d.ts +1 -0
- package/dist/Group.d.ts.map +1 -1
- package/dist/GroupChannel.d.ts +16 -1
- package/dist/GroupChannel.d.ts.map +1 -1
- package/dist/GroupManager.d.ts +76 -0
- package/dist/GroupManager.d.ts.map +1 -0
- package/dist/SessionManager.d.ts +2 -17
- package/dist/SessionManager.d.ts.map +1 -1
- package/dist/base64.d.ts.map +1 -1
- package/dist/nostr-double-ratchet.es.js +3678 -3278
- package/dist/nostr-double-ratchet.umd.js +1 -1
- package/dist/types.d.ts +0 -9
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/Group.ts +1 -1
- package/src/GroupChannel.ts +36 -11
- package/src/GroupManager.ts +399 -0
- package/src/SessionManager.ts +3 -143
- package/src/base64.ts +7 -5
- package/src/types.ts +0 -11
package/dist/Group.d.ts
CHANGED
package/dist/Group.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../src/Group.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../src/Group.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
package/dist/GroupChannel.d.ts
CHANGED
|
@@ -85,11 +85,26 @@ export declare class Group {
|
|
|
85
85
|
nowMs?: number;
|
|
86
86
|
}): Promise<SenderKeyDistribution>;
|
|
87
87
|
/**
|
|
88
|
-
* Send
|
|
88
|
+
* Send an inner group event over one-to-many transport.
|
|
89
89
|
* - Ensures we have sender-event keys and a sender key state.
|
|
90
90
|
* - Distributes sender key to group members if needed.
|
|
91
91
|
* - Publishes exactly one outer event via OneToManyChannel.
|
|
92
92
|
*/
|
|
93
|
+
sendEvent(event: {
|
|
94
|
+
kind: number;
|
|
95
|
+
content: string;
|
|
96
|
+
tags?: string[][];
|
|
97
|
+
}, opts: {
|
|
98
|
+
sendPairwise: PairwiseSend;
|
|
99
|
+
publishOuter: PublishOuter;
|
|
100
|
+
nowMs?: number;
|
|
101
|
+
}): Promise<{
|
|
102
|
+
outer: VerifiedEvent;
|
|
103
|
+
inner: Rumor;
|
|
104
|
+
}>;
|
|
105
|
+
/**
|
|
106
|
+
* Send a regular group chat message (kind 14).
|
|
107
|
+
*/
|
|
93
108
|
sendMessage(message: string, opts: {
|
|
94
109
|
sendPairwise: PairwiseSend;
|
|
95
110
|
publishOuter: PublishOuter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupChannel.d.ts","sourceRoot":"","sources":["../src/GroupChannel.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAA4B,MAAM,aAAa,CAAC;AAEnF,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAyC,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAE5E,MAAM,MAAM,YAAY,GAAG,CAAC,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AACzF,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,uFAAuF;IACvF,cAAc,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC;CACd;AAoCD;;;;;;;;;;;;GAYG;AACH,qBAAa,KAAK;IACT,IAAI,EAAE,SAAS,CAAC;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,kBAAkB,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAE7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAO;IACtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,mBAAmB,CAAkC;IAG7D,OAAO,CAAC,YAAY,CAA2C;gBAEnD,IAAI,EAAE,YAAY;IAW9B,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAK9B,UAAU,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI;IAIxC,sBAAsB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK3C,6BAA6B,CACjC,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAKhB,IAAI;IA6BlB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,YAAY;YAON,YAAY;YA0BZ,wBAAwB;YA8BxB,kBAAkB;YAUlB,kBAAkB;YAIlB,uBAAuB;IA6BrC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"GroupChannel.d.ts","sourceRoot":"","sources":["../src/GroupChannel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { VerifiedEvent } from "nostr-tools";
|
|
2
|
+
import { type GroupDecryptedEvent, type PairwiseSend, type PublishOuter } from "./GroupChannel";
|
|
3
|
+
import { type GroupData } from "./GroupMeta";
|
|
4
|
+
import { OneToManyChannel } from "./OneToManyChannel";
|
|
5
|
+
import type { SenderKeyDistribution } from "./SenderKey";
|
|
6
|
+
import { type StorageAdapter } from "./StorageAdapter";
|
|
7
|
+
import { type NostrSubscribe, type Rumor } from "./types";
|
|
8
|
+
export interface GroupManagerErrorContext {
|
|
9
|
+
operation: "upsertGroup" | "sendEvent" | "sendMessage" | "rotateSenderKey" | "handleIncomingSessionEvent" | "handleOuterEvent" | "syncOuterSubscription";
|
|
10
|
+
groupId?: string;
|
|
11
|
+
senderEventPubkey?: string;
|
|
12
|
+
eventId?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface GroupManagerOptions {
|
|
15
|
+
ourOwnerPubkey: string;
|
|
16
|
+
ourDevicePubkey: string;
|
|
17
|
+
storage?: StorageAdapter;
|
|
18
|
+
oneToMany?: OneToManyChannel;
|
|
19
|
+
nostrSubscribe?: NostrSubscribe;
|
|
20
|
+
onDecryptedEvent?: (event: GroupDecryptedEvent) => void;
|
|
21
|
+
onError?: (error: unknown, context: GroupManagerErrorContext) => void;
|
|
22
|
+
}
|
|
23
|
+
export declare class GroupManager {
|
|
24
|
+
private readonly ourOwnerPubkey;
|
|
25
|
+
private readonly ourDevicePubkey;
|
|
26
|
+
private readonly storage;
|
|
27
|
+
private readonly oneToMany;
|
|
28
|
+
private readonly nostrSubscribe?;
|
|
29
|
+
private readonly onDecryptedEvent?;
|
|
30
|
+
private readonly onError?;
|
|
31
|
+
private readonly groups;
|
|
32
|
+
private readonly senderEventToGroup;
|
|
33
|
+
private readonly groupToSenderEvents;
|
|
34
|
+
private readonly pendingOuterBySenderEvent;
|
|
35
|
+
private outerUnsubscribe;
|
|
36
|
+
private outerAuthorsKey;
|
|
37
|
+
private readonly maxPendingPerSenderEvent;
|
|
38
|
+
constructor(opts: GroupManagerOptions);
|
|
39
|
+
upsertGroup(data: GroupData): Promise<void>;
|
|
40
|
+
removeGroup(groupId: string): void;
|
|
41
|
+
destroy(): void;
|
|
42
|
+
sendMessage(groupId: string, message: string, opts: {
|
|
43
|
+
sendPairwise: PairwiseSend;
|
|
44
|
+
publishOuter: PublishOuter;
|
|
45
|
+
nowMs?: number;
|
|
46
|
+
}): Promise<{
|
|
47
|
+
outer: VerifiedEvent;
|
|
48
|
+
inner: Rumor;
|
|
49
|
+
}>;
|
|
50
|
+
sendEvent(groupId: string, event: {
|
|
51
|
+
kind: number;
|
|
52
|
+
content: string;
|
|
53
|
+
tags?: string[][];
|
|
54
|
+
}, opts: {
|
|
55
|
+
sendPairwise: PairwiseSend;
|
|
56
|
+
publishOuter: PublishOuter;
|
|
57
|
+
nowMs?: number;
|
|
58
|
+
}): Promise<{
|
|
59
|
+
outer: VerifiedEvent;
|
|
60
|
+
inner: Rumor;
|
|
61
|
+
}>;
|
|
62
|
+
rotateSenderKey(groupId: string, opts: {
|
|
63
|
+
sendPairwise: PairwiseSend;
|
|
64
|
+
nowMs?: number;
|
|
65
|
+
}): Promise<SenderKeyDistribution>;
|
|
66
|
+
handleIncomingSessionEvent(event: Rumor, fromOwnerPubkey: string, fromSenderDevicePubkey?: string): Promise<GroupDecryptedEvent[]>;
|
|
67
|
+
handleOuterEvent(outer: VerifiedEvent): Promise<GroupDecryptedEvent | null>;
|
|
68
|
+
syncOuterSubscription(): Promise<void>;
|
|
69
|
+
private emitDecryptedEvents;
|
|
70
|
+
private bindSenderEventToGroup;
|
|
71
|
+
private refreshGroupSenderMappings;
|
|
72
|
+
private queuePendingOuter;
|
|
73
|
+
private drainPendingOuterForSenderEvent;
|
|
74
|
+
private reportError;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=GroupManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroupManager.d.ts","sourceRoot":"","sources":["../src/GroupManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAS,KAAK,mBAAmB,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAqB,KAAK,cAAc,EAAE,KAAK,KAAK,EAAoB,MAAM,SAAS,CAAC;AAE/F,MAAM,WAAW,wBAAwB;IACvC,SAAS,EACL,aAAa,GACb,WAAW,GACX,aAAa,GACb,iBAAiB,GACjB,4BAA4B,GAC5B,kBAAkB,GAClB,uBAAuB,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,wBAAwB,KAAK,IAAI,CAAC;CACvE;AA2BD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAuC;IACzE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA8D;IAEvF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAChE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;IACtE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAsC;IAEhF,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAO;gBAEpC,IAAI,EAAE,mBAAmB;IAU/B,WAAW,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAiBlC,OAAO,IAAI,IAAI;IAeT,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/E,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAW5C,SAAS,CACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,CAAA;KAAE,EAC3D,IAAI,EAAE;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/E,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAiB5C,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QAAE,YAAY,EAAE,YAAY,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACnD,OAAO,CAAC,qBAAqB,CAAC;IAiB3B,0BAA0B,CAC9B,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,MAAM,EACvB,sBAAsB,CAAC,EAAE,MAAM,GAC9B,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA8C3B,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAiC3E,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC5C,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,sBAAsB;YAOhB,0BAA0B;IA8BxC,OAAO,CAAC,iBAAiB;YASX,+BAA+B;IA2B7C,OAAO,CAAC,WAAW;CAGpB"}
|
package/dist/SessionManager.d.ts
CHANGED
|
@@ -57,7 +57,6 @@ export declare class SessionManager {
|
|
|
57
57
|
private peerExpiration;
|
|
58
58
|
private groupExpiration;
|
|
59
59
|
private autoAdoptChatSettings;
|
|
60
|
-
private chatTombstones;
|
|
61
60
|
private userRecordWriteChain;
|
|
62
61
|
private ourInviteResponseSubscription;
|
|
63
62
|
private inviteSubscriptions;
|
|
@@ -69,11 +68,8 @@ export declare class SessionManager {
|
|
|
69
68
|
private expirationPeerKey;
|
|
70
69
|
private expirationGroupPrefix;
|
|
71
70
|
private expirationGroupKey;
|
|
72
|
-
private chatTombstonePrefix;
|
|
73
|
-
private chatTombstoneKey;
|
|
74
71
|
private validateExpirationOptions;
|
|
75
72
|
private loadExpirationSettings;
|
|
76
|
-
private loadChatTombstones;
|
|
77
73
|
constructor(ourPublicKey: string, identityKey: IdentityKey, deviceId: string, nostrSubscribe: NostrSubscribe, nostrPublish: NostrPublish, ownerPublicKey: string, inviteKeys: InviteCredentials, storage?: StorageAdapter);
|
|
78
74
|
init(): Promise<void>;
|
|
79
75
|
/**
|
|
@@ -120,8 +116,6 @@ export declare class SessionManager {
|
|
|
120
116
|
* When enabled, receiving a valid settings payload updates per-peer expiration defaults.
|
|
121
117
|
*/
|
|
122
118
|
setAutoAdoptChatSettings(enabled: boolean): void;
|
|
123
|
-
isChatTombstoned(userPubkey: string): boolean;
|
|
124
|
-
private setChatTombstone;
|
|
125
119
|
getDeviceId(): string;
|
|
126
120
|
getUserRecords(): Map<string, UserRecord>;
|
|
127
121
|
/**
|
|
@@ -140,16 +134,8 @@ export declare class SessionManager {
|
|
|
140
134
|
setExpirationForGroup(groupId: string, options: ExpirationOptions | null | undefined): Promise<void>;
|
|
141
135
|
close(): void;
|
|
142
136
|
deactivateCurrentSessions(publicKey: string): void;
|
|
143
|
-
deleteChat(userPubkey: string
|
|
144
|
-
|
|
145
|
-
tombstone?: boolean;
|
|
146
|
-
}): Promise<void>;
|
|
147
|
-
deleteUser(userPubkey: string, options?: {
|
|
148
|
-
syncToOwnDevices?: boolean;
|
|
149
|
-
tombstone?: boolean;
|
|
150
|
-
}): Promise<void>;
|
|
151
|
-
private publishChatTombstone;
|
|
152
|
-
private deleteUserLocal;
|
|
137
|
+
deleteChat(userPubkey: string): Promise<void>;
|
|
138
|
+
deleteUser(userPubkey: string): Promise<void>;
|
|
153
139
|
private removeSessionSubscription;
|
|
154
140
|
private deleteUserSessionsFromStorage;
|
|
155
141
|
private flushMessageQueue;
|
|
@@ -177,7 +163,6 @@ export declare class SessionManager {
|
|
|
177
163
|
setChatSettingsForPeer(peerPubkey: string, messageTtlSeconds: ChatSettingsPayloadV1["messageTtlSeconds"]): Promise<Rumor>;
|
|
178
164
|
sendReceipt(recipientPublicKey: string, receiptType: ReceiptType, messageIds: string[]): Promise<Rumor | undefined>;
|
|
179
165
|
sendTyping(recipientPublicKey: string): Promise<Rumor>;
|
|
180
|
-
private maybeHandleLocalChatTombstone;
|
|
181
166
|
private maybeAutoAdoptChatSettings;
|
|
182
167
|
private cleanupDevice;
|
|
183
168
|
private buildMessageTags;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../src/SessionManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,cAAc,EACd,YAAY,EACZ,KAAK,
|
|
1
|
+
{"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../src/SessionManager.ts"],"names":[],"mappings":"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"}
|
package/dist/base64.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"base64.d.ts","sourceRoot":"","sources":["../src/base64.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAmBtD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAgBpD"}
|