somark-js 0.1.0
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/LICENSE +156 -0
- package/README.md +32 -0
- package/README_CN.md +31 -0
- package/dist/chunk-RWOUZTFQ.mjs +236 -0
- package/dist/cli.mjs +1503 -0
- package/dist/config-GOZJZCRT.mjs +26 -0
- package/dist/index.cjs +1304 -0
- package/dist/index.d.cts +258 -0
- package/dist/index.d.ts +258 -0
- package/dist/index.mjs +1245 -0
- package/package.json +66 -0
- package/vendor/somarkdown-viewer/LICENSE +21 -0
- package/vendor/somarkdown-viewer/README.md +63 -0
- package/vendor/somarkdown-viewer/README_CN.md +63 -0
- package/vendor/somarkdown-viewer/index.html +112 -0
- package/vendor/somarkdown-viewer/lib/bi-direction-jump.js +161 -0
- package/vendor/somarkdown-viewer/lib/deps/highlight.js.default.min.css +11 -0
- package/vendor/somarkdown-viewer/lib/deps/katex.min.css +6 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_AMS-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-Bold.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-Bold.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-Italic.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-Italic.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Math-Italic.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Math-Italic.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Script-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Script-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size1-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size2-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size3-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size4-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/vendor/somarkdown-viewer/lib/deps/katex_fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/vendor/somarkdown-viewer/lib/i18n.js +81 -0
- package/vendor/somarkdown-viewer/lib/index.js +299 -0
- package/vendor/somarkdown-viewer/lib/somarkdown/VERSION +1 -0
- package/vendor/somarkdown-viewer/lib/somarkdown/somarkdown.css +591 -0
- package/vendor/somarkdown-viewer/lib/somarkdown/somarkdown.umd.min.js +59 -0
- package/vendor/somarkdown-viewer/lib/sync-scroll.js +147 -0
- package/vendor/somarkdown-viewer/style/index.css +527 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
interface HttpClientOptions {
|
|
2
|
+
apiKey: string | undefined;
|
|
3
|
+
baseUrl: string;
|
|
4
|
+
timeout: number;
|
|
5
|
+
maxRetries: number;
|
|
6
|
+
}
|
|
7
|
+
declare class HttpClient {
|
|
8
|
+
private apiKey;
|
|
9
|
+
private baseUrl;
|
|
10
|
+
private timeoutMs;
|
|
11
|
+
private maxRetries;
|
|
12
|
+
constructor(opts: HttpClientOptions);
|
|
13
|
+
getApiKey(): string | undefined;
|
|
14
|
+
private buildFormData;
|
|
15
|
+
post(path: string, data?: Record<string, string | string[] | undefined>, file?: {
|
|
16
|
+
name: string;
|
|
17
|
+
buffer: Buffer;
|
|
18
|
+
mimeType: string;
|
|
19
|
+
}): Promise<Record<string, unknown>>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
type SoMarkWarning = string;
|
|
23
|
+
|
|
24
|
+
interface ExtractConfig {
|
|
25
|
+
enableTextCrossPage?: boolean;
|
|
26
|
+
enableTableCrossPage?: boolean;
|
|
27
|
+
enableTitleLevelRecognition?: boolean;
|
|
28
|
+
enableInlineImage?: boolean;
|
|
29
|
+
enableTableImage?: boolean;
|
|
30
|
+
enableImageUnderstanding?: boolean;
|
|
31
|
+
keepHeaderFooter?: boolean;
|
|
32
|
+
}
|
|
33
|
+
interface ElementFormats {
|
|
34
|
+
image?: 'url' | 'base64' | 'file' | 'none';
|
|
35
|
+
formula?: 'latex' | 'mathml' | 'ascii';
|
|
36
|
+
table?: 'markdown' | 'html' | 'image';
|
|
37
|
+
cs?: 'image';
|
|
38
|
+
}
|
|
39
|
+
interface SoMarkResponseData {
|
|
40
|
+
ok: boolean;
|
|
41
|
+
code: number;
|
|
42
|
+
message: string;
|
|
43
|
+
warnings?: SoMarkWarning[];
|
|
44
|
+
}
|
|
45
|
+
interface ParseResponseData extends SoMarkResponseData {
|
|
46
|
+
taskId: string;
|
|
47
|
+
pages: number;
|
|
48
|
+
fileType: string;
|
|
49
|
+
imgs: string[];
|
|
50
|
+
md?: string;
|
|
51
|
+
jsonOutput?: Record<string, unknown>;
|
|
52
|
+
zipUrl?: string;
|
|
53
|
+
sourceFileName?: string;
|
|
54
|
+
}
|
|
55
|
+
declare class ParseResponse implements ParseResponseData {
|
|
56
|
+
ok: boolean;
|
|
57
|
+
code: number;
|
|
58
|
+
message: string;
|
|
59
|
+
warnings: SoMarkWarning[];
|
|
60
|
+
taskId: string;
|
|
61
|
+
pages: number;
|
|
62
|
+
fileType: string;
|
|
63
|
+
imgs: string[];
|
|
64
|
+
md?: string;
|
|
65
|
+
jsonOutput?: Record<string, unknown>;
|
|
66
|
+
zipUrl?: string;
|
|
67
|
+
sourceFileName?: string;
|
|
68
|
+
constructor(data: ParseResponseData);
|
|
69
|
+
save(targetPath: string, format?: string | string[]): Promise<void>;
|
|
70
|
+
contentForFormat(format: string): string;
|
|
71
|
+
private saveFormat;
|
|
72
|
+
toJSON(): ParseResponseData;
|
|
73
|
+
static fromApi(data: Record<string, unknown>): ParseResponse;
|
|
74
|
+
}
|
|
75
|
+
interface UsageData extends SoMarkResponseData {
|
|
76
|
+
remainingPaidPages: number;
|
|
77
|
+
remainingFreePagesToday: number;
|
|
78
|
+
remainingFreePagesThisMonth: number;
|
|
79
|
+
dashboardUrl: string;
|
|
80
|
+
}
|
|
81
|
+
declare class Usage implements UsageData {
|
|
82
|
+
ok: boolean;
|
|
83
|
+
code: number;
|
|
84
|
+
message: string;
|
|
85
|
+
warnings: SoMarkWarning[];
|
|
86
|
+
remainingPaidPages: number;
|
|
87
|
+
remainingFreePagesToday: number;
|
|
88
|
+
remainingFreePagesThisMonth: number;
|
|
89
|
+
dashboardUrl: string;
|
|
90
|
+
constructor(data: UsageData);
|
|
91
|
+
toJSON(): UsageData;
|
|
92
|
+
static fromApi(data: Record<string, unknown>): Usage;
|
|
93
|
+
}
|
|
94
|
+
interface ToImagesResult {
|
|
95
|
+
ok: boolean;
|
|
96
|
+
files: string[];
|
|
97
|
+
error?: string;
|
|
98
|
+
}
|
|
99
|
+
type TaskStatus = 'queuing' | 'processing' | 'success' | 'failed';
|
|
100
|
+
type TaskRefreshHandler = (taskId: string) => Promise<Record<string, unknown>>;
|
|
101
|
+
declare class Task {
|
|
102
|
+
id: string;
|
|
103
|
+
completed: boolean;
|
|
104
|
+
status: TaskStatus;
|
|
105
|
+
recordId?: number;
|
|
106
|
+
fileName?: string;
|
|
107
|
+
pages?: number;
|
|
108
|
+
warnings: string[];
|
|
109
|
+
private refreshHandler?;
|
|
110
|
+
private _result?;
|
|
111
|
+
constructor(taskId: string, refreshHandler?: TaskRefreshHandler, warnings?: string[]);
|
|
112
|
+
refresh(): Promise<void>;
|
|
113
|
+
private applyApi;
|
|
114
|
+
wait(opts?: {
|
|
115
|
+
pollInterval?: number;
|
|
116
|
+
timeout?: number;
|
|
117
|
+
}): Promise<ParseResponse>;
|
|
118
|
+
result(): ParseResponse;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
interface ParseOptions {
|
|
122
|
+
file: string | string[];
|
|
123
|
+
formats?: string[];
|
|
124
|
+
elementFormats?: ElementFormats;
|
|
125
|
+
extractConfig?: ExtractConfig;
|
|
126
|
+
fileList?: boolean;
|
|
127
|
+
}
|
|
128
|
+
declare class DocumentParser {
|
|
129
|
+
private _http;
|
|
130
|
+
constructor(http: HttpClient);
|
|
131
|
+
private checkApiKey;
|
|
132
|
+
private pollTask;
|
|
133
|
+
task(taskId: string): Task;
|
|
134
|
+
private parseOne;
|
|
135
|
+
parse(opts: ParseOptions & {
|
|
136
|
+
file: string;
|
|
137
|
+
fileList?: false;
|
|
138
|
+
}): Promise<ParseResponse>;
|
|
139
|
+
parse(opts: ParseOptions & {
|
|
140
|
+
file: string[];
|
|
141
|
+
}): Promise<ParseResponse[]>;
|
|
142
|
+
parse(opts: ParseOptions & {
|
|
143
|
+
fileList: true;
|
|
144
|
+
}): Promise<ParseResponse[]>;
|
|
145
|
+
private createOne;
|
|
146
|
+
create(opts: ParseOptions & {
|
|
147
|
+
file: string;
|
|
148
|
+
fileList?: false;
|
|
149
|
+
}): Promise<Task>;
|
|
150
|
+
create(opts: ParseOptions & {
|
|
151
|
+
file: string[];
|
|
152
|
+
}): Promise<Task[]>;
|
|
153
|
+
create(opts: ParseOptions & {
|
|
154
|
+
fileList: true;
|
|
155
|
+
}): Promise<Task[]>;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
declare class UsageClient {
|
|
159
|
+
private _http;
|
|
160
|
+
constructor(http: HttpClient);
|
|
161
|
+
get(): Promise<Usage>;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
interface ToImagesOptions {
|
|
165
|
+
file: string;
|
|
166
|
+
out?: string;
|
|
167
|
+
filenameFormat?: string;
|
|
168
|
+
dpi?: number;
|
|
169
|
+
}
|
|
170
|
+
declare class PDFProcessor {
|
|
171
|
+
toImages(opts: ToImagesOptions): Promise<ToImagesResult>;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
interface PreviewServerHandle {
|
|
175
|
+
url: string;
|
|
176
|
+
fileUrl: string;
|
|
177
|
+
host: string;
|
|
178
|
+
port: number;
|
|
179
|
+
stop(): Promise<void>;
|
|
180
|
+
}
|
|
181
|
+
interface PreviewOptions {
|
|
182
|
+
file?: string;
|
|
183
|
+
host?: string;
|
|
184
|
+
port?: number;
|
|
185
|
+
openBrowser?: boolean;
|
|
186
|
+
}
|
|
187
|
+
declare class SoMarkDownPreview {
|
|
188
|
+
start(opts?: PreviewOptions): Promise<PreviewServerHandle>;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
interface SoMarkOptions {
|
|
192
|
+
apiKey?: string;
|
|
193
|
+
baseUrl?: string;
|
|
194
|
+
timeout?: number;
|
|
195
|
+
maxRetries?: number;
|
|
196
|
+
}
|
|
197
|
+
declare class SoMark {
|
|
198
|
+
parser: DocumentParser;
|
|
199
|
+
usage: UsageClient;
|
|
200
|
+
pdf: PDFProcessor;
|
|
201
|
+
preview: SoMarkDownPreview;
|
|
202
|
+
private _http;
|
|
203
|
+
constructor(opts?: SoMarkOptions);
|
|
204
|
+
toString(): string;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
declare class SoMarkDown {
|
|
208
|
+
private readonly renderer;
|
|
209
|
+
constructor(...args: unknown[]);
|
|
210
|
+
render(markdown: string, ...args: unknown[]): string;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
declare class SoMarkError extends Error {
|
|
214
|
+
code: number;
|
|
215
|
+
constructor(message?: string, code?: number);
|
|
216
|
+
}
|
|
217
|
+
declare class AuthenticationError extends SoMarkError {
|
|
218
|
+
constructor(message?: string, code?: number);
|
|
219
|
+
}
|
|
220
|
+
declare class InsufficientBalanceError extends SoMarkError {
|
|
221
|
+
constructor(message?: string, code?: number);
|
|
222
|
+
}
|
|
223
|
+
declare class RateLimitError extends SoMarkError {
|
|
224
|
+
constructor(message?: string, code?: number);
|
|
225
|
+
}
|
|
226
|
+
declare class UnsupportedFileError extends SoMarkError {
|
|
227
|
+
constructor(message?: string, code?: number);
|
|
228
|
+
}
|
|
229
|
+
declare class FileTooLargeError extends SoMarkError {
|
|
230
|
+
constructor(message?: string, code?: number);
|
|
231
|
+
}
|
|
232
|
+
declare class ParseTimeoutError extends SoMarkError {
|
|
233
|
+
constructor(message?: string, code?: number);
|
|
234
|
+
}
|
|
235
|
+
declare class ParseFailedError extends SoMarkError {
|
|
236
|
+
constructor(message?: string, code?: number);
|
|
237
|
+
}
|
|
238
|
+
declare class InvalidParamError extends SoMarkError {
|
|
239
|
+
constructor(message?: string, code?: number);
|
|
240
|
+
}
|
|
241
|
+
declare class APIError extends SoMarkError {
|
|
242
|
+
constructor(message?: string, code?: number);
|
|
243
|
+
}
|
|
244
|
+
declare class ConnectionError extends SoMarkError {
|
|
245
|
+
constructor(message?: string, code?: number);
|
|
246
|
+
}
|
|
247
|
+
declare class RequestTimeoutError extends SoMarkError {
|
|
248
|
+
constructor(message?: string, code?: number);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
interface ResolvedConfig {
|
|
252
|
+
apiKey: string | undefined;
|
|
253
|
+
baseUrl: string;
|
|
254
|
+
timeout: number;
|
|
255
|
+
maxRetries: number;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export { APIError, AuthenticationError, ConnectionError, DocumentParser, type ElementFormats, type ExtractConfig, FileTooLargeError, InsufficientBalanceError, InvalidParamError, PDFProcessor, ParseFailedError, type ParseOptions, ParseResponse, type ParseResponseData, ParseTimeoutError, type PreviewOptions, type PreviewServerHandle, RateLimitError, RequestTimeoutError, type ResolvedConfig, SoMark, SoMarkDown, SoMarkDownPreview, SoMarkError, type SoMarkOptions, type SoMarkResponseData, type SoMarkWarning, Task, type TaskStatus, type ToImagesOptions, type ToImagesResult, UnsupportedFileError, Usage, UsageClient, type UsageData };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
interface HttpClientOptions {
|
|
2
|
+
apiKey: string | undefined;
|
|
3
|
+
baseUrl: string;
|
|
4
|
+
timeout: number;
|
|
5
|
+
maxRetries: number;
|
|
6
|
+
}
|
|
7
|
+
declare class HttpClient {
|
|
8
|
+
private apiKey;
|
|
9
|
+
private baseUrl;
|
|
10
|
+
private timeoutMs;
|
|
11
|
+
private maxRetries;
|
|
12
|
+
constructor(opts: HttpClientOptions);
|
|
13
|
+
getApiKey(): string | undefined;
|
|
14
|
+
private buildFormData;
|
|
15
|
+
post(path: string, data?: Record<string, string | string[] | undefined>, file?: {
|
|
16
|
+
name: string;
|
|
17
|
+
buffer: Buffer;
|
|
18
|
+
mimeType: string;
|
|
19
|
+
}): Promise<Record<string, unknown>>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
type SoMarkWarning = string;
|
|
23
|
+
|
|
24
|
+
interface ExtractConfig {
|
|
25
|
+
enableTextCrossPage?: boolean;
|
|
26
|
+
enableTableCrossPage?: boolean;
|
|
27
|
+
enableTitleLevelRecognition?: boolean;
|
|
28
|
+
enableInlineImage?: boolean;
|
|
29
|
+
enableTableImage?: boolean;
|
|
30
|
+
enableImageUnderstanding?: boolean;
|
|
31
|
+
keepHeaderFooter?: boolean;
|
|
32
|
+
}
|
|
33
|
+
interface ElementFormats {
|
|
34
|
+
image?: 'url' | 'base64' | 'file' | 'none';
|
|
35
|
+
formula?: 'latex' | 'mathml' | 'ascii';
|
|
36
|
+
table?: 'markdown' | 'html' | 'image';
|
|
37
|
+
cs?: 'image';
|
|
38
|
+
}
|
|
39
|
+
interface SoMarkResponseData {
|
|
40
|
+
ok: boolean;
|
|
41
|
+
code: number;
|
|
42
|
+
message: string;
|
|
43
|
+
warnings?: SoMarkWarning[];
|
|
44
|
+
}
|
|
45
|
+
interface ParseResponseData extends SoMarkResponseData {
|
|
46
|
+
taskId: string;
|
|
47
|
+
pages: number;
|
|
48
|
+
fileType: string;
|
|
49
|
+
imgs: string[];
|
|
50
|
+
md?: string;
|
|
51
|
+
jsonOutput?: Record<string, unknown>;
|
|
52
|
+
zipUrl?: string;
|
|
53
|
+
sourceFileName?: string;
|
|
54
|
+
}
|
|
55
|
+
declare class ParseResponse implements ParseResponseData {
|
|
56
|
+
ok: boolean;
|
|
57
|
+
code: number;
|
|
58
|
+
message: string;
|
|
59
|
+
warnings: SoMarkWarning[];
|
|
60
|
+
taskId: string;
|
|
61
|
+
pages: number;
|
|
62
|
+
fileType: string;
|
|
63
|
+
imgs: string[];
|
|
64
|
+
md?: string;
|
|
65
|
+
jsonOutput?: Record<string, unknown>;
|
|
66
|
+
zipUrl?: string;
|
|
67
|
+
sourceFileName?: string;
|
|
68
|
+
constructor(data: ParseResponseData);
|
|
69
|
+
save(targetPath: string, format?: string | string[]): Promise<void>;
|
|
70
|
+
contentForFormat(format: string): string;
|
|
71
|
+
private saveFormat;
|
|
72
|
+
toJSON(): ParseResponseData;
|
|
73
|
+
static fromApi(data: Record<string, unknown>): ParseResponse;
|
|
74
|
+
}
|
|
75
|
+
interface UsageData extends SoMarkResponseData {
|
|
76
|
+
remainingPaidPages: number;
|
|
77
|
+
remainingFreePagesToday: number;
|
|
78
|
+
remainingFreePagesThisMonth: number;
|
|
79
|
+
dashboardUrl: string;
|
|
80
|
+
}
|
|
81
|
+
declare class Usage implements UsageData {
|
|
82
|
+
ok: boolean;
|
|
83
|
+
code: number;
|
|
84
|
+
message: string;
|
|
85
|
+
warnings: SoMarkWarning[];
|
|
86
|
+
remainingPaidPages: number;
|
|
87
|
+
remainingFreePagesToday: number;
|
|
88
|
+
remainingFreePagesThisMonth: number;
|
|
89
|
+
dashboardUrl: string;
|
|
90
|
+
constructor(data: UsageData);
|
|
91
|
+
toJSON(): UsageData;
|
|
92
|
+
static fromApi(data: Record<string, unknown>): Usage;
|
|
93
|
+
}
|
|
94
|
+
interface ToImagesResult {
|
|
95
|
+
ok: boolean;
|
|
96
|
+
files: string[];
|
|
97
|
+
error?: string;
|
|
98
|
+
}
|
|
99
|
+
type TaskStatus = 'queuing' | 'processing' | 'success' | 'failed';
|
|
100
|
+
type TaskRefreshHandler = (taskId: string) => Promise<Record<string, unknown>>;
|
|
101
|
+
declare class Task {
|
|
102
|
+
id: string;
|
|
103
|
+
completed: boolean;
|
|
104
|
+
status: TaskStatus;
|
|
105
|
+
recordId?: number;
|
|
106
|
+
fileName?: string;
|
|
107
|
+
pages?: number;
|
|
108
|
+
warnings: string[];
|
|
109
|
+
private refreshHandler?;
|
|
110
|
+
private _result?;
|
|
111
|
+
constructor(taskId: string, refreshHandler?: TaskRefreshHandler, warnings?: string[]);
|
|
112
|
+
refresh(): Promise<void>;
|
|
113
|
+
private applyApi;
|
|
114
|
+
wait(opts?: {
|
|
115
|
+
pollInterval?: number;
|
|
116
|
+
timeout?: number;
|
|
117
|
+
}): Promise<ParseResponse>;
|
|
118
|
+
result(): ParseResponse;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
interface ParseOptions {
|
|
122
|
+
file: string | string[];
|
|
123
|
+
formats?: string[];
|
|
124
|
+
elementFormats?: ElementFormats;
|
|
125
|
+
extractConfig?: ExtractConfig;
|
|
126
|
+
fileList?: boolean;
|
|
127
|
+
}
|
|
128
|
+
declare class DocumentParser {
|
|
129
|
+
private _http;
|
|
130
|
+
constructor(http: HttpClient);
|
|
131
|
+
private checkApiKey;
|
|
132
|
+
private pollTask;
|
|
133
|
+
task(taskId: string): Task;
|
|
134
|
+
private parseOne;
|
|
135
|
+
parse(opts: ParseOptions & {
|
|
136
|
+
file: string;
|
|
137
|
+
fileList?: false;
|
|
138
|
+
}): Promise<ParseResponse>;
|
|
139
|
+
parse(opts: ParseOptions & {
|
|
140
|
+
file: string[];
|
|
141
|
+
}): Promise<ParseResponse[]>;
|
|
142
|
+
parse(opts: ParseOptions & {
|
|
143
|
+
fileList: true;
|
|
144
|
+
}): Promise<ParseResponse[]>;
|
|
145
|
+
private createOne;
|
|
146
|
+
create(opts: ParseOptions & {
|
|
147
|
+
file: string;
|
|
148
|
+
fileList?: false;
|
|
149
|
+
}): Promise<Task>;
|
|
150
|
+
create(opts: ParseOptions & {
|
|
151
|
+
file: string[];
|
|
152
|
+
}): Promise<Task[]>;
|
|
153
|
+
create(opts: ParseOptions & {
|
|
154
|
+
fileList: true;
|
|
155
|
+
}): Promise<Task[]>;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
declare class UsageClient {
|
|
159
|
+
private _http;
|
|
160
|
+
constructor(http: HttpClient);
|
|
161
|
+
get(): Promise<Usage>;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
interface ToImagesOptions {
|
|
165
|
+
file: string;
|
|
166
|
+
out?: string;
|
|
167
|
+
filenameFormat?: string;
|
|
168
|
+
dpi?: number;
|
|
169
|
+
}
|
|
170
|
+
declare class PDFProcessor {
|
|
171
|
+
toImages(opts: ToImagesOptions): Promise<ToImagesResult>;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
interface PreviewServerHandle {
|
|
175
|
+
url: string;
|
|
176
|
+
fileUrl: string;
|
|
177
|
+
host: string;
|
|
178
|
+
port: number;
|
|
179
|
+
stop(): Promise<void>;
|
|
180
|
+
}
|
|
181
|
+
interface PreviewOptions {
|
|
182
|
+
file?: string;
|
|
183
|
+
host?: string;
|
|
184
|
+
port?: number;
|
|
185
|
+
openBrowser?: boolean;
|
|
186
|
+
}
|
|
187
|
+
declare class SoMarkDownPreview {
|
|
188
|
+
start(opts?: PreviewOptions): Promise<PreviewServerHandle>;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
interface SoMarkOptions {
|
|
192
|
+
apiKey?: string;
|
|
193
|
+
baseUrl?: string;
|
|
194
|
+
timeout?: number;
|
|
195
|
+
maxRetries?: number;
|
|
196
|
+
}
|
|
197
|
+
declare class SoMark {
|
|
198
|
+
parser: DocumentParser;
|
|
199
|
+
usage: UsageClient;
|
|
200
|
+
pdf: PDFProcessor;
|
|
201
|
+
preview: SoMarkDownPreview;
|
|
202
|
+
private _http;
|
|
203
|
+
constructor(opts?: SoMarkOptions);
|
|
204
|
+
toString(): string;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
declare class SoMarkDown {
|
|
208
|
+
private readonly renderer;
|
|
209
|
+
constructor(...args: unknown[]);
|
|
210
|
+
render(markdown: string, ...args: unknown[]): string;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
declare class SoMarkError extends Error {
|
|
214
|
+
code: number;
|
|
215
|
+
constructor(message?: string, code?: number);
|
|
216
|
+
}
|
|
217
|
+
declare class AuthenticationError extends SoMarkError {
|
|
218
|
+
constructor(message?: string, code?: number);
|
|
219
|
+
}
|
|
220
|
+
declare class InsufficientBalanceError extends SoMarkError {
|
|
221
|
+
constructor(message?: string, code?: number);
|
|
222
|
+
}
|
|
223
|
+
declare class RateLimitError extends SoMarkError {
|
|
224
|
+
constructor(message?: string, code?: number);
|
|
225
|
+
}
|
|
226
|
+
declare class UnsupportedFileError extends SoMarkError {
|
|
227
|
+
constructor(message?: string, code?: number);
|
|
228
|
+
}
|
|
229
|
+
declare class FileTooLargeError extends SoMarkError {
|
|
230
|
+
constructor(message?: string, code?: number);
|
|
231
|
+
}
|
|
232
|
+
declare class ParseTimeoutError extends SoMarkError {
|
|
233
|
+
constructor(message?: string, code?: number);
|
|
234
|
+
}
|
|
235
|
+
declare class ParseFailedError extends SoMarkError {
|
|
236
|
+
constructor(message?: string, code?: number);
|
|
237
|
+
}
|
|
238
|
+
declare class InvalidParamError extends SoMarkError {
|
|
239
|
+
constructor(message?: string, code?: number);
|
|
240
|
+
}
|
|
241
|
+
declare class APIError extends SoMarkError {
|
|
242
|
+
constructor(message?: string, code?: number);
|
|
243
|
+
}
|
|
244
|
+
declare class ConnectionError extends SoMarkError {
|
|
245
|
+
constructor(message?: string, code?: number);
|
|
246
|
+
}
|
|
247
|
+
declare class RequestTimeoutError extends SoMarkError {
|
|
248
|
+
constructor(message?: string, code?: number);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
interface ResolvedConfig {
|
|
252
|
+
apiKey: string | undefined;
|
|
253
|
+
baseUrl: string;
|
|
254
|
+
timeout: number;
|
|
255
|
+
maxRetries: number;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export { APIError, AuthenticationError, ConnectionError, DocumentParser, type ElementFormats, type ExtractConfig, FileTooLargeError, InsufficientBalanceError, InvalidParamError, PDFProcessor, ParseFailedError, type ParseOptions, ParseResponse, type ParseResponseData, ParseTimeoutError, type PreviewOptions, type PreviewServerHandle, RateLimitError, RequestTimeoutError, type ResolvedConfig, SoMark, SoMarkDown, SoMarkDownPreview, SoMarkError, type SoMarkOptions, type SoMarkResponseData, type SoMarkWarning, Task, type TaskStatus, type ToImagesOptions, type ToImagesResult, UnsupportedFileError, Usage, UsageClient, type UsageData };
|