@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.
- package/README.md +4 -0
- package/dist/client/client/client.gen.d.ts +3 -0
- package/dist/client/client/client.gen.d.ts.map +1 -0
- package/dist/client/client/client.gen.js +229 -0
- package/dist/client/client/client.gen.js.map +1 -0
- package/dist/client/client/index.d.ts +9 -0
- package/dist/client/client/index.d.ts.map +1 -0
- package/dist/client/client/index.js +7 -0
- package/dist/client/client/index.js.map +1 -0
- package/dist/client/client/types.gen.d.ts +118 -0
- package/dist/client/client/types.gen.d.ts.map +1 -0
- package/dist/client/client/types.gen.js +3 -0
- package/dist/client/client/types.gen.js.map +1 -0
- package/dist/client/client/utils.gen.d.ts +34 -0
- package/dist/client/client/utils.gen.d.ts.map +1 -0
- package/dist/client/client/utils.gen.js +232 -0
- package/dist/client/client/utils.gen.js.map +1 -0
- package/dist/client/client.gen.d.ts +13 -0
- package/dist/client/client.gen.d.ts.map +1 -0
- package/dist/client/client.gen.js +4 -0
- package/dist/client/client.gen.js.map +1 -0
- package/dist/client/core/auth.gen.d.ts +19 -0
- package/dist/client/core/auth.gen.d.ts.map +1 -0
- package/dist/client/core/auth.gen.js +15 -0
- package/dist/client/core/auth.gen.js.map +1 -0
- package/dist/client/core/bodySerializer.gen.d.ts +26 -0
- package/dist/client/core/bodySerializer.gen.d.ts.map +1 -0
- package/dist/client/core/bodySerializer.gen.js +58 -0
- package/dist/client/core/bodySerializer.gen.js.map +1 -0
- package/dist/client/core/params.gen.d.ts +44 -0
- package/dist/client/core/params.gen.d.ts.map +1 -0
- package/dist/client/core/params.gen.js +101 -0
- package/dist/client/core/params.gen.js.map +1 -0
- package/dist/client/core/pathSerializer.gen.d.ts +34 -0
- package/dist/client/core/pathSerializer.gen.d.ts.map +1 -0
- package/dist/client/core/pathSerializer.gen.js +115 -0
- package/dist/client/core/pathSerializer.gen.js.map +1 -0
- package/dist/client/core/queryKeySerializer.gen.d.ts +19 -0
- package/dist/client/core/queryKeySerializer.gen.d.ts.map +1 -0
- package/dist/client/core/queryKeySerializer.gen.js +100 -0
- package/dist/client/core/queryKeySerializer.gen.js.map +1 -0
- package/dist/client/core/serverSentEvents.gen.d.ts +72 -0
- package/dist/client/core/serverSentEvents.gen.d.ts.map +1 -0
- package/dist/client/core/serverSentEvents.gen.js +138 -0
- package/dist/client/core/serverSentEvents.gen.js.map +1 -0
- package/dist/client/core/types.gen.d.ts +79 -0
- package/dist/client/core/types.gen.d.ts.map +1 -0
- package/dist/client/core/types.gen.js +3 -0
- package/dist/client/core/types.gen.js.map +1 -0
- package/dist/client/core/utils.gen.d.ts +20 -0
- package/dist/client/core/utils.gen.d.ts.map +1 -0
- package/dist/client/core/utils.gen.js +88 -0
- package/dist/client/core/utils.gen.js.map +1 -0
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/sdk.gen.d.ts +24 -0
- package/dist/client/sdk.gen.d.ts.map +1 -0
- package/dist/client/sdk.gen.js +25 -0
- package/dist/client/sdk.gen.js.map +1 -0
- package/dist/client/types.gen.d.ts +210 -0
- package/dist/client/types.gen.d.ts.map +1 -0
- package/dist/client/types.gen.js +3 -0
- package/dist/client/types.gen.js.map +1 -0
- package/dist/error.d.ts +9 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +7 -0
- package/dist/error.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/parse.d.ts +5 -0
- package/dist/parse.d.ts.map +1 -0
- package/dist/parse.js +61 -0
- package/dist/parse.js.map +1 -0
- package/dist/parse.spec.d.ts +2 -0
- package/dist/parse.spec.d.ts.map +1 -0
- package/dist/parse.spec.js +48 -0
- package/dist/parse.spec.js.map +1 -0
- package/dist/test/table-fixture.d.ts +4 -0
- package/dist/test/table-fixture.d.ts.map +1 -0
- package/dist/test/table-fixture.js +17 -0
- package/dist/test/table-fixture.js.map +1 -0
- package/dist/types/extracted-table.d.ts +30 -0
- package/dist/types/extracted-table.d.ts.map +1 -0
- package/dist/types/extracted-table.js +48 -0
- package/dist/types/extracted-table.js.map +1 -0
- package/dist/types/extracted-table.spec.d.ts +2 -0
- package/dist/types/extracted-table.spec.d.ts.map +1 -0
- package/dist/types/extracted-table.spec.js +17 -0
- package/dist/types/extracted-table.spec.js.map +1 -0
- package/dist/types/table-cell.d.ts +85 -0
- package/dist/types/table-cell.d.ts.map +1 -0
- package/dist/types/table-cell.js +134 -0
- package/dist/types/table-cell.js.map +1 -0
- package/dist/types/table-cell.spec.d.ts +2 -0
- package/dist/types/table-cell.spec.d.ts.map +1 -0
- package/dist/types/table-cell.spec.js +32 -0
- package/dist/types/table-cell.spec.js.map +1 -0
- 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":"AAAA,qDAAqD;AAGrD,OAAO,EAEL,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAkB,EAAE,EAAE;IAC3E,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAChD,IAAI,KAAK,GAAwB,QAAQ,CAAC;YAE1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,GAAG,IAAI,CAAC;gBACf,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC5C,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzB,KAAK,GAAG,OAAO,CAAC;YAClB,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzB,KAAK,GAAG,QAAQ,CAAC;YACnB,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YAEzB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,KAAK,EACL,mBAAmB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CACrD,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,KAAK,EACL,oBAAoB,CAAC;oBACnB,OAAO;oBACP,IAAI;oBACJ,KAAK;oBACL,KAAK,EAAE,KAAgC;oBACvC,SAAS,EAAE,IAAI;iBAChB,CAAC,CACH,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,GAAG,GAAG,GAAG,CAAC,OAAO,CACf,KAAK,EACL,IAAI,uBAAuB,CAAC;oBAC1B,IAAI;oBACJ,KAAK,EAAE,KAAe;iBACvB,CAAC,EAAE,CACL,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,kBAAkB,CACrC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,KAAe,EAAE,CAAC,CAAC,CAAE,KAAgB,CAC9D,CAAC;YACF,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACrB,OAAO,EACP,IAAI,EACJ,KAAK,EACL,eAAe,EACf,GAAG,EAAE,IAAI,GAOV,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IACzD,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IACpC,IAAI,IAAI,EAAE,CAAC;QACT,GAAG,GAAG,qBAAqB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,OAInC;IACC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;IAC3C,MAAM,gBAAgB,GAAG,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC;IAE3D,IAAI,gBAAgB,EAAE,CAAC;QACrB,IAAI,gBAAgB,IAAI,OAAO,EAAE,CAAC;YAChC,MAAM,iBAAiB,GACrB,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,KAAK,EAAE,CAAC;YAExE,OAAO,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,CAAC;QAED,0EAA0E;QAC1E,OAAO,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,kBAAkB;IAClB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,uBAAuB;IACvB,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"types.gen.js","sourceRoot":"","sources":["../../src/client/types.gen.ts"],"names":[],"mappings":"AAAA,qDAAqD"}
|
package/dist/error.d.ts
ADDED
|
@@ -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 @@
|
|
|
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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|
package/dist/parse.d.ts
ADDED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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"}
|