@yurikasper/latent-grid 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.
Files changed (102) hide show
  1. package/README.md +4 -0
  2. package/dist/client/client/client.gen.d.ts +3 -0
  3. package/dist/client/client/client.gen.d.ts.map +1 -0
  4. package/dist/client/client/client.gen.js +229 -0
  5. package/dist/client/client/client.gen.js.map +1 -0
  6. package/dist/client/client/index.d.ts +9 -0
  7. package/dist/client/client/index.d.ts.map +1 -0
  8. package/dist/client/client/index.js +7 -0
  9. package/dist/client/client/index.js.map +1 -0
  10. package/dist/client/client/types.gen.d.ts +118 -0
  11. package/dist/client/client/types.gen.d.ts.map +1 -0
  12. package/dist/client/client/types.gen.js +3 -0
  13. package/dist/client/client/types.gen.js.map +1 -0
  14. package/dist/client/client/utils.gen.d.ts +34 -0
  15. package/dist/client/client/utils.gen.d.ts.map +1 -0
  16. package/dist/client/client/utils.gen.js +232 -0
  17. package/dist/client/client/utils.gen.js.map +1 -0
  18. package/dist/client/client.gen.d.ts +13 -0
  19. package/dist/client/client.gen.d.ts.map +1 -0
  20. package/dist/client/client.gen.js +4 -0
  21. package/dist/client/client.gen.js.map +1 -0
  22. package/dist/client/core/auth.gen.d.ts +19 -0
  23. package/dist/client/core/auth.gen.d.ts.map +1 -0
  24. package/dist/client/core/auth.gen.js +15 -0
  25. package/dist/client/core/auth.gen.js.map +1 -0
  26. package/dist/client/core/bodySerializer.gen.d.ts +26 -0
  27. package/dist/client/core/bodySerializer.gen.d.ts.map +1 -0
  28. package/dist/client/core/bodySerializer.gen.js +58 -0
  29. package/dist/client/core/bodySerializer.gen.js.map +1 -0
  30. package/dist/client/core/params.gen.d.ts +44 -0
  31. package/dist/client/core/params.gen.d.ts.map +1 -0
  32. package/dist/client/core/params.gen.js +101 -0
  33. package/dist/client/core/params.gen.js.map +1 -0
  34. package/dist/client/core/pathSerializer.gen.d.ts +34 -0
  35. package/dist/client/core/pathSerializer.gen.d.ts.map +1 -0
  36. package/dist/client/core/pathSerializer.gen.js +115 -0
  37. package/dist/client/core/pathSerializer.gen.js.map +1 -0
  38. package/dist/client/core/queryKeySerializer.gen.d.ts +19 -0
  39. package/dist/client/core/queryKeySerializer.gen.d.ts.map +1 -0
  40. package/dist/client/core/queryKeySerializer.gen.js +100 -0
  41. package/dist/client/core/queryKeySerializer.gen.js.map +1 -0
  42. package/dist/client/core/serverSentEvents.gen.d.ts +72 -0
  43. package/dist/client/core/serverSentEvents.gen.d.ts.map +1 -0
  44. package/dist/client/core/serverSentEvents.gen.js +138 -0
  45. package/dist/client/core/serverSentEvents.gen.js.map +1 -0
  46. package/dist/client/core/types.gen.d.ts +79 -0
  47. package/dist/client/core/types.gen.d.ts.map +1 -0
  48. package/dist/client/core/types.gen.js +3 -0
  49. package/dist/client/core/types.gen.js.map +1 -0
  50. package/dist/client/core/utils.gen.d.ts +20 -0
  51. package/dist/client/core/utils.gen.d.ts.map +1 -0
  52. package/dist/client/core/utils.gen.js +88 -0
  53. package/dist/client/core/utils.gen.js.map +1 -0
  54. package/dist/client/index.d.ts +3 -0
  55. package/dist/client/index.d.ts.map +1 -0
  56. package/dist/client/index.js +3 -0
  57. package/dist/client/index.js.map +1 -0
  58. package/dist/client/sdk.gen.d.ts +24 -0
  59. package/dist/client/sdk.gen.d.ts.map +1 -0
  60. package/dist/client/sdk.gen.js +25 -0
  61. package/dist/client/sdk.gen.js.map +1 -0
  62. package/dist/client/types.gen.d.ts +210 -0
  63. package/dist/client/types.gen.d.ts.map +1 -0
  64. package/dist/client/types.gen.js +3 -0
  65. package/dist/client/types.gen.js.map +1 -0
  66. package/dist/error.d.ts +9 -0
  67. package/dist/error.d.ts.map +1 -0
  68. package/dist/error.js +7 -0
  69. package/dist/error.js.map +1 -0
  70. package/dist/index.d.ts +26 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +44 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/parse.d.ts +5 -0
  75. package/dist/parse.d.ts.map +1 -0
  76. package/dist/parse.js +61 -0
  77. package/dist/parse.js.map +1 -0
  78. package/dist/parse.spec.d.ts +2 -0
  79. package/dist/parse.spec.d.ts.map +1 -0
  80. package/dist/parse.spec.js +48 -0
  81. package/dist/parse.spec.js.map +1 -0
  82. package/dist/test/table-fixture.d.ts +4 -0
  83. package/dist/test/table-fixture.d.ts.map +1 -0
  84. package/dist/test/table-fixture.js +17 -0
  85. package/dist/test/table-fixture.js.map +1 -0
  86. package/dist/types/extracted-table.d.ts +30 -0
  87. package/dist/types/extracted-table.d.ts.map +1 -0
  88. package/dist/types/extracted-table.js +48 -0
  89. package/dist/types/extracted-table.js.map +1 -0
  90. package/dist/types/extracted-table.spec.d.ts +2 -0
  91. package/dist/types/extracted-table.spec.d.ts.map +1 -0
  92. package/dist/types/extracted-table.spec.js +17 -0
  93. package/dist/types/extracted-table.spec.js.map +1 -0
  94. package/dist/types/table-cell.d.ts +85 -0
  95. package/dist/types/table-cell.d.ts.map +1 -0
  96. package/dist/types/table-cell.js +134 -0
  97. package/dist/types/table-cell.js.map +1 -0
  98. package/dist/types/table-cell.spec.d.ts +2 -0
  99. package/dist/types/table-cell.spec.d.ts.map +1 -0
  100. package/dist/types/table-cell.spec.js +32 -0
  101. package/dist/types/table-cell.spec.js.map +1 -0
  102. package/package.json +39 -0
