Skip to content

Commit 385e601

Browse files
committed
🚚 Moved types about window.scrapbox to userscript.ts
1 parent 167e1cb commit 385e601

File tree

2 files changed

+118
-116
lines changed

2 files changed

+118
-116
lines changed

scrapbox.ts

Lines changed: 0 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { ParsedLine } from "./line.ts";
21
import { Omit } from "./utils.ts";
32
export * from "./line.ts";
43

@@ -198,119 +197,4 @@ export type ProjectBackupWithMetadata = {
198197
};
199198
};
200199

201-
export type Layout =
202-
| "list"
203-
| "page"
204-
| "stream"
205-
| "project-settings-billing-page"
206-
| "project-settings-basic-page"
207-
| "project-settings-members-page"
208-
| "settings-profile-page"
209-
| "settings-extensions-page"
210-
| "settings-delete-account-page";
211-
export type Scrapbox =
212-
& {
213-
Project: {
214-
name: string;
215-
pages: PageBrief[];
216-
};
217-
TimeStamp: TimeStamp;
218-
PopupMenu: {
219-
addButton: (
220-
props: {
221-
title: string | ((selectedText: string) => string);
222-
onClick: (selectedText: string) => string | undefined;
223-
},
224-
) => void;
225-
};
226-
PageMenu: ((name: string) => PageMenu) & {
227-
addMenu: (
228-
props: { title: string; image: string; onClick?: () => void },
229-
) => void;
230-
addItem: (props: AddItemProps) => void;
231-
addSeparator: () => void;
232-
removeAllItems: () => void;
233-
};
234-
addListener: (type: string, listener: () => void) => void;
235-
on: (type: string, listener: () => void) => void;
236-
removeListener: (type: string, listener: () => void) => void;
237-
off: (type: string, listener: () => void) => void;
238-
removeAllListeners: (type?: string) => void;
239-
once: (type: string, listener: () => void) => void;
240-
prependListener: (type: string, listener: () => void) => void;
241-
prependOnceListener: (type: string, listener: () => void) => void;
242-
listeners: (type: string) => (() => void)[];
243-
rawListeners: (type: string) => (() => void)[];
244-
listenerCount: (type: string) => number;
245-
emit: (type: string) => void;
246-
eventNames: () => string[];
247-
getMexListeners: () => number;
248-
setMexListeners: (length: number) => void;
249-
}
250-
& ({
251-
Layout:
252-
| "list"
253-
| "stream"
254-
| "project-settings-billing-page"
255-
| "project-settings-basic-page"
256-
| "project-settings-members-page"
257-
| "settings-profile-page"
258-
| "settings-extensions-page"
259-
| "settings-delete-account-page";
260-
Page: {
261-
title: null;
262-
lines: null;
263-
id: null;
264-
};
265-
} | {
266-
Layout: "page";
267-
Page: {
268-
title: string;
269-
lines: ParsedLine[];
270-
id: string;
271-
};
272-
});
273-
274-
export type PageBrief = {
275-
exists: boolean;
276-
hasIcon?: boolean;
277-
id: string;
278-
title: string;
279-
titleLc: string;
280-
updated: number;
281-
};
282-
283-
type TimeStamp = {
284-
addFormat: (format: string | (() => string)) => void;
285-
removeAllFormat: () => void;
286-
};
287-
288-
type AddItemProps = {
289-
title: string | (() => string);
290-
image?: string;
291-
onClick: () => void;
292-
};
293-
type PageMenu = {
294-
addItem: (
295-
props: AddItemProps,
296-
) => void;
297-
addSeparator: () => void;
298-
removeAllItems: () => void;
299-
menuName: string;
300-
reset: () => void;
301-
emitChange: () => void;
302-
menus: Map<
303-
string,
304-
{
305-
image: string | null;
306-
onClick?: () => void;
307-
items: (AddItemProps & { separator: boolean })[];
308-
}
309-
>;
310-
};
311200

312-
export type eventName =
313-
| "lines:changed"
314-
| "page:changed"
315-
| "layout:changed"
316-
| "project:changed";

userscript.ts

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
import { ParsedLine } from "./line.ts";
2+
3+
export type Layout =
4+
| "list"
5+
| "page"
6+
| "stream"
7+
| "project-settings-billing-page"
8+
| "project-settings-basic-page"
9+
| "project-settings-members-page"
10+
| "settings-profile-page"
11+
| "settings-extensions-page"
12+
| "settings-delete-account-page";
13+
export type Scrapbox =
14+
& {
15+
Project: {
16+
name: string;
17+
pages: PageBrief[];
18+
};
19+
TimeStamp: TimeStamp;
20+
PopupMenu: {
21+
addButton: (
22+
props: {
23+
title: string | ((selectedText: string) => string);
24+
onClick: (selectedText: string) => string | undefined;
25+
},
26+
) => void;
27+
};
28+
PageMenu: ((name: string) => PageMenu) & {
29+
addMenu: (
30+
props: { title: string; image: string; onClick?: () => void },
31+
) => void;
32+
addItem: (props: AddItemProps) => void;
33+
addSeparator: () => void;
34+
removeAllItems: () => void;
35+
};
36+
addListener: (type: string, listener: () => void) => void;
37+
on: (type: string, listener: () => void) => void;
38+
removeListener: (type: string, listener: () => void) => void;
39+
off: (type: string, listener: () => void) => void;
40+
removeAllListeners: (type?: string) => void;
41+
once: (type: string, listener: () => void) => void;
42+
prependListener: (type: string, listener: () => void) => void;
43+
prependOnceListener: (type: string, listener: () => void) => void;
44+
listeners: (type: string) => (() => void)[];
45+
rawListeners: (type: string) => (() => void)[];
46+
listenerCount: (type: string) => number;
47+
emit: (type: string) => void;
48+
eventNames: () => string[];
49+
getMexListeners: () => number;
50+
setMexListeners: (length: number) => void;
51+
}
52+
& ({
53+
Layout:
54+
| "list"
55+
| "stream"
56+
| "project-settings-billing-page"
57+
| "project-settings-basic-page"
58+
| "project-settings-members-page"
59+
| "settings-profile-page"
60+
| "settings-extensions-page"
61+
| "settings-delete-account-page";
62+
Page: {
63+
title: null;
64+
lines: null;
65+
id: null;
66+
};
67+
} | {
68+
Layout: "page";
69+
Page: {
70+
title: string;
71+
lines: ParsedLine[];
72+
id: string;
73+
};
74+
});
75+
76+
export type PageBrief = {
77+
exists: boolean;
78+
hasIcon?: boolean;
79+
id: string;
80+
title: string;
81+
titleLc: string;
82+
updated: number;
83+
};
84+
85+
type TimeStamp = {
86+
addFormat: (format: string | (() => string)) => void;
87+
removeAllFormat: () => void;
88+
};
89+
90+
type AddItemProps = {
91+
title: string | (() => string);
92+
image?: string;
93+
onClick: () => void;
94+
};
95+
type PageMenu = {
96+
addItem: (
97+
props: AddItemProps,
98+
) => void;
99+
addSeparator: () => void;
100+
removeAllItems: () => void;
101+
menuName: string;
102+
reset: () => void;
103+
emitChange: () => void;
104+
menus: Map<
105+
string,
106+
{
107+
image: string | null;
108+
onClick?: () => void;
109+
items: (AddItemProps & { separator: boolean })[];
110+
}
111+
>;
112+
};
113+
114+
export type eventName =
115+
| "lines:changed"
116+
| "page:changed"
117+
| "layout:changed"
118+
| "project:changed";

0 commit comments

Comments
 (0)