mindee 3.4.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 (68) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +5 -0
  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 +3 -3
  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 +4 -4
  13. package/src/documents/eu/licensePlate/licensePlateV1.d.ts +2 -2
  14. package/src/documents/eu/licensePlate/licensePlateV1.js +1 -1
  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 +3 -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/invoiceV3.d.ts +7 -7
  27. package/src/documents/invoice/invoiceV3.js +5 -5
  28. package/src/documents/invoice/invoiceV4.d.ts +7 -9
  29. package/src/documents/invoice/invoiceV4.js +6 -6
  30. package/src/documents/invoice/reconstruction.js +5 -4
  31. package/src/documents/passport/passportV1.d.ts +11 -11
  32. package/src/documents/passport/passportV1.js +15 -13
  33. package/src/documents/receipt/receiptV3.d.ts +4 -4
  34. package/src/documents/receipt/receiptV3.js +6 -7
  35. package/src/documents/receipt/receiptV4.d.ts +6 -6
  36. package/src/documents/receipt/receiptV4.js +5 -6
  37. package/src/documents/shipping_container/shippingContainerV1.d.ts +4 -4
  38. package/src/documents/shipping_container/shippingContainerV1.js +3 -3
  39. package/src/documents/us/bankCheck/bankCheckV1.d.ts +5 -5
  40. package/src/documents/us/bankCheck/bankCheckV1.js +4 -4
  41. package/src/fields/amount.d.ts +1 -1
  42. package/src/fields/amount.js +2 -0
  43. package/src/fields/base.d.ts +27 -0
  44. package/src/fields/base.js +53 -0
  45. package/src/fields/companyRegistration.d.ts +3 -1
  46. package/src/fields/date.d.ts +4 -1
  47. package/src/fields/date.js +16 -8
  48. package/src/fields/field.d.ts +8 -38
  49. package/src/fields/field.js +6 -53
  50. package/src/fields/fullText.d.ts +1 -1
  51. package/src/fields/fullText.js +4 -4
  52. package/src/fields/index.d.ts +3 -3
  53. package/src/fields/index.js +5 -8
  54. package/src/fields/locale.d.ts +13 -9
  55. package/src/fields/locale.js +4 -3
  56. package/src/fields/orientation.d.ts +3 -1
  57. package/src/fields/orientation.js +2 -2
  58. package/src/fields/paymentDetails.d.ts +4 -1
  59. package/src/fields/paymentDetails.js +26 -23
  60. package/src/fields/position.d.ts +2 -2
  61. package/src/fields/tax.d.ts +2 -1
  62. package/src/fields/text.d.ts +13 -0
  63. package/src/fields/text.js +10 -0
  64. package/src/geometry.d.ts +1 -2
  65. package/src/index.d.ts +4 -3
  66. package/src/index.js +5 -1
  67. package/src/inputs/sources.d.ts +4 -4
  68. package/src/inputs/sources.js +9 -9
@@ -1,33 +1,11 @@
1
+ import { StringDict, BaseField } from "./base";
1
2
  import { Polygon } from "../geometry";
2
- export type stringDict = {
3
- [index: string]: any;
4
- };
5
3
  export interface FieldConstructor {
6
- prediction: stringDict;
4
+ prediction: StringDict;
7
5
  valueKey?: string;
8
6
  reconstructed?: boolean;
9
7
  pageId?: number | undefined;
10
8
  }