@@ -0,0 +1,88 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ import { serializeArrayParam, serializeObjectParam, serializePrimitiveParam, } from './pathSerializer.gen.js';
3
+ export const PATH_PARAM_RE = /\{[^{}]+\}/g;
4
+ export const defaultPathSerializer = ({ path, url: _url }) => {
5
+ let url = _url;
6
+ const matches = _url.match(PATH_PARAM_RE);
7
+ if (matches) {
8
+ for (const match of matches) {
9
+ let explode = false;
10
+ let name = match.substring(1, match.length - 1);
11
+ let style = 'simple';
12
+ if (name.endsWith('*')) {
13
+ explode = true;
14
+ name = name.substring(0, name.length - 1);
15
+ }
16
+ if (name.startsWith('.')) {
17
+ name = name.substring(1);
18
+ style = 'label';
19
+ }
20
+ else if (name.startsWith(';')) {
21
+ name = name.substring(1);
22
+ style = 'matrix';
23
+ }
24
+ const value = path[name];
25
+ if (value === undefined || value === null) {
26
+ continue;
27
+ }
28
+ if (Array.isArray(value)) {
29
+ url = url.replace(match, serializeArrayParam({ explode, name, style, value }));
30
+ continue;
31
+ }
32
+ if (typeof value === 'object') {
33
+ url = url.replace(match, serializeObjectParam({
34
+ explode,
35
+ name,
36
+ style,
37
+ value: value,
38
+ valueOnly: true,
39
+ }));
40
+ continue;
41
+ }
42
+ if (style === 'matrix') {
43
+ url = url.replace(match, `;${serializePrimitiveParam({
44
+ name,
45
+ value: value,
46
+ })}`);
47
+ continue;
48
+ }
49
+ const replaceValue = encodeURIComponent(style === 'label' ? `.${value}` : value);
50
+ url = url.replace(match, replaceValue);
51
+ }
52
+ }
53
+ return url;
54
+ };
55
+ export const getUrl = ({ baseUrl, path, query, querySerializer, url: _url, }) => {
56
+ const pathUrl = _url.startsWith('/') ? _url : `/${_url}`;
57
+ let url = (baseUrl ?? '') + pathUrl;
58
+ if (path) {
59
+ url = defaultPathSerializer({ path, url });
60
+ }
61
+ let search = query ? querySerializer(query) : '';
62
+ if (search.startsWith('?')) {
63
+ search = search.substring(1);
64
+ }
65
+ if (search) {
66
+ url += `?${search}`;
67
+ }
68
+ return url;
69
+ };
70
+ export function getValidRequestBody(options) {
71
+ const hasBody = options.body !== undefined;
72
+ const isSerializedBody = hasBody && options.bodySerializer;
73
+ if (isSerializedBody) {
74
+ if ('serializedBody' in options) {
75
+ const hasSerializedBody = options.serializedBody !== undefined && options.serializedBody !== '';
76
+ return hasSerializedBody ? options.serializedBody : null;
77
+ }
78
+ // not all clients implement a serializedBody property (i.e. client-axios)
79
+ return options.body !== '' ? options.body : null;
80
+ }
81
+ // plain/text body
82
+ if (hasBody) {
83
+ return options.body;
84
+ }
85
+ // no body was provided
86
+ return undefined;
87
+ }
88
+ //# sourceMappingURL=utils.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.gen.js","sourceRoot":"","sources":["../../../src/client/core/utils.gen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { type Options, processImageImagePost, processPdfPdfPost } from './sdk.gen.js';
2
+ export type { BaseRequest, BoundingBox, CellContent, ClientOptions, HttpValidationError, PdfRequest, PdfTableResponse, ProcessImageImagePostData, ProcessImageImagePostError, ProcessImageImagePostErrors, ProcessImageImagePostResponse, ProcessImageImagePostResponses, ProcessPdfPdfPostData, ProcessPdfPdfPostError, ProcessPdfPdfPostErrors, ProcessPdfPdfPostResponse, ProcessPdfPdfPostResponses, TableResponse, ValidationError } from './types.gen.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtF,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,UAAU,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ export { processImageImagePost, processPdfPdfPost } from './sdk.gen.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,EAAgB,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { Client, Options as Options2, TDataShape } from './client/index.js';
2
+ import type { ProcessImageImagePostData, ProcessImageImagePostErrors, ProcessImageImagePostResponses, ProcessPdfPdfPostData, ProcessPdfPdfPostErrors, ProcessPdfPdfPostResponses } from './types.gen.js';
3
+ export type Options<TData extends TDataShape = TDataShape, ThrowOnError extends boolean = boolean> = Options2<TData, ThrowOnError> & {
4
+ /**
5
+ * You can provide a client instance returned by `createClient()` instead of
6
+ * individual options. This might be also useful if you want to implement a
7
+ * custom client.
8
+ */
9
+ client?: Client;
10
+ /**
11
+ * You can pass arbitrary values through the `meta` object. This can be
12
+ * used to access values that aren't defined as part of the SDK function.
13
+ */
14
+ meta?: Record<string, unknown>;
15
+ };
16
+ /**
17
+ * Process Image
18
+ */
19
+ export declare const processImageImagePost: <ThrowOnError extends boolean = false>(options: Options<ProcessImageImagePostData, ThrowOnError>) => import("./client/types.gen.js").RequestResult<ProcessImageImagePostResponses, ProcessImageImagePostErrors, ThrowOnError, "fields">;
20
+ /**
21
+ * Process Pdf
22
+ */
23
+ export declare const processPdfPdfPost: <ThrowOnError extends boolean = false>(options: Options<ProcessPdfPdfPostData, ThrowOnError>) => import("./client/types.gen.js").RequestResult<ProcessPdfPdfPostResponses, ProcessPdfPdfPostErrors, ThrowOnError, "fields">;
24
+ //# sourceMappingURL=sdk.gen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.gen.d.ts","sourceRoot":"","sources":["../../src/client/sdk.gen.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,QAAQ,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEzM,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,UAAU,GAAG,UAAU,EAAE,YAAY,SAAS,OAAO,GAAG,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG;IACjI;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,yBAAyB,EAAE,YAAY,CAAC,uIAOnI,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,YAAY,SAAS,OAAO,GAAG,KAAK,EAAE,SAAS,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,+HAO3H,CAAC"}
@@ -0,0 +1,25 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ import { client } from './client.gen.js';
3
+ /**
4
+ * Process Image
5
+ */
6
+ export const processImageImagePost = (options) => (options.client ?? client).post({
7
+ url: '/image',
8
+ ...options,
9
+ headers: {
10
+ 'Content-Type': 'application/json',
11
+ ...options.headers
12
+ }
13
+ });
14
+ /**
15
+ * Process Pdf
16
+ */
17
+ export const processPdfPdfPost = (options) => (options.client ?? client).post({
18
+ url: '/pdf',
19
+ ...options,
20
+ headers: {
21
+ 'Content-Type': 'application/json',
22
+ ...options.headers
23
+ }
24
+ });
25
+ //# sourceMappingURL=sdk.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.gen.js","sourceRoot":"","sources":["../../src/client/sdk.gen.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAkBzC;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAuC,OAAyD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,IAAI,CAA4E;IACjP,GAAG,EAAE,QAAQ;IACb,GAAG,OAAO;IACV,OAAO,EAAE;QACL,cAAc,EAAE,kBAAkB;QAClC,GAAG,OAAO,CAAC,OAAO;KACrB;CACJ,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAuC,OAAqD,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,IAAI,CAAoE;IACjO,GAAG,EAAE,MAAM;IACX,GAAG,OAAO;IACV,OAAO,EAAE;QACL,cAAc,EAAE,kBAAkB;QAClC,GAAG,OAAO,CAAC,OAAO;KACrB;CACJ,CAAC,CAAC"}
@@ -0,0 +1,210 @@
1
+ export type ClientOptions = {
2
+ baseUrl: `${string}://${string}` | (string & {});
3
+ };
4
+ /**
5
+ * BaseRequest
6
+ */
7
+ export type BaseRequest = {
8
+ /**
9
+ * Url
10
+ */
11
+ url: string;
12
+ /**
13
+ * Implicit Rows
14
+ */
15
+ implicit_rows?: boolean;
16
+ /**
17
+ * Implicit Columns
18
+ */
19
+ implicit_columns?: boolean;
20
+ /**
21
+ * Borderless Tables
22
+ */
23
+ borderless_tables?: boolean;
24
+ /**
25
+ * Min Confidence
26
+ */
27
+ min_confidence?: number;
28
+ /**
29
+ * Detect Rotation
30
+ */
31
+ detect_rotation?: boolean;
32
+ };
33
+ /**
34
+ * BoundingBox
35
+ */
36
+ export type BoundingBox = {
37
+ /**
38
+ * X1
39
+ */
40
+ x1: number;
41
+ /**
42
+ * Y1
43
+ */
44
+ y1: number;
45
+ /**
46
+ * X2
47
+ */
48
+ x2: number;
49
+ /**
50
+ * Y2
51
+ */
52
+ y2: number;
53
+ };
54
+ /**
55
+ * CellContent
56
+ */
57
+ export type CellContent = {
58
+ /**
59
+ * Content
60
+ */
61
+ content?: string | null;
62
+ };
63
+ /**
64
+ * HTTPValidationError
65
+ */
66
+ export type HttpValidationError = {
67
+ /**
68
+ * Detail
69
+ */
70
+ detail?: Array<ValidationError>;
71
+ };
72
+ /**
73
+ * PDFRequest
74
+ */
75
+ export type PdfRequest = {
76
+ /**
77
+ * Url
78
+ */
79
+ url: string;
80
+ /**
81
+ * Implicit Rows
82
+ */
83
+ implicit_rows?: boolean;
84
+ /**
85
+ * Implicit Columns
86
+ */
87
+ implicit_columns?: boolean;
88
+ /**
89
+ * Borderless Tables
90
+ */
91
+ borderless_tables?: boolean;
92
+ /**
93
+ * Min Confidence
94
+ */
95
+ min_confidence?: number;
96
+ /**
97
+ * Detect Rotation
98
+ */
99
+ detect_rotation?: boolean;
100
+ /**
101
+ * Pages
102
+ */
103
+ pages?: Array<number> | null;
104
+ /**
105
+ * Pdf Text Extraction
106
+ */
107
+ pdf_text_extraction?: boolean;
108
+ };
109
+ /**
110
+ * PdfTableResponse
111
+ */
112
+ export type PdfTableResponse = {
113
+ box: BoundingBox;
114
+ /**
115
+ * Title
116
+ */
117
+ title: string | null;
118
+ /**
119
+ * Grid
120
+ */
121
+ grid: Array<Array<number>>;
122
+ /**
123
+ * Cells
124
+ */
125
+ cells: Array<CellContent>;
126
+ /**
127
+ * Page
128
+ */
129
+ page: number;
130
+ };
131
+ /**
132
+ * TableResponse
133
+ */
134
+ export type TableResponse = {
135
+ box: BoundingBox;
136
+ /**
137
+ * Title
138
+ */
139
+ title: string | null;
140
+ /**
141
+ * Grid
142
+ */
143
+ grid: Array<Array<number>>;
144
+ /**
145
+ * Cells
146
+ */
147
+ cells: Array<CellContent>;
148
+ };
149
+ /**
150
+ * ValidationError
151
+ */
152
+ export type ValidationError = {
153
+ /**
154
+ * Location
155
+ */
156
+ loc: Array<string | number>;
157
+ /**
158
+ * Message
159
+ */
160
+ msg: string;
161
+ /**
162
+ * Error Type
163
+ */
164
+ type: string;
165
+ };
166
+ export type ProcessImageImagePostData = {
167
+ body: BaseRequest;
168
+ path?: never;
169
+ query?: never;
170
+ url: '/image';
171
+ };
172
+ export type ProcessImageImagePostErrors = {
173
+ /**
174
+ * Validation Error
175
+ */
176
+ 422: HttpValidationError;
177
+ };
178
+ export type ProcessImageImagePostError = ProcessImageImagePostErrors[keyof ProcessImageImagePostErrors];
179
+ export type ProcessImageImagePostResponses = {
180
+ /**
181
+ * Response Process Image Image Post
182
+ *
183
+ * Successful Response
184
+ */
185
+ 200: Array<TableResponse>;
186
+ };
187
+ export type ProcessImageImagePostResponse = ProcessImageImagePostResponses[keyof ProcessImageImagePostResponses];
188
+ export type ProcessPdfPdfPostData = {
189
+ body: PdfRequest;
190
+ path?: never;
191
+ query?: never;
192
+ url: '/pdf';
193
+ };
194
+ export type ProcessPdfPdfPostErrors = {
195
+ /**
196
+ * Validation Error
197
+ */
198
+ 422: HttpValidationError;
199
+ };
200
+ export type ProcessPdfPdfPostError = ProcessPdfPdfPostErrors[keyof ProcessPdfPdfPostErrors];
201
+ export type ProcessPdfPdfPostResponses = {
202
+ /**
203
+ * Response Process Pdf Pdf Post
204
+ *
205
+ * Successful Response
206
+ */
207
+ 200: Array<PdfTableResponse>;
208
+ };
209
+ export type ProcessPdfPdfPostResponse = ProcessPdfPdfPostResponses[keyof ProcessPdfPdfPostResponses];
210
+ //# sourceMappingURL=types.gen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.gen.d.ts","sourceRoot":"","sources":["../../src/client/types.gen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ export {};
3
+ //# sourceMappingURL=types.gen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.gen.js","sourceRoot":"","sources":["../../src/client/types.gen.ts"],"names":[],"mappings":"AAAA,qDAAqD"}
@@ -0,0 +1,9 @@
1
+ import type { HttpValidationError } from "./client/index.js";
2
+ export declare function checkResponse<T extends {
3
+ data: any;
4
+ error: HttpValidationError | undefined;
5
+ }>(response: T): asserts response is Extract<T, {
6
+ data: any;
7
+ error: undefined;
8
+ }>;
9
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,wBAAgB,aAAa,CACzB,CAAC,SAAS;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAAA;CAAE,EAE/D,QAAQ,EAAE,CAAC,GACZ,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC,CAOjE"}
package/dist/error.js ADDED
@@ -0,0 +1,7 @@
1
+ export function checkResponse(response) {
2
+ if (response.data === undefined &&
3
+ response.error !== undefined) {
4
+ throw response.error;
5
+ }
6
+ }
7
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAGzB,QAAW;IAEX,IACK,QAAgB,CAAC,IAAI,KAAK,SAAS;QACnC,QAAgB,CAAC,KAAK,KAAK,SAAS,EACvC,CAAC;QACC,MAAM,QAAQ,CAAC,KAAK,CAAC;IACzB,CAAC;AACL,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type BaseRequest, type PdfRequest } from "./client/index.js";
2
+ import { ExtractedTable, PdfExtractedTable } from "./types/extracted-table.js";
3
+ export declare class TableExtractor {
4
+ url: string | null;
5
+ /**
6
+ * Creates an instance of the extractor client.
7
+ *
8
+ * @param url - The URL of the extraction server.
9
+ */
10
+ constructor(url: string);
11
+ /**
12
+ * Processes an image to extract tables.
13
+ *
14
+ * @param params - The extraction parameters, as defined by img2table
15
+ * @returns The extracted tables.
16
+ */
17
+ processImage(params: BaseRequest): Promise<ExtractedTable[]>;
18
+ /**
19
+ * Processes a PDF to extract tables.
20
+ *
21
+ * @param params - The extraction parameters, as defined by img2table
22
+ * @returns The extracted tables.
23
+ */
24
+ processPdf(params: PdfRequest): Promise<PdfExtractedTable[]>;
25
+ }
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,WAAW,EAChB,KAAK,UAAU,EAGlB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,qBAAa,cAAc;IACvB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE1B;;;;OAIG;gBACS,GAAG,EAAE,MAAM;IAIvB;;;;;OAKG;IACG,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAWlE;;;;;OAKG;IACG,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;CAUrE"}
package/dist/index.js ADDED
@@ -0,0 +1,44 @@
1
+ import { processImageImagePost, processPdfPdfPost, } from "./client/index.js";
2
+ import { checkResponse } from "./error.js";
3
+ import { parseImageTableResponse, parsePdfTableResponse } from "./parse.js";
4
+ import { ExtractedTable, PdfExtractedTable } from "./types/extracted-table.js";
5
+ export class TableExtractor {
6
+ url = null;
7
+ /**
8
+ * Creates an instance of the extractor client.
9
+ *
10
+ * @param url - The URL of the extraction server.
11
+ */
12
+ constructor(url) {
13
+ this.url = url;
14
+ }
15
+ /**
16
+ * Processes an image to extract tables.
17
+ *
18
+ * @param params - The extraction parameters, as defined by img2table
19
+ * @returns The extracted tables.
20
+ */
21
+ async processImage(params) {
22
+ const response = await processImageImagePost({
23
+ baseUrl: this.url,
24
+ body: params,
25
+ });
26
+ checkResponse(response);
27
+ return parseImageTableResponse(response.data);
28
+ }
29
+ /**
30
+ * Processes a PDF to extract tables.
31
+ *
32
+ * @param params - The extraction parameters, as defined by img2table
33
+ * @returns The extracted tables.
34
+ */
35
+ async processPdf(params) {
36
+ const response = await processPdfPdfPost({
37
+ baseUrl: this.url,
38
+ body: params,
39
+ });
40
+ checkResponse(response);
41
+ return parsePdfTableResponse(response.data);
42
+ }
43
+ }
44
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,qBAAqB,EACrB,iBAAiB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/E,MAAM,OAAO,cAAc;IACvB,GAAG,GAAkB,IAAI,CAAC;IAE1B;;;;OAIG;IACH,YAAY,GAAW;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,MAAmB;QAClC,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC;YACzC,OAAO,EAAE,IAAI,CAAC,GAAI;YAClB,IAAI,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,aAAa,CAAC,QAAQ,CAAC,CAAC;QAExB,OAAO,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,MAAkB;QAC/B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,GAAI;YAClB,IAAI,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,aAAa,CAAC,QAAQ,CAAC,CAAC;QAExB,OAAO,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CACJ"}
@@ -0,0 +1,5 @@
1
+ import type { PdfTableResponse, TableResponse } from "./client/index.js";
2
+ import { ExtractedTable, PdfExtractedTable } from "./types/extracted-table.js";
3
+ export declare function parseImageTableResponse(data: TableResponse[]): ExtractedTable[];
4
+ export declare function parsePdfTableResponse(data: PdfTableResponse[]): PdfExtractedTable[];
5
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAkB/E,wBAAgB,uBAAuB,CACnC,IAAI,EAAE,aAAa,EAAE,GACtB,cAAc,EAAE,CAElB;AAED,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,gBAAgB,EAAE,GACzB,iBAAiB,EAAE,CAQrB"}
package/dist/parse.js ADDED
@@ -0,0 +1,61 @@
1
+ import { checkCell, TableCell } from "./types/table-cell.js";
2
+ import { ExtractedTable, PdfExtractedTable } from "./types/extracted-table.js";
3
+ function parseTableResponse(table) {
4
+ const cells = cellsToDomain(table.cells);
5
+ const extractedTable = new ExtractedTable({
6
+ title: table.title || undefined,
7
+ box: table.box,
8
+ grid: [],
9
+ cells,
10
+ });
11
+ attachGrid(extractedTable, table.grid);
12
+ extractedTable.cells.forEach(checkCell);
13
+ return extractedTable;
14
+ }
15
+ export function parseImageTableResponse(data) {
16
+ return data.map(parseTableResponse);
17
+ }
18
+ export function parsePdfTableResponse(data) {
19
+ return data.map((table) => {
20
+ const parsedTable = parseTableResponse(table);
21
+ return new PdfExtractedTable({
22
+ ...parsedTable,
23
+ page: table.page,
24
+ });
25
+ });
26
+ }
27
+ function cellsToDomain(cells) {
28
+ return cells.map((cell) => new TableCell({
29
+ content: cell.content || undefined,
30
+ _positions: [],
31
+ _table: null,
32
+ }));
33
+ }
34
+ function attachGrid(table, indexGrid) {
35
+ table.grid = [];
36
+ indexGrid.forEach((row, rowIndex) => {
37
+ row.forEach((_, colIndex) => {
38
+ const cellIndex = indexGrid?.[rowIndex]?.[colIndex];
39
+ if (!cellIndex ||
40
+ cellIndex < 0 ||
41
+ cellIndex >= table.cells.length) {
42
+ throw new Error(`Invalid cell index ${cellIndex} at grid position (${rowIndex}, ${colIndex})`);
43
+ }
44
+ if (table.grid[rowIndex] === undefined) {
45
+ table.grid[rowIndex] = [];
46
+ }
47
+ if (!table.cells[cellIndex]) {
48
+ throw new Error(`Cell at index ${cellIndex} doesn't exist.`);
49
+ }
50
+ table.grid[rowIndex][colIndex] = table.cells[cellIndex];
51
+ table.cells[cellIndex]._positions.push({
52
+ row: rowIndex,
53
+ col: colIndex,
54
+ });
55
+ });
56
+ });
57
+ table.cells.forEach((cell) => {
58
+ cell._table = table;
59
+ });
60
+ }
61
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parse.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.spec.d.ts","sourceRoot":"","sources":["../src/parse.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { parseImageTableResponse, parsePdfTableResponse } from "./parse.js";
3
+ describe("Parse response", () => {
4
+ const baseTable = {
5
+ title: "Test Table",
6
+ box: { x1: 0, y1: 0, x2: 100, y2: 100 },
7
+ grid: [
8
+ [0, 0],
9
+ [1, 2],
10
+ ],
11
+ cells: [{ content: "Header" }, { content: "A" }, { content: "B" }],
12
+ };
13
+ it("should create a correctly linked ExtractedTable from response", () => {
14
+ const mockResponse = [baseTable];
15
+ const tables = parseImageTableResponse(mockResponse);
16
+ expect(tables).toHaveLength(1);
17
+ const table = tables[0];
18
+ expect(table.title).toBe("Test Table");
19
+ expect(table.box).toEqual({ x1: 0, y1: 0, x2: 100, y2: 100 });
20
+ expect(table.cells).toHaveLength(3);
21
+ expect(table.grid.flat()).toHaveLength(4);
22
+ // Check the wiring between grid and cells
23
+ table.grid[0][0].content = "test";
24
+ expect(table.cells[0].content).toBe("test");
25
+ expect(table.grid[0][1].content).toBe("test");
26
+ });
27
+ it("should create a correctly linked PdfExtractedTable from response", () => {
28
+ const mockResponse = [
29
+ {
30
+ ...baseTable,
31
+ page: 2,
32
+ },
33
+ ];
34
+ const tables = parsePdfTableResponse(mockResponse);
35
+ expect(tables).toHaveLength(1);
36
+ const table = tables[0];
37
+ expect(table.title).toBe("Test Table");
38
+ expect(table.box).toEqual({ x1: 0, y1: 0, x2: 100, y2: 100 });
39
+ expect(table.cells).toHaveLength(3);
40
+ expect(table.grid.flat()).toHaveLength(4);
41
+ expect(table.page).toBe(2);
42
+ // Check the wiring between grid and cells
43
+ table.grid[0][0].content = "test";
44
+ expect(table.cells[0].content).toBe("test");
45
+ expect(table.grid[0][1].content).toBe("test");
46
+ });
47
+ });
48
+ //# sourceMappingURL=parse.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.spec.js","sourceRoot":"","sources":["../src/parse.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { TableResponse } from "../client/index.js";
2
+ import { ExtractedTable } from "../types/extracted-table.js";
3
+ export declare function buildTable(overrides?: Partial<TableResponse>): ExtractedTable;
4
+ //# sourceMappingURL=table-fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-fixture.d.ts","sourceRoot":"","sources":["../../src/test/table-fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,wBAAgB,UAAU,CACtB,SAAS,GAAE,OAAO,CAAC,aAAa,CAAM,GACvC,cAAc,CAahB"}