@bobfrankston/rmfmail 1.1.4 → 1.1.6
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/bin/build-bundles.mjs +14 -4
- package/bin/mailx.js +8 -3
- package/bin/mailx.js.map +1 -1
- package/bin/mailx.ts +8 -3
- package/client/android-bootstrap.bundle.js +2151 -2
- package/client/android-bootstrap.bundle.js.map +4 -4
- package/client/app.bundle.js +40 -8
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +15 -6
- package/client/app.js.map +1 -1
- package/client/app.ts +14 -6
- package/client/components/alarms.js +36 -10
- package/client/components/alarms.js.map +1 -1
- package/client/components/alarms.ts +32 -10
- package/client/components/message-list.js +30 -7
- package/client/components/message-list.js.map +1 -1
- package/client/components/message-list.ts +28 -6
- package/package.json +3 -3
- package/packages/mailx-api/index.d.ts +2 -2
- package/packages/mailx-api/index.d.ts.map +1 -1
- package/packages/mailx-api/index.js +2 -2
- package/packages/mailx-api/index.js.map +1 -1
- package/packages/mailx-api/index.ts +3 -3
- package/packages/mailx-core/index.d.ts.map +1 -1
- package/packages/mailx-core/index.js +3 -2
- package/packages/mailx-core/index.js.map +1 -1
- package/packages/mailx-core/index.ts +3 -2
- package/packages/mailx-imap/index.d.ts +13 -4
- package/packages/mailx-imap/index.d.ts.map +1 -1
- package/packages/mailx-imap/index.js +16 -8
- package/packages/mailx-imap/index.js.map +1 -1
- package/packages/mailx-imap/index.ts +15 -7
- package/packages/mailx-imap/package-lock.json +2 -2
- package/packages/mailx-imap/package.json +1 -1
- package/packages/mailx-server/index.d.ts.map +1 -1
- package/packages/mailx-server/index.js +4 -3
- package/packages/mailx-server/index.js.map +1 -1
- package/packages/mailx-server/index.ts +4 -3
- package/packages/mailx-service/db-worker.js +3 -4
- package/packages/mailx-service/db-worker.js.map +1 -1
- package/packages/mailx-service/db-worker.ts +5 -6
- package/packages/mailx-service/index.d.ts +20 -3
- package/packages/mailx-service/index.d.ts.map +1 -1
- package/packages/mailx-service/index.js +19 -17
- package/packages/mailx-service/index.js.map +1 -1
- package/packages/mailx-service/index.ts +18 -17
- package/packages/mailx-service/local-store.d.ts +7 -144
- package/packages/mailx-service/local-store.d.ts.map +1 -1
- package/packages/mailx-service/local-store.js +6 -511
- package/packages/mailx-service/local-store.js.map +1 -1
- package/packages/mailx-service/local-store.ts +7 -551
- package/packages/mailx-store/charset.d.ts +15 -0
- package/packages/mailx-store/charset.d.ts.map +1 -0
- package/packages/mailx-store/charset.js +61 -0
- package/packages/mailx-store/charset.js.map +1 -0
- package/packages/mailx-store/charset.ts +45 -0
- package/packages/mailx-store/index.d.ts +2 -0
- package/packages/mailx-store/index.d.ts.map +1 -1
- package/packages/mailx-store/index.js +2 -0
- package/packages/mailx-store/index.js.map +1 -1
- package/packages/mailx-store/index.ts +4 -0
- package/packages/mailx-store/package.json +1 -1
- package/packages/mailx-store/store.d.ts +169 -0
- package/packages/mailx-store/store.d.ts.map +1 -0
- package/packages/mailx-store/store.js +528 -0
- package/packages/mailx-store/store.js.map +1 -0
- package/packages/mailx-store/store.ts +567 -0
- package/client/lib/tinymce/themes/silver/index.js +0 -7
- package/client/lib/tinymce/themes/silver/theme.js +0 -34829
- package/client/lib/tinymce/themes/silver/theme.min.js +0 -1
- package/client/lib/tinymce/tinymce.js +0 -41682
- package/client/lib/tinymce/tinymce.min.js +0 -10
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-39436 → node_modules.npmglobalize-stash-41384}/.package-lock.json +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Charset normalization for incoming email bodies.
|
|
3
|
+
*
|
|
4
|
+
* Many senders (esp. PHPMailer-driven marketing) declare
|
|
5
|
+
* `charset=iso-8859-1` but emit UTF-8 bytes. simpleParser honors the
|
|
6
|
+
* declared charset and produces "â??" garbage for every non-ASCII
|
|
7
|
+
* codepoint (em-dash, smart quotes, …). When the raw body bytes are
|
|
8
|
+
* valid UTF-8, rewrite the charset header before parsing. We only
|
|
9
|
+
* override the obviously-wrong legacy declarations; explicit utf-8 /
|
|
10
|
+
* koi8 / etc. pass through.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/** Returns either the original buffer (no change needed) or a copy with
|
|
14
|
+
* the leading charset declaration rewritten to utf-8. */
|
|
15
|
+
export function sniffAndFixCharset(raw: Buffer): Buffer {
|
|
16
|
+
const HEAD_LIMIT = 16384;
|
|
17
|
+
const head = raw.subarray(0, Math.min(HEAD_LIMIT, raw.length)).toString("latin1");
|
|
18
|
+
const re = /charset\s*=\s*"?(iso-8859-1|us-ascii|windows-1252|latin1)"?/gi;
|
|
19
|
+
if (!re.test(head)) return raw;
|
|
20
|
+
if (!isValidUtf8(raw)) return raw;
|
|
21
|
+
const fixed = head.replace(/charset\s*=\s*"?(iso-8859-1|us-ascii|windows-1252|latin1)"?/gi, "charset=utf-8");
|
|
22
|
+
return Buffer.concat([Buffer.from(fixed, "latin1"), raw.subarray(head.length)]);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/** Strict UTF-8 validity check: rejects overlong forms, invalid start
|
|
26
|
+
* bytes, and dangling continuations. Used to confirm the body is really
|
|
27
|
+
* UTF-8 before overriding a Latin-1 declaration. */
|
|
28
|
+
function isValidUtf8(buf: Buffer): boolean {
|
|
29
|
+
let i = 0;
|
|
30
|
+
while (i < buf.length) {
|
|
31
|
+
const b = buf[i];
|
|
32
|
+
if (b < 0x80) { i++; continue; }
|
|
33
|
+
let need: number;
|
|
34
|
+
if ((b & 0xE0) === 0xC0) { if (b < 0xC2) return false; need = 1; }
|
|
35
|
+
else if ((b & 0xF0) === 0xE0) need = 2;
|
|
36
|
+
else if ((b & 0xF8) === 0xF0) { if (b > 0xF4) return false; need = 3; }
|
|
37
|
+
else return false;
|
|
38
|
+
if (i + need >= buf.length) return false;
|
|
39
|
+
for (let k = 1; k <= need; k++) {
|
|
40
|
+
if ((buf[i + k] & 0xC0) !== 0x80) return false;
|
|
41
|
+
}
|
|
42
|
+
i += need + 1;
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
export { MailxDB } from "./db.js";
|
|
6
6
|
export { FileMessageStore } from "./file-store.js";
|
|
7
7
|
export { parseSerial, prewarmParseWorker } from "./parse-serial.js";
|
|
8
|
+
export { Store } from "./store.js";
|
|
9
|
+
export type { StoreMessage } from "./store.js";
|
|
8
10
|
export { StoreBus, storeBus } from "@bobfrankston/mailx-bus";
|
|
9
11
|
export type { StoreEvent, StoreEventKind, StoreEventHandler } from "@bobfrankston/mailx-bus";
|
|
10
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -5,6 +5,8 @@
|
|
|
5
5
|
export { MailxDB } from "./db.js";
|
|
6
6
|
export { FileMessageStore } from "./file-store.js";
|
|
7
7
|
export { parseSerial, prewarmParseWorker } from "./parse-serial.js";
|
|
8
|
+
// Store — the nexus. Owns DB + .eml files + operations + bus.
|
|
9
|
+
export { Store } from "./store.js";
|
|
8
10
|
// Store-event bus lives in `@bobfrankston/mailx-bus` so the browser-side
|
|
9
11
|
// store (mailx-store-web) and the desktop-side store (this package) share
|
|
10
12
|
// the same bus. Re-exported here so existing callers don't have to learn
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,uBAAuB;AACvB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,8DAA8D;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,uBAAuB;AACvB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -7,6 +7,10 @@ export { MailxDB } from "./db.js";
|
|
|
7
7
|
export { FileMessageStore } from "./file-store.js";
|
|
8
8
|
export { parseSerial, prewarmParseWorker } from "./parse-serial.js";
|
|
9
9
|
|
|
10
|
+
// Store — the nexus. Owns DB + .eml files + operations + bus.
|
|
11
|
+
export { Store } from "./store.js";
|
|
12
|
+
export type { StoreMessage } from "./store.js";
|
|
13
|
+
|
|
10
14
|
// Store-event bus lives in `@bobfrankston/mailx-bus` so the browser-side
|
|
11
15
|
// store (mailx-store-web) and the desktop-side store (this package) share
|
|
12
16
|
// the same bus. Re-exported here so existing callers don't have to learn
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store — the nexus. Owns the local database, the .eml file store, the
|
|
3
|
+
* operations API, and the event bus. Single source of truth for everything
|
|
4
|
+
* about a mailx account that lives on this device.
|
|
5
|
+
*
|
|
6
|
+
* UI ──┐ ┌── Sync clients (IMAP, Gmail API, …)
|
|
7
|
+
* │ reads / writes / subscribes │ read pending actions, commit
|
|
8
|
+
* ↓ ↓ server-discovered changes
|
|
9
|
+
* [ Store ]
|
|
10
|
+
*
|
|
11
|
+
* Contract: every method here mutates local-only state. No IMAP, no Gmail,
|
|
12
|
+
* no SMTP, no DNS, no Drive API. Mutations emit on the bus; subscribers
|
|
13
|
+
* (UI in another process, in-process reconciler, etc.) react. Sync clients
|
|
14
|
+
* (mailx-imap, mailx-sync) hold a Store reference and never touch the
|
|
15
|
+
* underlying MailxDB / FileMessageStore directly.
|
|
16
|
+
*
|
|
17
|
+
* This was previously named `Store` and lived in mailx-service. It
|
|
18
|
+
* moved to mailx-store because mailx-imap (and other sync clients) must
|
|
19
|
+
* be able to consume it without depending on mailx-service — that's the
|
|
20
|
+
* "arrow points the right way" property of the architecture.
|
|
21
|
+
*/
|
|
22
|
+
import { MailxDB } from "./db.js";
|
|
23
|
+
import { FileMessageStore } from "./file-store.js";
|
|
24
|
+
import type { StoreBus } from "./bus.js";
|
|
25
|
+
import type { MessageEnvelope, MessageQuery, PagedResult } from "@bobfrankston/mailx-types";
|
|
26
|
+
/** What the UI gets back from a body read. Mirrors the historical
|
|
27
|
+
* `getMessage` shape so call-site migration is mechanical. `cached: false`
|
|
28
|
+
* means the body isn't on disk yet — the UI shows a "downloading…"
|
|
29
|
+
* placeholder and listens for `bodyAvailable` to re-render. The reconciler
|
|
30
|
+
* is responsible for actually fetching and emitting the event. */
|
|
31
|
+
export interface StoreMessage extends MessageEnvelope {
|
|
32
|
+
bodyHtml: string;
|
|
33
|
+
bodyText: string;
|
|
34
|
+
hasRemoteContent: boolean;
|
|
35
|
+
remoteAllowed: boolean;
|
|
36
|
+
attachments: Array<{
|
|
37
|
+
id: number;
|
|
38
|
+
filename: string;
|
|
39
|
+
mimeType: string;
|
|
40
|
+
size: number;
|
|
41
|
+
contentId: string;
|
|
42
|
+
}>;
|
|
43
|
+
cached: boolean;
|
|
44
|
+
deliveredTo: string;
|
|
45
|
+
returnPath: string;
|
|
46
|
+
listUnsubscribe: string;
|
|
47
|
+
listUnsubscribeMail: string;
|
|
48
|
+
listUnsubscribeHttp: string;
|
|
49
|
+
listUnsubscribeOneClick: boolean;
|
|
50
|
+
emlPath: string;
|
|
51
|
+
isFlagged: boolean;
|
|
52
|
+
}
|
|
53
|
+
export declare class Store {
|
|
54
|
+
/** SQLite metadata index. Exposed as a public field — sync clients
|
|
55
|
+
* (mailx-imap, mailx-sync) read/write through it during the
|
|
56
|
+
* refactor. Future state: every external mutation routes through
|
|
57
|
+
* a Store method that emits a bus event; raw `store.db.X()` calls
|
|
58
|
+
* shrink to zero. Today, this is read mostly. */
|
|
59
|
+
readonly db: MailxDB;
|
|
60
|
+
/** .eml file backend. Same migration story as `db` — sync clients
|
|
61
|
+
* read/write directly today, will route through Store methods. */
|
|
62
|
+
readonly bodyStore: FileMessageStore;
|
|
63
|
+
/** Event bus for Store mutations. Defaults to the process-singleton
|
|
64
|
+
* so cross-package subscribers (bin/mailx.ts forwarder → WebView,
|
|
65
|
+
* in-process reconciler triggers) see all writes without explicit
|
|
66
|
+
* wiring. Tests can pass a fresh StoreBus for isolation. */
|
|
67
|
+
readonly bus: StoreBus;
|
|
68
|
+
private static readonly PARSED_LRU_CAPACITY;
|
|
69
|
+
private parsedLru;
|
|
70
|
+
private parsedLruGet;
|
|
71
|
+
private parsedLruPut;
|
|
72
|
+
private _allowlistCache;
|
|
73
|
+
private _settingsCache;
|
|
74
|
+
private getCachedAllowlist;
|
|
75
|
+
private getCachedSettings;
|
|
76
|
+
invalidateConfigCaches(): void;
|
|
77
|
+
constructor(
|
|
78
|
+
/** SQLite metadata index. Exposed as a public field — sync clients
|
|
79
|
+
* (mailx-imap, mailx-sync) read/write through it during the
|
|
80
|
+
* refactor. Future state: every external mutation routes through
|
|
81
|
+
* a Store method that emits a bus event; raw `store.db.X()` calls
|
|
82
|
+
* shrink to zero. Today, this is read mostly. */
|
|
83
|
+
db: MailxDB,
|
|
84
|
+
/** .eml file backend. Same migration story as `db` — sync clients
|
|
85
|
+
* read/write directly today, will route through Store methods. */
|
|
86
|
+
bodyStore: FileMessageStore,
|
|
87
|
+
/** Event bus for Store mutations. Defaults to the process-singleton
|
|
88
|
+
* so cross-package subscribers (bin/mailx.ts forwarder → WebView,
|
|
89
|
+
* in-process reconciler triggers) see all writes without explicit
|
|
90
|
+
* wiring. Tests can pass a fresh StoreBus for isolation. */
|
|
91
|
+
bus?: StoreBus);
|
|
92
|
+
/** DB-shape account list (id/name/email/lastSync). The richer
|
|
93
|
+
* AccountConfig (with imap/smtp/etc.) lives in accounts.jsonc and is
|
|
94
|
+
* loaded by mailx-settings, not the DB — that path stays in
|
|
95
|
+
* MailxService until step 3 of the local-first plan. */
|
|
96
|
+
getAccounts(): {
|
|
97
|
+
id: string;
|
|
98
|
+
name: string;
|
|
99
|
+
email: string;
|
|
100
|
+
lastSync: number;
|
|
101
|
+
}[];
|
|
102
|
+
getFolders(accountId: string): any[];
|
|
103
|
+
/** Look up a folder by RFC 6154 specialUse tag (`trash`, `drafts`, `sent`,
|
|
104
|
+
* `junk`, etc.) for the given account. Falls back to a case-insensitive
|
|
105
|
+
* path match for legacy rows where specialUse never got tagged.
|
|
106
|
+
* Returns null when the account has no such folder configured. */
|
|
107
|
+
findSpecialFolder(accountId: string, specialUse: string): {
|
|
108
|
+
id: number;
|
|
109
|
+
path: string;
|
|
110
|
+
} | null;
|
|
111
|
+
/** Single envelope by (account, uid, folder). Null when the row isn't
|
|
112
|
+
* in the DB — caller decides whether to show "deleted" or queue a
|
|
113
|
+
* server lookup via the reconciler. */
|
|
114
|
+
getMessageEnvelope(accountId: string, uid: number, folderId?: number): MessageEnvelope | null;
|
|
115
|
+
/** Paginated message list for a (account, folder, ...) query. */
|
|
116
|
+
getMessages(query: MessageQuery): PagedResult<MessageEnvelope>;
|
|
117
|
+
/** All-Inboxes view: union of every account's INBOX, paginated. */
|
|
118
|
+
getUnifiedInbox(page?: number, pageSize?: number): PagedResult<MessageEnvelope>;
|
|
119
|
+
/** Local FTS5 search. Server-scope search is the reconciler's job. */
|
|
120
|
+
searchMessages(query: string, page?: number, pageSize?: number, accountId?: string, folderId?: number, includeTrashSpam?: boolean): PagedResult<MessageEnvelope>;
|
|
121
|
+
/** Read a fully-parsed message (envelope + body + attachments) entirely
|
|
122
|
+
* from local state. Returns null when the envelope isn't known.
|
|
123
|
+
* Returns `{ ...envelope, cached: false }` when the envelope is known
|
|
124
|
+
* but the body file isn't on disk — UI shows a placeholder and the
|
|
125
|
+
* reconciler queues the fetch.
|
|
126
|
+
*
|
|
127
|
+
* `allowRemote=true` skips HTML sanitization. Used when the user has
|
|
128
|
+
* explicitly allowed remote content for this sender / domain. */
|
|
129
|
+
getMessage(accountId: string, uid: number, allowRemote: boolean, folderId?: number): Promise<StoreMessage | null>;
|
|
130
|
+
getCalendarEvents(accountId: string, fromMs: number, toMs: number): any[];
|
|
131
|
+
getTasks(accountId: string, includeCompleted?: boolean): any[];
|
|
132
|
+
searchContacts(query: string, limit?: number): any[];
|
|
133
|
+
listContacts(query: string, page?: number, pageSize?: number): any;
|
|
134
|
+
/** Update a message's flag set. Local DB write completes synchronously;
|
|
135
|
+
* the server-mirror enqueue is the caller's responsibility (typically
|
|
136
|
+
* via SyncQueue.enqueueFlag) so callers that don't want a server push
|
|
137
|
+
* — pure-local UI state like "pin in pane" — can skip it.
|
|
138
|
+
*
|
|
139
|
+
* Publishes:
|
|
140
|
+
* `message:<uuid>` { kind: "flagsChanged" }
|
|
141
|
+
* `folder:<id>` (auto fan-out)
|
|
142
|
+
*/
|
|
143
|
+
updateFlags(accountId: string, uid: number, folderId: number, flags: string[]): void;
|
|
144
|
+
/** Move a message between folders in the same account. Adds a tombstone
|
|
145
|
+
* on the Message-ID so the next sync doesn't re-import the pre-move row
|
|
146
|
+
* in the source folder before the server-side MOVE completes; tombstone
|
|
147
|
+
* is cleared on terminal IMAP failure (see processSyncActions).
|
|
148
|
+
*
|
|
149
|
+
* Returns true if a local row existed and was moved, false otherwise.
|
|
150
|
+
*
|
|
151
|
+
* Publishes:
|
|
152
|
+
* `message:<uuid>` { kind: "messageMoved", folderId: source, targetFolderId }
|
|
153
|
+
* `folder:<source>` and `folder:<target>` (auto fan-out + explicit count)
|
|
154
|
+
*/
|
|
155
|
+
moveMessage(accountId: string, uid: number, fromFolderId: number, targetFolderId: number): boolean;
|
|
156
|
+
/** Trash a message. If a trash folder is configured and the message is
|
|
157
|
+
* not already in it, this is a move-to-trash. If the message is already
|
|
158
|
+
* in trash (or no trash exists), it's a hard delete + body unlink.
|
|
159
|
+
*
|
|
160
|
+
* Returns "moved-to-trash" or "expunged" so the caller knows whether
|
|
161
|
+
* to enqueue an IMAP MOVE or a DELETE+EXPUNGE on the queue.
|
|
162
|
+
*/
|
|
163
|
+
trashMessage(accountId: string, uid: number, folderId: number, trashFolderId: number | null): "moved-to-trash" | "expunged";
|
|
164
|
+
/** Restore a message from trash back to its original folder. Local-only;
|
|
165
|
+
* caller handles the queue (cancel-pending-MOVE vs queue-counter-MOVE).
|
|
166
|
+
* Returns true if a local row was moved. */
|
|
167
|
+
undeleteMessage(accountId: string, uid: number, trashFolderId: number, originalFolderId: number): boolean;
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["store.ts"],"names":[],"mappings":"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"}
|