11
- export interface BaseFieldConstructor {
12
- prediction: stringDict;
13
- valueKey?: string;
14
- reconstructed?: boolean;
15
- }
16
- export declare class BaseField {
17
- /** The value. */
18
- value?: any;
19
- /**
20
- * True if the field was reconstructed or computed using other fields.
21
- */
22
- reconstructed: boolean;
23
- /**
24
- * @param {Object} prediction - Prediction object from HTTP response
25
- * @param {String} valueKey - Key to use in the prediction dict
26
- * @param {Boolean} reconstructed - Does the object is reconstructed (not extracted by the API)
27
- */
28
- constructor({ prediction, valueKey, reconstructed, }: BaseFieldConstructor);
29
- toString(): string;
30
- }
31
9
  export declare class Field extends BaseField {
32
10
  /**
33
11
  * Contains exactly 4 relative vertices coordinates (points) of a right
@@ -40,10 +18,8 @@ export declare class Field extends BaseField {
40
18
  */
41
19
  polygon: Polygon;
42
20
  /** The document page on which the information was found. */
43
- pageId: number | undefined;
44
- /**
45
- * The confidence score of the prediction.
46
- */
21
+ pageId: number;
22
+ /** The confidence score of the prediction. */
47
23
  confidence: number;
48
24
  /**
49
25
  * @param {Object} prediction - Prediction object from HTTP response
@@ -53,22 +29,16 @@ export declare class Field extends BaseField {
53
29
  * @param {Array<String>} extraFields - Extra fields to get from the prediction and to set as attribute of the Field
54
30
  */
55
31
  constructor({ prediction, valueKey, reconstructed, pageId, }: FieldConstructor);
56
- compare(other: Field): boolean;
57
32
  /**
58
- @param {Array<Field>} array1 - first Array of Fields
59
- @param {Array<Field>} array2 - second Array of Fields
33
+ @param {Field[]} array1 - first Array of Fields
34
+ @param {Field[]} array2 - second Array of Fields
60
35
  @param {String} attr - Attribute to compare
61
36
  @returns {Boolean} - true if all elements in array1 exist in array2 and vice-versa, false otherwise
62
37
  */
63
38
  static compareArrays(array1: Field[], array2: Field[], attr?: string): boolean;
64
39
  /**
65
- * @param {Array<Field>} array - Array of Fields
40
+ * @param {Field[]} array - Array of Fields
66
41
  * @returns {Number} product of all the fields probaility
67
42
  */
68
- static arrayConfidence(array: any): number;
69
- /**
70
- * @param {Array<Field>} array - Array of Fields
71
- * @returns {Number} Sum of all the Fields values in the array
72
- */
73
- static arraySum(array: any): number;
43
+ static arrayConfidence(array: Field[]): number;
74
44
  }
@@ -1,33 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Field = exports.BaseField = void 0;
3
+ exports.Field = void 0;
4
+ const base_1 = require("./base");
4
5
  const geometry_1 = require("../geometry");
