mindee 3.3.0 → 3.4.1
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/CHANGELOG.md +14 -0
- package/README.md +6 -1
- package/package.json +19 -19
- package/src/api/index.d.ts +1 -1
- package/src/api/response.d.ts +3 -0
- package/src/client.d.ts +4 -4
- package/src/client.js +1 -1
- package/src/documents/{custom.d.ts → custom/customV1.d.ts} +4 -4
- package/src/documents/{custom.js → custom/customV1.js} +2 -2
- package/src/{fields/apiBuilder.d.ts → documents/custom/fields.d.ts} +8 -6
- package/src/{fields/apiBuilder.js → documents/custom/fields.js} +1 -1
- package/src/documents/document.d.ts +5 -5
- package/src/documents/eu/licensePlate/licensePlateV1.d.ts +2 -2
- package/src/documents/eu/licensePlate/licensePlateV1.js +3 -2
- package/src/documents/financialDocument/financialDocumentV1.d.ts +9 -9
- package/src/documents/financialDocument/financialDocumentV1.js +5 -5
- package/src/documents/fr/bankAccountDetails/bankAccountDetailsV1.d.ts +4 -4
- package/src/documents/fr/bankAccountDetails/bankAccountDetailsV1.js +3 -3
- package/src/documents/fr/carteVitale/carteVitaleV1.d.ts +4 -4
- package/src/documents/fr/carteVitale/carteVitaleV1.js +4 -3
- package/src/documents/fr/idCard/idCardV1.d.ts +9 -9
- package/src/documents/fr/idCard/idCardV1.js +8 -8
- package/src/documents/index.d.ts +1 -1
- package/src/documents/index.js +2 -2
- package/src/documents/invoice/invoiceLineItem.d.ts +2 -2
- package/src/documents/invoice/invoiceLineItem.js +2 -2
- package/src/documents/invoice/invoiceV3.d.ts +7 -7
- package/src/documents/invoice/invoiceV3.js +21 -21
- package/src/documents/invoice/invoiceV4.d.ts +8 -8
- package/src/documents/invoice/invoiceV4.js +18 -6
- package/src/documents/invoice/reconstruction.js +5 -4
- package/src/documents/passport/passportV1.d.ts +11 -11
- package/src/documents/passport/passportV1.js +16 -14
- package/src/documents/receipt/receiptV3.d.ts +4 -4
- package/src/documents/receipt/receiptV3.js +6 -7
- package/src/documents/receipt/receiptV4.d.ts +8 -4
- package/src/documents/receipt/receiptV4.js +14 -5
- package/src/documents/receipt/tax.d.ts +3 -3
- package/src/documents/receipt/tax.js +7 -7
- package/src/documents/shipping_container/shippingContainerV1.d.ts +4 -4
- package/src/documents/shipping_container/shippingContainerV1.js +4 -3
- package/src/documents/us/bankCheck/bankCheckV1.d.ts +5 -5
- package/src/documents/us/bankCheck/bankCheckV1.js +4 -4
- package/src/fields/amount.d.ts +1 -1
- package/src/fields/amount.js +7 -4
- package/src/fields/base.d.ts +27 -0
- package/src/fields/base.js +53 -0
- package/src/fields/companyRegistration.d.ts +3 -1
- package/src/fields/date.d.ts +4 -1
- package/src/fields/date.js +16 -8
- package/src/fields/field.d.ts +8 -38
- package/src/fields/field.js +6 -53
- package/src/fields/fullText.d.ts +3 -3
- package/src/fields/fullText.js +4 -4
- package/src/fields/index.d.ts +3 -3
- package/src/fields/index.js +5 -8
- package/src/fields/locale.d.ts +13 -9
- package/src/fields/locale.js +4 -3
- package/src/fields/orientation.d.ts +3 -1
- package/src/fields/orientation.js +2 -2
- package/src/fields/paymentDetails.d.ts +4 -1
- package/src/fields/paymentDetails.js +26 -23
- package/src/fields/position.d.ts +2 -2
- package/src/fields/tax.d.ts +4 -3
- package/src/fields/tax.js +2 -2
- package/src/fields/text.d.ts +13 -0
- package/src/fields/text.js +10 -0
- package/src/geometry.d.ts +4 -5
- package/src/index.d.ts +4 -3
- package/src/index.js +5 -1
- package/src/inputs/sources.d.ts +4 -4
- package/src/inputs/sources.js +9 -9
package/src/fields/tax.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { StringDict } from "./base";
|
|
1
2
|
import { Field } from "./field";
|
|
2
3
|
interface TaxConstructor {
|
|
3
|
-
prediction:
|
|
4
|
+
prediction: StringDict;
|
|
4
5
|
valueKey?: string;
|
|
5
6
|
rateKey?: string;
|
|
6
7
|
codeKey?: string;
|
|
@@ -10,9 +11,9 @@ interface TaxConstructor {
|
|
|
10
11
|
export declare class TaxField extends Field {
|
|
11
12
|
/** The tax amount. */
|
|
12
13
|
value?: number;
|
|
13
|
-
/** The tax code (HST, GST... for Canadian; City Tax, State tax for US, etc..). */
|
|
14
|
-
rate?: number;
|
|
15
14
|
/** The tax rate. */
|
|
15
|
+
rate?: number;
|
|
16
|
+
/** The tax code (HST, GST... for Canadian; City Tax, State tax for US, etc..). */
|
|
16
17
|
code?: string;
|
|
17
18
|
/** The document page on which the information was found. */
|
|
18
19
|
pageId: number;
|
package/src/fields/tax.js
CHANGED
|
@@ -16,9 +16,9 @@ class TaxField extends field_1.Field {
|
|
|
16
16
|
super({ prediction, valueKey, reconstructed, pageId });
|
|
17
17
|
/** The tax amount. */
|
|
18
18
|
this.value = undefined;
|
|
19
|
-
/** The tax code (HST, GST... for Canadian; City Tax, State tax for US, etc..). */
|
|
20
|
-
this.rate = undefined;
|
|
21
19
|
/** The tax rate. */
|
|
20
|
+
this.rate = undefined;
|
|
21
|
+
/** The tax code (HST, GST... for Canadian; City Tax, State tax for US, etc..). */
|
|
22
22
|
this.code = undefined;
|
|
23
23
|
this.rate = +parseFloat(prediction[rateKey]);
|
|
24
24
|
if (isNaN(this.rate))
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StringDict } from "./base";
|
|
2
|
+
import { Field } from "./field";
|
|
3
|
+
export interface FieldConstructor {
|
|
4
|
+
prediction: StringDict;
|
|
5
|
+
valueKey?: string;
|
|
6
|
+
reconstructed?: boolean;
|
|
7
|
+
pageId?: number | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare class TextField extends Field {
|
|
10
|
+
/** The value. */
|
|
11
|
+
value?: string;
|
|
12
|
+
constructor({ prediction, valueKey, reconstructed, pageId, }: FieldConstructor);
|
|
13
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TextField = void 0;
|
|
4
|
+
const field_1 = require("./field");
|
|
5
|
+
class TextField extends field_1.Field {
|
|
6
|
+
constructor({ prediction, valueKey = "value", reconstructed = false, pageId, }) {
|
|
7
|
+
super({ prediction, valueKey, reconstructed, pageId });
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.TextField = TextField;
|
package/src/geometry.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
export type MinMax = {
|
|
2
2
|
min: number;
|
|
3
3
|
max: number;
|
|
4
4
|
};
|
|
5
5
|
/** A point on the document defined by 2 coordinates: X, Y */
|
|
6
|
-
export
|
|
6
|
+
export type Point = [number, number];
|
|
7
7
|
/** A bounding box defined by 4 coordinates: xMin, yMin, xMax, yMax */
|
|
8
|
-
export
|
|
8
|
+
export type BoundingBox = [number, number, number, number];
|
|
9
9
|
/** A polygon, composed of several Points. */
|
|
10
|
-
export
|
|
10
|
+
export type Polygon = Array<Point>;
|
|
11
11
|
/**
|
|
12
12
|
* Given a Polygon, calculate a polygon that encompasses all points.
|
|
13
13
|
*/
|
|
@@ -56,4 +56,3 @@ export declare function isPointInPolygonX(centroid: Point, polygon: Polygon): bo
|
|
|
56
56
|
* Can be used to order (sort) words in the same line.
|
|
57
57
|
*/
|
|
58
58
|
export declare function relativeX(polygon: Polygon): number;
|
|
59
|
-
export {};
|
package/src/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export { CustomV1, FinancialDocumentV1, InvoiceV3, InvoiceV4, PassportV1, ReceiptV3, ReceiptV4, CropperV1, ShippingContainerV1, fr, us, eu, } from "./documents";
|
|
2
|
-
export { Client } from "./client";
|
|
3
|
-
export {
|
|
1
|
+
export { CustomV1, Document, FinancialDocumentV1, InvoiceV3, InvoiceV4, PassportV1, ReceiptV3, ReceiptV4, CropperV1, ShippingContainerV1, fr, us, eu, } from "./documents";
|
|
2
|
+
export { Client, ClientOptions, CustomConfigParams, PredictOptions, } from "./client";
|
|
3
|
+
export { ResponseSig, Response } from "./api";
|
|
4
|
+
export { InputSource, PageOptionsOperation } from "./inputs";
|
package/src/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PageOptionsOperation = exports.Client = exports.eu = exports.us = exports.fr = exports.ShippingContainerV1 = exports.CropperV1 = exports.ReceiptV4 = exports.ReceiptV3 = exports.PassportV1 = exports.InvoiceV4 = exports.InvoiceV3 = exports.FinancialDocumentV1 = exports.CustomV1 = void 0;
|
|
3
|
+
exports.PageOptionsOperation = exports.InputSource = exports.Response = exports.Client = exports.eu = exports.us = exports.fr = exports.ShippingContainerV1 = exports.CropperV1 = exports.ReceiptV4 = exports.ReceiptV3 = exports.PassportV1 = exports.InvoiceV4 = exports.InvoiceV3 = exports.FinancialDocumentV1 = exports.Document = exports.CustomV1 = void 0;
|
|
4
4
|
var documents_1 = require("./documents");
|
|
5
5
|
Object.defineProperty(exports, "CustomV1", { enumerable: true, get: function () { return documents_1.CustomV1; } });
|
|
6
|
+
Object.defineProperty(exports, "Document", { enumerable: true, get: function () { return documents_1.Document; } });
|
|
6
7
|
Object.defineProperty(exports, "FinancialDocumentV1", { enumerable: true, get: function () { return documents_1.FinancialDocumentV1; } });
|
|
7
8
|
Object.defineProperty(exports, "InvoiceV3", { enumerable: true, get: function () { return documents_1.InvoiceV3; } });
|
|
8
9
|
Object.defineProperty(exports, "InvoiceV4", { enumerable: true, get: function () { return documents_1.InvoiceV4; } });
|
|
@@ -16,5 +17,8 @@ Object.defineProperty(exports, "us", { enumerable: true, get: function () { retu
|
|
|
16
17
|
Object.defineProperty(exports, "eu", { enumerable: true, get: function () { return documents_1.eu; } });
|
|
17
18
|
var client_1 = require("./client");
|
|
18
19
|
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return client_1.Client; } });
|
|
20
|
+
var api_1 = require("./api");
|
|
21
|
+
Object.defineProperty(exports, "Response", { enumerable: true, get: function () { return api_1.Response; } });
|
|
19
22
|
var inputs_1 = require("./inputs");
|
|
23
|
+
Object.defineProperty(exports, "InputSource", { enumerable: true, get: function () { return inputs_1.InputSource; } });
|
|
20
24
|
Object.defineProperty(exports, "PageOptionsOperation", { enumerable: true, get: function () { return inputs_1.PageOptionsOperation; } });
|
package/src/inputs/sources.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
-
import {
|
|
4
|
-
import { Buffer } from "
|
|
3
|
+
import { Readable } from "stream";
|
|
4
|
+
import { Buffer } from "buffer";
|
|
5
5
|
import { InputSource } from "./base";
|
|
6
6
|
interface PathInputProps {
|
|
7
7
|
inputPath: string;
|
|
@@ -23,7 +23,7 @@ export declare class Base64Input extends InputSource {
|
|
|
23
23
|
init(): Promise<void>;
|
|
24
24
|
}
|
|
25
25
|
interface StreamInputProps {
|
|
26
|
-
inputStream:
|
|
26
|
+
inputStream: Readable;
|
|
27
27
|
filename: string;
|
|
28
28
|
}
|
|
29
29
|
export declare class StreamInput extends InputSource {
|
|
@@ -31,7 +31,7 @@ export declare class StreamInput extends InputSource {
|
|
|
31
31
|
fileObject: Buffer;
|
|
32
32
|
constructor({ inputStream, filename }: StreamInputProps);
|
|
33
33
|
init(): Promise<void>;
|
|
34
|
-
stream2buffer(stream:
|
|
34
|
+
stream2buffer(stream: Readable): Promise<Buffer>;
|
|
35
35
|
}
|
|
36
36
|
interface BytesInputProps {
|
|
37
37
|
inputBytes: string;
|
package/src/inputs/sources.js
CHANGED
|
@@ -27,7 +27,7 @@ exports.BufferInput = exports.UrlInput = exports.BytesInput = exports.StreamInpu
|
|
|
27
27
|
const fs_1 = require("fs");
|
|
28
28
|
const path = __importStar(require("path"));
|
|
29
29
|
const handler_1 = require("../errors/handler");
|
|
30
|
-
const
|
|
30
|
+
const buffer_1 = require("buffer");
|
|
31
31
|
const logger_1 = require("../logger");
|
|
32
32
|
const base_1 = require("./base");
|
|
33
33
|
class PathInput extends base_1.InputSource {
|
|
@@ -35,13 +35,13 @@ class PathInput extends base_1.InputSource {
|
|
|
35
35
|
super({
|
|
36
36
|
inputType: base_1.INPUT_TYPE_PATH,
|
|
37
37
|
});
|
|
38
|
-
this.fileObject =
|
|
38
|
+
this.fileObject = buffer_1.Buffer.alloc(0);
|
|
39
39
|
this.inputPath = inputPath;
|
|
40
40
|
this.filename = path.basename(this.inputPath);
|
|
41
41
|
}
|
|
42
42
|
async init() {
|
|
43
43
|
logger_1.logger.debug(`Loading from: ${this.inputPath}`);
|
|
44
|
-
this.fileObject =
|
|
44
|
+
this.fileObject = buffer_1.Buffer.from(await fs_1.promises.readFile(this.inputPath));
|
|
45
45
|
this.mimeType = await this.checkMimetype();
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -51,12 +51,12 @@ class Base64Input extends base_1.InputSource {
|
|
|
51
51
|
super({
|
|
52
52
|
inputType: base_1.INPUT_TYPE_BASE64,
|
|
53
53
|
});
|
|
54
|
-
this.fileObject =
|
|
54
|
+
this.fileObject = buffer_1.Buffer.alloc(0);
|
|
55
55
|
this.filename = filename;
|
|
56
56
|
this.inputString = inputString;
|
|
57
57
|
}
|
|
58
58
|
async init() {
|
|
59
|
-
this.fileObject =
|
|
59
|
+
this.fileObject = buffer_1.Buffer.from(this.inputString, "base64");
|
|
60
60
|
this.mimeType = await this.checkMimetype();
|
|
61
61
|
// clear out the string
|
|
62
62
|
this.inputString = "";
|
|
@@ -68,7 +68,7 @@ class StreamInput extends base_1.InputSource {
|
|
|
68
68
|
super({
|
|
69
69
|
inputType: base_1.INPUT_TYPE_STREAM,
|
|
70
70
|
});
|
|
71
|
-
this.fileObject =
|
|
71
|
+
this.fileObject = buffer_1.Buffer.alloc(0);
|
|
72
72
|
this.filename = filename;
|
|
73
73
|
this.inputStream = inputStream;
|
|
74
74
|
}
|
|
@@ -80,7 +80,7 @@ class StreamInput extends base_1.InputSource {
|
|
|
80
80
|
return new Promise((resolve, reject) => {
|
|
81
81
|
const _buf = Array();
|
|
82
82
|
stream.on("data", (chunk) => _buf.push(chunk));
|
|
83
|
-
stream.on("end", () => resolve(
|
|
83
|
+
stream.on("end", () => resolve(buffer_1.Buffer.concat(_buf)));
|
|
84
84
|
stream.on("error", (err) => reject(`Error converting stream - ${err}`));
|
|
85
85
|
});
|
|
86
86
|
}
|
|
@@ -91,12 +91,12 @@ class BytesInput extends base_1.InputSource {
|
|
|
91
91
|
super({
|
|
92
92
|
inputType: base_1.INPUT_TYPE_BYTES,
|
|
93
93
|
});
|
|
94
|
-
this.fileObject =
|
|
94
|
+
this.fileObject = buffer_1.Buffer.alloc(0);
|
|
95
95
|
this.filename = filename;
|
|
96
96
|
this.inputBytes = inputBytes;
|
|
97
97
|
}
|
|
98
98
|
async init() {
|
|
99
|
-
this.fileObject =
|
|
99
|
+
this.fileObject = buffer_1.Buffer.from(this.inputBytes, "hex");
|
|
100
100
|
this.mimeType = await this.checkMimetype();
|
|
101
101
|
// clear out the string
|
|
102
102
|
this.inputBytes = "";
|