Skip to content

Commit f69a161

Browse files
committed
🚧✨ Add almost all types of properties in scrapbox
1 parent e695930 commit f69a161

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

scrapbox.d.ts

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
export type Layout =
2+
| "list"
3+
| "page"
4+
| "stream"
5+
| "project-settings-billing-page"
6+
| "project-settings-basic-page"
7+
| "project-settings-members-page"
8+
| "settings-profile-page"
9+
| "settings-extensions-page"
10+
| "settings-delete-account-page";
11+
export type Scrapbox =
12+
& {
13+
Project: {
14+
name: string;
15+
pages: PageBrief[];
16+
};
17+
TimeStamp: TimeStamp;
18+
PopupMenu?: {
19+
addButton: (
20+
props: {
21+
title: string | ((selectedText: string) => string);
22+
onClick: (selectedText: string) => string | undefined;
23+
},
24+
) => void;
25+
};
26+
addListener: (type: string, listener: () => void) => void;
27+
on: (type: string, listener: () => void) => void;
28+
removeListener: (type: string, listener: () => void) => void;
29+
off: (type: string, listener: () => void) => void;
30+
removeAllListeners: (type?: string) => void;
31+
once: (type: string, listener: () => void) => void;
32+
prependListener: (type: string, listener: () => void) => void;
33+
prependOnceListener: (type: string, listener: () => void) => void;
34+
listeners: (type: string) => (() => void)[];
35+
rawListeners: (type: string) => (() => void)[];
36+
listenerCount: (type: string) => number;
37+
emit: (type: string) => void;
38+
eventNames: () => string[];
39+
getMexListeners: () => number;
40+
setMexListeners: (length: number) => void;
41+
}
42+
& ({
43+
Layout:
44+
| "list"
45+
| "stream"
46+
| "project-settings-billing-page"
47+
| "project-settings-basic-page"
48+
| "project-settings-members-page"
49+
| "settings-profile-page"
50+
| "settings-extensions-page"
51+
| "settings-delete-account-page";
52+
Page: {
53+
title: null;
54+
lines: null;
55+
id: null;
56+
};
57+
} | {
58+
Layout: "page";
59+
Page: {
60+
title: string;
61+
lines: ParsedLine[];
62+
id: string;
63+
};
64+
});
65+
66+
export type PageBrief = {
67+
exists: boolean;
68+
hasIcon?: boolean;
69+
id: string;
70+
title: string;
71+
titleLc: string;
72+
updated: number;
73+
};
74+
75+
export type ParsedLine = {};
76+
77+
type TimeStamp = {
78+
addFormat: (format: string | (() => string)) => void;
79+
removeAllFormat: () => void;
80+
};
81+
82+
export type eventName =
83+
| "lines:changed"
84+
| "page:changed"
85+
| "layout:changed"
86+
| "project:changed";

0 commit comments

Comments
 (0)