5
- class BaseField {
6
- /**
7
- * @param {Object} prediction - Prediction object from HTTP response
8
- * @param {String} valueKey - Key to use in the prediction dict
9
- * @param {Boolean} reconstructed - Does the object is reconstructed (not extracted by the API)
10
- */
11
- constructor({ prediction, valueKey = "value", reconstructed = false, }) {
12
- /** The value. */
13
- this.value = undefined;
14
- this.reconstructed = reconstructed;
15
- if (prediction !== undefined &&
16
- prediction !== null &&
17
- valueKey in prediction &&
18
- prediction[valueKey] !== null) {
19
- this.value = prediction[valueKey];
20
- }
21
- }
22
- toString() {
23
- if (this.value !== undefined) {
24
- return `${this.value}`;
25
- }
26
- return "";
27
- }
28
- }
29
- exports.BaseField = BaseField;
30
- class Field extends BaseField {
6
+ class Field extends base_1.BaseField {
31
7
  /**
32
8
  * @param {Object} prediction - Prediction object from HTTP response
33
9
  * @param {String} valueKey - Key to use in the prediction dict
@@ -54,19 +30,9 @@ class Field extends BaseField {
54
30
  this.bbox = (0, geometry_1.getBboxAsPolygon)(prediction.polygon);
55
31
  }
56
32
  }
57
- compare(other) {
58
- if (this.value === null && other.value === null)
59
- return true;
60
- if (this.value === null || other.value === null)
61
- return false;
62
- if (typeof this.value === "string") {
63
- return this.value.toLowerCase() === other.value.toLowerCase();
64
- }
65
- return this.value === other.value;
66
- }
67
33
  /**
68
- @param {Array<Field>} array1 - first Array of Fields
69
- @param {Array<Field>} array2 - second Array of Fields
34
+ @param {Field[]} array1 - first Array of Fields
35
+ @param {Field[]} array2 - second Array of Fields
70
36
  @param {String} attr - Attribute to compare
71
37
  @returns {Boolean} - true if all elements in array1 exist in array2 and vice-versa, false otherwise
72
38
  */
@@ -82,7 +48,7 @@ class Field extends BaseField {
82
48
  return true;
83
49
  }
84
50
  /**
85
- * @param {Array<Field>} array - Array of Fields
51
+ * @param {Field[]} array - Array of Fields
86
52
  * @returns {Number} product of all the fields probaility
87
53
  */
88
54
  static arrayConfidence(array) {
@@ -94,18 +60,5 @@ class Field extends BaseField {
94
60
  }
95
61
  return total;
96
62
  }
97
- /**
98
- * @param {Array<Field>} array - Array of Fields
99
- * @returns {Number} Sum of all the Fields values in the array
100
- */
101
- static arraySum(array) {
102
- let total = 0.0;
103
- for (const field of array) {
104
- total += field.value;
105
- if (isNaN(total))
106
- return 0.0;
107
- }
108
- return total;
109
- }
110
63
  }
111
64
  exports.Field = Field;
@@ -15,7 +15,7 @@ export declare class FullText {
15
15
  * Order all text on a page into lines.
16
16
  * WARNING: This feature is experimental.
17
17
  */
18
- toLines(): Array<Line>;
18
+ toLines(): Line[];
19
19
  /**
20
20
  * WARNING: This feature is experimental.
21
21
  */
@@ -27,22 +27,22 @@ exports.FullText = void 0;
27
27
  const geometry = __importStar(require("../geometry"));
28
28
  function orderLines(fullText) {
29
29
  const lines = [];
30
- const idxs = [];
30
+ const indexes = [];
31
31
  let current = undefined;
32
32
  fullText.forEach(() => {
33
33
  let line = [];
34
34
  fullText.forEach((word, idx) => {
35
- if (!idxs.includes(idx)) {
35
+ if (!indexes.includes(idx)) {
36
36
  if (current === undefined) {
37
37
  current = word;
38
- idxs.push(idx);
38
+ indexes.push(idx);
39
39
  line = [current];
40
40
  }
41
41
  else {
42
42
  const centroid = geometry.getCentroid(word.polygon);
43
43
  if (geometry.isPointInPolygonY(centroid, current.polygon)) {
44
44
  line.push(word);
45
- idxs.push(idx);
45
+ indexes.push(idx);
46
46
  }
47
47
  }
48
48
  }
@@ -4,8 +4,8 @@ export { OrientationField } from "./orientation";
4
4
  export { Locale } from "./locale";
5
5
  export { Amount } from "./amount";
6
6
  export { DateField } from "./date";
7
- export { BaseField, stringDict, Field } from "./field";
8
- export { ListField, ListFieldValue, ClassificationField } from "./apiBuilder";
9
- export { FullText } from "./fullText";
7
+ export { BaseField, StringDict } from "./base";
8
+ export { FullText, Word } from "./fullText";
10
9
  export { CompanyRegistration } from "./companyRegistration";
11
10
  export { PositionField } from "./position";
11
+ export { TextField } from "./text";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PositionField = exports.CompanyRegistration = exports.FullText = exports.ClassificationField = exports.ListFieldValue = exports.ListField = exports.Field = exports.BaseField = exports.DateField = exports.Amount = exports.Locale = exports.OrientationField = exports.PaymentDetails = exports.TaxField = void 0;
3
+ exports.TextField = exports.PositionField = exports.CompanyRegistration = exports.FullText = exports.BaseField = exports.DateField = exports.Amount = exports.Locale = exports.OrientationField = exports.PaymentDetails = exports.TaxField = void 0;
4
4
  var tax_1 = require("./tax");
5
5
  Object.defineProperty(exports, "TaxField", { enumerable: true, get: function () { return tax_1.TaxField; } });
6
6
  var paymentDetails_1 = require("./paymentDetails");
@@ -13,16 +13,13 @@ var amount_1 = require("./amount");
13
13
  Object.defineProperty(exports, "Amount", { enumerable: true, get: function () { return amount_1.Amount; } });
14
14
  var date_1 = require("./date");
15
15
  Object.defineProperty(exports, "DateField", { enumerable: true, get: function () { return date_1.DateField; } });
16
- var field_1 = require("./field");
17
- Object.defineProperty(exports, "BaseField", { enumerable: true, get: function () { return field_1.BaseField; } });
18
- Object.defineProperty(exports, "Field", { enumerable: true, get: function () { return field_1.Field; } });
19
- var apiBuilder_1 = require("./apiBuilder");
20
- Object.defineProperty(exports, "ListField", { enumerable: true, get: function () { return apiBuilder_1.ListField; } });
21
- Object.defineProperty(exports, "ListFieldValue", { enumerable: true, get: function () { return apiBuilder_1.ListFieldValue; } });
22
- Object.defineProperty(exports, "ClassificationField", { enumerable: true, get: function () { return apiBuilder_1.ClassificationField; } });
16
+ var base_1 = require("./base");
17
+ Object.defineProperty(exports, "BaseField", { enumerable: true, get: function () { return base_1.BaseField; } });
23
18
  var fullText_1 = require("./fullText");
24
19
  Object.defineProperty(exports, "FullText", { enumerable: true, get: function () { return fullText_1.FullText; } });
25
20
  var companyRegistration_1 = require("./companyRegistration");
26
21
  Object.defineProperty(exports, "CompanyRegistration", { enumerable: true, get: function () { return companyRegistration_1.CompanyRegistration; } });
27
22
  var position_1 = require("./position");
28
23
  Object.defineProperty(exports, "PositionField", { enumerable: true, get: function () { return position_1.PositionField; } });
24
+ var text_1 = require("./text");
25
+ Object.defineProperty(exports, "TextField", { enumerable: true, get: function () { return text_1.TextField; } });
@@ -1,16 +1,20 @@
1
- import { Field } from "./field";
2
- export declare class Locale extends Field {
3
- /** The langage which has been detected */
4
- language: string | undefined;
5
- /** The country which has been detected (ISO Alpha-2)*/
6
- country: string | undefined;
7
- /** The currency which has been detected.*/
8
- currency: string | undefined;
1
+ import { BaseField, BaseFieldConstructor } from "./base";
2
+ export declare class Locale extends BaseField {
3
+ /** Locale in ISO format. */
4
+ value?: string;
5
+ /** The confidence score of the prediction. */
6
+ confidence: number;
7
+ /** ISO 639-1 language code */
8
+ language?: string;
9
+ /** ISO 3166-1 alpha-2 country code */
10
+ country?: string;
11
+ /** ISO 4217 currency code */
12
+ currency?: string;
9
13
  /**
10
14
  * @param {Object} prediction - Prediction object from HTTP response
11
15
  * @param {String} valueKey - Key to use in the prediction dict
12
16
  * @param {boolean} reconstructed - Does the object is reconstructed (not extracted by the API)
13
17
  */
14
- constructor({ prediction, reconstructed, valueKey }: any);
18
+ constructor({ prediction, reconstructed, valueKey, }: BaseFieldConstructor);
15
19
  toString(): string;
16
20
  }
@@ -1,15 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Locale = void 0;
4
- const field_1 = require("./field");
5
- class Locale extends field_1.Field {
4
+ const base_1 = require("./base");
5
+ class Locale extends base_1.BaseField {
6
6
  /**
7
7
  * @param {Object} prediction - Prediction object from HTTP response
8
8
  * @param {String} valueKey - Key to use in the prediction dict
9
9
  * @param {boolean} reconstructed - Does the object is reconstructed (not extracted by the API)
10
10
  */
11
- constructor({ prediction, reconstructed = false, valueKey = "value" }) {
11
+ constructor({ prediction, reconstructed = false, valueKey = "value", }) {
12
12
  super({ prediction, valueKey, reconstructed });
13
+ this.confidence = prediction.confidence ? prediction.confidence : 0.0;
13
14
  this.language = undefined;
14
15
  this.country = undefined;
15
16
  this.currency = undefined;
@@ -1,9 +1,11 @@
1
- import { BaseField, BaseFieldConstructor } from "./field";
1
+ import { BaseField, BaseFieldConstructor } from "./base";
2
2
  interface OrientationFieldConstructor extends BaseFieldConstructor {
3
3
  pageId: number;
4
4
  }
5
5
  export declare class OrientationField extends BaseField {
6
+ /** Degrees of the rotation. */
6
7
  value: number;
8
+ /** Page id. */
7
9
  pageId: number;
8
10
  /**
9
11
  * @param {Object} prediction - Prediction object from HTTP response
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OrientationField = void 0;
4
- const field_1 = require("./field");
5
- class OrientationField extends field_1.BaseField {
4
+ const base_1 = require("./base");
5
+ class OrientationField extends base_1.BaseField {
6
6
  /**
7
7
  * @param {Object} prediction - Prediction object from HTTP response
8
8
  * @param {String} valueKey - Key to use in the prediction dict
@@ -1,6 +1,7 @@
1
+ import { StringDict } from "./base";
1
2
  import { Field } from "./field";
2
3
  interface PaymentDetailsConstructor {
3
- prediction: any;
4
+ prediction: StringDict;
4
5
  valueKey?: string;
5
6
  accountNumberKey?: string;
6
7
  ibanKey?: string;
@@ -11,6 +12,8 @@ interface PaymentDetailsConstructor {
11
12
  }
12
13
  export declare class PaymentDetails extends Field {
13
14
  #private;
15
+ /** Synonym for the `iban` property */
16
+ value?: string | undefined;
14
17
  /** The account number. */
15
18
  accountNumber: number | undefined;
16
19
  /** The account IBAN. */
@@ -4,7 +4,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
4
4
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
5
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
6
  };
7
- var _PaymentDetails_instances, _PaymentDetails_setKey;
7
+ var _a, _PaymentDetails_isKeySet;
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.PaymentDetails = void 0;
10
10
  const field_1 = require("./field");
@@ -21,38 +21,41 @@ class PaymentDetails extends field_1.Field {
21
21
  */
22
22
  constructor({ prediction, valueKey = "iban", accountNumberKey = "account_number", ibanKey = "iban", routingNumberKey = "routing_number", swiftKey = "swift", reconstructed = false, pageId = undefined, }) {
23
23
  super({ prediction, valueKey, reconstructed, pageId });
24
- _PaymentDetails_instances.add(this);
25
24
  this.accountNumber = undefined;
26
25
  this.iban = undefined;
27
26
  this.routingNumber = undefined;
28
27
  this.swift = undefined;
29
- __classPrivateFieldGet(this, _PaymentDetails_instances, "m", _PaymentDetails_setKey).call(this, prediction[accountNumberKey], "accountNumber");
30
- __classPrivateFieldGet(this, _PaymentDetails_instances, "m", _PaymentDetails_setKey).call(this, prediction[ibanKey], "iban");
31
- __classPrivateFieldGet(this, _PaymentDetails_instances, "m", _PaymentDetails_setKey).call(this, prediction[routingNumberKey], "routingNumber");
32
- __classPrivateFieldGet(this, _PaymentDetails_instances, "m", _PaymentDetails_setKey).call(this, prediction[swiftKey], "swift");
28
+ if (__classPrivateFieldGet(PaymentDetails, _a, "m", _PaymentDetails_isKeySet).call(PaymentDetails, prediction[accountNumberKey])) {
29
+ this.accountNumber = prediction[accountNumberKey];
30
+ }
31
+ if (__classPrivateFieldGet(PaymentDetails, _a, "m", _PaymentDetails_isKeySet).call(PaymentDetails, prediction[ibanKey])) {
32
+ this.iban = prediction[ibanKey];
33
+ }
34
+ if (__classPrivateFieldGet(PaymentDetails, _a, "m", _PaymentDetails_isKeySet).call(PaymentDetails, prediction[routingNumberKey])) {
35
+ this.routingNumber = prediction[routingNumberKey];
36
+ }
37
+ if (__classPrivateFieldGet(PaymentDetails, _a, "m", _PaymentDetails_isKeySet).call(PaymentDetails, prediction[swiftKey])) {
38
+ this.swift = prediction[swiftKey];
39
+ }
33
40
  }
34
41
  toString() {
35
42
  let str = "";
36
- const keys = ["accountNumber", "iban", "routingNumber", "swift"];
37
- for (const key of keys) {
38
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
39
- // @ts-ignore
40
- if (this[key])
41
- str += `${this[key]}; `;
43
+ if (this.accountNumber !== undefined) {
44
+ str += `${this.accountNumber}; `;
45
+ }
46
+ if (this.iban !== undefined) {
47
+ str += `${this.iban}; `;
48
+ }
49
+ if (this.routingNumber !== undefined) {
50
+ str += `${this.routingNumber}; `;
51
+ }
52
+ if (this.swift !== undefined) {
53
+ str += `${this.swift}; `;
42
54
  }
43
55
  return str;
44
56
  }
45
57
  }
46
58
  exports.PaymentDetails = PaymentDetails;
47
- _PaymentDetails_instances = new WeakSet(), _PaymentDetails_setKey = function _PaymentDetails_setKey(value, key) {
48
- if (typeof value === "string" && value !== "N/A") {
49
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
50
- // @ts-ignore
51
- this[key] = value;
52
- }
53
- else {
54
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
55
- // @ts-ignore
56
- this[key] = undefined;
57
- }
59
+ _a = PaymentDetails, _PaymentDetails_isKeySet = function _PaymentDetails_isKeySet(value) {
60
+ return typeof value === "string" && value !== "N/A";
58
61
  };
@@ -1,7 +1,7 @@
1
- import { stringDict } from "./field";
1
+ import { StringDict } from "./base";
2
2
  import { Polygon } from "../geometry";
3
3
  export interface PositionFieldConstructor {
4
- prediction: stringDict;
4
+ prediction: StringDict;
5
5
  valueKey?: string;
6
6
  pageId?: number | undefined;
7
7
  }
@@ -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;
@@ -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,4 +1,4 @@
1
- type MinMax = {
1
+ export type MinMax = {
2
2
  min: number;
3
3
  max: number;
4
4
  };
@@ -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, ClientOptions } 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 = "";