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.
Files changed (72) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +6 -1
  3. package/package.json +19 -19
  4. package/src/api/index.d.ts +1 -1
  5. package/src/api/response.d.ts +3 -0
  6. package/src/client.d.ts +4 -4
  7. package/src/client.js +1 -1
  8. package/src/documents/{custom.d.ts → custom/customV1.d.ts} +4 -4
  9. package/src/documents/{custom.js → custom/customV1.js} +2 -2
  10. package/src/{fields/apiBuilder.d.ts → documents/custom/fields.d.ts} +8 -6
  11. package/src/{fields/apiBuilder.js → documents/custom/fields.js} +1 -1
  12. package/src/documents/document.d.ts +5 -5
  13. package/src/documents/eu/licensePlate/licensePlateV1.d.ts +2 -2
  14. package/src/documents/eu/licensePlate/licensePlateV1.js +3 -2
  15. package/src/documents/financialDocument/financialDocumentV1.d.ts +9 -9
  16. package/src/documents/financialDocument/financialDocumentV1.js +5 -5
  17. package/src/documents/fr/bankAccountDetails/bankAccountDetailsV1.d.ts +4 -4
  18. package/src/documents/fr/bankAccountDetails/bankAccountDetailsV1.js +3 -3
  19. package/src/documents/fr/carteVitale/carteVitaleV1.d.ts +4 -4
  20. package/src/documents/fr/carteVitale/carteVitaleV1.js +4 -3
  21. package/src/documents/fr/idCard/idCardV1.d.ts +9 -9
  22. package/src/documents/fr/idCard/idCardV1.js +8 -8
  23. package/src/documents/index.d.ts +1 -1
  24. package/src/documents/index.js +2 -2
  25. package/src/documents/invoice/invoiceLineItem.d.ts +2 -2
  26. package/src/documents/invoice/invoiceLineItem.js +2 -2
  27. package/src/documents/invoice/invoiceV3.d.ts +7 -7
  28. package/src/documents/invoice/invoiceV3.js +21 -21
  29. package/src/documents/invoice/invoiceV4.d.ts +8 -8
  30. package/src/documents/invoice/invoiceV4.js +18 -6
  31. package/src/documents/invoice/reconstruction.js +5 -4
  32. package/src/documents/passport/passportV1.d.ts +11 -11
  33. package/src/documents/passport/passportV1.js +16 -14
  34. package/src/documents/receipt/receiptV3.d.ts +4 -4
  35. package/src/documents/receipt/receiptV3.js +6 -7
  36. package/src/documents/receipt/receiptV4.d.ts +8 -4
  37. package/src/documents/receipt/receiptV4.js +14 -5
  38. package/src/documents/receipt/tax.d.ts +3 -3
  39. package/src/documents/receipt/tax.js +7 -7
  40. package/src/documents/shipping_container/shippingContainerV1.d.ts +4 -4
  41. package/src/documents/shipping_container/shippingContainerV1.js +4 -3
  42. package/src/documents/us/bankCheck/bankCheckV1.d.ts +5 -5
  43. package/src/documents/us/bankCheck/bankCheckV1.js +4 -4
  44. package/src/fields/amount.d.ts +1 -1
  45. package/src/fields/amount.js +7 -4
  46. package/src/fields/base.d.ts +27 -0
  47. package/src/fields/base.js +53 -0
  48. package/src/fields/companyRegistration.d.ts +3 -1
  49. package/src/fields/date.d.ts +4 -1
  50. package/src/fields/date.js +16 -8
  51. package/src/fields/field.d.ts +8 -38
  52. package/src/fields/field.js +6 -53
  53. package/src/fields/fullText.d.ts +3 -3
  54. package/src/fields/fullText.js +4 -4
  55. package/src/fields/index.d.ts +3 -3
  56. package/src/fields/index.js +5 -8
  57. package/src/fields/locale.d.ts +13 -9
  58. package/src/fields/locale.js +4 -3
  59. package/src/fields/orientation.d.ts +3 -1
  60. package/src/fields/orientation.js +2 -2
  61. package/src/fields/paymentDetails.d.ts +4 -1
  62. package/src/fields/paymentDetails.js +26 -23
  63. package/src/fields/position.d.ts +2 -2
  64. package/src/fields/tax.d.ts +4 -3
  65. package/src/fields/tax.js +2 -2
  66. package/src/fields/text.d.ts +13 -0
  67. package/src/fields/text.js +10 -0
  68. package/src/geometry.d.ts +4 -5
  69. package/src/index.d.ts +4 -3
  70. package/src/index.js +5 -1
  71. package/src/inputs/sources.d.ts +4 -4
  72. package/src/inputs/sources.js +9 -9
@@ -1,6 +1,7 @@
1
+ import { StringDict } from "./base";
1
2
  import { Field } from "./field";
2
3
  interface TaxConstructor {
3
- prediction: any;
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
- declare type MinMax = {
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 declare type Point = [number, number];
6
+ export type Point = [number, number];
7
7
  /** A bounding box defined by 4 coordinates: xMin, yMin, xMax, yMax */
8
- export declare type BoundingBox = [number, number, number, number];
8
+ export type BoundingBox = [number, number, number, number];
9
9
  /** A polygon, composed of several Points. */
10
- export declare type Polygon = Array<Point>;
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 { PageOptionsOperation } from "./inputs";
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; } });
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import { ReadStream } from "fs";
4
- import { Buffer } from "node:buffer";
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: ReadStream;
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: ReadStream): Promise<Buffer>;
34
+ stream2buffer(stream: Readable): Promise<Buffer>;
35
35
  }
36
36
  interface BytesInputProps {
37
37
  inputBytes: string;
@@ -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 node_buffer_1 = require("node:buffer");
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 = node_buffer_1.Buffer.alloc(0);
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 = node_buffer_1.Buffer.from(await fs_1.promises.readFile(this.inputPath));
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 = node_buffer_1.Buffer.alloc(0);
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 = node_buffer_1.Buffer.from(this.inputString, "base64");
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 = node_buffer_1.Buffer.alloc(0);
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(node_buffer_1.Buffer.concat(_buf)));
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 = node_buffer_1.Buffer.alloc(0);
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 = node_buffer_1.Buffer.from(this.inputBytes, "hex");
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 = "";