diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 31e876b3..00000000 --- a/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -/dist/* -/lib/* -!.* diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 6fca8416..00000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = { - parser: '@typescript-eslint/parser', - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - }, - extends: ['plugin:@typescript-eslint/recommended', 'plugin:prettier/recommended'], - rules: { - '@typescript-eslint/no-explicit-any': ['warn'], - }, - overrides: [ - { - files: ['./examples/**'], - rules: { - '@typescript-eslint/no-unused-vars': 'off', - } - }, - ] -}; diff --git a/.github/workflows/sast.yaml b/.github/workflows/sast.yaml index 72d587fd..5837ca4b 100644 --- a/.github/workflows/sast.yaml +++ b/.github/workflows/sast.yaml @@ -16,7 +16,7 @@ env: # List of paths (space separated) to ignore # Supports PATTERNS # EXCLUDE_PATHS: 'foo bar/baz file.txt dir/*.yml' - EXCLUDE_PATHS: 'examples' + EXCLUDE_PATHS: 'examples generator-templates' # List of rules (space separated) to ignore # EXCLUDE_RULES: 'generic.secrets.security.detected-aws-account-id.detected-aws-account-id' # See https://github.com/semgrep/semgrep-rules for rules registry diff --git a/dev.md b/dev.md index 3cd53d1a..7e66e432 100644 --- a/dev.md +++ b/dev.md @@ -1,12 +1,27 @@ # Development -Js client is written using typescript, mainly generated from [openapi spec](https://github.com/regulaforensics/DocumentReader-api-openapi). -Openapi-generator output used as implementation base(see packages `/src/api`, `/scr/models`). -All custom logic, on top of generated files, should be places in `/src/ext` folder. +Models generation based on [openapi spec](https://github.com/regulaforensics/DocumentReader-api-openapi). + +## Generation To regenerate models from openapi definition, -clone [latest open api definitions](https://github.com/regulaforensics/DocumentReader-api-openapi) -and use next command from the project root: +clone [latest open api definitions](https://github.com/regulaforensics/DocumentReader-api-openapi) +and use next command from the project root. ```bash ./update-models.sh ``` + +## Generator configuration Features + +1. The generator treats the discriminator value as a string, +but in our case it's numbers. To solve this problem, changes +have been made to the modelOneOf.mustache template. + +## Problem solving + +To solve new problems, use the generator +settings ([typescript](https://github.com/OpenAPITools/openapi-generator/blob/master/docs/generators/typescript-axios.md), +[common](https://github.com/OpenAPITools/openapi-generator/blob/master/docs/customization.md)) +and [templates](https://github.com/OpenAPITools/openapi-generator/tree/master/modules/openapi-generator/src/main/resources/typescript-axios). + +**Do not edit the generated files! They will be overwritten after generation!** \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 00000000..18d75941 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,27 @@ +import globals from 'globals'; +import pluginJs from '@eslint/js'; +import tseslint from 'typescript-eslint'; +import prettierRecommended from 'eslint-plugin-prettier/recommended'; + +export default [ + { + files: ['**/*.{js,mjs,cjs,ts}'], + }, + { + languageOptions: { + globals: { ...globals.browser, ...globals.node }, + }, + }, + pluginJs.configs.recommended, + ...tseslint.configs.recommended, + prettierRecommended, + { + ignores: ['dist/*', 'lib/*', '!.*'], + }, + { + rules: { + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-unused-vars': 'off', + }, + }, +]; diff --git a/examples/auth/client/package-lock.json b/examples/auth/client/package-lock.json index ba01a33f..a36d6602 100644 --- a/examples/auth/client/package-lock.json +++ b/examples/auth/client/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "dependencies": { "@regulaforensics/document-reader-webclient": "file:../../..", - "axios": "^1.8.3", + "axios": "^1.8.4", "qs": "^6.14.0" } }, @@ -46,24 +46,25 @@ "license": "MIT", "dependencies": { "@swc/helpers": "^0.5.15", - "axios": "^1.8.3", + "axios": "^1.8.4", "base64-arraybuffer": "^1.0.2", "pako": "^2.1.0" }, "devDependencies": { - "@parcel/packager-ts": "^2.12.0", - "@parcel/transformer-typescript-types": "^2.12.0", + "@eslint/js": "^9.23.0", + "@parcel/packager-ts": "^2.14.2", + "@parcel/transformer-typescript-types": "^2.14.2", "@types/pako": "^2.0.3", - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", - "eslint": "^8.51.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "husky": "^9.1.5", - "lint-staged": "^15.2.10", - "parcel": "^2.12.0", - "prettier": "^3.3.3", - "typescript": "^5.3.2" + "eslint": "^9.23.0", + "eslint-config-prettier": "^10.1.1", + "eslint-plugin-prettier": "^5.2.5", + "globals": "^16.0.0", + "husky": "^9.1.7", + "lint-staged": "^15.5.0", + "parcel": "^2.14.2", + "prettier": "^3.5.3", + "typescript": "^5.8.2", + "typescript-eslint": "^8.28.0" } }, "node_modules/@regulaforensics/document-reader-webclient": { @@ -76,9 +77,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz", - "integrity": "sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", diff --git a/examples/auth/client/package.json b/examples/auth/client/package.json index 8ba2a61c..af40a592 100755 --- a/examples/auth/client/package.json +++ b/examples/auth/client/package.json @@ -3,7 +3,7 @@ "type": "module", "dependencies": { "@regulaforensics/document-reader-webclient": "file:../../..", - "axios": "^1.8.3", + "axios": "^1.8.4", "qs": "^6.14.0" }, "version": "0.0.0" diff --git a/examples/auth/server/package-lock.json b/examples/auth/server/package-lock.json index 4e792075..90bb3631 100644 --- a/examples/auth/server/package-lock.json +++ b/examples/auth/server/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "license": "MIT", "dependencies": { - "axios": "^1.8.3", + "axios": "^1.8.4", "body-parser": "^1.20.3", "cors": "^2.8.5", "express": "^5.0.1", @@ -77,9 +77,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz", - "integrity": "sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", diff --git a/examples/auth/server/package.json b/examples/auth/server/package.json index 671b0fa5..9b90920c 100644 --- a/examples/auth/server/package.json +++ b/examples/auth/server/package.json @@ -9,7 +9,7 @@ "start": "node index.js" }, "dependencies": { - "axios": "^1.8.3", + "axios": "^1.8.4", "body-parser": "^1.20.3", "cors": "^2.8.5", "express": "^5.0.1", diff --git a/examples/basic/README.md b/examples/basic/README.md index 88140b6d..0d5b99a9 100644 --- a/examples/basic/README.md +++ b/examples/basic/README.md @@ -54,20 +54,34 @@ If the instance has been launched successfully, use the following line command t API_BASE_PATH="http://127.0.0.1:8080" node . ``` +### Output - -### Output This sample generates the following text output: + ```text - --------------------------------------------------------------------------- - Document Overall Status: 0 - Document Number Visual: OO0000000 - Document Number MRZ: OO0000000 - Validity Of Document Number Visual: 0 - Validity Of Document Number MRZ: 0 - MRZ-Visual values comparison: 1 - --------------------------------------------------------------------------- +--------------------------------------------------------------- +Document name: Germany - ePassport (2017) Service +--------------------------------------------------------------- + +[Surname] + - Source: VISUAL + Value : MUSTERMANN +--------------------------------------------------------------- + +[Surname And Given Names] + - Source: VISUAL + Value : MUSTERMANN ERIKA +--------------------------------------------------------------- + +[Document Status] + - Source: MRZ + Value : SPECIMEN + - Source: VISUAL + Value : SPECIMEN + +... ``` + Also, it stores [portrait](portrait.jpg) and [document image](document-image.jpg) images in the current folder. -You can modify [this example](/index.js) +You can modify [this example](./index.js) and re-run it to get your own results. diff --git a/examples/basic/encrypted-rcl-example.js b/examples/basic/encrypted-rcl-example.js deleted file mode 100644 index 914cf7ab..00000000 --- a/examples/basic/encrypted-rcl-example.js +++ /dev/null @@ -1,89 +0,0 @@ -import * as fs from 'fs'; -import { - DocumentReaderApi, - Result, - Scenario, - Source, - TextFieldType, - GraphicFieldType, -} from '@regulaforensics/document-reader-webclient'; - -const { PORTRAIT, DOCUMENT_FRONT } = GraphicFieldType; -const { DOCUMENT_NUMBER } = TextFieldType; - -(async () => { - const apiBasePath = process.env.API_BASE_PATH || 'https://api.regulaforensics.com'; - let license = process.env.TEST_LICENSE; // optional, used here only for smoke test purposes - if (fs.existsSync('regula.license')) { - license = fs.readFileSync('regula.license'); - } - - const api = new DocumentReaderApi({ basePath: apiBasePath }); - - api.setLicense(license); - - const serverInfo = await api.health(); - - const license_file = fs.readFileSync('license.txt', 'utf8'); - const encrypted_rcl = fs.readFileSync('encrypted-rcl.txt', 'utf8'); - - const response = await api.process({ - ContainerList: { - Count: 2, - List: [ - { License: license_file, light: 0, page_idx: 0, buf_length: 1372, list_idx: 0, result_type: 50 }, - { - EncryptedRCL: encrypted_rcl, - light: 0, - page_idx: 0, - buf_length: 453276, - list_idx: 0, - result_type: 49, - }, - ], - }, - processParam: { - scenario: Scenario.FULL_AUTH, - doublePageSpread: true, - measureSystem: 0, - dateFormat: 'M/d/yyyy', - alreadyCropped: true, - }, - }); - - const docOverallStatus = response.status.overallStatus; - const docOpticalTextStatus = response.status.detailsOptical.text; - - // text fields example - const docNumberField = response.text.getField(DOCUMENT_NUMBER); - const docNumberFieldByName = response.text.getFieldByName('Document Number'); - - const docNumberVisual = docNumberField.getValue(Source.VISUAL); - const docNumberMrz = docNumberField.getValue(Source.MRZ); - const docNumberVisualValidity = docNumberField.sourceValidity(Source.VISUAL); - const docNumberMrzValidity = docNumberField.sourceValidity(Source.MRZ); - const docNumberMrzVisualMatching = docNumberField.crossSourceComparison(Source.MRZ, Source.VISUAL); - - // images example - const documentImage = response.images.getField(DOCUMENT_FRONT).getValue(); - const portraitField = response.images.getField(PORTRAIT); - const portraitFromVisual = portraitField.getValue(Source.VISUAL); - fs.appendFileSync('portrait.jpg', Buffer.from(portraitFromVisual)); - fs.appendFileSync('document-image.jpg', Buffer.from(documentImage)); - - const docImageQuality = response.imageQualityChecks(); - - console.log('-----------------------------------------------------------------'); - console.log(` Web API version: ${serverInfo.version}`); - console.log('-----------------------------------------------------------------'); - console.log(` Document Overall Status: ${docOverallStatus}`); - console.log(` Document Number Visual: ${docNumberVisual}`); - console.log(` Document Number MRZ: ${docNumberMrz}`); - console.log(`Validity Of Document Number Visual: ${docNumberVisualValidity}`); - console.log(` Validity Of Document Number MRZ: ${docNumberMrzValidity}`); - console.log(` MRZ-Visual values comparison: ${docNumberMrzVisualMatching}`); - console.log('-----------------------------------------------------------------'); - - // how to get low lvl individual results - const lexResult = response.lowLvlResponse.resultByType(Result.LEXICAL_ANALYSIS); -})(); diff --git a/examples/basic/encrypted-rcl.txt b/examples/basic/encrypted-rcl.txt deleted file mode 100644 index e22b191c..00000000 --- a/examples/basic/encrypted-rcl.txt +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file diff --git a/examples/basic/package-lock.json b/examples/basic/package-lock.json index e6126d64..1f3afeee 100644 --- a/examples/basic/package-lock.json +++ b/examples/basic/package-lock.json @@ -42,24 +42,25 @@ "license": "MIT", "dependencies": { "@swc/helpers": "^0.5.15", - "axios": "^1.8.3", + "axios": "^1.8.4", "base64-arraybuffer": "^1.0.2", "pako": "^2.1.0" }, "devDependencies": { - "@parcel/packager-ts": "^2.12.0", - "@parcel/transformer-typescript-types": "^2.12.0", + "@eslint/js": "^9.23.0", + "@parcel/packager-ts": "^2.14.2", + "@parcel/transformer-typescript-types": "^2.14.2", "@types/pako": "^2.0.3", - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", - "eslint": "^8.51.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "husky": "^9.1.5", - "lint-staged": "^15.2.10", - "parcel": "^2.12.0", - "prettier": "^3.3.3", - "typescript": "^5.3.2" + "eslint": "^9.23.0", + "eslint-config-prettier": "^10.1.1", + "eslint-plugin-prettier": "^5.2.5", + "globals": "^16.0.0", + "husky": "^9.1.7", + "lint-staged": "^15.5.0", + "parcel": "^2.14.2", + "prettier": "^3.5.3", + "typescript": "^5.8.2", + "typescript-eslint": "^8.28.0" } }, "../../..": {}, diff --git a/generator-templates/modelIndex.mustache b/generator-templates/modelIndex.mustache deleted file mode 100755 index 9fc0ebfd..00000000 --- a/generator-templates/modelIndex.mustache +++ /dev/null @@ -1,3 +0,0 @@ -{{! https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/typescript-axios/modelIndex.mustache }} -{{#models}}{{#model}}export * from './{{classFilename}}';{{/model}} -{{/models}} diff --git a/generator-templates/modelOneOf.mustache b/generator-templates/modelOneOf.mustache new file mode 100644 index 00000000..ac0edca8 --- /dev/null +++ b/generator-templates/modelOneOf.mustache @@ -0,0 +1,15 @@ +/** + * @type {{classname}}{{#description}} + * {{{.}}}{{/description}} + * @export + */ +export type {{classname}} = {{#discriminator}}{{! + +discriminator with mapped models - TypeScript discriminating union +}}{{#mappedModels}}{ {{discriminator.propertyName}}: {{mappingName}} } & {{modelName}}{{^-last}} | {{/-last}}{{/mappedModels}}{{! + +discriminator only - fallback to not use the discriminator. Default model names are available but possibility of having null/nullable values could introduce more edge cases +}}{{^mappedModels}}{{#oneOf}}{{{.}}}{{^-last}} | {{/-last}}{{/oneOf}}{{/mappedModels}}{{/discriminator}}{{! + +plain oneOf +}}{{^discriminator}}{{#oneOf}}{{{.}}}{{^-last}} | {{/-last}}{{/oneOf}}{{/discriminator}}; diff --git a/package-lock.json b/package-lock.json index 2cae9f37..ff5c4c90 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,42 +10,36 @@ "license": "MIT", "dependencies": { "@swc/helpers": "^0.5.15", - "axios": "^1.8.3", + "axios": "^1.8.4", "base64-arraybuffer": "^1.0.2", "pako": "^2.1.0" }, "devDependencies": { - "@parcel/packager-ts": "^2.12.0", - "@parcel/transformer-typescript-types": "^2.12.0", + "@eslint/js": "^9.23.0", + "@parcel/packager-ts": "^2.14.2", + "@parcel/transformer-typescript-types": "^2.14.2", "@types/pako": "^2.0.3", - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", - "eslint": "^8.51.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "husky": "^9.1.5", - "lint-staged": "^15.2.10", - "parcel": "^2.12.0", - "prettier": "^3.3.3", - "typescript": "^5.3.2" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "eslint": "^9.23.0", + "eslint-config-prettier": "^10.1.1", + "eslint-plugin-prettier": "^5.2.5", + "globals": "^16.0.0", + "husky": "^9.1.7", + "lint-staged": "^15.5.0", + "parcel": "^2.14.2", + "prettier": "^3.5.3", + "typescript": "^5.8.2", + "typescript-eslint": "^8.28.0" } }, "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.7", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -53,98 +47,106 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": ">=6.9.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/@eslint/config-array": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" }, "engines": { - "node": ">=4" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/@eslint/config-helpers": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz", + "integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=0.8.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "node_modules/@eslint/core": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", + "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "@types/json-schema": "^7.0.15" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -152,33 +154,95 @@ "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@eslint/js": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.51.0.tgz", - "integrity": "sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==", + "version": "9.23.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz", + "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", + "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.12.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" }, "engines": { - "node": ">=10.10.0" + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@humanwhocodes/module-importer": { @@ -186,6 +250,7 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -194,23 +259,33 @@ "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "node_modules/@humanwhocodes/retry": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", + "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } }, "node_modules/@lezer/common": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", - "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==", - "dev": true + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz", + "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==", + "dev": true, + "license": "MIT" }, "node_modules/@lezer/lr": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz", "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==", "dev": true, + "license": "MIT", "dependencies": { "@lezer/common": "^1.0.0" } @@ -223,6 +298,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -236,6 +312,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -249,6 +326,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -262,6 +340,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -275,6 +354,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -288,6 +368,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -298,6 +379,7 @@ "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz", "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==", "dev": true, + "license": "MIT", "dependencies": { "@lezer/common": "^1.0.0", "@lezer/lr": "^1.0.0", @@ -315,6 +397,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -328,6 +411,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -341,6 +425,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -354,6 +439,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -367,6 +453,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -380,6 +467,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -390,6 +478,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -403,6 +492,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -412,6 +502,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -421,21 +512,22 @@ } }, "node_modules/@parcel/bundler-default": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.12.0.tgz", - "integrity": "sha512-3ybN74oYNMKyjD6V20c9Gerdbh7teeNvVMwIoHIQMzuIFT6IGX53PyOLlOKRLbjxMc0TMimQQxIt2eQqxR5LsA==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.14.2.tgz", + "integrity": "sha512-nAUhIPN/7nULJxhRcIUKdtkb7y1WkoKcYXZZZcQzMUu0wFBhyicJzWOQk1zri4LrKJBW4P5JQ4xwdJitc2GGDA==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/graph": "3.2.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/graph": "3.4.2", + "@parcel/plugin": "2.14.2", + "@parcel/rust": "2.14.2", + "@parcel/utils": "2.14.2", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -443,37 +535,39 @@ } }, "node_modules/@parcel/cache": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.12.0.tgz", - "integrity": "sha512-FX5ZpTEkxvq/yvWklRHDESVRz+c7sLTXgFuzz6uEnBcXV38j6dMSikflNpHA6q/L4GKkCqRywm9R6XQwhwIMyw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.14.2.tgz", + "integrity": "sha512-C3uGFSjDGgVbNMxi9WGTavGPQgyv+QP9bBD+kw1LvgoWIvjw21NqDD3PpJS5iDJusEr8b1YOt/j2ejWJmSq2FQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/fs": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/fs": "2.14.2", + "@parcel/logger": "2.14.2", + "@parcel/utils": "2.14.2", "lmdb": "2.8.5" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.12.0" + "@parcel/core": "^2.14.2" } }, "node_modules/@parcel/codeframe": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.12.0.tgz", - "integrity": "sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.14.2.tgz", + "integrity": "sha512-sjXiM+XUWiq7OOeTDsWUaNvKkrcCA89w0lvLFFXbtxxDXVBnM8SERP8nosA95izKWEy3fA6LopCuPbfz9v7FmA==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.1.0" + "chalk": "^4.1.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -481,16 +575,17 @@ } }, "node_modules/@parcel/compressor-raw": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.12.0.tgz", - "integrity": "sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.14.2.tgz", + "integrity": "sha512-u8fJO1M/BcaJ/Um7pq6/OstJd0Rrs532NHJDc9UQHhreDlrjB2W97vVVMyF0aL23ebzfP3Hta3WnH7Eg64gAJg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/plugin": "2.14.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -498,85 +593,88 @@ } }, "node_modules/@parcel/config-default": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.12.0.tgz", - "integrity": "sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg==", - "dev": true, - "dependencies": { - "@parcel/bundler-default": "2.12.0", - "@parcel/compressor-raw": "2.12.0", - "@parcel/namer-default": "2.12.0", - "@parcel/optimizer-css": "2.12.0", - "@parcel/optimizer-htmlnano": "2.12.0", - "@parcel/optimizer-image": "2.12.0", - "@parcel/optimizer-svgo": "2.12.0", - "@parcel/optimizer-swc": "2.12.0", - "@parcel/packager-css": "2.12.0", - "@parcel/packager-html": "2.12.0", - "@parcel/packager-js": "2.12.0", - "@parcel/packager-raw": "2.12.0", - "@parcel/packager-svg": "2.12.0", - "@parcel/packager-wasm": "2.12.0", - "@parcel/reporter-dev-server": "2.12.0", - "@parcel/resolver-default": "2.12.0", - "@parcel/runtime-browser-hmr": "2.12.0", - "@parcel/runtime-js": "2.12.0", - "@parcel/runtime-react-refresh": "2.12.0", - "@parcel/runtime-service-worker": "2.12.0", - "@parcel/transformer-babel": "2.12.0", - "@parcel/transformer-css": "2.12.0", - "@parcel/transformer-html": "2.12.0", - "@parcel/transformer-image": "2.12.0", - "@parcel/transformer-js": "2.12.0", - "@parcel/transformer-json": "2.12.0", - "@parcel/transformer-postcss": "2.12.0", - "@parcel/transformer-posthtml": "2.12.0", - "@parcel/transformer-raw": "2.12.0", - "@parcel/transformer-react-refresh-wrap": "2.12.0", - "@parcel/transformer-svg": "2.12.0" + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.14.2.tgz", + "integrity": "sha512-ntqWdRJTyEX48OWnUL6BXCE9tEuVejZfzmdy8FvzeXHnVkQE09d1g8cmerm3B1cN+DoRxKIyLi5Qq1nyI0V9Tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/bundler-default": "2.14.2", + "@parcel/compressor-raw": "2.14.2", + "@parcel/namer-default": "2.14.2", + "@parcel/optimizer-css": "2.14.2", + "@parcel/optimizer-htmlnano": "2.14.2", + "@parcel/optimizer-image": "2.14.2", + "@parcel/optimizer-svgo": "2.14.2", + "@parcel/optimizer-swc": "2.14.2", + "@parcel/packager-css": "2.14.2", + "@parcel/packager-html": "2.14.2", + "@parcel/packager-js": "2.14.2", + "@parcel/packager-raw": "2.14.2", + "@parcel/packager-svg": "2.14.2", + "@parcel/packager-wasm": "2.14.2", + "@parcel/reporter-dev-server": "2.14.2", + "@parcel/resolver-default": "2.14.2", + "@parcel/runtime-browser-hmr": "2.14.2", + "@parcel/runtime-js": "2.14.2", + "@parcel/runtime-rsc": "2.14.2", + "@parcel/runtime-service-worker": "2.14.2", + "@parcel/transformer-babel": "2.14.2", + "@parcel/transformer-css": "2.14.2", + "@parcel/transformer-html": "2.14.2", + "@parcel/transformer-image": "2.14.2", + "@parcel/transformer-js": "2.14.2", + "@parcel/transformer-json": "2.14.2", + "@parcel/transformer-node": "2.14.2", + "@parcel/transformer-postcss": "2.14.2", + "@parcel/transformer-posthtml": "2.14.2", + "@parcel/transformer-raw": "2.14.2", + "@parcel/transformer-react-refresh-wrap": "2.14.2", + "@parcel/transformer-svg": "2.14.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.12.0" + "@parcel/core": "^2.14.2" } }, "node_modules/@parcel/core": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.12.0.tgz", - "integrity": "sha512-s+6pwEj+GfKf7vqGUzN9iSEPueUssCCQrCBUlcAfKrJe0a22hTUCjewpB0I7lNrCIULt8dkndD+sMdOrXsRl6Q==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.14.2.tgz", + "integrity": "sha512-VIgo7dgwY9nHJTnxaa86xxQmUX6K5pEAxfsjkFxOhrviTG+KAI5bOHQAbsY61ytTO/x+uSDEnMoIkR8TAIVc3Q==", "dev": true, + "license": "MIT", "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/cache": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/graph": "3.2.0", - "@parcel/logger": "2.12.0", - "@parcel/package-manager": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/rust": "2.12.0", + "@parcel/cache": "2.14.2", + "@parcel/diagnostic": "2.14.2", + "@parcel/events": "2.14.2", + "@parcel/feature-flags": "2.14.2", + "@parcel/fs": "2.14.2", + "@parcel/graph": "3.4.2", + "@parcel/logger": "2.14.2", + "@parcel/package-manager": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/profiler": "2.14.2", + "@parcel/rust": "2.14.2", "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "abortcontroller-polyfill": "^1.1.9", + "@parcel/types": "2.14.2", + "@parcel/utils": "2.14.2", + "@parcel/workers": "2.14.2", "base-x": "^3.0.8", "browserslist": "^4.6.6", "clone": "^2.1.1", - "dotenv": "^7.0.0", - "dotenv-expand": "^5.1.0", + "dotenv": "^16.4.5", + "dotenv-expand": "^11.0.6", "json5": "^2.2.0", "msgpackr": "^1.9.9", "nullthrows": "^1.1.1", "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -584,16 +682,31 @@ } }, "node_modules/@parcel/diagnostic": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.12.0.tgz", - "integrity": "sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.14.2.tgz", + "integrity": "sha512-xoq9gf08Pv4q3zJUJqG9zsA1IBIr328HsEJpRC7b7zDd8j6DVJjrWTYDWnBybHAMXQ34x1qjsTDyvJcGA7uyWA==", "dev": true, + "license": "MIT", "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/error-overlay": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/error-overlay/-/error-overlay-2.14.2.tgz", + "integrity": "sha512-/xFL4dVb5bh9L+31Zo3whI5RdhPDgSJNZ/yIPuITKiC7UWWEZpLdGvdCwP0EV3NVA4RauYJovkcgCgtkM61LBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -601,12 +714,27 @@ } }, "node_modules/@parcel/events": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.12.0.tgz", - "integrity": "sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.14.2.tgz", + "integrity": "sha512-ZwHOicEfnr0DVlA2+I9HN/wAIOKqpjVe/kRLZfKA3N5R2xLB+Mx3e5zDMSi2kCxkkqW5Yg0qxSI9hy3kTNgM0A==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/feature-flags": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/feature-flags/-/feature-flags-2.14.2.tgz", + "integrity": "sha512-TqurCACfUVoCRNWYSNHdIStc8ibWl+ZHPZWKOpnZSnBOgYf0lppmeq1W/dHTeaBDCB57VZM9d0ucFd0Xd0SZlA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -614,38 +742,42 @@ } }, "node_modules/@parcel/fs": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz", - "integrity": "sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.14.2.tgz", + "integrity": "sha512-SOKgXMGA4buLs56kEVqymdpysb9Lpmo7QQn9QRcSZYX0u+vkD5JORCK0SiO7etvPWFttXNKjdlYE9IvvrRweaQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/rust": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/feature-flags": "2.14.2", + "@parcel/rust": "2.14.2", + "@parcel/types-internal": "2.14.2", + "@parcel/utils": "2.14.2", "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.12.0" + "@parcel/workers": "2.14.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.12.0" + "@parcel/core": "^2.14.2" } }, "node_modules/@parcel/graph": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.2.0.tgz", - "integrity": "sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.4.2.tgz", + "integrity": "sha512-yMP3Adz/zSkxPtTu9rh8XELkYyJfhysnw8PFA9UJlfvVWZsyir0ZWQC6R6cchlVthpVRAn29VIBOy67vmcgqjg==", "dev": true, + "license": "MIT", "dependencies": { + "@parcel/feature-flags": "2.14.2", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -653,16 +785,17 @@ } }, "node_modules/@parcel/logger": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.12.0.tgz", - "integrity": "sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.14.2.tgz", + "integrity": "sha512-gnG/0J2mj1Ot/1XoKbTh0YdEt+vWnODc022FgG+df5+qBiPwonwsIThSv1feUHX2EqHCEtbpXJ+OzZdzXRH9yA==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0" + "@parcel/diagnostic": "2.14.2", + "@parcel/events": "2.14.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -670,15 +803,16 @@ } }, "node_modules/@parcel/markdown-ansi": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.12.0.tgz", - "integrity": "sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.14.2.tgz", + "integrity": "sha512-9wSiT2C7kW9pcvh2PyiuN/jWvIkDWpZvlGpCGmFU87qYAJbOjsjC7cybqDbqVEMQUplFPs8RL5vcTGU88vrzvA==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.1.0" + "chalk": "^4.1.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -686,18 +820,19 @@ } }, "node_modules/@parcel/namer-default": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.12.0.tgz", - "integrity": "sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.14.2.tgz", + "integrity": "sha512-4Om4hEOZCX08uWqNvh6M4AX6344rtt1YT0Yup7uuLw2N5H8dr0Xpy4SXLabD52SAoi57gG2B0yX8g7tV142QzQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -705,21 +840,22 @@ } }, "node_modules/@parcel/node-resolver-core": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.3.0.tgz", - "integrity": "sha512-rhPW9DYPEIqQBSlYzz3S0AjXxjN6Ub2yS6tzzsW/4S3Gpsgk/uEq4ZfxPvoPf/6TgZndVxmKwpmxaKtGMmf3cA==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.5.2.tgz", + "integrity": "sha512-cUSsfwd+Phatm5oeiJIzev6TojbDGL09/GUzoWKwpx3exT2VqcrFfHEt4GQLBUJsTf/bqk5FzyzK548ue09loQ==", "dev": true, + "license": "MIT", "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/fs": "2.14.2", + "@parcel/rust": "2.14.2", + "@parcel/utils": "2.14.2", "nullthrows": "^1.1.1", "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -727,22 +863,23 @@ } }, "node_modules/@parcel/optimizer-css": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.12.0.tgz", - "integrity": "sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.14.2.tgz", + "integrity": "sha512-wg9BlMvBUo4kwKVuQ8ec/GlNyCMyx9Xg36Y8DBgj55sBHhk7M4/+C8yTGbxDlu6NU0+/Tx0yuypCe/Fq17wWaA==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", + "@parcel/utils": "2.14.2", "browserslist": "^4.6.6", "lightningcss": "^1.22.1", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -750,351 +887,222 @@ } }, "node_modules/@parcel/optimizer-htmlnano": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.12.0.tgz", - "integrity": "sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.14.2.tgz", + "integrity": "sha512-Z9W8FMasZfRTI9rLTYgjxAABaZRG6zfPaMLQPXCv5KmDuQcrm9UcpGEuboFd7UCTA/ajPpFLWFZroRfmG9Ox1w==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/utils": "2.14.2", "htmlnano": "^2.0.0", "nullthrows": "^1.1.1", - "posthtml": "^0.16.5", - "svgo": "^2.4.0" + "posthtml": "^0.16.5" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "node_modules/@parcel/optimizer-image": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.14.2.tgz", + "integrity": "sha512-pVEKAfpFRgjjmjU+mJ17uA9tycMinZz4v1J7TWo+nq0z5D4ifKSusTvhIEnY6aj2WZnYZKN8II2dCdT9OkOO2A==", "dev": true, + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/rust": "2.14.2", + "@parcel/utils": "2.14.2", + "@parcel/workers": "2.14.2" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, - "engines": { - "node": ">=8.0.0" + "peerDependencies": { + "@parcel/core": "^2.14.2" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "node_modules/@parcel/optimizer-svgo": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.14.2.tgz", + "integrity": "sha512-2uU50h/wEEX8F2TdJKXN3zpGJqBGeraa9s5354WCC84TqJprb1ZMdweVpi2KZn+GjjOrjAxDKe3a8/Z6EavLmQ==", "dev": true, + "license": "MIT", "dependencies": { - "css-tree": "^1.1.2" + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/utils": "2.14.2" }, "engines": { - "node": ">=8.0.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "node_modules/@parcel/optimizer-swc": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.14.2.tgz", + "integrity": "sha512-oqzukZcW56+W/vfNBNDh9TvBJYMB038eXZg5Fz6pamY/vHLuaZT5G1P1/znpsVcVwAAvzK0fCJsfG3KQ6RxjgQ==", "dev": true, + "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.14.2", + "@swc/core": "^1.11.5", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">=10.13.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-image": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.12.0.tgz", - "integrity": "sha512-bo1O7raeAIbRU5nmNVtx8divLW9Xqn0c57GVNGeAK4mygnQoqHqRZ0mR9uboh64pxv6ijXZHPhKvU9HEpjPjBQ==", + "node_modules/@parcel/package-manager": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.14.2.tgz", + "integrity": "sha512-vagjbhRxYAfU1dQP5qAbBA9KpYROKDtqsa9YV5+5ni7HTkQR3PdSkjd9dIV/7UnsN9kiYHu/jhxTFM0cxjC3pw==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0" + "@parcel/diagnostic": "2.14.2", + "@parcel/fs": "2.14.2", + "@parcel/logger": "2.14.2", + "@parcel/node-resolver-core": "3.5.2", + "@parcel/types": "2.14.2", + "@parcel/utils": "2.14.2", + "@parcel/workers": "2.14.2", + "@swc/core": "^1.11.5", + "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.12.0" + "@parcel/core": "^2.14.2" } }, - "node_modules/@parcel/optimizer-svgo": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.12.0.tgz", - "integrity": "sha512-Kyli+ZZXnoonnbeRQdoWwee9Bk2jm/49xvnfb+2OO8NN0d41lblBoRhOyFiScRnJrw7eVl1Xrz7NTkXCIO7XFQ==", + "node_modules/@parcel/packager-css": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.14.2.tgz", + "integrity": "sha512-WD2vTHWIc1ETCLgKslyC4lTKqCG9Rj//EUaGw8HW7krL8dAEAdIhEvUJWzzAHsyiyORcqo+as8QFT4Wf+Fx9Jg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "svgo": "^2.4.0" + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.14.2", + "lightningcss": "^1.22.1", + "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "node_modules/@parcel/packager-html": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.14.2.tgz", + "integrity": "sha512-cWkUQGGcaMcag3MqzxurqP5Ffz3rmaF572cY828aEuTfdER1rXvA4VdTJxrYWbpILe2YBYxlZPtGQYKYV5rKSQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.14.2", + "@parcel/types": "2.14.2", + "@parcel/utils": "2.14.2", + "nullthrows": "^1.1.1", + "posthtml": "^0.16.5" + }, "engines": { - "node": ">= 10" + "node": ">= 16.0.0", + "parcel": "^2.14.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-svgo/node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "node_modules/@parcel/packager-js": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.14.2.tgz", + "integrity": "sha512-Yw9Le3UBb/vwOCyAr1gdOPTDUyLC2Ulx8IXpP/BM7XGoGu2k7xGtGRz//2ytH0N18Et9F/1FAw9CJxMRsd/abg==", "dev": true, + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/rust": "2.14.2", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.14.2", + "@parcel/utils": "2.14.2", + "globals": "^13.2.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-svgo/node_modules/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dev": true, - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "dependencies": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@parcel/optimizer-svgo/node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", - "dev": true - }, - "node_modules/@parcel/optimizer-svgo/node_modules/svgo": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", - "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", - "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^4.1.3", - "css-tree": "^1.1.3", - "csso": "^4.2.0", - "picocolors": "^1.0.0", - "stable": "^0.1.8" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@parcel/optimizer-swc": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.12.0.tgz", - "integrity": "sha512-iBi6LZB3lm6WmbXfzi8J3DCVPmn4FN2lw7DGXxUXu7MouDPVWfTsM6U/5TkSHJRNRogZ2gqy5q9g34NPxHbJcw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "@swc/core": "^1.3.36", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/package-manager": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.12.0.tgz", - "integrity": "sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/node-resolver-core": "3.3.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", - "@swc/core": "^1.3.36", - "semver": "^7.5.2" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.12.0" - } - }, - "node_modules/@parcel/packager-css": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.12.0.tgz", - "integrity": "sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA==", - "dev": true, - "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "lightningcss": "^1.22.1", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/packager-html": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.12.0.tgz", - "integrity": "sha512-PpvGB9hFFe+19NXGz2ApvPrkA9GwEqaDAninT+3pJD57OVBaxB8U+HN4a5LICKxjUppPPqmrLb6YPbD65IX4RA==", - "dev": true, - "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "nullthrows": "^1.1.1", - "posthtml": "^0.16.5" - }, - "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/packager-js": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.12.0.tgz", - "integrity": "sha512-viMF+FszITRRr8+2iJyk+4ruGiL27Y6AF7hQ3xbJfzqnmbOhGFtLTQwuwhOLqN/mWR2VKdgbLpZSarWaO3yAMg==", + "node_modules/@parcel/packager-js/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "globals": "^13.2.0", - "nullthrows": "^1.1.1" + "type-fest": "^0.20.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@parcel/packager-raw": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.12.0.tgz", - "integrity": "sha512-tJZqFbHqP24aq1F+OojFbQIc09P/u8HAW5xfndCrFnXpW4wTgM3p03P0xfw3gnNq+TtxHJ8c3UFE5LnXNNKhYA==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.14.2.tgz", + "integrity": "sha512-nDIh3FNiUhQR22U3RNcLt1N2vBc/OGwGRvqivs9yqqyiyUWX95cVcBwB9zkFH7Gd5u8R8w4u+zQP/IGSvA5gVQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/plugin": "2.14.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1102,19 +1110,20 @@ } }, "node_modules/@parcel/packager-svg": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.12.0.tgz", - "integrity": "sha512-ldaGiacGb2lLqcXas97k8JiZRbAnNREmcvoY2W2dvW4loVuDT9B9fU777mbV6zODpcgcHWsLL3lYbJ5Lt3y9cg==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.14.2.tgz", + "integrity": "sha512-J+unuT121omswg0HIIRU3Ow4BeuZkos3WGwZI8RFZ5OFC4sdrCqoCEFllWKLeTMFmGrCJki0SGH6ZPRjf1hcaQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/plugin": "2.14.2", + "@parcel/types": "2.14.2", + "@parcel/utils": "2.14.2", "posthtml": "^0.16.4" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1122,16 +1131,17 @@ } }, "node_modules/@parcel/packager-ts": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-ts/-/packager-ts-2.12.0.tgz", - "integrity": "sha512-8wR0BNN2NBD+IIU0tjioK+lRD4p2Qi/fKxDH5ixEW912tRV+Vd4kE8k++U6YQIpSlK4FRnjFod5zYYhNSLuiXg==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-ts/-/packager-ts-2.14.2.tgz", + "integrity": "sha512-zXvkI2v6o8sE4uxov5o9p3veDJ/ejSjaN1WNaOxqI9hklo25ukII9iCOgPwXJKOa8f9+nt7r8JyzZxmHIlEHhg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/plugin": "2.14.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1139,16 +1149,17 @@ } }, "node_modules/@parcel/packager-wasm": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.12.0.tgz", - "integrity": "sha512-fYqZzIqO9fGYveeImzF8ll6KRo2LrOXfD+2Y5U3BiX/wp9wv17dz50QLDQm9hmTcKGWxK4yWqKQh+Evp/fae7A==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.14.2.tgz", + "integrity": "sha512-RlysqyEiyTEPXgesZWiWXT5va/Kn1Sh9hrFHq+3CQJvhDBMlPqNBCOq4W4swwge8DBLKOi3J5YVSSVZL6LZybQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/plugin": "2.14.2" }, "engines": { - "node": ">=12.0.0", - "parcel": "^2.12.0" + "node": ">=16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1156,15 +1167,16 @@ } }, "node_modules/@parcel/plugin": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.12.0.tgz", - "integrity": "sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.14.2.tgz", + "integrity": "sha512-iUL6eJFcJkMmvTpaav+SA4bR+MEG/d5+QO6MQFsl+jkGEohDCbJlm2kCjnhjY9Gu2UAl2GMC0k+DFb5R2v9HYg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/types": "2.12.0" + "@parcel/types": "2.14.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -1172,17 +1184,19 @@ } }, "node_modules/@parcel/profiler": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.12.0.tgz", - "integrity": "sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.14.2.tgz", + "integrity": "sha512-kNgEz7FDC1hb7gpA/Z3s9vp6NiAJ5tEvxGhRAV64CDx98Jd/FES5MJLZ7A0vDWMHqDChgtprCkh0u3KnWrXRqg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/events": "2.14.2", + "@parcel/types-internal": "2.14.2", "chrome-trace-event": "^1.0.2" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -1190,20 +1204,21 @@ } }, "node_modules/@parcel/reporter-cli": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.12.0.tgz", - "integrity": "sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.14.2.tgz", + "integrity": "sha512-qzsn8GXBsl6dc8rLdmFsVVYAvzzSP+q+c6dvxvspC5NMu9N/fE4zfeZ0ShLexsxlpjn/ipa7cJo0gZa6E8F8qg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", - "chalk": "^4.1.0", + "@parcel/plugin": "2.14.2", + "@parcel/types": "2.14.2", + "@parcel/utils": "2.14.2", + "chalk": "^4.1.2", "term-size": "^2.2.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1211,17 +1226,20 @@ } }, "node_modules/@parcel/reporter-dev-server": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.12.0.tgz", - "integrity": "sha512-tIcDqRvAPAttRlTV28dHcbWT5K2r/MBFks7nM4nrEDHWtnrCwimkDmZTc1kD8QOCCjGVwRHcQybpHvxfwol6GA==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.14.2.tgz", + "integrity": "sha512-a5AY9+MImQAg4rJ60BlGtOf813JOlFABDpw6QJ85OEw5wp5a8BAbYUgxj7eX/gr8l2k8pSY5BZcSA9PUC3YFeg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0" + "@parcel/codeframe": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/source-map": "^2.1.1", + "@parcel/utils": "2.14.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1229,19 +1247,20 @@ } }, "node_modules/@parcel/reporter-tracer": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.12.0.tgz", - "integrity": "sha512-g8rlu9GxB8Ut/F8WGx4zidIPQ4pcYFjU9bZO+fyRIPrSUFH2bKijCnbZcr4ntqzDGx74hwD6cCG4DBoleq2UlQ==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.14.2.tgz", + "integrity": "sha512-zGtM2GYGpT9wrFTebrKcs7aMeCVLE+aHpfeI4dQDGFkYE5QTVswkpbZkqdhp8bVRcX+p6E8YQnRb88cJhpcDqA==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/plugin": "2.14.2", + "@parcel/utils": "2.14.2", "chrome-trace-event": "^1.0.3", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1249,17 +1268,18 @@ } }, "node_modules/@parcel/resolver-default": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.12.0.tgz", - "integrity": "sha512-uuhbajTax37TwCxu7V98JtRLiT6hzE4VYSu5B7Qkauy14/WFt2dz6GOUXPgVsED569/hkxebPx3KCMtZW6cHHA==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.14.2.tgz", + "integrity": "sha512-HzfLPK1NUiYYuONlfPg92Lv0qfF/GtZ3hP4bNI7L0MI/eOtkd19dDxXADVaF4bTY2WmnL7m2pfaZ0+Y1+zuJuw==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/node-resolver-core": "3.3.0", - "@parcel/plugin": "2.12.0" + "@parcel/node-resolver-core": "3.5.2", + "@parcel/plugin": "2.14.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1267,17 +1287,18 @@ } }, "node_modules/@parcel/runtime-browser-hmr": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.12.0.tgz", - "integrity": "sha512-4ZLp2FWyD32r0GlTulO3+jxgsA3oO1P1b5oO2IWuWilfhcJH5LTiazpL5YdusUjtNn9PGN6QLAWfxmzRIfM+Ow==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.14.2.tgz", + "integrity": "sha512-YJrnc52/2RMx4FaT4rt/1SCZIux9l/v3YFc9v+jCl+NEpBhDou//GBI3RPRJ0EPUgFOwmj3IZ9uPzm5WxokhGA==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0" + "@parcel/plugin": "2.14.2", + "@parcel/utils": "2.14.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1285,39 +1306,41 @@ } }, "node_modules/@parcel/runtime-js": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.12.0.tgz", - "integrity": "sha512-sBerP32Z1crX5PfLNGDSXSdqzlllM++GVnVQVeM7DgMKS8JIFG3VLi28YkX+dYYGtPypm01JoIHCkvwiZEcQJg==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.14.2.tgz", + "integrity": "sha512-CqcCiURZh7hPNXF+wudsPbEbGPpANHFvHdR3O6IkQxKoWluqu2EyOzS89j1jMU4wprIK91D4snVYuZjYERTh/w==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/utils": "2.14.2", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/runtime-react-refresh": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.12.0.tgz", - "integrity": "sha512-SCHkcczJIDFTFdLTzrHTkQ0aTrX3xH6jrA4UsCBL6ji61+w+ohy4jEEe9qCgJVXhnJfGLE43HNXek+0MStX+Mw==", + "node_modules/@parcel/runtime-rsc": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-rsc/-/runtime-rsc-2.14.2.tgz", + "integrity": "sha512-d58QQ/MQBlL4jvjWw3CaCAHJtwhRVuhvm0g523yor3fgbG6Iu4KFea5t5yml1C86sXMCBxWpqKJI93+bQHK1sA==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "react-error-overlay": "6.0.9", - "react-refresh": "^0.9.0" + "@parcel/plugin": "2.14.2", + "@parcel/rust": "2.14.2", + "@parcel/utils": "2.14.2", + "nullthrows": "^1.1.1" }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.12.0" + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1325,18 +1348,19 @@ } }, "node_modules/@parcel/runtime-service-worker": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.12.0.tgz", - "integrity": "sha512-BXuMBsfiwpIEnssn+jqfC3jkgbS8oxeo3C7xhSQsuSv+AF2FwY3O3AO1c1RBskEW3XrBLNINOJujroNw80VTKA==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.14.2.tgz", + "integrity": "sha512-atFl7z3DBH5nQeRW+rdt2JulZJVergEtAK4sWfSsUIbEiBaTiK2/v7Jjxm4UDF4laHFp6d5AGixIr9TxJl7x5w==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/plugin": "2.14.2", + "@parcel/utils": "2.14.2", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1344,16 +1368,25 @@ } }, "node_modules/@parcel/rust": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.12.0.tgz", - "integrity": "sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.14.2.tgz", + "integrity": "sha512-NPXebSTdhLttERkWgJZf/QRIIvQ8DpGby84T6FGM0pfFzocnHmuL/36J5xjquEncbSjFEVUBGomCpJNQLBwK9g==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "napi-wasm": "^1.1.2" + }, + "peerDependenciesMeta": { + "napi-wasm": { + "optional": true + } } }, "node_modules/@parcel/source-map": { @@ -1361,6 +1394,7 @@ "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz", "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==", "dev": true, + "license": "MIT", "dependencies": { "detect-libc": "^1.0.3" }, @@ -1369,23 +1403,24 @@ } }, "node_modules/@parcel/transformer-babel": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.12.0.tgz", - "integrity": "sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.14.2.tgz", + "integrity": "sha512-tVGRmHRys71AQhm4vHf9RCSYiMj5C+c7Qr0dj4RRNy8uLY+NTCi/Zdvb3ZVN069DikP1T2TpGd57gALcqK6zDQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", + "@parcel/utils": "2.14.2", "browserslist": "^4.6.6", "json5": "^2.2.0", "nullthrows": "^1.1.1", "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1393,22 +1428,23 @@ } }, "node_modules/@parcel/transformer-css": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.12.0.tgz", - "integrity": "sha512-vXhOqoAlQGATYyQ433Z1DXKmiKmzOAUmKysbYH3FD+LKEKLMEl/pA14goqp00TW+A/EjtSKKyeMyHlMIIUqj4Q==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.14.2.tgz", + "integrity": "sha512-Q7QOwty7R/VWx1wPhnOKY7CZb4GRK/GBJH9HP6vo/1+Zf5fm9jbYhItZb3tDl7ufKqZz5UfbJhBhybaETO6umg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", + "@parcel/utils": "2.14.2", "browserslist": "^4.6.6", "lightningcss": "^1.22.1", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1416,24 +1452,25 @@ } }, "node_modules/@parcel/transformer-html": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.12.0.tgz", - "integrity": "sha512-5jW4dFFBlYBvIQk4nrH62rfA/G/KzVzEDa6S+Nne0xXhglLjkm64Ci9b/d4tKZfuGWUbpm2ASAq8skti/nfpXw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.14.2.tgz", + "integrity": "sha512-6HGo7m/ARInEeXoYWCIYz1wtK9pJPbRkxdqZr/lSKQAbLsyTZQZx/GgnkgKRtsmcLp8vCffMI4Yul/2RPcTJ0A==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/rust": "2.14.2", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", + "posthtml-parser": "^0.12.1", "posthtml-render": "^3.0.0", "semver": "^7.5.2", "srcset": "4" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1445,6 +1482,7 @@ "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1453,66 +1491,87 @@ } }, "node_modules/@parcel/transformer-image": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.12.0.tgz", - "integrity": "sha512-8hXrGm2IRII49R7lZ0RpmNk27EhcsH+uNKsvxuMpXPuEnWgC/ha/IrjaI29xCng1uGur74bJF43NUSQhR4aTdw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.14.2.tgz", + "integrity": "sha512-av3JZ5sizv6cIspSusZErk6yGd23UpWGIbQJsIMFnxMF9miBgmN0er92d40LI9gIGyEcpWMBYyUPH2jHEQnaNg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", + "@parcel/plugin": "2.14.2", + "@parcel/utils": "2.14.2", + "@parcel/workers": "2.14.2", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "peerDependencies": { - "@parcel/core": "^2.12.0" + "@parcel/core": "^2.14.2" } }, "node_modules/@parcel/transformer-js": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.12.0.tgz", - "integrity": "sha512-OSZpOu+FGDbC/xivu24v092D9w6EGytB3vidwbdiJ2FaPgfV7rxS0WIUjH4I0OcvHAcitArRXL0a3+HrNTdQQw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.14.2.tgz", + "integrity": "sha512-8urpoFlRpFUHEwbOxXPbqmAI+bRjcg0ED6msuSbzVODIc4qsztVt48gXuSfEBfcQIfFJzDpRTh01GOYjMQQKRA==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/rust": "2.14.2", "@parcel/source-map": "^2.1.1", - "@parcel/utils": "2.12.0", - "@parcel/workers": "2.12.0", + "@parcel/utils": "2.14.2", + "@parcel/workers": "2.14.2", "@swc/helpers": "^0.5.0", "browserslist": "^4.6.6", "nullthrows": "^1.1.1", - "regenerator-runtime": "^0.13.7", + "regenerator-runtime": "^0.14.1", "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.12.0" + "@parcel/core": "^2.14.2" } }, "node_modules/@parcel/transformer-json": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.12.0.tgz", - "integrity": "sha512-Utv64GLRCQILK5r0KFs4o7I41ixMPllwOLOhkdjJKvf1hZmN6WqfOmB1YLbWS/y5Zb/iB52DU2pWZm96vLFQZQ==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.14.2.tgz", + "integrity": "sha512-wcQrlDJAmCVZ1PHVKb1ayHWzfdqpCMN8TUoYA6kB1626K6wBv5FD9NqQZA4Fs5u8cVy/ZhtZ+LfogzS7wQSpwQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", + "@parcel/plugin": "2.14.2", "json5": "^2.2.0" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/transformer-node": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-node/-/transformer-node-2.14.2.tgz", + "integrity": "sha512-Y2Wz4ziyqOwOe+6/yayKdvYhoz6AvfblY38upfjOCh8amZcmcXCZRxVf8uZAm5y2BvbVbWZTdNYaK0o+MDud5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/plugin": "2.14.2" + }, + "engines": { + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1520,23 +1579,24 @@ } }, "node_modules/@parcel/transformer-postcss": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.12.0.tgz", - "integrity": "sha512-FZqn+oUtiLfPOn67EZxPpBkfdFiTnF4iwiXPqvst3XI8H+iC+yNgzmtJkunOOuylpYY6NOU5jT8d7saqWSDv2Q==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.14.2.tgz", + "integrity": "sha512-ny74JKyYDx0mW+6r7pkRrKRe/vxq+9l035dynTs4blBJloI1gwpelnpbK0kA9t13hb7So1XxkXphO90GRB202A==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/rust": "2.14.2", + "@parcel/utils": "2.14.2", "clone": "^2.1.1", "nullthrows": "^1.1.1", "postcss-value-parser": "^4.2.0", "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1544,22 +1604,23 @@ } }, "node_modules/@parcel/transformer-posthtml": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.12.0.tgz", - "integrity": "sha512-z6Z7rav/pcaWdeD+2sDUcd0mmNZRUvtHaUGa50Y2mr+poxrKilpsnFMSiWBT+oOqPt7j71jzDvrdnAF4XkCljg==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.14.2.tgz", + "integrity": "sha512-U4Lt7j1EYkxiDiLpem05m1xSEebcpWU8VPdc4n4Y3P5NjbW3lFivMvIK30QRkjoDofpY2tiLFROrdNy8EFqe1A==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/plugin": "2.14.2", + "@parcel/utils": "2.14.2", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", + "posthtml-parser": "^0.12.1", "posthtml-render": "^3.0.0", "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1567,16 +1628,17 @@ } }, "node_modules/@parcel/transformer-raw": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.12.0.tgz", - "integrity": "sha512-Ht1fQvXxix0NncdnmnXZsa6hra20RXYh1VqhBYZLsDfkvGGFnXIgO03Jqn4Z8MkKoa0tiNbDhpKIeTjyclbBxQ==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.14.2.tgz", + "integrity": "sha512-ufGaypQLRsnZBZqylaJQQ0W5PWre+dGVlnBBkuQYY9qVo2wvGfP0sPY+xKK2i6IFfegmigFKeigViDeSoo6Ldw==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0" + "@parcel/plugin": "2.14.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1584,18 +1646,20 @@ } }, "node_modules/@parcel/transformer-react-refresh-wrap": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.12.0.tgz", - "integrity": "sha512-GE8gmP2AZtkpBIV5vSCVhewgOFRhqwdM5Q9jNPOY5PKcM3/Ff0qCqDiTzzGLhk0/VMBrdjssrfZkVx6S/lHdJw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.14.2.tgz", + "integrity": "sha512-gSqqjxN6qEQQtloL2QNleL0RfU5TeZEHz9IAYxTgo/kpzLv8Oiz0T93CmutbzkF38uyjI1xKO0Qj8X+lGhO9zQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/plugin": "2.12.0", - "@parcel/utils": "2.12.0", - "react-refresh": "^0.9.0" + "@parcel/error-overlay": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/utils": "2.14.2", + "react-refresh": ">=0.9 <=0.16" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1603,23 +1667,24 @@ } }, "node_modules/@parcel/transformer-svg": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.12.0.tgz", - "integrity": "sha512-cZJqGRJ4JNdYcb+vj94J7PdOuTnwyy45dM9xqbIMH+HSiiIkfrMsdEwYft0GTyFTdsnf+hdHn3tau7Qa5hhX+A==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.14.2.tgz", + "integrity": "sha512-WFyh/JwAeJWwQX2NUrKGWolXrtL6Uu/BbrYAFvWIH9GHVlq24GofRDKnncrbtF8CJ4y3K7S5ztExLpirLQT0Tg==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", - "@parcel/rust": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", + "@parcel/rust": "2.14.2", "nullthrows": "^1.1.1", "posthtml": "^0.16.5", - "posthtml-parser": "^0.10.1", + "posthtml-parser": "^0.12.1", "posthtml-render": "^3.0.0", "semver": "^7.5.2" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1627,21 +1692,22 @@ } }, "node_modules/@parcel/transformer-typescript-types": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/transformer-typescript-types/-/transformer-typescript-types-2.12.0.tgz", - "integrity": "sha512-uxF4UBMYvbjiV3zHTWMrZX8cFD92VUvD3ArcGi5WEtuVROUm9Sc47o0mOzxKfMFlJu2KOfZVHYlzK9f/UKA2kQ==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/transformer-typescript-types/-/transformer-typescript-types-2.14.2.tgz", + "integrity": "sha512-7H9UNl6/rpolFBl7dTrbWwnPGRibOPzqcJVBvu1JKSiG1mUpkZTxpcYa/77Gm2LOtgC64EtQfmD0ZZfZggk87A==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/plugin": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/plugin": "2.14.2", "@parcel/source-map": "^2.1.1", - "@parcel/ts-utils": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/ts-utils": "2.14.2", + "@parcel/utils": "2.14.2", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0", - "parcel": "^2.12.0" + "node": ">= 16.0.0", + "parcel": "^2.14.2" }, "funding": { "type": "opencollective", @@ -1652,15 +1718,16 @@ } }, "node_modules/@parcel/ts-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/ts-utils/-/ts-utils-2.12.0.tgz", - "integrity": "sha512-zou+W6dcqnXXUOfN5zGM+ePIWbYOhGp8bVB2jICoNkoKmNAHd4l4zeHl5yQXnbZfynVw88cZVqxtXS8tYebelg==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/ts-utils/-/ts-utils-2.14.2.tgz", + "integrity": "sha512-YWaU1G73h4+Zu0v1UY3M42V5CxP8nTlnrbntQxuqSNrBFZatBGqWAZOg4QEQjUUuG+NNk96X1IIaOxBhmuoKvQ==", "dev": true, + "license": "MIT", "dependencies": { "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -1671,37 +1738,47 @@ } }, "node_modules/@parcel/types": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.12.0.tgz", - "integrity": "sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.14.2.tgz", + "integrity": "sha512-15vSnfdjWB3fLkqGGZ0dEZVeHheH4XgtkSBnmwhgLN7LgigK1P9BwwN8/cN/tIKMP+YfcvjVpHCtaeKRGpje9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/types-internal": "2.14.2", + "@parcel/workers": "2.14.2" + } + }, + "node_modules/@parcel/types-internal": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/types-internal/-/types-internal-2.14.2.tgz", + "integrity": "sha512-ylh2LMQtPPhc20RtygT1Qpji6zK4fSdpnokWyImJG6GYLN5tqN7tS0F0o6nPo6/1ll+X11CxTa/MPO6g+NaphQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/cache": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/package-manager": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/feature-flags": "2.14.2", "@parcel/source-map": "^2.1.1", - "@parcel/workers": "2.12.0", "utility-types": "^3.10.0" } }, "node_modules/@parcel/utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.12.0.tgz", - "integrity": "sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.14.2.tgz", + "integrity": "sha512-jgDQrzPOU4IfWnYjRL2zGMbc439334ia1nRa13XcID3+oEp10HWTxw26PGhnYQ02mlOwxg8mtrb5ugZOL+dEIQ==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/codeframe": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/markdown-ansi": "2.12.0", - "@parcel/rust": "2.12.0", + "@parcel/codeframe": "2.14.2", + "@parcel/diagnostic": "2.14.2", + "@parcel/logger": "2.14.2", + "@parcel/markdown-ansi": "2.14.2", + "@parcel/rust": "2.14.2", "@parcel/source-map": "^2.1.1", - "chalk": "^4.1.0", + "chalk": "^4.1.2", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -1709,10 +1786,12 @@ } }, "node_modules/@parcel/watcher": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", - "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", "dev": true, + "hasInstallScript": true, + "license": "MIT", "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -1727,28 +1806,30 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.4.1", - "@parcel/watcher-darwin-arm64": "2.4.1", - "@parcel/watcher-darwin-x64": "2.4.1", - "@parcel/watcher-freebsd-x64": "2.4.1", - "@parcel/watcher-linux-arm-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-glibc": "2.4.1", - "@parcel/watcher-linux-arm64-musl": "2.4.1", - "@parcel/watcher-linux-x64-glibc": "2.4.1", - "@parcel/watcher-linux-x64-musl": "2.4.1", - "@parcel/watcher-win32-arm64": "2.4.1", - "@parcel/watcher-win32-ia32": "2.4.1", - "@parcel/watcher-win32-x64": "2.4.1" + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" } }, "node_modules/@parcel/watcher-android-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", - "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -1762,13 +1843,14 @@ } }, "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", - "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1782,13 +1864,14 @@ } }, "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", - "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -1802,13 +1885,14 @@ } }, "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", - "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -1822,13 +1906,35 @@ } }, "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", - "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -1842,13 +1948,14 @@ } }, "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", - "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -1862,13 +1969,14 @@ } }, "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", - "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -1882,13 +1990,14 @@ } }, "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", - "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -1902,13 +2011,14 @@ } }, "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", - "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -1922,13 +2032,14 @@ } }, "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", - "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -1942,13 +2053,14 @@ } }, "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", - "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -1962,13 +2074,14 @@ } }, "node_modules/@parcel/watcher-win32-x64": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", - "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -1982,34 +2095,36 @@ } }, "node_modules/@parcel/workers": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz", - "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.14.2.tgz", + "integrity": "sha512-tbM71fwlmwOL62v+B1cxnte0oS/D9sNVW2CxFZJROpi4jiBJYi2SWCJsQPNVbXYdnU2gzSbQX7ozX0CaE4f9Qw==", "dev": true, + "license": "MIT", "dependencies": { - "@parcel/diagnostic": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/profiler": "2.12.0", - "@parcel/types": "2.12.0", - "@parcel/utils": "2.12.0", + "@parcel/diagnostic": "2.14.2", + "@parcel/logger": "2.14.2", + "@parcel/profiler": "2.14.2", + "@parcel/types-internal": "2.14.2", + "@parcel/utils": "2.14.2", "nullthrows": "^1.1.1" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/parcel" }, "peerDependencies": { - "@parcel/core": "^2.12.0" + "@parcel/core": "^2.14.2" } }, "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.0.tgz", + "integrity": "sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, @@ -2018,14 +2133,15 @@ } }, "node_modules/@swc/core": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.14.tgz", - "integrity": "sha512-9aeXeifnyuvc2pcuuhPQgVUwdpGEzZ+9nJu0W8/hNl/aESFsJGR5i9uQJRGu0atoNr01gK092fvmqMmQAPcKow==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.11.13.tgz", + "integrity": "sha512-9BXdYz12Wl0zWmZ80PvtjBWeg2ncwJ9L5WJzjhN6yUTZWEV/AwAdVdJnIEp4pro3WyKmAaMxcVOSbhuuOZco5g==", "dev": true, "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3", - "@swc/types": "^0.1.12" + "@swc/types": "^0.1.19" }, "engines": { "node": ">=10" @@ -2035,16 +2151,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.7.14", - "@swc/core-darwin-x64": "1.7.14", - "@swc/core-linux-arm-gnueabihf": "1.7.14", - "@swc/core-linux-arm64-gnu": "1.7.14", - "@swc/core-linux-arm64-musl": "1.7.14", - "@swc/core-linux-x64-gnu": "1.7.14", - "@swc/core-linux-x64-musl": "1.7.14", - "@swc/core-win32-arm64-msvc": "1.7.14", - "@swc/core-win32-ia32-msvc": "1.7.14", - "@swc/core-win32-x64-msvc": "1.7.14" + "@swc/core-darwin-arm64": "1.11.13", + "@swc/core-darwin-x64": "1.11.13", + "@swc/core-linux-arm-gnueabihf": "1.11.13", + "@swc/core-linux-arm64-gnu": "1.11.13", + "@swc/core-linux-arm64-musl": "1.11.13", + "@swc/core-linux-x64-gnu": "1.11.13", + "@swc/core-linux-x64-musl": "1.11.13", + "@swc/core-win32-arm64-msvc": "1.11.13", + "@swc/core-win32-ia32-msvc": "1.11.13", + "@swc/core-win32-x64-msvc": "1.11.13" }, "peerDependencies": { "@swc/helpers": "*" @@ -2056,13 +2172,14 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.14.tgz", - "integrity": "sha512-V0OUXjOH+hdGxDYG8NkQzy25mKOpcNKFpqtZEzLe5V/CpLJPnpg1+pMz70m14s9ZFda9OxsjlvPbg1FLUwhgIQ==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.13.tgz", + "integrity": "sha512-loSERhLaQ9XDS+5Kdx8cLe2tM1G0HLit8MfehipAcsdctpo79zrRlkW34elOf3tQoVPKUItV0b/rTuhjj8NtHg==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -2072,13 +2189,14 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.14.tgz", - "integrity": "sha512-9iFvUnxG6FC3An5ogp5jbBfQuUmTTwy8KMB+ZddUoPB3NR1eV+Y9vOh/tfWcenSJbgOKDLgYC5D/b1mHAprsrQ==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.11.13.tgz", + "integrity": "sha512-uSA4UwgsDCIysUPfPS8OrQTH2h9spO7IYFd+1NB6dJlVGUuR6jLKuMBOP1IeLeax4cGHayvkcwSJ3OvxHwgcZQ==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "darwin" @@ -2088,13 +2206,14 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.14.tgz", - "integrity": "sha512-zGJsef9qPivKSH8Vv4F/HiBXBTHZ5Hs3ZjVGo/UIdWPJF8fTL9OVADiRrl34Q7zOZEtGXRwEKLUW1SCQcbDvZA==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.11.13.tgz", + "integrity": "sha512-boVtyJzS8g30iQfe8Q46W5QE/cmhKRln/7NMz/5sBP/am2Lce9NL0d05NnFwEWJp1e2AMGHFOdRr3Xg1cDiPKw==", "cpu": [ "arm" ], "dev": true, + "license": "Apache-2.0", "optional": true, "os": [ "linux" @@ -2104,13 +2223,14 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.14.tgz", - "integrity": "sha512-AxV3MPsoI7i4B8FXOew3dx3N8y00YoJYvIPfxelw07RegeCEH3aHp2U2DtgbP/NV1ugZMx0TL2Z2DEvocmA51g==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.13.tgz", + "integrity": "sha512-+IK0jZ84zHUaKtwpV+T+wT0qIUBnK9v2xXD03vARubKF+eUqCsIvcVHXmLpFuap62dClMrhCiwW10X3RbXNlHw==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -2120,13 +2240,14 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.14.tgz", - "integrity": "sha512-JDLdNjUj3zPehd4+DrQD8Ltb3B5lD8D05IwePyDWw+uR/YPc7w/TX1FUVci5h3giJnlMCJRvi1IQYV7K1n7KtQ==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.11.13.tgz", + "integrity": "sha512-+ukuB8RHD5BHPCUjQwuLP98z+VRfu+NkKQVBcLJGgp0/+w7y0IkaxLY/aKmrAS5ofCNEGqKL+AOVyRpX1aw+XA==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -2136,13 +2257,14 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.14.tgz", - "integrity": "sha512-Siy5OvPCLLWmMdx4msnEs8HvEVUEigSn0+3pbLjv78iwzXd0qSBNHUPZyC1xeurVaUbpNDxZTpPRIwpqNE2+Og==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.13.tgz", + "integrity": "sha512-q9H3WI3U3dfJ34tdv60zc8oTuWvSd5fOxytyAO9Pc5M82Hic3jjWaf2xBekUg07ubnMZpyfnv+MlD+EbUI3Llw==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -2152,13 +2274,14 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.14.tgz", - "integrity": "sha512-FtEGm9mwtRYQNK43WMtUIadxHs/ja2rnDurB99os0ZoFTGG2IHuht2zD97W0wB8JbqEabT1XwSG9Y5wmN+ciEQ==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.11.13.tgz", + "integrity": "sha512-9aaZnnq2pLdTbAzTSzy/q8dr7Woy3aYIcQISmw1+Q2/xHJg5y80ZzbWSWKYca/hKonDMjIbGR6dp299I5J0aeA==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "linux" @@ -2168,13 +2291,14 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.14.tgz", - "integrity": "sha512-Jp8KDlfq7Ntt2/BXr0y344cYgB1zf0DaLzDZ1ZJR6rYlAzWYSccLYcxHa97VGnsYhhPspMpmCvHid97oe2hl4A==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.11.13.tgz", + "integrity": "sha512-n3QZmDewkHANcoHvtwvA6yJbmS4XJf0MBMmwLZoKDZ2dOnC9D/jHiXw7JOohEuzYcpLoL5tgbqmjxa3XNo9Oow==", "cpu": [ "arm64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -2184,13 +2308,14 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.14.tgz", - "integrity": "sha512-I+cFsXF0OU0J9J4zdWiQKKLURO5dvCujH9Jr8N0cErdy54l9d4gfIxdctfTF+7FyXtWKLTCkp+oby9BQhkFGWA==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.11.13.tgz", + "integrity": "sha512-wM+Nt4lc6YSJFthCx3W2dz0EwFNf++j0/2TQ0Js9QLJuIxUQAgukhNDVCDdq8TNcT0zuA399ALYbvj5lfIqG6g==", "cpu": [ "ia32" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -2200,13 +2325,14 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.7.14", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.14.tgz", - "integrity": "sha512-NNrprQCK6d28mG436jVo2TD+vACHseUECacEBGZ9Ef0qfOIWS1XIt2MisQKG0Oea2VvLFl6tF/V4Lnx/H0Sn3Q==", + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.11.13.tgz", + "integrity": "sha512-+X5/uW3s1L5gK7wAo0E27YaAoidJDo51dnfKSfU7gF3mlEUuWH8H1bAy5OTt2mU4eXtfsdUMEVXSwhDlLtQkuA==", "cpu": [ "x64" ], "dev": true, + "license": "Apache-2.0 AND MIT", "optional": true, "os": [ "win32" @@ -2219,7 +2345,8 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/@swc/helpers": { "version": "0.5.15", @@ -2231,115 +2358,103 @@ } }, "node_modules/@swc/types": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz", - "integrity": "sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==", + "version": "0.1.20", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.20.tgz", + "integrity": "sha512-/rlIpxwKrhz4BIplXf6nsEHtqlhzuNN34/k3kMAXH4/lvVoA3cdq+60aqVNnyvw2uITEaCi0WV3pxBe4dQqoXQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@swc/counter": "^0.1.3" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true, - "engines": { - "node": ">=10.13.0" - } + "license": "MIT" }, "node_modules/@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", - "dev": true + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" }, "node_modules/@types/pako": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.3.tgz", "integrity": "sha512-bq0hMV9opAcrmE0Byyo0fY3Ew4tgOevJmQ9grUhpXQhYfyLJ1Kqg3P33JT5fdbT2AjeAjR51zqqVjAL/HMkx7Q==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", - "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.28.0.tgz", + "integrity": "sha512-lvFK3TCGAHsItNdWZ/1FkvpzCxTHUVuFrdnOGLMa0GGCFIbCgQWVk3CzCGdA7kM3qGVc+dfW9tr0Z/sHnGDFyg==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/type-utils": "6.8.0", - "@typescript-eslint/utils": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", - "debug": "^4.3.4", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.28.0", + "@typescript-eslint/type-utils": "8.28.0", + "@typescript-eslint/utils": "8.28.0", + "@typescript-eslint/visitor-keys": "8.28.0", "graphemer": "^1.4.0", - "ignore": "^5.2.4", + "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^2.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", - "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.28.0.tgz", + "integrity": "sha512-LPcw1yHD3ToaDEoljFEfQ9j2xShY367h7FZ1sq5NJT9I3yj4LHer1Xd1yRSOdYy9BpsrxU7R+eoDokChYM53lQ==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/typescript-estree": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", + "@typescript-eslint/scope-manager": "8.28.0", + "@typescript-eslint/types": "8.28.0", + "@typescript-eslint/typescript-estree": "8.28.0", + "@typescript-eslint/visitor-keys": "8.28.0", "debug": "^4.3.4" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", - "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.28.0.tgz", + "integrity": "sha512-u2oITX3BJwzWCapoZ/pXw6BCOl8rJP4Ij/3wPoGvY8XwvXflOzd1kLrDUUUAIEdJSFh+ASwdTHqtan9xSg8buw==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0" + "@typescript-eslint/types": "8.28.0", + "@typescript-eslint/visitor-keys": "8.28.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -2347,39 +2462,37 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", - "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.28.0.tgz", + "integrity": "sha512-oRoXu2v0Rsy/VoOGhtWrOKDiIehvI+YNrDk5Oqj40Mwm0Yt01FC/Q7nFqg088d3yAsR1ZcZFVfPCTTFCe/KPwg==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "6.8.0", - "@typescript-eslint/utils": "6.8.0", + "@typescript-eslint/typescript-estree": "8.28.0", + "@typescript-eslint/utils": "8.28.0", "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^2.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/types": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", - "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.28.0.tgz", + "integrity": "sha512-bn4WS1bkKEjx7HqiwG2JNB3YJdC1q6Ue7GyGlwPHyt0TnVq6TtD/hiOdTZt71sq0s7UzqBFXD8t8o2e63tXgwA==", "dev": true, + "license": "MIT", "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -2387,86 +2500,106 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", - "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.28.0.tgz", + "integrity": "sha512-H74nHEeBGeklctAVUvmDkxB1mk+PAZ9FiOMPFncdqeRBXxk1lWSYraHw8V12b7aa6Sg9HOBNbGdSHobBPuQSuA==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", + "@typescript-eslint/types": "8.28.0", + "@typescript-eslint/visitor-keys": "8.28.0", "debug": "^4.3.4", - "globby": "^11.1.0", + "fast-glob": "^3.3.2", "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", - "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/typescript-estree": "6.8.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.28.0.tgz", + "integrity": "sha512-OELa9hbTYciYITqgurT1u/SzpQVtDLmQMFzy/N8pQE+tefOyCWT79jHsav294aTqV1q1u+VzqDGbuujvRYaeSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.28.0", + "@typescript-eslint/types": "8.28.0", + "@typescript-eslint/typescript-estree": "8.28.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", - "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.28.0.tgz", + "integrity": "sha512-hbn8SZ8w4u2pRwgQ1GlUrPKE+t2XvcCW5tTRF7j6SMYIuYG37XuzIW44JCZPa36evi0Oy2SnM664BlIaAuQcvg==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "6.8.0", - "eslint-visitor-keys": "^3.4.1" + "@typescript-eslint/types": "8.28.0", + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", - "dev": true - }, "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", "dev": true, - "peer": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -2479,6 +2612,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -2488,6 +2622,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2504,6 +2639,7 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, + "license": "MIT", "dependencies": { "environment": "^1.0.0" }, @@ -2515,21 +2651,29 @@ } }, "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" @@ -2539,26 +2683,19 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "Python-2.0" }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" }, "node_modules/axios": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz", - "integrity": "sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", "license": "MIT", "dependencies": { "follow-redirects": "^1.15.6", @@ -2570,13 +2707,15 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/base-x": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz", - "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.11.tgz", + "integrity": "sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA==", "dev": true, + "license": "MIT", "dependencies": { "safe-buffer": "^5.0.1" } @@ -2585,21 +2724,17 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", "engines": { "node": ">= 0.6.0" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2610,6 +2745,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -2618,9 +2754,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "dev": true, "funding": [ { @@ -2636,11 +2772,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -2649,19 +2786,33 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001651", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", - "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", + "version": "1.0.30001707", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz", + "integrity": "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==", "dev": true, "funding": [ { @@ -2676,13 +2827,15 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2694,65 +2847,12 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/chalk/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/chalk/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/chalk/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/chrome-trace-event": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.0" } @@ -2762,6 +2862,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, + "license": "MIT", "dependencies": { "restore-cursor": "^5.0.0" }, @@ -2777,6 +2878,7 @@ "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "dev": true, + "license": "MIT", "dependencies": { "slice-ansi": "^5.0.0", "string-width": "^7.0.0" @@ -2793,35 +2895,43 @@ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -2830,10 +2940,11 @@ } }, "node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" } @@ -2841,14 +2952,16 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, + "license": "MIT", "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -2885,31 +2998,59 @@ "node": ">= 8" } }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" + "ms": "^2.1.3" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/css-select/node_modules/dom-serializer": { + "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", @@ -2919,13 +3060,25 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/css-select/node_modules/domhandler": { + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "dependencies": { "domelementtype": "^2.3.0" }, @@ -2936,13 +3089,12 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/css-select/node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", @@ -2952,251 +3104,71 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/css-select/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "engines": { - "node": ">=0.12" + "node": ">=12" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://dotenvx.com" } }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", "dev": true, - "optional": true, - "peer": true, + "license": "BSD-2-Clause", "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" + "dotenv": "^16.4.5" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://dotenvx.com" } }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "dev": true, - "optional": true, - "peer": true, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", "dependencies": { - "css-tree": "~2.2.0" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" + "node": ">= 0.4" } }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "node_modules/electron-to-chromium": { + "version": "1.5.128", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.128.tgz", + "integrity": "sha512-bo1A4HH/NS522Ws0QNFIzyPcyUUNV/yyy70Ho1xqfGYzPUme2F/xr4tlEOuM6/A538U1vDA7a4XfCd1CKRegKQ==", "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } + "license": "ISC" }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", "dev": true, - "optional": true, - "peer": true + "license": "MIT" }, - "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, - "dependencies": { - "ms": "2.1.2" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", - "dev": true, - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", - "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "dev": true, - "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dotenv": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", - "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.5.13", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", - "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true, - "engines": { - "node": ">=0.12" + "node": ">=0.12" }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" @@ -3207,6 +3179,7 @@ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3216,6 +3189,7 @@ "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -3228,15 +3202,62 @@ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3246,6 +3267,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3254,64 +3276,72 @@ } }, "node_modules/eslint": { - "version": "8.51.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.51.0.tgz", - "integrity": "sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==", + "version": "9.23.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz", + "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.51.0", - "@humanwhocodes/config-array": "^0.11.11", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.2", + "@eslint/config-helpers": "^0.2.0", + "@eslint/core": "^0.12.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.23.0", + "@eslint/plugin-kit": "^0.2.7", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", + "eslint-scope": "^8.3.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.1.tgz", + "integrity": "sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==", "dev": true, + "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -3320,13 +3350,14 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.5.tgz", + "integrity": "sha512-IKKP8R87pJyMl7WWamLgPkloB16dagPIdd2FjBDbyRYPKo93wS/NbCOPh6gH+ieNLC+XZrhJt/kWj0PS/DFdmg==", "dev": true, + "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.9.1" + "synckit": "^0.10.2" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -3337,7 +3368,7 @@ "peerDependencies": { "@types/eslint": ">=8.0.0", "eslint": ">=8.0.0", - "eslint-config-prettier": "*", + "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0", "prettier": ">=3.0.0" }, "peerDependenciesMeta": { @@ -3349,89 +3380,60 @@ } } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/eslint-scope": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", + "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": ">=10.13.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.14.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/espree/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -3439,20 +3441,12 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -3460,11 +3454,12 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -3474,6 +3469,7 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -3482,13 +3478,15 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/execa": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", @@ -3511,61 +3509,81 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-diff": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, + "license": "MIT", "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { @@ -3573,6 +3591,7 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -3585,6 +3604,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -3597,34 +3617,37 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, + "license": "MIT", "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", - "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", - "dev": true + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -3635,29 +3658,35 @@ } }, "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" }, "engines": { "node": ">= 6" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -3665,20 +3694,59 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-port": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz", "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, + "license": "MIT", "engines": { "node": ">=16" }, @@ -3686,98 +3754,98 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" } }, "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", + "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" } }, "node_modules/htmlnano": { @@ -3785,6 +3853,7 @@ "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.1.tgz", "integrity": "sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw==", "dev": true, + "license": "MIT", "dependencies": { "cosmiconfig": "^9.0.0", "posthtml": "^0.16.5", @@ -3828,9 +3897,9 @@ } }, "node_modules/htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -3839,11 +3908,12 @@ "url": "https://github.com/sponsors/fb55" } ], + "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" } }, "node_modules/human-signals": { @@ -3851,15 +3921,17 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=16.17.0" } }, "node_modules/husky": { - "version": "9.1.5", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.5.tgz", - "integrity": "sha512-rowAVRUBfI0b4+niA4SJMhfQwc107VLkBUgEYYAOQAbqDCnra1nYh83hF/MDmhYs9t9n1E3DuKOrs2LYNC+0Ag==", + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.1.7.tgz", + "integrity": "sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==", "dev": true, + "license": "MIT", "bin": { "husky": "bin.js" }, @@ -3871,19 +3943,21 @@ } }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -3898,39 +3972,26 @@ "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3940,6 +4001,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -3952,6 +4014,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -3963,31 +4026,25 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz", "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -3998,20 +4055,23 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -4019,29 +4079,40 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -4049,11 +4120,22 @@ "node": ">=6" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -4063,12 +4145,13 @@ } }, "node_modules/lightningcss": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.26.0.tgz", - "integrity": "sha512-a/XZ5hdgifrofQJUArr5AiJjx26SwMam3SJUSMjgebZbESZ96i+6Qsl8tLi0kaUsdMzBWXh9sN1Oe6hp2/dkQw==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.3.tgz", + "integrity": "sha512-GlOJwTIP6TMIlrTFsxTerwC0W6OpQpCGuX1ECRLBUVRh6fpJH3xTqjCjRgQHTb4ZXexH9rtHou1Lf03GKzmhhQ==", "dev": true, + "license": "MPL-2.0", "dependencies": { - "detect-libc": "^1.0.3" + "detect-libc": "^2.0.3" }, "engines": { "node": ">= 12.0.0" @@ -4078,26 +4161,27 @@ "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "lightningcss-darwin-arm64": "1.26.0", - "lightningcss-darwin-x64": "1.26.0", - "lightningcss-freebsd-x64": "1.26.0", - "lightningcss-linux-arm-gnueabihf": "1.26.0", - "lightningcss-linux-arm64-gnu": "1.26.0", - "lightningcss-linux-arm64-musl": "1.26.0", - "lightningcss-linux-x64-gnu": "1.26.0", - "lightningcss-linux-x64-musl": "1.26.0", - "lightningcss-win32-arm64-msvc": "1.26.0", - "lightningcss-win32-x64-msvc": "1.26.0" + "lightningcss-darwin-arm64": "1.29.3", + "lightningcss-darwin-x64": "1.29.3", + "lightningcss-freebsd-x64": "1.29.3", + "lightningcss-linux-arm-gnueabihf": "1.29.3", + "lightningcss-linux-arm64-gnu": "1.29.3", + "lightningcss-linux-arm64-musl": "1.29.3", + "lightningcss-linux-x64-gnu": "1.29.3", + "lightningcss-linux-x64-musl": "1.29.3", + "lightningcss-win32-arm64-msvc": "1.29.3", + "lightningcss-win32-x64-msvc": "1.29.3" } }, "node_modules/lightningcss-darwin-arm64": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.26.0.tgz", - "integrity": "sha512-n4TIvHO1NY1ondKFYpL2ZX0bcC2y6yjXMD6JfyizgR8BCFNEeArINDzEaeqlfX9bXz73Bpz/Ow0nu+1qiDrBKg==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.3.tgz", + "integrity": "sha512-fb7raKO3pXtlNbQbiMeEu8RbBVHnpyqAoxTyTRMEWFQWmscGC2wZxoHzZ+YKAepUuKT9uIW5vL2QbFivTgprZg==", "cpu": [ "arm64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "darwin" @@ -4111,13 +4195,14 @@ } }, "node_modules/lightningcss-darwin-x64": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.26.0.tgz", - "integrity": "sha512-Rf9HuHIDi1R6/zgBkJh25SiJHF+dm9axUZW/0UoYCW1/8HV0gMI0blARhH4z+REmWiU1yYT/KyNF3h7tHyRXUg==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.3.tgz", + "integrity": "sha512-KF2XZ4ZdmDGGtEYmx5wpzn6u8vg7AdBHaEOvDKu8GOs7xDL/vcU2vMKtTeNe1d4dogkDdi3B9zC77jkatWBwEQ==", "cpu": [ "x64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "darwin" @@ -4131,13 +4216,14 @@ } }, "node_modules/lightningcss-freebsd-x64": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.26.0.tgz", - "integrity": "sha512-C/io7POAxp6sZxFSVGezjajMlCKQ8KSwISLLGRq8xLQpQMokYrUoqYEwmIX8mLmF6C/CZPk0gFmRSzd8biWM0g==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.3.tgz", + "integrity": "sha512-VUWeVf+V1UM54jv9M4wen9vMlIAyT69Krl9XjI8SsRxz4tdNV/7QEPlW6JASev/pYdiynUCW0pwaFquDRYdxMw==", "cpu": [ "x64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "freebsd" @@ -4151,13 +4237,14 @@ } }, "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.26.0.tgz", - "integrity": "sha512-Aag9kqXqkyPSW+dXMgyWk66C984Nay2pY8Nws+67gHlDzV3cWh7TvFlzuaTaVFMVqdDTzN484LSK3u39zFBnzg==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.3.tgz", + "integrity": "sha512-UhgZ/XVNfXQVEJrMIWeK1Laj8KbhjbIz7F4znUk7G4zeGw7TRoJxhb66uWrEsonn1+O45w//0i0Fu0wIovYdYg==", "cpu": [ "arm" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "linux" @@ -4171,13 +4258,14 @@ } }, "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.26.0.tgz", - "integrity": "sha512-iJmZM7fUyVjH+POtdiCtExG+67TtPUTer7K/5A8DIfmPfrmeGvzfRyBltGhQz13Wi15K1lf2cPYoRaRh6vcwNA==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.3.tgz", + "integrity": "sha512-Pqau7jtgJNmQ/esugfmAT1aCFy/Gxc92FOxI+3n+LbMHBheBnk41xHDhc0HeYlx9G0xP5tK4t0Koy3QGGNqypw==", "cpu": [ "arm64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "linux" @@ -4191,13 +4279,14 @@ } }, "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.26.0.tgz", - "integrity": "sha512-XxoEL++tTkyuvu+wq/QS8bwyTXZv2y5XYCMcWL45b8XwkiS8eEEEej9BkMGSRwxa5J4K+LDeIhLrS23CpQyfig==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.3.tgz", + "integrity": "sha512-dxakOk66pf7KLS7VRYFO7B8WOJLecE5OPL2YOk52eriFd/yeyxt2Km5H0BjLfElokIaR+qWi33gB8MQLrdAY3A==", "cpu": [ "arm64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "linux" @@ -4211,13 +4300,14 @@ } }, "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.26.0.tgz", - "integrity": "sha512-1dkTfZQAYLj8MUSkd6L/+TWTG8V6Kfrzfa0T1fSlXCXQHrt1HC1/UepXHtKHDt/9yFwyoeayivxXAsApVxn6zA==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.3.tgz", + "integrity": "sha512-ySZTNCpbfbK8rqpKJeJR2S0g/8UqqV3QnzcuWvpI60LWxnFN91nxpSSwCbzfOXkzKfar9j5eOuOplf+klKtINg==", "cpu": [ "x64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "linux" @@ -4231,13 +4321,14 @@ } }, "node_modules/lightningcss-linux-x64-musl": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.26.0.tgz", - "integrity": "sha512-yX3Rk9m00JGCUzuUhFEojY+jf/6zHs3XU8S8Vk+FRbnr4St7cjyMXdNjuA2LjiT8e7j8xHRCH8hyZ4H/btRE4A==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.3.tgz", + "integrity": "sha512-3pVZhIzW09nzi10usAXfIGTTSTYQ141dk88vGFNCgawIzayiIzZQxEcxVtIkdvlEq2YuFsL9Wcj/h61JHHzuFQ==", "cpu": [ "x64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "linux" @@ -4251,13 +4342,14 @@ } }, "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.26.0.tgz", - "integrity": "sha512-X/597/cFnCogy9VItj/+7Tgu5VLbAtDF7KZDPdSw0MaL6FL940th1y3HiOzFIlziVvAtbo0RB3NAae1Oofr+Tw==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.3.tgz", + "integrity": "sha512-VRnkAvtIkeWuoBJeGOTrZxsNp4HogXtcaaLm8agmbYtLDOhQdpgxW6NjZZjDXbvGF+eOehGulXZ3C1TiwHY4QQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "win32" @@ -4271,13 +4363,14 @@ } }, "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.26.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.26.0.tgz", - "integrity": "sha512-pYS3EyGP3JRhfqEFYmfFDiZ9/pVNfy8jVIYtrx9TVNusVyDK3gpW1w/rbvroQ4bDJi7grdUtyrYU6V2xkY/bBw==", + "version": "1.29.3", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.3.tgz", + "integrity": "sha512-IszwRPu2cPnDQsZpd7/EAr0x2W7jkaWqQ1SwCVIZ/tSbZVXPLt6k8s6FkcyBjViCzvB5CW0We0QbbP7zp2aBjQ==", "cpu": [ "x64" ], "dev": true, + "license": "MPL-2.0", "optional": true, "os": [ "win32" @@ -4290,11 +4383,22 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/lightningcss/node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, "node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", "dev": true, + "license": "MIT", "engines": { "node": ">=14" }, @@ -4306,25 +4410,26 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lint-staged": { - "version": "15.2.10", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.10.tgz", - "integrity": "sha512-5dY5t743e1byO19P9I4b3x8HJwalIznL5E1FWYnU6OWw33KxNBSLAc6Cy7F2PsFEO8FKnLwjwm5hx7aMF0jzZg==", + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.5.0.tgz", + "integrity": "sha512-WyCzSbfYGhK7cU+UuDDkzUiytbfbi0ZdPy2orwtM75P3WTtQBzmG40cCxIa8Ii2+XjfxzLH6Be46tUfWS85Xfg==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "~5.3.0", - "commander": "~12.1.0", - "debug": "~4.3.6", - "execa": "~8.0.1", - "lilconfig": "~3.1.2", - "listr2": "~8.2.4", - "micromatch": "~4.0.8", - "pidtree": "~0.6.0", - "string-argv": "~0.3.2", - "yaml": "~2.5.0" + "chalk": "^5.4.1", + "commander": "^13.1.0", + "debug": "^4.4.0", + "execa": "^8.0.1", + "lilconfig": "^3.1.3", + "listr2": "^8.2.5", + "micromatch": "^4.0.8", + "pidtree": "^0.6.0", + "string-argv": "^0.3.2", + "yaml": "^2.7.0" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -4337,10 +4442,11 @@ } }, "node_modules/lint-staged/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, + "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -4349,10 +4455,11 @@ } }, "node_modules/listr2": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", - "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", + "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", "dev": true, + "license": "MIT", "dependencies": { "cli-truncate": "^4.0.0", "colorette": "^2.0.20", @@ -4371,6 +4478,7 @@ "integrity": "sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "msgpackr": "^1.9.5", "node-addon-api": "^6.1.0", @@ -4394,13 +4502,15 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -4415,13 +4525,15 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/log-update": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^7.0.0", "cli-cursor": "^5.0.0", @@ -4436,16 +4548,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/log-update/node_modules/is-fullwidth-code-point": { @@ -4453,6 +4566,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "dev": true, + "license": "MIT", "dependencies": { "get-east-asian-width": "^1.0.0" }, @@ -4468,6 +4582,7 @@ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", "is-fullwidth-code-point": "^5.0.0" @@ -4479,52 +4594,28 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">= 0.4" } }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true, - "optional": true, - "peer": true - }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -4547,6 +4638,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -4555,6 +4647,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -4567,6 +4660,7 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4579,6 +4673,7 @@ "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -4591,6 +4686,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -4599,16 +4695,18 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" }, "node_modules/msgpackr": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.0.tgz", - "integrity": "sha512-I8qXuuALqJe5laEBYoFykChhSXLikZmUhccjGsPuSJ/7uPip2TJ7lwdIQwWSAi0jGZDXv4WOP8Qg65QZRuXxXw==", + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.2.tgz", + "integrity": "sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==", "dev": true, + "license": "MIT", "optionalDependencies": { "msgpackr-extract": "^3.0.2" } @@ -4619,6 +4717,7 @@ "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "dependencies": { "node-gyp-build-optional-packages": "5.2.2" @@ -4640,6 +4739,7 @@ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "dev": true, + "license": "Apache-2.0", "optional": true, "engines": { "node": ">=8" @@ -4650,6 +4750,7 @@ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "detect-libc": "^2.0.1" @@ -4663,20 +4764,23 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" }, "node_modules/node-addon-api": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-gyp-build-optional-packages": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz", "integrity": "sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==", "dev": true, + "license": "MIT", "dependencies": { "detect-libc": "^2.0.1" }, @@ -4691,21 +4795,24 @@ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8" } }, "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" }, "node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -4721,6 +4828,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4728,38 +4836,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, "node_modules/nullthrows": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", - "dev": true - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "dependencies": { - "wrappy": "1" - } + "license": "MIT" }, "node_modules/onetime": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -4771,33 +4860,36 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" } }, "node_modules/ordered-binary": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz", - "integrity": "sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==", - "dev": true + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.3.tgz", + "integrity": "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==", + "dev": true, + "license": "MIT" }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -4813,6 +4905,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -4826,34 +4919,37 @@ "node_modules/pako": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" }, "node_modules/parcel": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.12.0.tgz", - "integrity": "sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg==", - "dev": true, - "dependencies": { - "@parcel/config-default": "2.12.0", - "@parcel/core": "2.12.0", - "@parcel/diagnostic": "2.12.0", - "@parcel/events": "2.12.0", - "@parcel/fs": "2.12.0", - "@parcel/logger": "2.12.0", - "@parcel/package-manager": "2.12.0", - "@parcel/reporter-cli": "2.12.0", - "@parcel/reporter-dev-server": "2.12.0", - "@parcel/reporter-tracer": "2.12.0", - "@parcel/utils": "2.12.0", - "chalk": "^4.1.0", - "commander": "^7.0.0", + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.14.2.tgz", + "integrity": "sha512-dqB4/Oo8L7HfWyrxAQKnizQ/XzQM2iAY5fEaZUgS4wh+B3FE4LO5JVgobhVBBrIOoT02sV4gUEQhNJeU3raSuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@parcel/config-default": "2.14.2", + "@parcel/core": "2.14.2", + "@parcel/diagnostic": "2.14.2", + "@parcel/events": "2.14.2", + "@parcel/feature-flags": "2.14.2", + "@parcel/fs": "2.14.2", + "@parcel/logger": "2.14.2", + "@parcel/package-manager": "2.14.2", + "@parcel/reporter-cli": "2.14.2", + "@parcel/reporter-dev-server": "2.14.2", + "@parcel/reporter-tracer": "2.14.2", + "@parcel/utils": "2.14.2", + "chalk": "^4.1.2", + "commander": "^12.1.0", "get-port": "^4.2.0" }, "bin": { "parcel": "lib/bin.js" }, "engines": { - "node": ">= 12.0.0" + "node": ">= 16.0.0" }, "funding": { "type": "opencollective", @@ -4861,12 +4957,13 @@ } }, "node_modules/parcel/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=18" } }, "node_modules/parent-module": { @@ -4874,6 +4971,7 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -4886,6 +4984,7 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -4904,48 +5003,34 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -4953,59 +5038,153 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pidtree": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", - "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/posthtml": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", + "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "posthtml-parser": "^0.11.0", + "posthtml-render": "^3.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/posthtml-parser": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.12.1.tgz", + "integrity": "sha512-rYFmsDLfYm+4Ts2Oh4DCDSZPtdC1BLnRXAobypVzX9alj28KGl65dIFtgDY9zB57D0TC4Qxqrawuq/2et1P0GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "htmlparser2": "^9.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/posthtml-render": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", + "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-json": "^2.0.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/posthtml/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/posthtml/node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/posthtml/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, - "bin": { - "pidtree": "bin/pidtree.js" + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" }, "engines": { - "node": ">=0.10" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/posthtml": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz", - "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==", + "node_modules/posthtml/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "posthtml-parser": "^0.11.0", - "posthtml-render": "^3.0.0" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, - "engines": { - "node": ">=12.0.0" + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/posthtml-parser": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz", - "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==", + "node_modules/posthtml/node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", "dev": true, - "dependencies": { - "htmlparser2": "^7.1.1" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">=12" + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/posthtml-render": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz", - "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==", + "node_modules/posthtml/node_modules/htmlparser2": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", + "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", "dependencies": { - "is-json": "^2.0.1" - }, - "engines": { - "node": ">=12" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.2", + "domutils": "^2.8.0", + "entities": "^3.0.1" } }, "node_modules/posthtml/node_modules/posthtml-parser": { @@ -5013,6 +5192,7 @@ "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz", "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==", "dev": true, + "license": "MIT", "dependencies": { "htmlparser2": "^7.1.1" }, @@ -5025,15 +5205,17 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", + "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -5049,6 +5231,7 @@ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, + "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -5059,13 +5242,15 @@ "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5088,34 +5273,32 @@ "type": "consulting", "url": "https://feross.org/support" } - ] - }, - "node_modules/react-error-overlay": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", - "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==", - "dev": true + ], + "license": "MIT" }, "node_modules/react-refresh": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz", - "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.16.0.tgz", + "integrity": "sha512-FPvF2XxTSikpJxcr+bHut2H4gJ17+18Uy20D5/F+SKzFap62R3cM5wH6b8WN3LyGSYeQilLEcJcR1fjBSI2S1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true, + "license": "MIT" }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -5125,6 +5308,7 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, + "license": "MIT", "dependencies": { "onetime": "^7.0.0", "signal-exit": "^4.1.0" @@ -5141,6 +5325,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, + "license": "MIT", "dependencies": { "mimic-function": "^5.0.0" }, @@ -5152,10 +5337,11 @@ } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -5165,22 +5351,8 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } + "license": "MIT" }, "node_modules/run-parallel": { "version": "1.2.0", @@ -5201,6 +5373,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } @@ -5223,16 +5396,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -5245,6 +5417,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -5257,6 +5430,7 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5266,6 +5440,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -5273,20 +5448,12 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/slice-ansi": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.0.0", "is-fullwidth-code-point": "^4.0.0" @@ -5298,24 +5465,17 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/srcset": { @@ -5323,6 +5483,7 @@ "resolved": "https://registry.npmjs.org/srcset/-/srcset-5.0.1.tgz", "integrity": "sha512-/P1UYbGfJVlxZag7aABNRrulEXAwCSDo7fklafOQrantuPTDmYgijJMks2zusPCVzgW9+4P69mq7w6pYuZpgxw==", "dev": true, + "license": "MIT", "optional": true, "peer": true, "engines": { @@ -5332,18 +5493,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", - "dev": true - }, "node_modules/string-argv": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.19" } @@ -5353,6 +5508,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", @@ -5365,23 +5521,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { + "node_modules/strip-ansi": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -5392,23 +5537,12 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -5421,6 +5555,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -5429,63 +5564,27 @@ } }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "optional": true, - "peer": true, + "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.3.1", - "css-what": "^6.1.0", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" + "has-flag": "^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "optional": true, - "peer": true, "engines": { - "node": ">= 10" + "node": ">=8" } }, "node_modules/synckit": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", - "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.10.3.tgz", + "integrity": "sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==", "dev": true, + "license": "MIT", "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" + "@pkgr/core": "^0.2.0", + "tslib": "^2.8.1" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -5499,6 +5598,7 @@ "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -5506,23 +5606,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, "node_modules/timsort": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -5531,15 +5627,16 @@ } }, "node_modules/ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=16.13.0" + "node": ">=18.12" }, "peerDependencies": { - "typescript": ">=4.2.0" + "typescript": ">=4.8.4" } }, "node_modules/tslib": { @@ -5553,6 +5650,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -5560,11 +5658,25 @@ "node": ">= 0.8.0" } }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/typescript": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", - "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -5573,10 +5685,33 @@ "node": ">=14.17" } }, + "node_modules/typescript-eslint": { + "version": "8.28.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.28.0.tgz", + "integrity": "sha512-jfZtxJoHm59bvoCMYCe2BM0/baMswRhMmYhy+w6VfcyHrjxZ0OJe0tGasydCpIpA+A/WIJhTyZfb3EtwNC/kHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.28.0", + "@typescript-eslint/parser": "8.28.0", + "@typescript-eslint/utils": "8.28.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", "dev": true, "funding": [ { @@ -5592,9 +5727,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -5608,6 +5744,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -5617,6 +5754,7 @@ "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -5625,13 +5763,15 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -5642,11 +5782,22 @@ "node": ">= 8" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", @@ -5659,50 +5810,25 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "license": "MIT", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/yaml": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", - "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", "dev": true, + "license": "ISC", "bin": { "yaml": "bin.mjs" }, @@ -5715,6 +5841,7 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index 9749496e..f0904ce5 100644 --- a/package.json +++ b/package.json @@ -52,23 +52,24 @@ }, "dependencies": { "@swc/helpers": "^0.5.15", - "axios": "^1.8.3", + "axios": "^1.8.4", "base64-arraybuffer": "^1.0.2", "pako": "^2.1.0" }, "devDependencies": { - "@parcel/packager-ts": "^2.12.0", - "@parcel/transformer-typescript-types": "^2.12.0", + "@eslint/js": "^9.23.0", + "@parcel/packager-ts": "^2.14.2", + "@parcel/transformer-typescript-types": "^2.14.2", "@types/pako": "^2.0.3", - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", - "eslint": "^8.51.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1", - "husky": "^9.1.5", - "lint-staged": "^15.2.10", - "parcel": "^2.12.0", - "prettier": "^3.3.3", - "typescript": "^5.3.2" + "eslint": "^9.23.0", + "eslint-config-prettier": "^10.1.1", + "eslint-plugin-prettier": "^5.2.5", + "globals": "^16.0.0", + "husky": "^9.1.7", + "lint-staged": "^15.5.0", + "parcel": "^2.14.2", + "prettier": "^3.5.3", + "typescript": "^5.8.2", + "typescript-eslint": "^8.28.0" } } diff --git a/.prettierrc.cjs b/prettier.config.js similarity index 72% rename from .prettierrc.cjs rename to prettier.config.js index c8c6a549..50035e7b 100644 --- a/.prettierrc.cjs +++ b/prettier.config.js @@ -1,7 +1,9 @@ -module.exports = { +const config = { semi: true, trailingComma: 'all', singleQuote: true, printWidth: 120, tabWidth: 4, }; + +export default config; diff --git a/src/.openapi-generator/FILES b/src/.openapi-generator/FILES index 4fd7e453..4c4314bd 100755 --- a/src/.openapi-generator/FILES +++ b/src/.openapi-generator/FILES @@ -2,25 +2,32 @@ api/healthcheck-api.ts api/process-api.ts api/transaction-api.ts base.ts +common.ts configuration.ts models/area-array.ts models/area-container.ts models/auth-params.ts +models/authenticity-check-list-item.ts models/authenticity-check-list.ts models/authenticity-check-result-item.ts +models/authenticity-check-result-list-inner.ts models/authenticity-check-result.ts -models/authenticity-result-all-of.ts models/authenticity-result-type.ts models/authenticity-result.ts +models/bar-code-module-type.ts +models/barcode-type.ts models/bc-pdf417-info.ts models/bc-roidetect.ts -models/byte-array-result-all-of.ts +models/binary-data.ts +models/byte-array-item.ts models/byte-array-result.ts +models/candidates-list-item.ts +models/certificate-data.ts models/check-diagnose.ts models/check-result.ts -models/chosen-document-type-result-all-of.ts models/chosen-document-type-result.ts models/chosen-document-type.ts +models/container-list-list-inner.ts models/container-list.ts models/critical.ts models/cross-source-value-comparison.ts @@ -28,87 +35,104 @@ models/data-module.ts models/details-optical.ts models/details-rfid.ts models/device-info.ts -models/doc-bar-code-info-all-of.ts models/doc-bar-code-info-fields-list.ts +models/doc-bar-code-info-item.ts models/doc-bar-code-info.ts +models/doc-graphics-info-item.ts +models/doc-visual-extended-field-item.ts models/doc-visual-extended-field.ts +models/doc-visual-extended-info-item.ts models/doc-visual-extended-info.ts +models/document-binary-info-result.ts models/document-format.ts -models/document-image-result-all-of.ts models/document-image-result.ts models/document-image.ts -models/document-position-result-all-of.ts +models/document-position-item.ts models/document-position-result.ts models/document-position.ts models/document-type-recognition-result.ts models/document-type.ts models/document-types-candidates-list.ts -models/document-types-candidates-result-all-of.ts models/document-types-candidates-result.ts models/document-types-candidates.ts models/documents-database.ts -models/encrypted-rclresult-all-of.ts +models/encrypted-rclitem.ts models/encrypted-rclresult.ts +models/error-coordinates.ts models/face-api-search.ts models/face-api.ts +models/face-detection-item.ts +models/face-detection-result.ts +models/face-detection.ts +models/face-item.ts models/fdsidlist.ts -models/fiber-result-all-of.ts +models/fiber-item.ts models/fiber-result.ts +models/field-item.ts +models/file-image.ts models/get-transactions-by-tag-response.ts +models/graph-data.ts models/graphic-field-type.ts models/graphic-field.ts models/graphic-fields-list.ts -models/graphics-result-all-of.ts models/graphics-result.ts models/healthcheck-documents-database.ts models/healthcheck.ts -models/ident-result-all-of.ts +models/ident-item.ts models/ident-result.ts models/image-data.ts models/image-qa.ts +models/image-quality-check-list-item.ts models/image-quality-check-list.ts models/image-quality-check-type.ts models/image-quality-check.ts -models/image-quality-result-all-of.ts models/image-quality-result.ts models/image-transaction-data.ts models/images-available-source.ts models/images-field-value.ts models/images-field.ts -models/images-result-all-of.ts +models/images-item.ts models/images-result.ts models/images.ts models/in-data-transaction-images-field-value.ts models/in-data-video.ts models/in-data.ts models/index.ts -models/inline-response200.ts -models/inline-response2001.ts models/input-barcode-type.ts models/input-image-quality-checks.ts models/lcid.ts -models/lexical-analysis-result-all-of.ts models/lexical-analysis-result.ts -models/license-result-all-of.ts +models/license-item.ts models/license-result.ts models/light.ts models/list-transactions-by-tag-response.ts +models/list-verified-fields-item.ts models/list-verified-fields.ts models/liveness-params.ts models/log-level.ts models/measure-system.ts models/mrz-detect-mode-enum.ts +models/mrz-position-item.ts +models/mrz-position.ts +models/mrzdetector-result.ts models/mrzformat.ts -models/ocrsecurity-text-result-all-of.ts +models/mrzposition-result.ts +models/mrzrows-item.ts +models/mrztest-quality-item.ts +models/mrztest-quality-result.ts +models/mrztest-quality.ts +models/ocrsecurity-text-item.ts models/ocrsecurity-text-result.ts +models/one-candidate-item.ts models/one-candidate.ts models/original-symbol.ts models/out-data-transaction-images-field-value.ts models/out-data.ts models/parray-field.ts +models/parsed-data.ts models/parsing-notification-codes.ts models/per-document-config.ts -models/photo-ident-result-all-of.ts +models/photo-ident-item.ts models/photo-ident-result.ts models/point-array.ts models/point.ts @@ -120,38 +144,89 @@ models/process-request.ts models/process-response.ts models/process-system-info.ts models/processing-status.ts +models/raw-image-container-item.ts models/raw-image-container-list.ts models/rectangle-coordinates.ts models/result-item.ts +models/result-mrzdetector-item.ts +models/result-mrzdetector.ts models/result.ts +models/rfid-access-control-info.ts +models/rfid-access-control-procedure-type.ts +models/rfid-access-key.ts +models/rfid-achip.ts +models/rfid-application-type.ts +models/rfid-application.ts +models/rfid-attribute-data.ts +models/rfid-attribute-name.ts +models/rfid-authentication-procedure-type.ts +models/rfid-baud-rate.ts +models/rfid-card-properties-ext.ts +models/rfid-certificate-ex.ts +models/rfid-certificate-origin.ts +models/rfid-certificate-type.ts +models/rfid-data-file-type.ts +models/rfid-data-file.ts +models/rfid-data-group-type-tag.ts +models/rfid-dg1.ts +models/rfid-distinguished-name.ts models/rfid-location.ts models/rfid-origin.ts +models/rfid-password-type.ts +models/rfid-pki-extension.ts +models/rfid-raw-data.ts +models/rfid-security-object.ts +models/rfid-session-data.ts +models/rfid-signer-info-ex.ts +models/rfid-terminal-type.ts +models/rfid-terminal.ts +models/rfid-type.ts +models/rfid-validity.ts +models/rfiddoc-visual-extended-field-item.ts +models/rfiddoc-visual-extended-field.ts +models/rfiddoc-visual-extended-info-item.ts +models/rfiddoc-visual-extended-info.ts +models/rfiderror-codes.ts +models/rfidgraphics-info-result.ts +models/rfidpkdresource-type.ts +models/rfidtext-data-result.ts models/scenario.ts -models/security-feature-result-all-of.ts +models/security-feature-item.ts models/security-feature-result.ts models/security-feature-type.ts +models/security-object-certificates.ts models/source-validity.ts models/source.ts -models/status-result-all-of.ts +models/status-item.ts models/status-result.ts models/status.ts +models/string-item.ts models/string-recognition-result.ts models/symbol-candidate.ts +models/symbol-estimation-item.ts models/symbol-recognition-result.ts +models/symbol.ts +models/tdoc-binary-info-item.ts +models/tdoc-binary-info.ts models/text-available-source.ts -models/text-data-result-all-of.ts models/text-data-result.ts models/text-field-type.ts models/text-field-value.ts models/text-field.ts +models/text-item.ts models/text-post-processing.ts -models/text-result-all-of.ts models/text-result.ts models/text.ts +models/toriginal-rfidgraphics-info-item.ts +models/toriginal-rfidgraphics-info.ts models/transaction-image.ts models/transaction-info.ts models/transaction-process-get-response.ts models/transaction-process-request.ts +models/transaction-process-result.ts +models/trf-ft-bytes.ts +models/trf-ft-string.ts models/verification-result.ts models/verified-field-map.ts models/visibility.ts +models/visual-extended-field-item.ts diff --git a/src/.openapi-generator/VERSION b/src/.openapi-generator/VERSION index 28cbf7c0..5f84a81d 100755 --- a/src/.openapi-generator/VERSION +++ b/src/.openapi-generator/VERSION @@ -1 +1 @@ -5.0.0 \ No newline at end of file +7.12.0 diff --git a/src/api/default-api.ts b/src/api/default-api.ts deleted file mode 100755 index 456f01ac..00000000 --- a/src/api/default-api.ts +++ /dev/null @@ -1,134 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; -import { Configuration } from '../configuration'; -// Some imports not used depending on template conditions -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base.js'; -// @ts-ignore -import { DeviceInfo } from '../models.js'; -/** - * DefaultApi - axios parameter creator - * @export - */ -export const DefaultApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * - * @summary Server health check - * @param {string} [xRequestID] - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - ping: async (xRequestID?: string, options: any = {}): Promise => { - const localVarPath = `/api/ping`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (xRequestID !== undefined && xRequestID !== null) { - localVarHeaderParameter['X-RequestID'] = String(xRequestID); - } - - - - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); - } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * DefaultApi - functional programming interface - * @export - */ -export const DefaultApiFp = function(configuration?: Configuration) { - return { - /** - * - * @summary Server health check - * @param {string} [xRequestID] - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async ping(xRequestID?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).ping(xRequestID, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; - }, - } -}; - -/** - * DefaultApi - factory interface - * @export - */ -export const DefaultApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - return { - /** - * - * @summary Server health check - * @param {string} [xRequestID] - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - ping(xRequestID?: string, options?: any): AxiosPromise { - return DefaultApiFp(configuration).ping(xRequestID, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * DefaultApi - object-oriented interface - * @export - * @class DefaultApi - * @extends {BaseAPI} - */ -export class DefaultApi extends BaseAPI { - /** - * - * @summary Server health check - * @param {string} [xRequestID] - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof DefaultApi - */ - public ping(xRequestID?: string, options?: any) { - return DefaultApiFp(this.configuration).ping(xRequestID, options).then((request) => request(this.axios, this.basePath)); - } -} diff --git a/src/api/healthcheck-api.ts b/src/api/healthcheck-api.ts index 58051499..336ee4fa 100644 --- a/src/api/healthcheck-api.ts +++ b/src/api/healthcheck-api.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,15 +13,18 @@ */ -import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; -import { Configuration } from '../configuration'; +import type { Configuration } from '../configuration'; +import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; +import globalAxios from 'axios'; // Some imports not used depending on template conditions // @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; // @ts-ignore -import { DeviceInfo } from '../models'; +import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base'; // @ts-ignore -import { Healthcheck } from '../models'; +import type { DeviceInfo } from '../models'; +// @ts-ignore +import type { Healthcheck } from '../models'; /** * HealthcheckApi - axios parameter creator * @export @@ -35,10 +38,10 @@ export const HealthcheckApiAxiosParamCreator = function (configuration?: Configu * @param {*} [options] Override http request option. * @throws {RequiredError} */ - healthz: async (xRequestID?: string, options: any = {}): Promise => { + healthz: async (xRequestID?: string, options: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/api/healthz`; // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; @@ -48,25 +51,17 @@ export const HealthcheckApiAxiosParamCreator = function (configuration?: Configu const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; - if (xRequestID !== undefined && xRequestID !== null) { - localVarHeaderParameter['X-RequestID'] = String(xRequestID); - } - - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); + if (xRequestID != null) { + localVarHeaderParameter['X-RequestID'] = String(xRequestID); } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, @@ -75,12 +70,13 @@ export const HealthcheckApiAxiosParamCreator = function (configuration?: Configu * @summary Server health check * @param {string} [xRequestID] * @param {*} [options] Override http request option. + * @deprecated * @throws {RequiredError} */ - ping: async (xRequestID?: string, options: any = {}): Promise => { + ping: async (xRequestID?: string, options: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/api/ping`; // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; @@ -90,25 +86,17 @@ export const HealthcheckApiAxiosParamCreator = function (configuration?: Configu const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; - if (xRequestID !== undefined && xRequestID !== null) { - localVarHeaderParameter['X-RequestID'] = String(xRequestID); - } - - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); + if (xRequestID != null) { + localVarHeaderParameter['X-RequestID'] = String(xRequestID); } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, @@ -119,10 +107,10 @@ export const HealthcheckApiAxiosParamCreator = function (configuration?: Configu * @param {*} [options] Override http request option. * @throws {RequiredError} */ - readyz: async (xRequestID?: string, options: any = {}): Promise => { + readyz: async (xRequestID?: string, options: RawAxiosRequestConfig = {}): Promise => { const localVarPath = `/api/readyz`; // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; @@ -132,25 +120,17 @@ export const HealthcheckApiAxiosParamCreator = function (configuration?: Configu const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; - if (xRequestID !== undefined && xRequestID !== null) { - localVarHeaderParameter['X-RequestID'] = String(xRequestID); - } - - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); + if (xRequestID != null) { + localVarHeaderParameter['X-RequestID'] = String(xRequestID); } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, @@ -162,6 +142,7 @@ export const HealthcheckApiAxiosParamCreator = function (configuration?: Configu * @export */ export const HealthcheckApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = HealthcheckApiAxiosParamCreator(configuration) return { /** * @@ -170,26 +151,25 @@ export const HealthcheckApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async healthz(xRequestID?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await HealthcheckApiAxiosParamCreator(configuration).healthz(xRequestID, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; + async healthz(xRequestID?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.healthz(xRequestID, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['HealthcheckApi.healthz']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * * @summary Server health check * @param {string} [xRequestID] * @param {*} [options] Override http request option. + * @deprecated * @throws {RequiredError} */ - async ping(xRequestID?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await HealthcheckApiAxiosParamCreator(configuration).ping(xRequestID, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; + async ping(xRequestID?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.ping(xRequestID, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['HealthcheckApi.ping']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * @@ -198,12 +178,11 @@ export const HealthcheckApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async readyz(xRequestID?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await HealthcheckApiAxiosParamCreator(configuration).readyz(xRequestID, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; + async readyz(xRequestID?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.readyz(xRequestID, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['HealthcheckApi.readyz']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; @@ -213,6 +192,7 @@ export const HealthcheckApiFp = function(configuration?: Configuration) { * @export */ export const HealthcheckApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = HealthcheckApiFp(configuration) return { /** * @@ -221,18 +201,19 @@ export const HealthcheckApiFactory = function (configuration?: Configuration, ba * @param {*} [options] Override http request option. * @throws {RequiredError} */ - healthz(xRequestID?: string, options?: any): AxiosPromise { - return HealthcheckApiFp(configuration).healthz(xRequestID, options).then((request) => request(axios, basePath)); + healthz(xRequestID?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.healthz(xRequestID, options).then((request) => request(axios, basePath)); }, /** * * @summary Server health check * @param {string} [xRequestID] * @param {*} [options] Override http request option. + * @deprecated * @throws {RequiredError} */ - ping(xRequestID?: string, options?: any): AxiosPromise { - return HealthcheckApiFp(configuration).ping(xRequestID, options).then((request) => request(axios, basePath)); + ping(xRequestID?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.ping(xRequestID, options).then((request) => request(axios, basePath)); }, /** * @@ -241,8 +222,8 @@ export const HealthcheckApiFactory = function (configuration?: Configuration, ba * @param {*} [options] Override http request option. * @throws {RequiredError} */ - readyz(xRequestID?: string, options?: any): AxiosPromise { - return HealthcheckApiFp(configuration).readyz(xRequestID, options).then((request) => request(axios, basePath)); + readyz(xRequestID?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.readyz(xRequestID, options).then((request) => request(axios, basePath)); }, }; }; @@ -262,7 +243,7 @@ export class HealthcheckApi extends BaseAPI { * @throws {RequiredError} * @memberof HealthcheckApi */ - public healthz(xRequestID?: string, options?: any) { + public healthz(xRequestID?: string, options?: RawAxiosRequestConfig) { return HealthcheckApiFp(this.configuration).healthz(xRequestID, options).then((request) => request(this.axios, this.basePath)); } @@ -271,10 +252,11 @@ export class HealthcheckApi extends BaseAPI { * @summary Server health check * @param {string} [xRequestID] * @param {*} [options] Override http request option. + * @deprecated * @throws {RequiredError} * @memberof HealthcheckApi */ - public ping(xRequestID?: string, options?: any) { + public ping(xRequestID?: string, options?: RawAxiosRequestConfig) { return HealthcheckApiFp(this.configuration).ping(xRequestID, options).then((request) => request(this.axios, this.basePath)); } @@ -286,7 +268,8 @@ export class HealthcheckApi extends BaseAPI { * @throws {RequiredError} * @memberof HealthcheckApi */ - public readyz(xRequestID?: string, options?: any) { + public readyz(xRequestID?: string, options?: RawAxiosRequestConfig) { return HealthcheckApiFp(this.configuration).readyz(xRequestID, options).then((request) => request(this.axios, this.basePath)); } } + diff --git a/src/api/process-api.ts b/src/api/process-api.ts index 6e5a06fe..b1520ff7 100644 --- a/src/api/process-api.ts +++ b/src/api/process-api.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,15 +13,18 @@ */ -import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; -import { Configuration } from '../configuration'; +import type { Configuration } from '../configuration'; +import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; +import globalAxios from 'axios'; // Some imports not used depending on template conditions // @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; // @ts-ignore -import { ProcessRequest } from '../models'; +import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base'; // @ts-ignore -import { ProcessResponse } from '../models'; +import type { ProcessRequest } from '../models'; +// @ts-ignore +import type { ProcessResponse } from '../models'; /** * ProcessApi - axios parameter creator * @export @@ -36,14 +39,12 @@ export const ProcessApiAxiosParamCreator = function (configuration?: Configurati * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiProcess: async (processRequest: ProcessRequest, xRequestID?: string, options: any = {}): Promise => { + apiProcess: async (processRequest: ProcessRequest, xRequestID?: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'processRequest' is not null or undefined - if (processRequest === null || processRequest === undefined) { - throw new RequiredError('processRequest','Required parameter processRequest was null or undefined when calling apiProcess.'); - } + assertParamExists('apiProcess', 'processRequest', processRequest) const localVarPath = `/api/process`; // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; @@ -53,34 +54,20 @@ export const ProcessApiAxiosParamCreator = function (configuration?: Configurati const localVarHeaderParameter = {} as any; const localVarQueryParameter = {} as any; - if (xRequestID !== undefined && xRequestID !== null) { - localVarHeaderParameter['X-RequestID'] = String(xRequestID); - } - localVarHeaderParameter['Content-Type'] = 'application/json'; - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); + if (xRequestID != null) { + localVarHeaderParameter['X-RequestID'] = String(xRequestID); } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - const nonString = typeof processRequest !== 'string'; - const needsSerialization = nonString && configuration && configuration.isJsonMime - ? configuration.isJsonMime(localVarRequestOptions.headers['Content-Type']) - : nonString; - localVarRequestOptions.data = needsSerialization - ? JSON.stringify(processRequest !== undefined ? processRequest : {}) - : (processRequest || ""); + localVarRequestOptions.data = serializeDataIfNeeded(processRequest, localVarRequestOptions, configuration) return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, @@ -92,6 +79,7 @@ export const ProcessApiAxiosParamCreator = function (configuration?: Configurati * @export */ export const ProcessApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = ProcessApiAxiosParamCreator(configuration) return { /** * @@ -101,12 +89,11 @@ export const ProcessApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiProcess(processRequest: ProcessRequest, xRequestID?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await ProcessApiAxiosParamCreator(configuration).apiProcess(processRequest, xRequestID, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; + async apiProcess(processRequest: ProcessRequest, xRequestID?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiProcess(processRequest, xRequestID, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ProcessApi.apiProcess']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; @@ -116,6 +103,7 @@ export const ProcessApiFp = function(configuration?: Configuration) { * @export */ export const ProcessApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = ProcessApiFp(configuration) return { /** * @@ -125,8 +113,8 @@ export const ProcessApiFactory = function (configuration?: Configuration, basePa * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiProcess(processRequest: ProcessRequest, xRequestID?: string, options?: any): AxiosPromise { - return ProcessApiFp(configuration).apiProcess(processRequest, xRequestID, options).then((request) => request(axios, basePath)); + apiProcess(processRequest: ProcessRequest, xRequestID?: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.apiProcess(processRequest, xRequestID, options).then((request) => request(axios, basePath)); }, }; }; @@ -147,7 +135,8 @@ export class ProcessApi extends BaseAPI { * @throws {RequiredError} * @memberof ProcessApi */ - public apiProcess(processRequest: ProcessRequest, xRequestID?: string, options?: any) { + public apiProcess(processRequest: ProcessRequest, xRequestID?: string, options?: RawAxiosRequestConfig) { return ProcessApiFp(this.configuration).apiProcess(processRequest, xRequestID, options).then((request) => request(this.axios, this.basePath)); } } + diff --git a/src/api/transaction-api.ts b/src/api/transaction-api.ts index a649ec95..44b78f09 100644 --- a/src/api/transaction-api.ts +++ b/src/api/transaction-api.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,21 +13,24 @@ */ -import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; -import { Configuration } from '../configuration'; +import type { Configuration } from '../configuration'; +import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; +import globalAxios from 'axios'; // Some imports not used depending on template conditions // @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; +import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common'; // @ts-ignore -import { InlineResponse200 } from '../models'; +import { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base'; // @ts-ignore -import { InlineResponse2001 } from '../models'; +import type { ListTransactionsByTagResponse } from '../models'; // @ts-ignore -import { ListTransactionsByTagResponse } from '../models'; +import type { ProcessResponse } from '../models'; // @ts-ignore -import { TransactionProcessGetResponse } from '../models'; +import type { TransactionProcessGetResponse } from '../models'; // @ts-ignore -import { TransactionProcessRequest } from '../models'; +import type { TransactionProcessRequest } from '../models'; +// @ts-ignore +import type { TransactionProcessResult } from '../models'; /** * TransactionApi - axios parameter creator * @export @@ -41,15 +44,13 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TagTagIdDelete: async (tagId: string, options: any = {}): Promise => { + apiV2TagTagIdDelete: async (tagId: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'tagId' is not null or undefined - if (tagId === null || tagId === undefined) { - throw new RequiredError('tagId','Required parameter tagId was null or undefined when calling apiV2TagTagIdDelete.'); - } + assertParamExists('apiV2TagTagIdDelete', 'tagId', tagId) const localVarPath = `/api/v2/tag/{tagId}` .replace(`{${"tagId"}}`, encodeURIComponent(String(tagId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; @@ -61,19 +62,12 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); - } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, @@ -84,15 +78,13 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TagTagIdTransactionsGet: async (tagId: string, options: any = {}): Promise => { + apiV2TagTagIdTransactionsGet: async (tagId: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'tagId' is not null or undefined - if (tagId === null || tagId === undefined) { - throw new RequiredError('tagId','Required parameter tagId was null or undefined when calling apiV2TagTagIdTransactionsGet.'); - } + assertParamExists('apiV2TagTagIdTransactionsGet', 'tagId', tagId) const localVarPath = `/api/v2/tag/{tagId}/transactions` .replace(`{${"tagId"}}`, encodeURIComponent(String(tagId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; @@ -104,19 +96,12 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); - } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, @@ -128,19 +113,15 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TransactionTransactionIdFileGet: async (transactionId: string, name: string, options: any = {}): Promise => { + apiV2TransactionTransactionIdFileGet: async (transactionId: string, name: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'transactionId' is not null or undefined - if (transactionId === null || transactionId === undefined) { - throw new RequiredError('transactionId','Required parameter transactionId was null or undefined when calling apiV2TransactionTransactionIdFileGet.'); - } + assertParamExists('apiV2TransactionTransactionIdFileGet', 'transactionId', transactionId) // verify required parameter 'name' is not null or undefined - if (name === null || name === undefined) { - throw new RequiredError('name','Required parameter name was null or undefined when calling apiV2TransactionTransactionIdFileGet.'); - } + assertParamExists('apiV2TransactionTransactionIdFileGet', 'name', name) const localVarPath = `/api/v2/transaction/{transactionId}/file` .replace(`{${"transactionId"}}`, encodeURIComponent(String(transactionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; @@ -156,19 +137,12 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); - } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, @@ -179,15 +153,13 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TransactionTransactionIdGet: async (transactionId: string, options: any = {}): Promise => { + apiV2TransactionTransactionIdGet: async (transactionId: string, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'transactionId' is not null or undefined - if (transactionId === null || transactionId === undefined) { - throw new RequiredError('transactionId','Required parameter transactionId was null or undefined when calling apiV2TransactionTransactionIdGet.'); - } + assertParamExists('apiV2TransactionTransactionIdGet', 'transactionId', transactionId) const localVarPath = `/api/v2/transaction/{transactionId}` .replace(`{${"transactionId"}}`, encodeURIComponent(String(transactionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; @@ -199,19 +171,12 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); - } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, @@ -223,19 +188,15 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TransactionTransactionIdProcessPost: async (transactionId: string, transactionProcessRequest: TransactionProcessRequest, options: any = {}): Promise => { + apiV2TransactionTransactionIdProcessPost: async (transactionId: string, transactionProcessRequest: TransactionProcessRequest, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'transactionId' is not null or undefined - if (transactionId === null || transactionId === undefined) { - throw new RequiredError('transactionId','Required parameter transactionId was null or undefined when calling apiV2TransactionTransactionIdProcessPost.'); - } + assertParamExists('apiV2TransactionTransactionIdProcessPost', 'transactionId', transactionId) // verify required parameter 'transactionProcessRequest' is not null or undefined - if (transactionProcessRequest === null || transactionProcessRequest === undefined) { - throw new RequiredError('transactionProcessRequest','Required parameter transactionProcessRequest was null or undefined when calling apiV2TransactionTransactionIdProcessPost.'); - } + assertParamExists('apiV2TransactionTransactionIdProcessPost', 'transactionProcessRequest', transactionProcessRequest) const localVarPath = `/api/v2/transaction/{transactionId}/process` .replace(`{${"transactionId"}}`, encodeURIComponent(String(transactionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; @@ -249,26 +210,13 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu localVarHeaderParameter['Content-Type'] = 'application/json'; - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); - } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - const nonString = typeof transactionProcessRequest !== 'string'; - const needsSerialization = nonString && configuration && configuration.isJsonMime - ? configuration.isJsonMime(localVarRequestOptions.headers['Content-Type']) - : nonString; - localVarRequestOptions.data = needsSerialization - ? JSON.stringify(transactionProcessRequest !== undefined ? transactionProcessRequest : {}) - : (transactionProcessRequest || ""); + localVarRequestOptions.data = serializeDataIfNeeded(transactionProcessRequest, localVarRequestOptions, configuration) return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, @@ -280,15 +228,13 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TransactionTransactionIdResultsGet: async (transactionId: string, withImages?: boolean, options: any = {}): Promise => { + apiV2TransactionTransactionIdResultsGet: async (transactionId: string, withImages?: boolean, options: RawAxiosRequestConfig = {}): Promise => { // verify required parameter 'transactionId' is not null or undefined - if (transactionId === null || transactionId === undefined) { - throw new RequiredError('transactionId','Required parameter transactionId was null or undefined when calling apiV2TransactionTransactionIdResultsGet.'); - } + assertParamExists('apiV2TransactionTransactionIdResultsGet', 'transactionId', transactionId) const localVarPath = `/api/v2/transaction/{transactionId}/results` .replace(`{${"transactionId"}}`, encodeURIComponent(String(transactionId))); // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; @@ -304,19 +250,12 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu - const queryParameters = new URLSearchParams(localVarUrlObj.search); - for (const key in localVarQueryParameter) { - queryParameters.set(key, localVarQueryParameter[key]); - } - for (const key in options.query) { - queryParameters.set(key, options.query[key]); - } - localVarUrlObj.search = (new URLSearchParams(queryParameters)).toString(); + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; return { - url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, @@ -328,6 +267,7 @@ export const TransactionApiAxiosParamCreator = function (configuration?: Configu * @export */ export const TransactionApiFp = function(configuration?: Configuration) { + const localVarAxiosParamCreator = TransactionApiAxiosParamCreator(configuration) return { /** * @@ -336,12 +276,11 @@ export const TransactionApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiV2TagTagIdDelete(tagId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await TransactionApiAxiosParamCreator(configuration).apiV2TagTagIdDelete(tagId, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; + async apiV2TagTagIdDelete(tagId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2TagTagIdDelete(tagId, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['TransactionApi.apiV2TagTagIdDelete']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * @@ -350,12 +289,11 @@ export const TransactionApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiV2TagTagIdTransactionsGet(tagId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await TransactionApiAxiosParamCreator(configuration).apiV2TagTagIdTransactionsGet(tagId, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; + async apiV2TagTagIdTransactionsGet(tagId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2TagTagIdTransactionsGet(tagId, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['TransactionApi.apiV2TagTagIdTransactionsGet']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * @@ -365,12 +303,11 @@ export const TransactionApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiV2TransactionTransactionIdFileGet(transactionId: string, name: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await TransactionApiAxiosParamCreator(configuration).apiV2TransactionTransactionIdFileGet(transactionId, name, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; + async apiV2TransactionTransactionIdFileGet(transactionId: string, name: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2TransactionTransactionIdFileGet(transactionId, name, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['TransactionApi.apiV2TransactionTransactionIdFileGet']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * @@ -379,12 +316,11 @@ export const TransactionApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiV2TransactionTransactionIdGet(transactionId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await TransactionApiAxiosParamCreator(configuration).apiV2TransactionTransactionIdGet(transactionId, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; + async apiV2TransactionTransactionIdGet(transactionId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2TransactionTransactionIdGet(transactionId, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['TransactionApi.apiV2TransactionTransactionIdGet']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * @@ -394,12 +330,11 @@ export const TransactionApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await TransactionApiAxiosParamCreator(configuration).apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; + async apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['TransactionApi.apiV2TransactionTransactionIdProcessPost']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, /** * @@ -409,12 +344,11 @@ export const TransactionApiFp = function(configuration?: Configuration) { * @param {*} [options] Override http request option. * @throws {RequiredError} */ - async apiV2TransactionTransactionIdResultsGet(transactionId: string, withImages?: boolean, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await TransactionApiAxiosParamCreator(configuration).apiV2TransactionTransactionIdResultsGet(transactionId, withImages, options); - return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...localVarAxiosArgs.options, url: (configuration?.basePath || basePath) + localVarAxiosArgs.url}; - return axios.request(axiosRequestArgs); - }; + async apiV2TransactionTransactionIdResultsGet(transactionId: string, withImages?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiV2TransactionTransactionIdResultsGet(transactionId, withImages, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['TransactionApi.apiV2TransactionTransactionIdResultsGet']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, } }; @@ -424,6 +358,7 @@ export const TransactionApiFp = function(configuration?: Configuration) { * @export */ export const TransactionApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { + const localVarFp = TransactionApiFp(configuration) return { /** * @@ -432,8 +367,8 @@ export const TransactionApiFactory = function (configuration?: Configuration, ba * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TagTagIdDelete(tagId: string, options?: any): AxiosPromise { - return TransactionApiFp(configuration).apiV2TagTagIdDelete(tagId, options).then((request) => request(axios, basePath)); + apiV2TagTagIdDelete(tagId: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.apiV2TagTagIdDelete(tagId, options).then((request) => request(axios, basePath)); }, /** * @@ -442,8 +377,8 @@ export const TransactionApiFactory = function (configuration?: Configuration, ba * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TagTagIdTransactionsGet(tagId: string, options?: any): AxiosPromise { - return TransactionApiFp(configuration).apiV2TagTagIdTransactionsGet(tagId, options).then((request) => request(axios, basePath)); + apiV2TagTagIdTransactionsGet(tagId: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.apiV2TagTagIdTransactionsGet(tagId, options).then((request) => request(axios, basePath)); }, /** * @@ -453,8 +388,8 @@ export const TransactionApiFactory = function (configuration?: Configuration, ba * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TransactionTransactionIdFileGet(transactionId: string, name: string, options?: any): AxiosPromise { - return TransactionApiFp(configuration).apiV2TransactionTransactionIdFileGet(transactionId, name, options).then((request) => request(axios, basePath)); + apiV2TransactionTransactionIdFileGet(transactionId: string, name: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.apiV2TransactionTransactionIdFileGet(transactionId, name, options).then((request) => request(axios, basePath)); }, /** * @@ -463,8 +398,8 @@ export const TransactionApiFactory = function (configuration?: Configuration, ba * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TransactionTransactionIdGet(transactionId: string, options?: any): AxiosPromise { - return TransactionApiFp(configuration).apiV2TransactionTransactionIdGet(transactionId, options).then((request) => request(axios, basePath)); + apiV2TransactionTransactionIdGet(transactionId: string, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.apiV2TransactionTransactionIdGet(transactionId, options).then((request) => request(axios, basePath)); }, /** * @@ -474,8 +409,8 @@ export const TransactionApiFactory = function (configuration?: Configuration, ba * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, options?: any): AxiosPromise { - return TransactionApiFp(configuration).apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, options).then((request) => request(axios, basePath)); + apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, options).then((request) => request(axios, basePath)); }, /** * @@ -485,8 +420,8 @@ export const TransactionApiFactory = function (configuration?: Configuration, ba * @param {*} [options] Override http request option. * @throws {RequiredError} */ - apiV2TransactionTransactionIdResultsGet(transactionId: string, withImages?: boolean, options?: any): AxiosPromise { - return TransactionApiFp(configuration).apiV2TransactionTransactionIdResultsGet(transactionId, withImages, options).then((request) => request(axios, basePath)); + apiV2TransactionTransactionIdResultsGet(transactionId: string, withImages?: boolean, options?: RawAxiosRequestConfig): AxiosPromise { + return localVarFp.apiV2TransactionTransactionIdResultsGet(transactionId, withImages, options).then((request) => request(axios, basePath)); }, }; }; @@ -506,7 +441,7 @@ export class TransactionApi extends BaseAPI { * @throws {RequiredError} * @memberof TransactionApi */ - public apiV2TagTagIdDelete(tagId: string, options?: any) { + public apiV2TagTagIdDelete(tagId: string, options?: RawAxiosRequestConfig) { return TransactionApiFp(this.configuration).apiV2TagTagIdDelete(tagId, options).then((request) => request(this.axios, this.basePath)); } @@ -518,7 +453,7 @@ export class TransactionApi extends BaseAPI { * @throws {RequiredError} * @memberof TransactionApi */ - public apiV2TagTagIdTransactionsGet(tagId: string, options?: any) { + public apiV2TagTagIdTransactionsGet(tagId: string, options?: RawAxiosRequestConfig) { return TransactionApiFp(this.configuration).apiV2TagTagIdTransactionsGet(tagId, options).then((request) => request(this.axios, this.basePath)); } @@ -531,7 +466,7 @@ export class TransactionApi extends BaseAPI { * @throws {RequiredError} * @memberof TransactionApi */ - public apiV2TransactionTransactionIdFileGet(transactionId: string, name: string, options?: any) { + public apiV2TransactionTransactionIdFileGet(transactionId: string, name: string, options?: RawAxiosRequestConfig) { return TransactionApiFp(this.configuration).apiV2TransactionTransactionIdFileGet(transactionId, name, options).then((request) => request(this.axios, this.basePath)); } @@ -543,7 +478,7 @@ export class TransactionApi extends BaseAPI { * @throws {RequiredError} * @memberof TransactionApi */ - public apiV2TransactionTransactionIdGet(transactionId: string, options?: any) { + public apiV2TransactionTransactionIdGet(transactionId: string, options?: RawAxiosRequestConfig) { return TransactionApiFp(this.configuration).apiV2TransactionTransactionIdGet(transactionId, options).then((request) => request(this.axios, this.basePath)); } @@ -556,7 +491,7 @@ export class TransactionApi extends BaseAPI { * @throws {RequiredError} * @memberof TransactionApi */ - public apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, options?: any) { + public apiV2TransactionTransactionIdProcessPost(transactionId: string, transactionProcessRequest: TransactionProcessRequest, options?: RawAxiosRequestConfig) { return TransactionApiFp(this.configuration).apiV2TransactionTransactionIdProcessPost(transactionId, transactionProcessRequest, options).then((request) => request(this.axios, this.basePath)); } @@ -569,7 +504,8 @@ export class TransactionApi extends BaseAPI { * @throws {RequiredError} * @memberof TransactionApi */ - public apiV2TransactionTransactionIdResultsGet(transactionId: string, withImages?: boolean, options?: any) { + public apiV2TransactionTransactionIdResultsGet(transactionId: string, withImages?: boolean, options?: RawAxiosRequestConfig) { return TransactionApiFp(this.configuration).apiV2TransactionTransactionIdResultsGet(transactionId, withImages, options).then((request) => request(this.axios, this.basePath)); } } + diff --git a/src/base.ts b/src/base.ts old mode 100755 new mode 100644 index fdc070ef..3122e583 --- a/src/base.ts +++ b/src/base.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,10 +13,11 @@ */ -import { Configuration } from "./configuration"; +import type { Configuration } from './configuration'; // Some imports not used depending on template conditions // @ts-ignore -import globalAxios, { AxiosPromise, AxiosInstance } from 'axios'; +import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; +import globalAxios from 'axios'; export const BASE_PATH = "https://api.regulaforensics.com".replace(/\/+$/, ""); @@ -38,7 +39,7 @@ export const COLLECTION_FORMATS = { */ export interface RequestArgs { url: string; - options: any; + options: RawAxiosRequestConfig; } /** @@ -52,7 +53,7 @@ export class BaseAPI { constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) { if (configuration) { this.configuration = configuration; - this.basePath = configuration.basePath || this.basePath; + this.basePath = configuration.basePath ?? basePath; } } }; @@ -64,8 +65,22 @@ export class BaseAPI { * @extends {Error} */ export class RequiredError extends Error { - name: "RequiredError" = "RequiredError"; constructor(public field: string, msg?: string) { super(msg); + this.name = "RequiredError" } } + +interface ServerMap { + [key: string]: { + url: string, + description: string, + }[]; +} + +/** + * + * @export + */ +export const operationServerMap: ServerMap = { +} diff --git a/src/common.ts b/src/common.ts new file mode 100644 index 00000000..02333c7e --- /dev/null +++ b/src/common.ts @@ -0,0 +1,150 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import type { Configuration } from "./configuration"; +import type { RequestArgs } from "./base"; +import type { AxiosInstance, AxiosResponse } from 'axios'; +import { RequiredError } from "./base"; + +/** + * + * @export + */ +export const DUMMY_BASE_URL = 'https://example.com' + +/** + * + * @throws {RequiredError} + * @export + */ +export const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) { + if (paramValue === null || paramValue === undefined) { + throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`); + } +} + +/** + * + * @export + */ +export const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) { + if (configuration && configuration.apiKey) { + const localVarApiKeyValue = typeof configuration.apiKey === 'function' + ? await configuration.apiKey(keyParamName) + : await configuration.apiKey; + object[keyParamName] = localVarApiKeyValue; + } +} + +/** + * + * @export + */ +export const setBasicAuthToObject = function (object: any, configuration?: Configuration) { + if (configuration && (configuration.username || configuration.password)) { + object["auth"] = { username: configuration.username, password: configuration.password }; + } +} + +/** + * + * @export + */ +export const setBearerAuthToObject = async function (object: any, configuration?: Configuration) { + if (configuration && configuration.accessToken) { + const accessToken = typeof configuration.accessToken === 'function' + ? await configuration.accessToken() + : await configuration.accessToken; + object["Authorization"] = "Bearer " + accessToken; + } +} + +/** + * + * @export + */ +export const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) { + if (configuration && configuration.accessToken) { + const localVarAccessTokenValue = typeof configuration.accessToken === 'function' + ? await configuration.accessToken(name, scopes) + : await configuration.accessToken; + object["Authorization"] = "Bearer " + localVarAccessTokenValue; + } +} + +function setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = ""): void { + if (parameter == null) return; + if (typeof parameter === "object") { + if (Array.isArray(parameter)) { + (parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key)); + } + else { + Object.keys(parameter).forEach(currentKey => + setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`) + ); + } + } + else { + if (urlSearchParams.has(key)) { + urlSearchParams.append(key, parameter); + } + else { + urlSearchParams.set(key, parameter); + } + } +} + +/** + * + * @export + */ +export const setSearchParams = function (url: URL, ...objects: any[]) { + const searchParams = new URLSearchParams(url.search); + setFlattenedQueryParams(searchParams, objects); + url.search = searchParams.toString(); +} + +/** + * + * @export + */ +export const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) { + const nonString = typeof value !== 'string'; + const needsSerialization = nonString && configuration && configuration.isJsonMime + ? configuration.isJsonMime(requestOptions.headers['Content-Type']) + : nonString; + return needsSerialization + ? JSON.stringify(value !== undefined ? value : {}) + : (value || ""); +} + +/** + * + * @export + */ +export const toPathString = function (url: URL) { + return url.pathname + url.search + url.hash +} + +/** + * + * @export + */ +export const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) { + return >(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { + const axiosRequestArgs = {...axiosArgs.options, url: (axios.defaults.baseURL ? '' : configuration?.basePath ?? basePath) + axiosArgs.url}; + return axios.request(axiosRequestArgs); + }; +} diff --git a/src/configuration.ts b/src/configuration.ts old mode 100755 new mode 100644 index 73365b0a..daa1cb3d --- a/src/configuration.ts +++ b/src/configuration.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,6 +19,7 @@ export interface ConfigurationParameters { password?: string; accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); basePath?: string; + serverIndex?: number; baseOptions?: any; formDataCtor?: new () => any; } @@ -58,6 +59,13 @@ export class Configuration { * @memberof Configuration */ basePath?: string; + /** + * override server index + * + * @type {number} + * @memberof Configuration + */ + serverIndex?: number; /** * base options for axios calls * @@ -80,7 +88,13 @@ export class Configuration { this.password = param.password; this.accessToken = param.accessToken; this.basePath = param.basePath; - this.baseOptions = param.baseOptions; + this.serverIndex = param.serverIndex; + this.baseOptions = { + ...param.baseOptions, + headers: { + ...param.baseOptions?.headers, + }, + }; this.formDataCtor = param.formDataCtor; } diff --git a/src/ext/authenticity/authenticity.ts b/src/ext/authenticity/authenticity.ts index 9086b70b..52dde553 100644 --- a/src/ext/authenticity/authenticity.ts +++ b/src/ext/authenticity/authenticity.ts @@ -8,10 +8,12 @@ import { SecurityFeatureChecks } from './security-feature'; export class Authenticity implements AuthenticityCheckList { List: Array; page_idx: number; + Count: number; constructor(origin: AuthenticityCheckList, page_idx: number) { this.List = origin.List; this.page_idx = page_idx; + this.Count = origin.Count; } public uvLuminescenceChecks(): SecurityFeatureChecks | undefined { diff --git a/src/ext/document-reader.ts b/src/ext/document-reader.ts index 594a3172..282144d4 100755 --- a/src/ext/document-reader.ts +++ b/src/ext/document-reader.ts @@ -1,6 +1,5 @@ -import { DefaultApi } from '../api/default-api'; -import { ProcessApi } from '../api/process-api'; import { HealthcheckApi } from '../api/healthcheck-api'; +import { ProcessApi } from '../api/process-api'; import { TransactionApi } from '../api/transaction-api'; import { Response } from './process-response'; import { Configuration, ConfigurationParameters } from '../configuration'; @@ -14,7 +13,7 @@ import { Result, DeviceInfo, TransactionProcessRequest, - InlineResponse200, + TransactionProcessResult, ListTransactionsByTagResponse, TransactionProcessGetResponse, Healthcheck, @@ -24,7 +23,6 @@ import { ProcessRequestImageWrapper } from './process-request-image-wrapper'; import * as converter from 'base64-arraybuffer'; export class DocumentReaderApi { - private readonly defaultApi: DefaultApi; private readonly healthcheckApi: HealthcheckApi; private readonly processApi: ProcessApi; private readonly transactionApi: TransactionApi; @@ -36,14 +34,13 @@ export class DocumentReaderApi { basePath: string = BASE_PATH, axios: AxiosInstance = globalAxios, ) { - this.defaultApi = new DefaultApi(new Configuration(configuration), basePath, axios); this.healthcheckApi = new HealthcheckApi(new Configuration(configuration), basePath, axios); this.processApi = new ProcessApi(new Configuration(configuration), basePath, axios); this.transactionApi = new TransactionApi(new Configuration(configuration), basePath, axios); } async ping(xRequestID?: string): Promise { - const axiosResult = await this.defaultApi.ping(xRequestID); + const axiosResult = await this.healthcheckApi.ping(xRequestID); return axiosResult.data; } @@ -110,7 +107,7 @@ export class DocumentReaderApi { transactionId: string, transactionProcessRequest: TransactionProcessRequest, options?: any, - ): Promise> { + ): Promise> { return this.transactionApi.apiV2TransactionTransactionIdProcessPost( transactionId, transactionProcessRequest, diff --git a/src/ext/images-ext.ts b/src/ext/images-ext.ts index 29cbae8a..bccf6930 100755 --- a/src/ext/images-ext.ts +++ b/src/ext/images-ext.ts @@ -4,10 +4,14 @@ import * as converter from 'base64-arraybuffer'; export class ImagesExt implements Images { availableSourceList: Array; fieldList: Array; + fieldCount?: number; + availableSourceCount?: number; constructor(origin: Images) { this.availableSourceList = origin.availableSourceList; this.fieldList = origin.fieldList.map((field) => new ImagesFieldWrapper(field)); + this.fieldCount = origin.fieldCount; + this.availableSourceCount = origin.availableSourceCount; } public getField(type: GraphicFieldType): ImagesFieldWrapper | undefined { @@ -27,31 +31,27 @@ export class ImagesFieldWrapper implements ImagesField { fieldName: string; fieldType: GraphicFieldType; valueList: Array; + valueCount?: number; constructor(origin: ImagesField) { this.fieldName = origin.fieldName; this.fieldType = origin.fieldType; this.valueList = origin.valueList; + this.valueCount = origin.valueCount; } public getValue(source?: Source, original = false) { - let fieldValue; - if (!source) { - // rfid -> visual -> barcode - fieldValue = - this.getValueBySource(Source.RFID) || - this.getValueBySource(Source.VISUAL) || - this.getValueBySource(Source.BARCODE); - } else { - fieldValue = this.getValueBySource(source); - } + const fieldValue = source + ? this.getValueBySource(source) + : this.getValueBySource(Source.RFID) || + this.getValueBySource(Source.VISUAL) || + this.getValueBySource(Source.BARCODE); if (!fieldValue) return; - if (original && fieldValue.originalValue) { - return base64ToBuffer(fieldValue.originalValue); - } - return base64ToBuffer(fieldValue.value); + const valueToConvert = original && fieldValue.originalValue ? fieldValue.originalValue : fieldValue.value; + + return valueToConvert ? base64ToBuffer(valueToConvert) : undefined; } private getValueBySource(source: Source): ImagesFieldValue | undefined { diff --git a/src/ext/process-response.ts b/src/ext/process-response.ts index cceb53e3..2f57a8ca 100755 --- a/src/ext/process-response.ts +++ b/src/ext/process-response.ts @@ -6,7 +6,6 @@ import { ImageQualityCheckList, ImageQualityResult, ImagesResult, - InlineResponse2001, OneCandidate, ProcessingStatus, ProcessResponse, @@ -33,24 +32,20 @@ export class Response { TransactionInfo: TransactionInfo; lowLvlResponse: LowLvlResponse; - rawResponse: ProcessResponse | InlineResponse2001; + rawResponse: ProcessResponse; - constructor(original: ProcessResponse | InlineResponse2001) { + constructor(original: ProcessResponse) { const lowLvlResponse = new LowLvlResponse(original); - const statusResult = lowLvlResponse.statusResult()?.Status; - const textResult = lowLvlResponse.textResult(); - const imagesResult = lowLvlResponse.imagesResult(); - this.lowLvlResponse = lowLvlResponse; this.rawResponse = original; this.TransactionInfo = original.TransactionInfo || {}; - if (statusResult) { - this.status = statusResult; - } + this.status = lowLvlResponse.statusResult()?.Status; + const textResult = lowLvlResponse.textResult(); if (textResult) { this.text = new TextExt(textResult.Text); } + const imagesResult = lowLvlResponse.imagesResult(); if (imagesResult) { this.images = new ImagesExt(imagesResult.Images); } @@ -128,19 +123,34 @@ export class LowLvlResponse implements ProcessResponse { ContainerList: ContainerList; ProcessingFinished: ProcessingStatus; TransactionInfo: TransactionInfo; - ChipPage?: RfidLocation; + ChipPage: RfidLocation; log?: string; passBackObject?: { [key: string]: any }; - morePagesAvailable?: number; + morePagesAvailable: number; + elapsedTime: number; + metadata?: { [key: string]: object }; + CoreLibResultCode?: number; - constructor(original: ProcessResponse | InlineResponse2001) { + constructor(original: ProcessResponse) { this.ContainerList = original.ContainerList || { Count: 0, List: [] }; this.ProcessingFinished = original.ProcessingFinished || ProcessingStatus.NOT_FINISHED; this.TransactionInfo = original.TransactionInfo || {}; this.ChipPage = original.ChipPage; - this.log = original.log; - this.passBackObject = original.passBackObject; this.morePagesAvailable = original.morePagesAvailable; + this.elapsedTime = original.elapsedTime; + + if ('log' in original) { + this.log = original.log; + } + if ('passBackObject' in original) { + this.passBackObject = original.passBackObject; + } + if ('metadata' in original) { + this.metadata = original.metadata; + } + if ('CoreLibResultCode' in original) { + this.CoreLibResultCode = original.CoreLibResultCode; + } } public statusResult(): StatusResult | undefined { diff --git a/src/ext/text-ext.ts b/src/ext/text-ext.ts index 556712b6..289d51ce 100755 --- a/src/ext/text-ext.ts +++ b/src/ext/text-ext.ts @@ -5,6 +5,7 @@ export class TextExt implements Text { status: CheckResult; validityStatus: CheckResult; comparisonStatus: CheckResult; + dateFormat: string; availableSourceList: Array; fieldList: Array; @@ -13,6 +14,7 @@ export class TextExt implements Text { this.status = origin.status; this.validityStatus = origin.validityStatus; this.comparisonStatus = origin.comparisonStatus; + this.dateFormat = origin.dateFormat; this.availableSourceList = origin.availableSourceList; this.fieldList = origin.fieldList.map((field) => new TextFieldExt(field)); } diff --git a/src/ext/text-field-ext.ts b/src/ext/text-field-ext.ts index 6806eef8..b11e6b2c 100755 --- a/src/ext/text-field-ext.ts +++ b/src/ext/text-field-ext.ts @@ -6,6 +6,7 @@ import { TextField, TextFieldType, TextFieldValue, + LCID, } from '../models'; const LCID_MAP: Record = { @@ -156,7 +157,8 @@ export class TextFieldExt implements TextField { // see BaseTextField for docs fieldType: TextFieldType; fieldName: string; - lcid?: number; + lcid: LCID; + lcidName?: string; status: CheckResult; validityStatus: CheckResult; @@ -178,6 +180,7 @@ export class TextFieldExt implements TextField { this.valueList = origin.valueList; this.validityList = origin.validityList; this.comparisonList = origin.comparisonList; + this.lcidName = origin.lcidName; } /** diff --git a/src/models/area-array.ts b/src/models/area-array.ts index 9f08617c..1467183c 100644 --- a/src/models/area-array.ts +++ b/src/models/area-array.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { PointArray } from './point-array'; -import { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { PointArray } from './point-array'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; /** * @@ -22,18 +26,23 @@ import { RectangleCoordinates } from './rectangle-coordinates'; * @interface AreaArray */ export interface AreaArray { + /** + * Number of elements in List and Points + * @type {number} + * @memberof AreaArray + */ + 'Count': number; /** * * @type {Array} * @memberof AreaArray */ - List?: Array; + 'List': Array; /** * * @type {Array} * @memberof AreaArray */ - Points?: Array; + 'Points': Array; } - diff --git a/src/models/area-container.ts b/src/models/area-container.ts index 8a953b86..3454ed86 100644 --- a/src/models/area-container.ts +++ b/src/models/area-container.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { PointsContainer } from './points-container'; -import { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { PointsContainer } from './points-container'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; /** * Checked fragment coordinates @@ -27,19 +31,18 @@ export interface AreaContainer { * @type {number} * @memberof AreaContainer */ - Count?: number; + 'Count': number; /** * * @type {Array} * @memberof AreaContainer */ - List?: Array; + 'List': Array; /** * * @type {Array} * @memberof AreaContainer */ - Points?: Array; + 'Points': Array; } - diff --git a/src/models/auth-params.ts b/src/models/auth-params.ts index 5b43e173..e8b17c68 100644 --- a/src/models/auth-params.ts +++ b/src/models/auth-params.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { LivenessParams } from './liveness-params'; +// May contain unused imports in some cases +// @ts-ignore +import type { LivenessParams } from './liveness-params'; /** * @@ -26,97 +28,96 @@ export interface AuthParams { * @type {boolean} * @memberof AuthParams */ - checkLiveness?: boolean; + 'checkLiveness'?: boolean; /** * * @type {LivenessParams} * @memberof AuthParams */ - livenessParams?: LivenessParams; + 'livenessParams'?: LivenessParams; /** * This parameter is used to enable Document luminescence check in UV light * @type {boolean} * @memberof AuthParams */ - checkUVLuminiscence?: boolean; + 'checkUVLuminiscence'?: boolean; /** * This parameter is used to enable B900 ink MRZ contrast check in IR light * @type {boolean} * @memberof AuthParams */ - checkIRB900?: boolean; + 'checkIRB900'?: boolean; /** * This parameter is used to enable Image patterns presence/absence check (position, shape, color) * @type {boolean} * @memberof AuthParams */ - checkImagePatterns?: boolean; + 'checkImagePatterns'?: boolean; /** * This parameter is used to enable Fibers detection * @type {boolean} * @memberof AuthParams */ - checkFibers?: boolean; + 'checkFibers'?: boolean; /** * This parameter is used to enable Extended MRZ Check * @type {boolean} * @memberof AuthParams */ - checkExtMRZ?: boolean; + 'checkExtMRZ'?: boolean; /** * This parameter is used to enable Extended OCR Check * @type {boolean} * @memberof AuthParams */ - checkExtOCR?: boolean; + 'checkExtOCR'?: boolean; /** * This parameter is used to enable laminate integrity check in axial light * @type {boolean} * @memberof AuthParams */ - checkAxial?: boolean; + 'checkAxial'?: boolean; /** * This parameter is used to enable Barcode format check (code metadata, data format, contents format, etc.) * @type {boolean} * @memberof AuthParams */ - checkBarcodeFormat?: boolean; + 'checkBarcodeFormat'?: boolean; /** * This parameter is used to enable Document elements visibility check in IR light * @type {boolean} * @memberof AuthParams */ - checkIRVisibility?: boolean; + 'checkIRVisibility'?: boolean; /** * This parameter is used to enable Invisible Personal Information (IPI) check * @type {boolean} * @memberof AuthParams */ - checkIPI?: boolean; + 'checkIPI'?: boolean; /** * This parameter is used to enable Owner\'s photo embedding check (is photo printed or sticked) * @type {boolean} * @memberof AuthParams */ - checkPhotoEmbedding?: boolean; + 'checkPhotoEmbedding'?: boolean; /** * This parameter is used to enable Portrait comparison check * @type {boolean} * @memberof AuthParams */ - checkPhotoComparison?: boolean; + 'checkPhotoComparison'?: boolean; /** * This parameter is used to enable LetterScreen check * @type {boolean} * @memberof AuthParams */ - checkLetterScreen?: boolean; + 'checkLetterScreen'?: boolean; /** * This parameter is used to enable Security text check * @type {boolean} * @memberof AuthParams */ - checkSecurityText?: boolean; + 'checkSecurityText'?: boolean; } - diff --git a/src/models/authenticity-check-list-item.ts b/src/models/authenticity-check-list-item.ts new file mode 100644 index 00000000..4cd6169f --- /dev/null +++ b/src/models/authenticity-check-list-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckList } from './authenticity-check-list'; + +/** + * + * @export + * @interface AuthenticityCheckListItem + */ +export interface AuthenticityCheckListItem { + /** + * + * @type {AuthenticityCheckList} + * @memberof AuthenticityCheckListItem + */ + 'AuthenticityCheckList': AuthenticityCheckList; +} + diff --git a/src/models/authenticity-check-list.ts b/src/models/authenticity-check-list.ts index 8168b214..4866d6ab 100644 --- a/src/models/authenticity-check-list.ts +++ b/src/models/authenticity-check-list.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { AuthenticityCheckResult } from './authenticity-check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckResult } from './authenticity-check-result'; /** * @@ -26,13 +28,12 @@ export interface AuthenticityCheckList { * @type {number} * @memberof AuthenticityCheckList */ - Count?: number; + 'Count': number; /** * Authenticity Check * @type {Array} * @memberof AuthenticityCheckList */ - List: Array; + 'List': Array; } - diff --git a/src/models/authenticity-check-result-item.ts b/src/models/authenticity-check-result-item.ts index c20e2f6a..8b51f825 100644 --- a/src/models/authenticity-check-result-item.ts +++ b/src/models/authenticity-check-result-item.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,13 +13,15 @@ */ -import { CheckDiagnose } from './check-diagnose'; -import { CheckResult } from './check-result'; -import { FiberResult } from './fiber-result'; -import { IdentResult } from './ident-result'; -import { OCRSecurityTextResult } from './ocrsecurity-text-result'; -import { PhotoIdentResult } from './photo-ident-result'; -import { SecurityFeatureResult } from './security-feature-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityResultType } from './authenticity-result-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckDiagnose } from './check-diagnose'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; /** * Common fields for all authenticity result objects @@ -28,29 +30,30 @@ import { SecurityFeatureResult } from './security-feature-result'; */ export interface AuthenticityCheckResultItem { /** - * Same as authenticity result type, but used for safe parsing of not-described values: https://docs.regulaforensics.com/develop/doc-reader-sdk/web-service/development/enums/authenticity-result-type/ - * @type {number} + * + * @type {AuthenticityResultType} * @memberof AuthenticityCheckResultItem */ - Type: number; + 'Type': AuthenticityResultType; /** * * @type {CheckResult} * @memberof AuthenticityCheckResultItem */ - ElementResult?: CheckResult; + 'ElementResult'?: CheckResult; /** * * @type {CheckDiagnose} * @memberof AuthenticityCheckResultItem */ - ElementDiagnose?: CheckDiagnose; + 'ElementDiagnose'?: CheckDiagnose; /** * * @type {number} * @memberof AuthenticityCheckResultItem */ - PercentValue?: number; + 'PercentValue'?: number; } + diff --git a/src/models/authenticity-check-result-list-inner.ts b/src/models/authenticity-check-result-list-inner.ts new file mode 100644 index 00000000..0c0bd5bf --- /dev/null +++ b/src/models/authenticity-check-result-list-inner.ts @@ -0,0 +1,71 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { AreaContainer } from './area-container'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityResultType } from './authenticity-result-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckDiagnose } from './check-diagnose'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Critical } from './critical'; +// May contain unused imports in some cases +// @ts-ignore +import type { FiberResult } from './fiber-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { IdentResult } from './ident-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { OCRSecurityTextResult } from './ocrsecurity-text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { PhotoIdentResult } from './photo-ident-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { RawImageContainerList } from './raw-image-container-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { SecurityFeatureResult } from './security-feature-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { SecurityFeatureType } from './security-feature-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { Visibility } from './visibility'; + +/** + * @type AuthenticityCheckResultListInner + * @export + */ +export type AuthenticityCheckResultListInner = FiberResult | IdentResult | OCRSecurityTextResult | PhotoIdentResult | SecurityFeatureResult; + + diff --git a/src/models/authenticity-check-result.ts b/src/models/authenticity-check-result.ts index 05c6cc20..80fec0bd 100644 --- a/src/models/authenticity-check-result.ts +++ b/src/models/authenticity-check-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,13 +13,15 @@ */ -import { AuthenticityResultType } from './authenticity-result-type'; -import { CheckResult } from './check-result'; -import { FiberResult } from './fiber-result'; -import { IdentResult } from './ident-result'; -import { OCRSecurityTextResult } from './ocrsecurity-text-result'; -import { PhotoIdentResult } from './photo-ident-result'; -import { SecurityFeatureResult } from './security-feature-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckResultListInner } from './authenticity-check-result-list-inner'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityResultType } from './authenticity-result-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; /** * @@ -32,19 +34,26 @@ export interface AuthenticityCheckResult { * @type {AuthenticityResultType} * @memberof AuthenticityCheckResult */ - Type: AuthenticityResultType; + 'Type': AuthenticityResultType; /** * * @type {CheckResult} * @memberof AuthenticityCheckResult */ - Result: CheckResult; + 'Result': CheckResult; + /** + * Count of items in List + * @type {number} + * @memberof AuthenticityCheckResult + */ + 'Count'?: number; /** * - * @type {Array} + * @type {Array} * @memberof AuthenticityCheckResult */ - List: Array; + 'List': Array; } + diff --git a/src/models/authenticity-result-all-of.ts b/src/models/authenticity-result-all-of.ts deleted file mode 100644 index f1ad150b..00000000 --- a/src/models/authenticity-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { AuthenticityCheckList } from './authenticity-check-list'; - -/** - * - * @export - * @interface AuthenticityResultAllOf - */ -export interface AuthenticityResultAllOf { - /** - * - * @type {AuthenticityCheckList} - * @memberof AuthenticityResultAllOf - */ - AuthenticityCheckList: AuthenticityCheckList; -} - - diff --git a/src/models/authenticity-result-type.ts b/src/models/authenticity-result-type.ts index 6048be44..634387d3 100644 --- a/src/models/authenticity-result-type.ts +++ b/src/models/authenticity-result-type.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,9 +17,14 @@ /** * Enumeration describes available authenticity checks: https://docs.regulaforensics.com/develop/doc-reader-sdk/web-service/development/enums/authenticity-result-type/. * @export - * @enum {string} + * @enum {number} */ + export enum AuthenticityResultType { + /** + * No authenticity control procedure + */ + NONE = 0, /** * Document luminescence check in UV light */ @@ -53,6 +58,10 @@ export enum AuthenticityResultType { */ IPI = 128, /** + * Document photo check in IR light + */ + IR_PHOTO = 256, + /** * Owner's photo embedding check (is photo printed or sticked) */ PHOTO_EMBED_TYPE = 512, @@ -61,6 +70,10 @@ export enum AuthenticityResultType { */ OVI = 1024, /** + * IR luminescence check + */ + IR_LUMINESCENCE = 2048, + /** * Hologram presence check. Deprecated */ HOLOGRAMS = 4096, @@ -69,6 +82,10 @@ export enum AuthenticityResultType { */ PHOTO_AREA = 8192, /** + * UV background check + */ + UV_BACKGROUND = 16384, + /** * Portrait comparison check (document printed vs chip vs live) */ PORTRAIT_COMPARISON = 32768, @@ -107,7 +124,11 @@ export enum AuthenticityResultType { /** * Encrypted IPI */ - ENCRYPTED_IPI = 16777216 + ENCRYPTED_IPI = 16777216, + /** + * Flag for status-only authenticity + */ + STATUS_ONLY = 2147483648 } diff --git a/src/models/authenticity-result.ts b/src/models/authenticity-result.ts index 83ad1fa2..590a2af7 100644 --- a/src/models/authenticity-result.ts +++ b/src/models/authenticity-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,30 +13,23 @@ */ -import { AuthenticityCheckList } from './authenticity-check-list'; -import { AuthenticityResultAllOf } from './authenticity-result-all-of'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckList } from './authenticity-check-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckListItem } from './authenticity-check-list-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type AuthenticityResult * @export */ -export type AuthenticityResult = AuthenticityResultAllOf & ResultItem; - +export type AuthenticityResult = AuthenticityCheckListItem & ResultItem; diff --git a/src/models/bar-code-module-type.ts b/src/models/bar-code-module-type.ts new file mode 100644 index 00000000..8cbd908d --- /dev/null +++ b/src/models/bar-code-module-type.ts @@ -0,0 +1,47 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @enum {number} + */ + +export enum BarCodeModuleType { + /** + * Module contains text data + */ + TEXT = 0, + /** + * Module contains byte data + */ + BYTE = 1, + /** + * Module contains numeric data + */ + NUM = 2, + /** + * Shifts in byte compaction mode (for PDF417) + */ + SHIFT = 3, + /** + * Module contains any data + */ + ALL = 4 +} + + + diff --git a/src/models/barcode-type.ts b/src/models/barcode-type.ts new file mode 100644 index 00000000..6528688a --- /dev/null +++ b/src/models/barcode-type.ts @@ -0,0 +1,111 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains the types of barcodes that can be processed + * @export + * @enum {number} + */ + +export enum BarcodeType { + /** + * Unknown type + */ + UNKNOWN = 0, + /** + * One-dimensional bar-code, ISO 15417 (ANSI/AIM BC4-1999 Code 128) + */ + CODE128 = 1, + /** + * One-dimensional bar-code, ISO 16388 (ANSI/AIM BC1-1995 Code 39) + */ + CODE39 = 2, + /** + * One-dimensional bar-code, EAN8, ISO 15418 + */ + EAN8 = 3, + /** + * One-dimensional bar-code, Interleaved 2 of 5, ISO 16390 (ANSI/AIM BC2-1995 Interleaved 2 of 5) + */ + ITF = 4, + /** + * Two-dimensional bar-code, ISO 15438 (AIM USS PDF417) + */ + PDF417 = 5, + /** + * One-dimensional bar-code, Standard 2 of 5 (Industrial) + */ + STF = 6, + /** + * One-dimensional bar-code, Matrix 2 of 5 + */ + MTF = 7, + /** + * One-dimensional bar-code, IATA 2 of 5 (Airline) + */ + IATA = 8, + /** + * One-dimensional bar-code, (ANSI/AIM BC3-1995, USS - Codabar) + */ + CODABAR = 9, + /** + * One-dimensional bar-code, UPC-A + */ + UPCA = 10, + /** + * One-dimensional bar-code, (ANSI/AIM BC5-1995, USS - Code 93) + */ + CODE93 = 11, + /** + * One-dimensional bar-code, UPC-E + */ + UPCE = 12, + /** + * One-dimensional bar-code, EAN13, ISO 15418 + */ + EAN13 = 13, + /** + * Two-dimensional QRCODE bar-code + */ + QRCODE = 14, + /** + * Two-dimensional AZTEC bar-code + */ + AZTEC = 15, + /** + * Two-dimensional DATAMATRIX bar-code + */ + DATAMATRIX = 16, + /** + * Type for internal use, representing all 1D bar-codes + */ + ALL_1D = 17, + /** + * One-dimensional bar-code CODE11 + */ + CODE11 = 18, + /** + * JAB code + */ + JABCODE = 19, + /** + * For internal use + */ + END = 20 +} + + + diff --git a/src/models/bc-pdf417-info.ts b/src/models/bc-pdf417-info.ts index ce81e843..7267eac9 100644 --- a/src/models/bc-pdf417-info.ts +++ b/src/models/bc-pdf417-info.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,37 +25,36 @@ export interface BcPDF417INFO { * @type {number} * @memberof BcPDF417INFO */ - Angle?: number; + 'Angle': number; /** * * @type {number} * @memberof BcPDF417INFO */ - bcColumn?: number; + 'bcColumn': number; /** * * @type {number} * @memberof BcPDF417INFO */ - bcErrorLevel?: number; + 'bcErrorLevel': number; /** * * @type {number} * @memberof BcPDF417INFO */ - bcRow?: number; + 'bcRow': number; /** * * @type {number} * @memberof BcPDF417INFO */ - minX?: number; + 'minX': number; /** * * @type {number} * @memberof BcPDF417INFO */ - minY?: number; + 'minY': number; } - diff --git a/src/models/bc-roidetect.ts b/src/models/bc-roidetect.ts index 7555dbcc..f65f336a 100644 --- a/src/models/bc-roidetect.ts +++ b/src/models/bc-roidetect.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,25 +25,24 @@ export interface BcROIDETECT { * @type {number} * @memberof BcROIDETECT */ - bottom?: number; + 'bottom': number; /** * * @type {number} * @memberof BcROIDETECT */ - left?: number; + 'left': number; /** * * @type {number} * @memberof BcROIDETECT */ - right?: number; + 'right': number; /** * * @type {number} * @memberof BcROIDETECT */ - top?: number; + 'top': number; } - diff --git a/src/models/binary-data.ts b/src/models/binary-data.ts new file mode 100644 index 00000000..76a904f2 --- /dev/null +++ b/src/models/binary-data.ts @@ -0,0 +1,420 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { DetailsRFID } from './details-rfid'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidDG1 } from './rfid-dg1'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidDataFileType } from './rfid-data-file-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidSessionData } from './rfid-session-data'; + +/** + * Structure is used for storing the results of one bar-code module reading. + * @export + * @interface BinaryData + */ +export interface BinaryData { + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_Authentication_Info'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_MIFARE_Data_Validity'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_MIFARE_Data'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_EF_COM'?: { [key: string]: any; }; + /** + * + * @type {RfidDG1} + * @memberof BinaryData + */ + 'RFID_DG1'?: RfidDG1; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG2'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG3'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG4'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG5'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG6'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG7'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG8'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG9'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG10'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG11'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG12'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG13'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG14'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG15'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_DG16'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'RFID_EF_SOD'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG1'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG2'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG3'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG4'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG5'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG6'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG7'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG8'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG9'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG10'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG11'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG12'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG13'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG14'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG15'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG16'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG17'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG18'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG19'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG20'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eID_DG21'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_COM'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_SOD'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG1'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG2'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG3'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG4'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG5'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG6'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG7'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG8'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG9'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG10'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG11'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG12'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG13'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'eDL_DG14'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'Visible_Digital_Seal'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'Visible_Digital_Seal_NC'?: { [key: string]: any; }; + /** + * + * @type {{ [key: string]: any; }} + * @memberof BinaryData + */ + 'Digital_Signature'?: { [key: string]: any; }; + /** + * + * @type {RfidSessionData} + * @memberof BinaryData + */ + 'RFID_Session_Data'?: RfidSessionData; + /** + * + * @type {DetailsRFID} + * @memberof BinaryData + */ + 'RFID_Session_Data_Status'?: DetailsRFID; + /** + * Indexes of groups that aren\'t read + * @type {Array} + * @memberof BinaryData + */ + 'RFID_ePassp_Directory'?: Array; +} + diff --git a/src/models/byte-array-item.ts b/src/models/byte-array-item.ts new file mode 100644 index 00000000..e80f3a20 --- /dev/null +++ b/src/models/byte-array-item.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ByteArrayItem + */ +export interface ByteArrayItem { + /** + * Byte array in base64 + * @type {string} + * @memberof ByteArrayItem + */ + 'ByteArray': string; +} + diff --git a/src/models/byte-array-result-all-of.ts b/src/models/byte-array-result-all-of.ts deleted file mode 100644 index 39ab8e3b..00000000 --- a/src/models/byte-array-result-all-of.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - - -/** - * - * @export - * @interface ByteArrayResultAllOf - */ -export interface ByteArrayResultAllOf { - /** - * Byte array in base64 - * @type {string} - * @memberof ByteArrayResultAllOf - */ - ByteArray: string; -} - - diff --git a/src/models/byte-array-result.ts b/src/models/byte-array-result.ts index 023cca59..d08b69d9 100644 --- a/src/models/byte-array-result.ts +++ b/src/models/byte-array-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,29 +13,20 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResultAllOf } from './byte-array-result-all-of'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ByteArrayItem } from './byte-array-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type ByteArrayResult * @export */ -export type ByteArrayResult = ByteArrayResultAllOf & ResultItem; - +export type ByteArrayResult = ByteArrayItem & ResultItem; diff --git a/src/models/candidates-list-item.ts b/src/models/candidates-list-item.ts new file mode 100644 index 00000000..923be055 --- /dev/null +++ b/src/models/candidates-list-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentTypesCandidatesList } from './document-types-candidates-list'; + +/** + * + * @export + * @interface CandidatesListItem + */ +export interface CandidatesListItem { + /** + * + * @type {DocumentTypesCandidatesList} + * @memberof CandidatesListItem + */ + 'CandidatesList'?: DocumentTypesCandidatesList; +} + diff --git a/src/models/certificate-data.ts b/src/models/certificate-data.ts new file mode 100644 index 00000000..5d1557f6 --- /dev/null +++ b/src/models/certificate-data.ts @@ -0,0 +1,36 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface CertificateData + */ +export interface CertificateData { + /** + * + * @type {string} + * @memberof CertificateData + */ + 'Data': string; + /** + * + * @type {string} + * @memberof CertificateData + */ + 'Length': string; +} + diff --git a/src/models/check-diagnose.ts b/src/models/check-diagnose.ts index fef29c72..78eab899 100644 --- a/src/models/check-diagnose.ts +++ b/src/models/check-diagnose.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * Enumeration contains identifiers which determinate the single document element authenticity check outcome reason: https://docs.regulaforensics.com/develop/doc-reader-sdk/web-service/development/enums/check-diagnose/ * @export - * @enum {string} + * @enum {number} */ + export enum CheckDiagnose { UNKNOWN = 0, PASS = 1, diff --git a/src/models/check-result.ts b/src/models/check-result.ts index b6bfbebe..3726d023 100644 --- a/src/models/check-result.ts +++ b/src/models/check-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * 0 - result is negative; 1 - result is positive; 2 - сheck was not performed * @export - * @enum {string} + * @enum {number} */ + export enum CheckResult { /** * Check was performed and result is NEGATIVE diff --git a/src/models/chosen-document-type-result-all-of.ts b/src/models/chosen-document-type-result-all-of.ts deleted file mode 100644 index 5b1c1400..00000000 --- a/src/models/chosen-document-type-result-all-of.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { OneCandidate } from './one-candidate'; - -/** - * - * @export - * @interface ChosenDocumentTypeResultAllOf - */ -export interface ChosenDocumentTypeResultAllOf { - /** - * - * @type {OneCandidate} - * @memberof ChosenDocumentTypeResultAllOf - */ - OneCandidate?: OneCandidate; - /** - * - * @type {string} - * @memberof ChosenDocumentTypeResultAllOf - */ - XML_buffer?: string; -} - - diff --git a/src/models/chosen-document-type-result.ts b/src/models/chosen-document-type-result.ts index a6ffeb87..cb4c5961 100644 --- a/src/models/chosen-document-type-result.ts +++ b/src/models/chosen-document-type-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,31 +13,24 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResultAllOf } from './chosen-document-type-result-all-of'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { OneCandidate } from './one-candidate'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { OneCandidate } from './one-candidate'; +// May contain unused imports in some cases +// @ts-ignore +import type { OneCandidateItem } from './one-candidate-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type ChosenDocumentTypeResult * Contains information about the type of document that was determined based on the analysis of the provided image * @export */ -export type ChosenDocumentTypeResult = ChosenDocumentTypeResultAllOf & ResultItem; - +export type ChosenDocumentTypeResult = OneCandidateItem & ResultItem; diff --git a/src/models/chosen-document-type.ts b/src/models/chosen-document-type.ts index 9f69abe0..071b400f 100644 --- a/src/models/chosen-document-type.ts +++ b/src/models/chosen-document-type.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { FDSIDList } from './fdsidlist'; -import { RfidLocation } from './rfid-location'; +// May contain unused imports in some cases +// @ts-ignore +import type { FDSIDList } from './fdsidlist'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidLocation } from './rfid-location'; /** * Contains information about one document type candidate @@ -27,55 +31,74 @@ export interface ChosenDocumentType { * @type {string} * @memberof ChosenDocumentType */ - DocumentName?: string; + 'DocumentName': string; /** * Unique document type template identifier (Regula\'s internal numeric code) * @type {number} * @memberof ChosenDocumentType */ - ID?: number; + 'ID': number; /** * A measure of the likelihood of correct recognition in the analysis of this type of document * @type {number} * @memberof ChosenDocumentType */ - P?: number; + 'P': number; + /** + * true if the document of the given type is rotated by 180 degrees + * @type {number} + * @memberof ChosenDocumentType + */ + 'Rotated180': number; /** * * @type {RfidLocation} * @memberof ChosenDocumentType */ - RFID_Presence?: RfidLocation; + 'RFID_Presence': RfidLocation; /** * * @type {FDSIDList} * @memberof ChosenDocumentType */ - FDSIDList?: FDSIDList; + 'FDSIDList': FDSIDList; /** * Combination of lighting scheme identifiers (Light enum) required to conduct OCR for this type of document * @type {number} * @memberof ChosenDocumentType */ - NecessaryLights?: number; + 'NecessaryLights': number; /** * Set of authentication options provided for this type of document (combination of Authenticity enum) * @type {number} * @memberof ChosenDocumentType */ - CheckAuthenticity?: number; + 'CheckAuthenticity': number; /** * The required exposure value of the camera when receiving images of a document of this type for a UV lighting scheme * @type {number} * @memberof ChosenDocumentType */ - UVExp?: number; + 'UVExp': number; /** * Combination of lighting scheme identifiers (combination of Light enum) needed to perform all authenticity checks specified in CheckAuthenticity * @type {number} * @memberof ChosenDocumentType */ - AuthenticityNecessaryLights?: number; + 'AuthenticityNecessaryLights': number; + /** + * Camera exposure value necessary when obtaining document images of the given type for AXIAL lighting scheme + * @type {number} + * @memberof ChosenDocumentType + */ + 'OVIExp': number; + /** + * + * @type {number} + * @memberof ChosenDocumentType + */ + 'RotationAngle'?: number; } + diff --git a/src/models/container-list-list-inner.ts b/src/models/container-list-list-inner.ts new file mode 100644 index 00000000..b4288a05 --- /dev/null +++ b/src/models/container-list-list-inner.ts @@ -0,0 +1,152 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckList } from './authenticity-check-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityResult } from './authenticity-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ByteArrayResult } from './byte-array-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ChosenDocumentTypeResult } from './chosen-document-type-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocBarCodeInfo } from './doc-bar-code-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocBarCodeInfoFieldsList } from './doc-bar-code-info-fields-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentBinaryInfoResult } from './document-binary-info-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentImageResult } from './document-image-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentPosition } from './document-position'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentPositionResult } from './document-position-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentTypesCandidatesList } from './document-types-candidates-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentTypesCandidatesResult } from './document-types-candidates-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { EncryptedRCLResult } from './encrypted-rclresult'; +// May contain unused imports in some cases +// @ts-ignore +import type { FaceDetection } from './face-detection'; +// May contain unused imports in some cases +// @ts-ignore +import type { FaceDetectionResult } from './face-detection-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { GraphicFieldsList } from './graphic-fields-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { GraphicsResult } from './graphics-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageQualityCheckList } from './image-quality-check-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageQualityResult } from './image-quality-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Images } from './images'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImagesResult } from './images-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { LexicalAnalysisResult } from './lexical-analysis-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { LicenseResult } from './license-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ListVerifiedFields } from './list-verified-fields'; +// May contain unused imports in some cases +// @ts-ignore +import type { MRZDetectorResult } from './mrzdetector-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { MRZPositionResult } from './mrzposition-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { MRZTestQuality } from './mrztest-quality'; +// May contain unused imports in some cases +// @ts-ignore +import type { MRZTestQualityResult } from './mrztest-quality-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { MrzPosition } from './mrz-position'; +// May contain unused imports in some cases +// @ts-ignore +import type { OneCandidate } from './one-candidate'; +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDDocVisualExtendedInfo } from './rfiddoc-visual-extended-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDGraphicsInfoResult } from './rfidgraphics-info-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDTextDataResult } from './rfidtext-data-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultMRZDetector } from './result-mrzdetector'; +// May contain unused imports in some cases +// @ts-ignore +import type { Status } from './status'; +// May contain unused imports in some cases +// @ts-ignore +import type { StatusResult } from './status-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { TDocBinaryInfo } from './tdoc-binary-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { TOriginalRFIDGraphicsInfo } from './toriginal-rfidgraphics-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { Text } from './text'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextDataResult } from './text-data-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextResult } from './text-result'; + +/** + * @type ContainerListListInner + * @export + */ +export type ContainerListListInner = AuthenticityResult | ByteArrayResult | ChosenDocumentTypeResult | DocBarCodeInfo | DocumentBinaryInfoResult | DocumentImageResult | DocumentPositionResult | DocumentTypesCandidatesResult | EncryptedRCLResult | FaceDetectionResult | GraphicsResult | ImageQualityResult | ImagesResult | LexicalAnalysisResult | LicenseResult | MRZDetectorResult | MRZPositionResult | MRZTestQualityResult | RFIDGraphicsInfoResult | RFIDTextDataResult | StatusResult | TextDataResult | TextResult; + + diff --git a/src/models/container-list.ts b/src/models/container-list.ts index 3c7a24af..7ca9a017 100644 --- a/src/models/container-list.ts +++ b/src/models/container-list.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,22 +13,9 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ContainerListListInner } from './container-list-list-inner'; /** * List with various objects, containing processing results @@ -41,13 +28,12 @@ export interface ContainerList { * @type {number} * @memberof ContainerList */ - Count?: number; + 'Count'?: number; /** * - * @type {Array} + * @type {Array} * @memberof ContainerList */ - List: Array; + 'List': Array; } - diff --git a/src/models/critical.ts b/src/models/critical.ts index 5f6534ce..da7c19ea 100644 --- a/src/models/critical.ts +++ b/src/models/critical.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * Enumeration contains identifiers determining the criticality of the security element * @export - * @enum {string} + * @enum {number} */ + export enum Critical { /** * Security element may be absent in a valid document diff --git a/src/models/cross-source-value-comparison.ts b/src/models/cross-source-value-comparison.ts index bd051d1e..4659dc02 100644 --- a/src/models/cross-source-value-comparison.ts +++ b/src/models/cross-source-value-comparison.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { CheckResult } from './check-result'; -import { Source } from './source'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Source } from './source'; /** * @@ -27,19 +31,20 @@ export interface CrossSourceValueComparison { * @type {Source} * @memberof CrossSourceValueComparison */ - sourceLeft: Source; + 'sourceLeft': Source; /** * * @type {Source} * @memberof CrossSourceValueComparison */ - sourceRight: Source; + 'sourceRight': Source; /** * * @type {CheckResult} * @memberof CrossSourceValueComparison */ - status: CheckResult; + 'status': CheckResult; } + diff --git a/src/models/data-module.ts b/src/models/data-module.ts index c39e02dd..9b856f70 100644 --- a/src/models/data-module.ts +++ b/src/models/data-module.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,6 +13,9 @@ */ +// May contain unused imports in some cases +// @ts-ignore +import type { BarCodeModuleType } from './bar-code-module-type'; /** * @@ -25,31 +28,32 @@ export interface DataModule { * @type {string} * @memberof DataModule */ - mData?: string; + 'mData': string; /** * * @type {number} * @memberof DataModule */ - mLength?: number; + 'mLength': number; /** * * @type {number} * @memberof DataModule */ - mReserved1?: number; + 'mReserved1'?: number; /** * * @type {number} * @memberof DataModule */ - mReserver2?: number; + 'mReserver2'?: number; /** * - * @type {number} + * @type {BarCodeModuleType} * @memberof DataModule */ - mType?: number; + 'mType': BarCodeModuleType; } + diff --git a/src/models/details-optical.ts b/src/models/details-optical.ts index 1a284217..2e226259 100644 --- a/src/models/details-optical.ts +++ b/src/models/details-optical.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,10 +13,12 @@ */ -import { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; /** - * + * Details on performed optical checks * @export * @interface DetailsOptical */ @@ -26,49 +28,56 @@ export interface DetailsOptical { * @type {CheckResult} * @memberof DetailsOptical */ - overallStatus: CheckResult; + 'overallStatus': CheckResult; /** * * @type {CheckResult} * @memberof DetailsOptical */ - docType: CheckResult; + 'docType': CheckResult; /** * * @type {CheckResult} * @memberof DetailsOptical */ - expiry: CheckResult; + 'expiry': CheckResult; /** * * @type {CheckResult} * @memberof DetailsOptical */ - imageQA: CheckResult; + 'imageQA': CheckResult; /** * * @type {CheckResult} * @memberof DetailsOptical */ - mrz: CheckResult; + 'mrz': CheckResult; /** * Number of processed pages in the document * @type {number} * @memberof DetailsOptical */ - pagesCount: number; + 'pagesCount': number; /** * * @type {CheckResult} * @memberof DetailsOptical */ - security: CheckResult; + 'security': CheckResult; /** * * @type {CheckResult} * @memberof DetailsOptical */ - text: CheckResult; + 'text': CheckResult; + /** + * + * @type {number} + * @memberof DetailsOptical + */ + 'vds'?: number; } + diff --git a/src/models/details-rfid.ts b/src/models/details-rfid.ts index 297e2981..293870c7 100644 --- a/src/models/details-rfid.ts +++ b/src/models/details-rfid.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,10 +13,12 @@ */ -import { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; /** - * + * Details on performed RFID checks * @export * @interface DetailsRFID */ @@ -26,43 +28,44 @@ export interface DetailsRFID { * @type {CheckResult} * @memberof DetailsRFID */ - overallStatus: CheckResult; + 'overallStatus': CheckResult; /** * * @type {CheckResult} * @memberof DetailsRFID */ - AA: CheckResult; + 'AA': CheckResult; /** * * @type {CheckResult} * @memberof DetailsRFID */ - BAC: CheckResult; + 'BAC': CheckResult; /** * * @type {CheckResult} * @memberof DetailsRFID */ - CA: CheckResult; + 'CA': CheckResult; /** * * @type {CheckResult} * @memberof DetailsRFID */ - PA: CheckResult; + 'PA': CheckResult; /** * * @type {CheckResult} * @memberof DetailsRFID */ - PACE: CheckResult; + 'PACE': CheckResult; /** * * @type {CheckResult} * @memberof DetailsRFID */ - TA: CheckResult; + 'TA': CheckResult; } + diff --git a/src/models/device-info.ts b/src/models/device-info.ts index 5581e2a3..f56e129d 100644 --- a/src/models/device-info.ts +++ b/src/models/device-info.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,37 +25,36 @@ export interface DeviceInfo { * @type {string} * @memberof DeviceInfo */ - app_name?: string; + 'app-name'?: string; /** * * @type {string} * @memberof DeviceInfo */ - version?: string; + 'version'?: string; /** * * @type {string} * @memberof DeviceInfo */ - license_id?: string; + 'license-id'?: string; /** * * @type {string} * @memberof DeviceInfo */ - license_serial?: string; + 'license-serial'?: string; /** * * @type {string} * @memberof DeviceInfo */ - valid_until?: string; + 'valid-until'?: string; /** * * @type {string} * @memberof DeviceInfo */ - server_time?: string; + 'server-time'?: string; } - diff --git a/src/models/doc-bar-code-info-all-of.ts b/src/models/doc-bar-code-info-all-of.ts deleted file mode 100644 index bfca4e37..00000000 --- a/src/models/doc-bar-code-info-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { DocBarCodeInfoFieldsList } from './doc-bar-code-info-fields-list'; - -/** - * - * @export - * @interface DocBarCodeInfoAllOf - */ -export interface DocBarCodeInfoAllOf { - /** - * - * @type {DocBarCodeInfoFieldsList} - * @memberof DocBarCodeInfoAllOf - */ - DocBarCodeInfo?: DocBarCodeInfoFieldsList; -} - - diff --git a/src/models/doc-bar-code-info-fields-list.ts b/src/models/doc-bar-code-info-fields-list.ts index b69fabc9..ca561433 100644 --- a/src/models/doc-bar-code-info-fields-list.ts +++ b/src/models/doc-bar-code-info-fields-list.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { PArrayField } from './parray-field'; +// May contain unused imports in some cases +// @ts-ignore +import type { PArrayField } from './parray-field'; /** * @@ -26,13 +28,12 @@ export interface DocBarCodeInfoFieldsList { * @type {number} * @memberof DocBarCodeInfoFieldsList */ - nFields?: number; + 'nFields': number; /** * Data from barcode * @type {Array} * @memberof DocBarCodeInfoFieldsList */ - pArrayFields?: Array; + 'pArrayFields': Array; } - diff --git a/src/models/doc-bar-code-info-item.ts b/src/models/doc-bar-code-info-item.ts new file mode 100644 index 00000000..8bd82a06 --- /dev/null +++ b/src/models/doc-bar-code-info-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { DocBarCodeInfoFieldsList } from './doc-bar-code-info-fields-list'; + +/** + * + * @export + * @interface DocBarCodeInfoItem + */ +export interface DocBarCodeInfoItem { + /** + * + * @type {DocBarCodeInfoFieldsList} + * @memberof DocBarCodeInfoItem + */ + 'DocBarCodeInfo': DocBarCodeInfoFieldsList; +} + diff --git a/src/models/doc-bar-code-info.ts b/src/models/doc-bar-code-info.ts index dd6e87db..b744b40d 100644 --- a/src/models/doc-bar-code-info.ts +++ b/src/models/doc-bar-code-info.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,31 +13,24 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfoAllOf } from './doc-bar-code-info-all-of'; -import { DocBarCodeInfoFieldsList } from './doc-bar-code-info-fields-list'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocBarCodeInfoFieldsList } from './doc-bar-code-info-fields-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocBarCodeInfoItem } from './doc-bar-code-info-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type DocBarCodeInfo * Raw data from BarCodes * @export */ -export type DocBarCodeInfo = DocBarCodeInfoAllOf & ResultItem; - +export type DocBarCodeInfo = DocBarCodeInfoItem & ResultItem; diff --git a/src/models/doc-graphics-info-item.ts b/src/models/doc-graphics-info-item.ts new file mode 100644 index 00000000..de326c57 --- /dev/null +++ b/src/models/doc-graphics-info-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { GraphicFieldsList } from './graphic-fields-list'; + +/** + * + * @export + * @interface DocGraphicsInfoItem + */ +export interface DocGraphicsInfoItem { + /** + * + * @type {GraphicFieldsList} + * @memberof DocGraphicsInfoItem + */ + 'DocGraphicsInfo': GraphicFieldsList; +} + diff --git a/src/models/doc-visual-extended-field-item.ts b/src/models/doc-visual-extended-field-item.ts new file mode 100644 index 00000000..5b5eef14 --- /dev/null +++ b/src/models/doc-visual-extended-field-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; + +/** + * + * @export + * @interface DocVisualExtendedFieldItem + */ +export interface DocVisualExtendedFieldItem { + /** + * + * @type {RectangleCoordinates} + * @memberof DocVisualExtendedFieldItem + */ + 'FieldRect': RectangleCoordinates; +} + diff --git a/src/models/doc-visual-extended-field.ts b/src/models/doc-visual-extended-field.ts index 740fb82c..0431e65f 100644 --- a/src/models/doc-visual-extended-field.ts +++ b/src/models/doc-visual-extended-field.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,65 +13,26 @@ */ -import { LCID } from './lcid'; -import { RectangleCoordinates } from './rectangle-coordinates'; -import { StringRecognitionResult } from './string-recognition-result'; -import { TextFieldType } from './text-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocVisualExtendedFieldItem } from './doc-visual-extended-field-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { StringRecognitionResult } from './string-recognition-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextFieldType } from './text-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { VisualExtendedFieldItem } from './visual-extended-field-item'; /** - * + * @type DocVisualExtendedField * @export - * @interface DocVisualExtendedField */ -export interface DocVisualExtendedField { - /** - * - * @type {TextFieldType} - * @memberof DocVisualExtendedField - */ - wFieldType: TextFieldType; - /** - * Field name. Only use to search values for fields with fieldType=50(other). In general, use wFieldType for lookup. - * @type {string} - * @memberof DocVisualExtendedField - */ - FieldName: string; - /** - * - * @type {LCID} - * @memberof DocVisualExtendedField - */ - wLCID: LCID; - /** - * Array of recognizing probabilities for a each line of text field. Only for Result.VISUAL_TEXT and Result.MRZ_TEXT results. - * @type {Array} - * @memberof DocVisualExtendedField - */ - StringsResult?: Array; - /** - * Text field data in UTF8 format. Results of reading different lines of a multi-line field are separated by \'^\' - * @type {string} - * @memberof DocVisualExtendedField - */ - Buf_Text?: string; - /** - * - * @type {RectangleCoordinates} - * @memberof DocVisualExtendedField - */ - FieldRect?: RectangleCoordinates; - /** - * Origin data group information. Only for Result.RFID_TEXT results. - * @type {number} - * @memberof DocVisualExtendedField - */ - RFID_OriginDG?: number; - /** - * Index of the text field record in origin data group. Only for Result.RFID_TEXT results. - * @type {number} - * @memberof DocVisualExtendedField - */ - RFID_OriginTagEntry?: number; -} +export type DocVisualExtendedField = DocVisualExtendedFieldItem & VisualExtendedFieldItem; diff --git a/src/models/doc-visual-extended-info-item.ts b/src/models/doc-visual-extended-info-item.ts new file mode 100644 index 00000000..fcec2211 --- /dev/null +++ b/src/models/doc-visual-extended-info-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { DocVisualExtendedInfo } from './doc-visual-extended-info'; + +/** + * + * @export + * @interface DocVisualExtendedInfoItem + */ +export interface DocVisualExtendedInfoItem { + /** + * + * @type {DocVisualExtendedInfo} + * @memberof DocVisualExtendedInfoItem + */ + 'DocVisualExtendedInfo': DocVisualExtendedInfo; +} + diff --git a/src/models/doc-visual-extended-info.ts b/src/models/doc-visual-extended-info.ts index 8e2156e5..d9aac6a6 100644 --- a/src/models/doc-visual-extended-info.ts +++ b/src/models/doc-visual-extended-info.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { DocVisualExtendedField } from './doc-visual-extended-field'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocVisualExtendedField } from './doc-visual-extended-field'; /** * Container for extracted text fields. Fields are identified by type and language @@ -21,12 +23,17 @@ import { DocVisualExtendedField } from './doc-visual-extended-field'; * @interface DocVisualExtendedInfo */ export interface DocVisualExtendedInfo { + /** + * Number of pArrayFields array elements + * @type {number} + * @memberof DocVisualExtendedInfo + */ + 'nFields': number; /** * * @type {Array} * @memberof DocVisualExtendedInfo */ - pArrayFields: Array; + 'pArrayFields': Array; } - diff --git a/src/models/document-binary-info-result.ts b/src/models/document-binary-info-result.ts new file mode 100644 index 00000000..a9305ebc --- /dev/null +++ b/src/models/document-binary-info-result.ts @@ -0,0 +1,36 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { TDocBinaryInfo } from './tdoc-binary-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { TDocBinaryInfoItem } from './tdoc-binary-info-item'; + +/** + * @type DocumentBinaryInfoResult + * Structure is used to store the data reading results from the RFID-chip in a form of a list of the logically separated data groups. + * @export + */ +export type DocumentBinaryInfoResult = ResultItem & TDocBinaryInfoItem; + + diff --git a/src/models/document-format.ts b/src/models/document-format.ts index fa1fbc5d..fa938b5c 100644 --- a/src/models/document-format.ts +++ b/src/models/document-format.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,9 +17,14 @@ /** * Defining the geometric format of documents in accordance with ISO / IEC 7810 * @export - * @enum {string} + * @enum {number} */ + export enum DocumentFormat { + /** + * Unknown document format + */ + UNKNOWN = -1, /** * ID1 document format */ diff --git a/src/models/document-image-result-all-of.ts b/src/models/document-image-result-all-of.ts deleted file mode 100644 index a7e4cc20..00000000 --- a/src/models/document-image-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { ImageData } from './image-data'; - -/** - * - * @export - * @interface DocumentImageResultAllOf - */ -export interface DocumentImageResultAllOf { - /** - * - * @type {ImageData} - * @memberof DocumentImageResultAllOf - */ - RawImageContainer: ImageData; -} - - diff --git a/src/models/document-image-result.ts b/src/models/document-image-result.ts index 260b38ce..6b400c7c 100644 --- a/src/models/document-image-result.ts +++ b/src/models/document-image-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,31 +13,24 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResultAllOf } from './document-image-result-all-of'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageData } from './image-data'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { RawImageContainerItem } from './raw-image-container-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type DocumentImageResult * Contains document image. * @export */ -export type DocumentImageResult = DocumentImageResultAllOf & ResultItem; - +export type DocumentImageResult = RawImageContainerItem & ResultItem; diff --git a/src/models/document-image.ts b/src/models/document-image.ts index 50e8367f..63ee20ac 100644 --- a/src/models/document-image.ts +++ b/src/models/document-image.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,13 +25,12 @@ export interface DocumentImage { * @type {string} * @memberof DocumentImage */ - image: string; + 'image': string; /** * Image format * @type {string} * @memberof DocumentImage */ - format?: string; + 'format'?: string; } - diff --git a/src/models/document-position-item.ts b/src/models/document-position-item.ts new file mode 100644 index 00000000..33237a5f --- /dev/null +++ b/src/models/document-position-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentPosition } from './document-position'; + +/** + * + * @export + * @interface DocumentPositionItem + */ +export interface DocumentPositionItem { + /** + * + * @type {DocumentPosition} + * @memberof DocumentPositionItem + */ + 'DocumentPosition': DocumentPosition; +} + diff --git a/src/models/document-position-result-all-of.ts b/src/models/document-position-result-all-of.ts deleted file mode 100644 index a25b036b..00000000 --- a/src/models/document-position-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { DocumentPosition } from './document-position'; - -/** - * - * @export - * @interface DocumentPositionResultAllOf - */ -export interface DocumentPositionResultAllOf { - /** - * - * @type {DocumentPosition} - * @memberof DocumentPositionResultAllOf - */ - DocumentPosition?: DocumentPosition; -} - - diff --git a/src/models/document-position-result.ts b/src/models/document-position-result.ts index a0ed98a9..d0a910ae 100644 --- a/src/models/document-position-result.ts +++ b/src/models/document-position-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,31 +13,24 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPosition } from './document-position'; -import { DocumentPositionResultAllOf } from './document-position-result-all-of'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentPosition } from './document-position'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentPositionItem } from './document-position-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type DocumentPositionResult * Contains information about document position on the input image, its center, angle, etc * @export */ -export type DocumentPositionResult = DocumentPositionResultAllOf & ResultItem; - +export type DocumentPositionResult = DocumentPositionItem & ResultItem; diff --git a/src/models/document-position.ts b/src/models/document-position.ts index d68d11cb..86567751 100644 --- a/src/models/document-position.ts +++ b/src/models/document-position.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { DocumentFormat } from './document-format'; -import { Point } from './point'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentFormat } from './document-format'; +// May contain unused imports in some cases +// @ts-ignore +import type { Point } from './point'; /** * @@ -27,61 +31,92 @@ export interface DocumentPosition { * @type {DocumentFormat} * @memberof DocumentPosition */ - docFormat?: DocumentFormat; + 'docFormat': DocumentFormat; /** - * + * Document rotation angle * @type {number} * @memberof DocumentPosition */ - Angle?: number; + 'Angle': number; /** - * + * Document width * @type {number} * @memberof DocumentPosition */ - Width?: number; + 'Width': number; /** - * + * Document height * @type {number} * @memberof DocumentPosition */ - Height?: number; + 'Height': number; /** * * @type {Point} * @memberof DocumentPosition */ - Center?: Point; + 'Center': Point; /** * * @type {Point} * @memberof DocumentPosition */ - LeftBottom?: Point; + 'LeftBottom': Point; /** * * @type {Point} * @memberof DocumentPosition */ - LeftTop?: Point; + 'LeftTop': Point; /** * * @type {Point} * @memberof DocumentPosition */ - RightBottom?: Point; + 'RightBottom': Point; /** * * @type {Point} * @memberof DocumentPosition */ - RightTop?: Point; + 'RightTop': Point; + /** + * + * @type {number} + * @memberof DocumentPosition + */ + 'Dpi': number; /** * * @type {number} * @memberof DocumentPosition */ - Dpi?: number; + 'Inverse'?: number; + /** + * + * @type {number} + * @memberof DocumentPosition + */ + 'ObjArea'?: number; + /** + * + * @type {number} + * @memberof DocumentPosition + */ + 'ObjIntAngleDev'?: number; + /** + * + * @type {number} + * @memberof DocumentPosition + */ + 'PerspectiveTr'?: number; + /** + * + * @type {number} + * @memberof DocumentPosition + */ + 'ResultStatus'?: number; } + diff --git a/src/models/document-type-recognition-result.ts b/src/models/document-type-recognition-result.ts index 5c2c6806..55ee2ccd 100644 --- a/src/models/document-type-recognition-result.ts +++ b/src/models/document-type-recognition-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * * @export - * @enum {string} + * @enum {number} */ + export enum DocumentTypeRecognitionResult { /** * Document type determined. The first element in candidates array is recognition result diff --git a/src/models/document-type.ts b/src/models/document-type.ts index 207cca6a..5ccc3ec6 100644 --- a/src/models/document-type.ts +++ b/src/models/document-type.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * Possible values for document types * @export - * @enum {string} + * @enum {number} */ + export enum DocumentType { /** * Not defined diff --git a/src/models/document-types-candidates-list.ts b/src/models/document-types-candidates-list.ts index 236d0a55..cc88dee4 100644 --- a/src/models/document-types-candidates-list.ts +++ b/src/models/document-types-candidates-list.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { DocumentTypeRecognitionResult } from './document-type-recognition-result'; -import { OneCandidate } from './one-candidate'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentTypeRecognitionResult } from './document-type-recognition-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { OneCandidate } from './one-candidate'; /** * @@ -27,13 +31,14 @@ export interface DocumentTypesCandidatesList { * @type {DocumentTypeRecognitionResult} * @memberof DocumentTypesCandidatesList */ - RecResult?: DocumentTypeRecognitionResult; + 'RecResult'?: DocumentTypeRecognitionResult; /** * * @type {Array} * @memberof DocumentTypesCandidatesList */ - Candidates?: Array; + 'Candidates'?: Array; } + diff --git a/src/models/document-types-candidates-result-all-of.ts b/src/models/document-types-candidates-result-all-of.ts deleted file mode 100644 index e44d87d2..00000000 --- a/src/models/document-types-candidates-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { DocumentTypesCandidatesList } from './document-types-candidates-list'; - -/** - * - * @export - * @interface DocumentTypesCandidatesResultAllOf - */ -export interface DocumentTypesCandidatesResultAllOf { - /** - * - * @type {DocumentTypesCandidatesList} - * @memberof DocumentTypesCandidatesResultAllOf - */ - CandidatesList?: DocumentTypesCandidatesList; -} - - diff --git a/src/models/document-types-candidates-result.ts b/src/models/document-types-candidates-result.ts index b92ebb21..d4137948 100644 --- a/src/models/document-types-candidates-result.ts +++ b/src/models/document-types-candidates-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,30 +13,23 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesList } from './document-types-candidates-list'; -import { DocumentTypesCandidatesResultAllOf } from './document-types-candidates-result-all-of'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { CandidatesListItem } from './candidates-list-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentTypesCandidatesList } from './document-types-candidates-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type DocumentTypesCandidatesResult * @export */ -export type DocumentTypesCandidatesResult = DocumentTypesCandidatesResultAllOf & ResultItem; - +export type DocumentTypesCandidatesResult = CandidatesListItem & ResultItem; diff --git a/src/models/document-types-candidates.ts b/src/models/document-types-candidates.ts index 999c0e86..748589a3 100644 --- a/src/models/document-types-candidates.ts +++ b/src/models/document-types-candidates.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { DocumentTypeRecognitionResult } from './document-type-recognition-result'; -import { OneCandidate } from './one-candidate'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentTypeRecognitionResult } from './document-type-recognition-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { OneCandidate } from './one-candidate'; /** * @@ -27,13 +31,14 @@ export interface DocumentTypesCandidates { * @type {DocumentTypeRecognitionResult} * @memberof DocumentTypesCandidates */ - RecResult?: DocumentTypeRecognitionResult; + 'RecResult'?: DocumentTypeRecognitionResult; /** * * @type {Array} * @memberof DocumentTypesCandidates */ - Candidates?: Array; + 'Candidates'?: Array; } + diff --git a/src/models/documents-database.ts b/src/models/documents-database.ts index d8b8dc9f..d82addeb 100644 --- a/src/models/documents-database.ts +++ b/src/models/documents-database.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,25 +25,24 @@ export interface DocumentsDatabase { * @type {string} * @memberof DocumentsDatabase */ - Description?: string; + 'Description'?: string; /** * Date the document database was created * @type {string} * @memberof DocumentsDatabase */ - ExportDate?: string; + 'ExportDate'?: string; /** * Document database identifier * @type {string} * @memberof DocumentsDatabase */ - ID?: string; + 'ID'?: string; /** * Document database version * @type {string} * @memberof DocumentsDatabase */ - Version?: string; + 'Version'?: string; } - diff --git a/src/models/encrypted-rclitem.ts b/src/models/encrypted-rclitem.ts new file mode 100644 index 00000000..3cac33db --- /dev/null +++ b/src/models/encrypted-rclitem.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface EncryptedRCLItem + */ +export interface EncryptedRCLItem { + /** + * Base64 encoded data + * @type {string} + * @memberof EncryptedRCLItem + */ + 'EncryptedRCL': string; +} + diff --git a/src/models/encrypted-rclresult-all-of.ts b/src/models/encrypted-rclresult-all-of.ts deleted file mode 100644 index ce51fe3a..00000000 --- a/src/models/encrypted-rclresult-all-of.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - - -/** - * Contains encrypted result container list - * @export - * @interface EncryptedRCLResultAllOf - */ -export interface EncryptedRCLResultAllOf { - /** - * Base64 encoded data - * @type {string} - * @memberof EncryptedRCLResultAllOf - */ - EncryptedRCL: string; -} - - diff --git a/src/models/encrypted-rclresult.ts b/src/models/encrypted-rclresult.ts index 69f4a8cd..0f883e22 100644 --- a/src/models/encrypted-rclresult.ts +++ b/src/models/encrypted-rclresult.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,29 +13,21 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResultAllOf } from './encrypted-rclresult-all-of'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { EncryptedRCLItem } from './encrypted-rclitem'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type EncryptedRCLResult + * Contains encrypted result container list * @export */ -export type EncryptedRCLResult = EncryptedRCLResultAllOf & ResultItem; - +export type EncryptedRCLResult = EncryptedRCLItem & ResultItem; diff --git a/src/models/error-coordinates.ts b/src/models/error-coordinates.ts new file mode 100644 index 00000000..5abd28e4 --- /dev/null +++ b/src/models/error-coordinates.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ErrorCoordinates + */ +export interface ErrorCoordinates { + /** + * + * @type {number} + * @memberof ErrorCoordinates + */ + 'Left'?: number; + /** + * + * @type {number} + * @memberof ErrorCoordinates + */ + 'Top'?: number; + /** + * + * @type {number} + * @memberof ErrorCoordinates + */ + 'Right'?: number; + /** + * + * @type {number} + * @memberof ErrorCoordinates + */ + 'Bottom'?: number; +} + diff --git a/src/models/face-api-search.ts b/src/models/face-api-search.ts index 9352ef75..4856e9b2 100644 --- a/src/models/face-api-search.ts +++ b/src/models/face-api-search.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,19 +25,18 @@ export interface FaceApiSearch { * @type {number} * @memberof FaceApiSearch */ - limit?: number; + 'limit'?: number; /** * The similarity threshold. * @type {number} * @memberof FaceApiSearch */ - threshold?: number; + 'threshold'?: number; /** * The groups where to conduct the search. * @type {Array} * @memberof FaceApiSearch */ - group_ids?: Array; + 'group_ids'?: Array; } - diff --git a/src/models/face-api.ts b/src/models/face-api.ts index a1a1db26..3a005b4c 100644 --- a/src/models/face-api.ts +++ b/src/models/face-api.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { FaceApiSearch } from './face-api-search'; +// May contain unused imports in some cases +// @ts-ignore +import type { FaceApiSearch } from './face-api-search'; /** * @@ -26,61 +28,60 @@ export interface FaceApi { * @type {string} * @memberof FaceApi */ - url?: string; + 'url'?: string; /** * The processing mode: \"match\" or \"match+search\". * @type {string} * @memberof FaceApi */ - mode?: string; + 'mode'?: string; /** * * @type {FaceApiSearch} * @memberof FaceApi */ - search?: FaceApiSearch; + 'search'?: FaceApiSearch; /** * The similarity threshold, 0-100. Above 75 means that the faces\' similarity is verified, below 75 is not. * @type {number} * @memberof FaceApi */ - threshold?: number; + 'threshold'?: number; /** * The Regula Face Web service requests timeout, ms. * @type {number} * @memberof FaceApi */ - serviceTimeout?: number; + 'serviceTimeout'?: number; /** * Proxy to use, should be set according to the cURL standard. * @type {string} * @memberof FaceApi */ - proxy?: string; + 'proxy'?: string; /** * Username and password to use for proxy authentication, should be set according to the cURL standard. * @type {string} * @memberof FaceApi */ - proxy_userpwd?: string; + 'proxy_userpwd'?: string; /** * Proxy protocol type, should be set according to the cURL standard. * @type {number} * @memberof FaceApi */ - proxy_type?: number; + 'proxy_type'?: number; /** * The age threshold for the portrait comparison. Default: 13. * @type {number} * @memberof FaceApi */ - childAgeThreshold?: number; + 'childAgeThreshold'?: number; /** * Estimated duration of validity for a child\'s passport, years. Default: 5. * @type {number} * @memberof FaceApi */ - childDocValidityYears?: number; + 'childDocValidityYears'?: number; } - diff --git a/src/models/face-detection-item.ts b/src/models/face-detection-item.ts new file mode 100644 index 00000000..ac9ba83b --- /dev/null +++ b/src/models/face-detection-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { FaceDetection } from './face-detection'; + +/** + * + * @export + * @interface FaceDetectionItem + */ +export interface FaceDetectionItem { + /** + * + * @type {FaceDetection} + * @memberof FaceDetectionItem + */ + 'FaceDetection': FaceDetection; +} + diff --git a/src/models/face-detection-result.ts b/src/models/face-detection-result.ts new file mode 100644 index 00000000..9ca1ea48 --- /dev/null +++ b/src/models/face-detection-result.ts @@ -0,0 +1,35 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { FaceDetection } from './face-detection'; +// May contain unused imports in some cases +// @ts-ignore +import type { FaceDetectionItem } from './face-detection-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; + +/** + * @type FaceDetectionResult + * @export + */ +export type FaceDetectionResult = FaceDetectionItem & ResultItem; + + diff --git a/src/models/face-detection.ts b/src/models/face-detection.ts new file mode 100644 index 00000000..615bc05f --- /dev/null +++ b/src/models/face-detection.ts @@ -0,0 +1,57 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { FaceItem } from './face-item'; + +/** + * + * @export + * @interface FaceDetection + */ +export interface FaceDetection { + /** + * + * @type {number} + * @memberof FaceDetection + */ + 'Count': number; + /** + * + * @type {number} + * @memberof FaceDetection + */ + 'CountFalseDetection': number; + /** + * + * @type {Array} + * @memberof FaceDetection + */ + 'Res': Array; + /** + * + * @type {number} + * @memberof FaceDetection + */ + 'Reserved1'?: number; + /** + * + * @type {number} + * @memberof FaceDetection + */ + 'Reserved2'?: number; +} + diff --git a/src/models/face-item.ts b/src/models/face-item.ts new file mode 100644 index 00000000..91408ae5 --- /dev/null +++ b/src/models/face-item.ts @@ -0,0 +1,83 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { Point } from './point'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; + +/** + * + * @export + * @interface FaceItem + */ +export interface FaceItem { + /** + * + * @type {number} + * @memberof FaceItem + */ + 'CoincidenceToPhotoArea': number; + /** + * + * @type {RectangleCoordinates} + * @memberof FaceItem + */ + 'FaceRect': RectangleCoordinates; + /** + * + * @type {RectangleCoordinates} + * @memberof FaceItem + */ + 'FieldRect': RectangleCoordinates; + /** + * + * @type {number} + * @memberof FaceItem + */ + 'GraphFieldNumber': number; + /** + * + * @type {Array} + * @memberof FaceItem + */ + 'Landmarks': Array; + /** + * + * @type {Light} + * @memberof FaceItem + */ + 'LightType': Light; + /** + * + * @type {number} + * @memberof FaceItem + */ + 'Orientation': number; + /** + * + * @type {number} + * @memberof FaceItem + */ + 'Probability': number; +} + + + diff --git a/src/models/fdsidlist.ts b/src/models/fdsidlist.ts index 9562ff27..1a66f020 100644 --- a/src/models/fdsidlist.ts +++ b/src/models/fdsidlist.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { DocumentFormat } from './document-format'; -import { DocumentType } from './document-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentFormat } from './document-format'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentType } from './document-type'; /** * Extended document type info and Regula\'s \'Information Reference Systems\' links @@ -27,67 +31,74 @@ export interface FDSIDList { * @type {string} * @memberof FDSIDList */ - ICAOCode?: string; + 'ICAOCode': string; + /** + * Number of elements in the List + * @type {number} + * @memberof FDSIDList + */ + 'Count': number; /** * Document identifiers in \'Information Reference Systems\' * @type {Array} * @memberof FDSIDList */ - List?: Array; + 'List': Array; /** * * @type {DocumentType} * @memberof FDSIDList */ - dType?: DocumentType; + 'dType': DocumentType; /** * * @type {DocumentFormat} * @memberof FDSIDList */ - dFormat?: DocumentFormat; + 'dFormat': DocumentFormat; /** * Flag indicating the presence of MRZ on the document * @type {boolean} * @memberof FDSIDList */ - dMRZ?: boolean; + 'dMRZ': boolean; /** * Document description * @type {string} * @memberof FDSIDList */ - dDescription?: string; + 'dDescription'?: string; /** * Year of publication of the document * @type {string} * @memberof FDSIDList */ - dYear?: string; + 'dYear': string; /** * Issuing country name * @type {string} * @memberof FDSIDList */ - dCountryName?: string; + 'dCountryName': string; /** * Issuing state code * @type {string} * @memberof FDSIDList */ - dStateCode?: string; + 'dStateCode'?: string; /** * Issuing state name * @type {string} * @memberof FDSIDList */ - dStateName?: string; + 'dStateName'?: string; /** * Whether the document is deprecated * @type {boolean} * @memberof FDSIDList */ - isDeprecated?: boolean; + 'isDeprecated': boolean; } + diff --git a/src/models/fiber-item.ts b/src/models/fiber-item.ts new file mode 100644 index 00000000..ffa08ab2 --- /dev/null +++ b/src/models/fiber-item.ts @@ -0,0 +1,86 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; + +/** + * + * @export + * @interface FiberItem + */ +export interface FiberItem { + /** + * For UV_Fibers authenticity result type + * @type {number} + * @memberof FiberItem + */ + 'RectCount': number; + /** + * Expected fibers number. For UV_Fibers authentication result type + * @type {number} + * @memberof FiberItem + */ + 'ExpectedCount': number; + /** + * + * @type {Light} + * @memberof FiberItem + */ + 'LightValue'?: Light; + /** + * For UV_Background authentication result type + * @type {number} + * @memberof FiberItem + */ + 'LightDisp'?: number; + /** + * Coordinates of located areas for defined fibers type + * @type {Array} + * @memberof FiberItem + */ + 'RectArray': Array; + /** + * Fibers width value for located areas (in pixels) + * @type {Array} + * @memberof FiberItem + */ + 'Width': Array; + /** + * Fibers length value for located areas (in pixels) + * @type {Array} + * @memberof FiberItem + */ + 'Length': Array; + /** + * Fibers value for areas (in pixels) + * @type {Array} + * @memberof FiberItem + */ + 'Area': Array; + /** + * Fibers color value + * @type {Array} + * @memberof FiberItem + */ + 'ColorValues': Array; +} + + + diff --git a/src/models/fiber-result-all-of.ts b/src/models/fiber-result-all-of.ts deleted file mode 100644 index b6584a79..00000000 --- a/src/models/fiber-result-all-of.ts +++ /dev/null @@ -1,81 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { Light } from './light'; -import { RectangleCoordinates } from './rectangle-coordinates'; - -/** - * - * @export - * @interface FiberResultAllOf - */ -export interface FiberResultAllOf { - /** - * For UV_Fibers authenticity result type - * @type {number} - * @memberof FiberResultAllOf - */ - RectCount?: number; - /** - * Expected fibers number. For UV_Fibers authentication result type - * @type {number} - * @memberof FiberResultAllOf - */ - ExpectedCount?: number; - /** - * - * @type {Light} - * @memberof FiberResultAllOf - */ - LightValue?: Light; - /** - * For UV_Background authentication result type - * @type {number} - * @memberof FiberResultAllOf - */ - LightDisp?: number; - /** - * Coordinates of located areas for defined fibers type - * @type {Array} - * @memberof FiberResultAllOf - */ - RectArray?: Array; - /** - * Fibers width value for located areas (in pixels) - * @type {Array} - * @memberof FiberResultAllOf - */ - Width?: Array; - /** - * Fibers length value for located areas (in pixels) - * @type {Array} - * @memberof FiberResultAllOf - */ - Length?: Array; - /** - * Fibers value for areas (in pixels) - * @type {Array} - * @memberof FiberResultAllOf - */ - Area?: Array; - /** - * Fibers color value - * @type {Array} - * @memberof FiberResultAllOf - */ - ColorValues?: Array; -} - - diff --git a/src/models/fiber-result.ts b/src/models/fiber-result.ts index 66140e0b..8d57ef40 100644 --- a/src/models/fiber-result.ts +++ b/src/models/fiber-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,22 +13,32 @@ */ -import { AuthenticityCheckResultItem } from './authenticity-check-result-item'; -import { CheckDiagnose } from './check-diagnose'; -import { CheckResult } from './check-result'; -import { FiberResultAllOf } from './fiber-result-all-of'; -import { IdentResult } from './ident-result'; -import { Light } from './light'; -import { OCRSecurityTextResult } from './ocrsecurity-text-result'; -import { PhotoIdentResult } from './photo-ident-result'; -import { RectangleCoordinates } from './rectangle-coordinates'; -import { SecurityFeatureResult } from './security-feature-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckResultItem } from './authenticity-check-result-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityResultType } from './authenticity-result-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckDiagnose } from './check-diagnose'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { FiberItem } from './fiber-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; /** * @type FiberResult * @export */ -export type FiberResult = AuthenticityCheckResultItem & FiberResultAllOf; - +export type FiberResult = AuthenticityCheckResultItem & FiberItem; diff --git a/src/models/field-item.ts b/src/models/field-item.ts new file mode 100644 index 00000000..4c95adab --- /dev/null +++ b/src/models/field-item.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface FieldItem + */ +export interface FieldItem { + /** + * + * @type {number} + * @memberof FieldItem + */ + 'FieldLength': number; + /** + * + * @type {number} + * @memberof FieldItem + */ + 'FieldPos': number; + /** + * + * @type {number} + * @memberof FieldItem + */ + 'FieldType': number; + /** + * + * @type {number} + * @memberof FieldItem + */ + 'TEST_RESULT': number; + /** + * + * @type {number} + * @memberof FieldItem + */ + 'ValidCheckSum': number; + /** + * + * @type {number} + * @memberof FieldItem + */ + 'reserved': number; +} + diff --git a/src/models/file-image.ts b/src/models/file-image.ts new file mode 100644 index 00000000..3dca220b --- /dev/null +++ b/src/models/file-image.ts @@ -0,0 +1,36 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface FileImage + */ +export interface FileImage { + /** + * + * @type {string} + * @memberof FileImage + */ + 'Data': string; + /** + * + * @type {number} + * @memberof FileImage + */ + 'Length': number; +} + diff --git a/src/models/get-transactions-by-tag-response.ts b/src/models/get-transactions-by-tag-response.ts index c8fabcc9..d163282d 100644 --- a/src/models/get-transactions-by-tag-response.ts +++ b/src/models/get-transactions-by-tag-response.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,19 +25,18 @@ export interface GetTransactionsByTagResponse { * @type {string} * @memberof GetTransactionsByTagResponse */ - id?: string; + 'id'?: string; /** * Transaction status * @type {number} * @memberof GetTransactionsByTagResponse */ - state?: number; + 'state'?: number; /** * Last time updated * @type {string} * @memberof GetTransactionsByTagResponse */ - updatedAt?: string; + 'updatedAt'?: string; } - diff --git a/src/models/graph-data.ts b/src/models/graph-data.ts new file mode 100644 index 00000000..5f1867fa --- /dev/null +++ b/src/models/graph-data.ts @@ -0,0 +1,69 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { FileImage } from './file-image'; + +/** + * + * @export + * @interface GraphData + */ +export interface GraphData { + /** + * + * @type {number} + * @memberof GraphData + */ + 'FieldType': number; + /** + * + * @type {FileImage} + * @memberof GraphData + */ + 'File_Image': FileImage; + /** + * + * @type {number} + * @memberof GraphData + */ + 'GraphicsType': number; + /** + * + * @type {number} + * @memberof GraphData + */ + 'OriginDG': number; + /** + * + * @type {number} + * @memberof GraphData + */ + 'OriginDGTag': number; + /** + * + * @type {number} + * @memberof GraphData + */ + 'OriginEntryView': number; + /** + * + * @type {number} + * @memberof GraphData + */ + 'OriginTagEntry': number; +} + diff --git a/src/models/graphic-field-type.ts b/src/models/graphic-field-type.ts index f7ba5478..d55a09ac 100644 --- a/src/models/graphic-field-type.ts +++ b/src/models/graphic-field-type.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * * @export - * @enum {string} + * @enum {number} */ + export enum GraphicFieldType { /** * Document holder photo @@ -65,6 +66,10 @@ export enum GraphicFieldType { */ STAMP = 211, /** + * Portrait of child + */ + PORTRAIT_OF_CHILD = 212, + /** * Contact chip */ CONTACT_CHIP = 213, diff --git a/src/models/graphic-field.ts b/src/models/graphic-field.ts index bc8a335a..eae79bc9 100644 --- a/src/models/graphic-field.ts +++ b/src/models/graphic-field.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,58 +13,47 @@ */ -import { GraphicFieldType } from './graphic-field-type'; -import { ImageData } from './image-data'; -import { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { GraphicFieldType } from './graphic-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; /** - * + * Information about one graphic field - abstract class * @export * @interface GraphicField */ export interface GraphicField { - /** - * - * @type {GraphicFieldType} - * @memberof GraphicField - */ - FieldType: GraphicFieldType; - /** - * - * @type {ImageData} - * @memberof GraphicField - */ - image: ImageData; /** * * @type {RectangleCoordinates} * @memberof GraphicField */ - FieldRect?: RectangleCoordinates; + 'FieldRect': RectangleCoordinates; /** - * Source data group file. Only for Result.RFID_GRAPHICS result. - * @type {number} - * @memberof GraphicField - */ - RFID_OriginDG?: number; - /** - * Index of the source record of the image with biometric information in the information data group. Only for Result.RFID_GRAPHICS result. - * @type {number} + * + * @type {GraphicFieldType} * @memberof GraphicField */ - RFID_OriginDGTag?: number; + 'FieldType': GraphicFieldType; /** - * Index of the template in the record with biometric data. Only for Result.RFID_GRAPHICS result. - * @type {number} + * Graphic field symbolic name + * @type {string} * @memberof GraphicField */ - RFID_OriginTagEntry?: number; + 'FieldName': string; /** - * Index of the variant of the biometric data template. Only for Result.RFID_GRAPHICS result. - * @type {number} + * + * @type {ImageData} * @memberof GraphicField */ - RFID_OriginEntryView?: number; + 'image': ImageData; } + diff --git a/src/models/graphic-fields-list.ts b/src/models/graphic-fields-list.ts index 54eb74ba..eeaab3ca 100644 --- a/src/models/graphic-fields-list.ts +++ b/src/models/graphic-fields-list.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { GraphicField } from './graphic-field'; +// May contain unused imports in some cases +// @ts-ignore +import type { GraphicField } from './graphic-field'; /** * @@ -26,7 +28,12 @@ export interface GraphicFieldsList { * @type {Array} * @memberof GraphicFieldsList */ - pArrayFields: Array; + 'pArrayFields': Array; + /** + * Number of pArrayFields array elements + * @type {number} + * @memberof GraphicFieldsList + */ + 'nFields': number; } - diff --git a/src/models/graphics-result-all-of.ts b/src/models/graphics-result-all-of.ts deleted file mode 100644 index b1695edc..00000000 --- a/src/models/graphics-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { GraphicFieldsList } from './graphic-fields-list'; - -/** - * - * @export - * @interface GraphicsResultAllOf - */ -export interface GraphicsResultAllOf { - /** - * - * @type {GraphicFieldsList} - * @memberof GraphicsResultAllOf - */ - DocGraphicsInfo?: GraphicFieldsList; -} - - diff --git a/src/models/graphics-result.ts b/src/models/graphics-result.ts index 979b0d5b..3414526d 100644 --- a/src/models/graphics-result.ts +++ b/src/models/graphics-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,31 +13,24 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicFieldsList } from './graphic-fields-list'; -import { GraphicsResultAllOf } from './graphics-result-all-of'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocGraphicsInfoItem } from './doc-graphics-info-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { GraphicFieldsList } from './graphic-fields-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type GraphicsResult * Graphic fields extracted from one of the document sources. Returns separate results for each provided page. * @export */ -export type GraphicsResult = GraphicsResultAllOf & ResultItem; - +export type GraphicsResult = DocGraphicsInfoItem & ResultItem; diff --git a/src/models/healthcheck-documents-database.ts b/src/models/healthcheck-documents-database.ts index 945a851c..5229a8ba 100644 --- a/src/models/healthcheck-documents-database.ts +++ b/src/models/healthcheck-documents-database.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,25 +25,24 @@ export interface HealthcheckDocumentsDatabase { * @type {string} * @memberof HealthcheckDocumentsDatabase */ - id: string | null; + 'id': string | null; /** * Database version. * @type {string} * @memberof HealthcheckDocumentsDatabase */ - version: string | null; + 'version': string | null; /** * Date of database creation. * @type {string} * @memberof HealthcheckDocumentsDatabase */ - exportDate: string | null; + 'exportDate': string | null; /** * Description of the database contents, such as the list of supported countries and documents. * @type {string} * @memberof HealthcheckDocumentsDatabase */ - description: string | null; + 'description': string | null; } - diff --git a/src/models/healthcheck.ts b/src/models/healthcheck.ts index bbae9ec0..53c813fe 100644 --- a/src/models/healthcheck.ts +++ b/src/models/healthcheck.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { HealthcheckDocumentsDatabase } from './healthcheck-documents-database'; +// May contain unused imports in some cases +// @ts-ignore +import type { HealthcheckDocumentsDatabase } from './healthcheck-documents-database'; /** * @@ -26,49 +28,54 @@ export interface Healthcheck { * @type {string} * @memberof Healthcheck */ - app: string; + 'app': string; /** * Unique license identifier. * @type {string} * @memberof Healthcheck */ - licenseId: string | null; + 'licenseId': string | null; /** * License type. * @type {string} * @memberof Healthcheck */ - licenseType: string | null; + 'licenseType': string | null; /** * License serial number. * @type {string} * @memberof Healthcheck */ - licenseSerial: string | null; + 'licenseSerial': string | null; /** * License validity date. * @type {string} * @memberof Healthcheck */ - licenseValidUntil: string | null; + 'licenseValidUntil': string | null; /** * List of supported scenarios. * @type {Array} * @memberof Healthcheck */ - scenarios: Array | null; + 'scenarios': Array | null; /** * Product version. * @type {string} * @memberof Healthcheck */ - version: string | null; + 'version': string | null; + /** + * + * @type {{ [key: string]: any; }} + * @memberof Healthcheck + */ + 'metadata'?: { [key: string]: any; }; /** * * @type {HealthcheckDocumentsDatabase} * @memberof Healthcheck */ - documentsDatabase?: HealthcheckDocumentsDatabase; + 'documentsDatabase'?: HealthcheckDocumentsDatabase; } - diff --git a/src/models/ident-item.ts b/src/models/ident-item.ts new file mode 100644 index 00000000..7b99f0ca --- /dev/null +++ b/src/models/ident-item.ts @@ -0,0 +1,77 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { AreaContainer } from './area-container'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { SecurityFeatureType } from './security-feature-type'; + +/** + * + * @export + * @interface IdentItem + */ +export interface IdentItem { + /** + * + * @type {SecurityFeatureType} + * @memberof IdentItem + */ + 'ElementType': SecurityFeatureType; + /** + * + * @type {Light} + * @memberof IdentItem + */ + 'LightIndex': Light; + /** + * + * @type {RectangleCoordinates} + * @memberof IdentItem + */ + 'Area'?: RectangleCoordinates; + /** + * + * @type {ImageData} + * @memberof IdentItem + */ + 'Image': ImageData; + /** + * + * @type {ImageData} + * @memberof IdentItem + */ + 'EtalonImage': ImageData; + /** + * + * @type {AreaContainer} + * @memberof IdentItem + */ + 'AreaList'?: AreaContainer; +} + + + diff --git a/src/models/ident-result-all-of.ts b/src/models/ident-result-all-of.ts deleted file mode 100644 index a8bc8b7a..00000000 --- a/src/models/ident-result-all-of.ts +++ /dev/null @@ -1,66 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { AreaContainer } from './area-container'; -import { ImageData } from './image-data'; -import { Light } from './light'; -import { RectangleCoordinates } from './rectangle-coordinates'; -import { SecurityFeatureType } from './security-feature-type'; - -/** - * - * @export - * @interface IdentResultAllOf - */ -export interface IdentResultAllOf { - /** - * - * @type {SecurityFeatureType} - * @memberof IdentResultAllOf - */ - ElementType?: SecurityFeatureType; - /** - * - * @type {Light} - * @memberof IdentResultAllOf - */ - LightIndex?: Light; - /** - * - * @type {RectangleCoordinates} - * @memberof IdentResultAllOf - */ - Area?: RectangleCoordinates; - /** - * - * @type {ImageData} - * @memberof IdentResultAllOf - */ - Image?: ImageData; - /** - * - * @type {ImageData} - * @memberof IdentResultAllOf - */ - EtalonImage?: ImageData; - /** - * - * @type {AreaContainer} - * @memberof IdentResultAllOf - */ - AreaList?: AreaContainer; -} - - diff --git a/src/models/ident-result.ts b/src/models/ident-result.ts index 69bb7c4e..0716ac10 100644 --- a/src/models/ident-result.ts +++ b/src/models/ident-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,25 +13,41 @@ */ -import { AreaContainer } from './area-container'; -import { AuthenticityCheckResultItem } from './authenticity-check-result-item'; -import { CheckDiagnose } from './check-diagnose'; -import { CheckResult } from './check-result'; -import { FiberResult } from './fiber-result'; -import { IdentResultAllOf } from './ident-result-all-of'; -import { ImageData } from './image-data'; -import { Light } from './light'; -import { OCRSecurityTextResult } from './ocrsecurity-text-result'; -import { PhotoIdentResult } from './photo-ident-result'; -import { RectangleCoordinates } from './rectangle-coordinates'; -import { SecurityFeatureResult } from './security-feature-result'; -import { SecurityFeatureType } from './security-feature-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { AreaContainer } from './area-container'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckResultItem } from './authenticity-check-result-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityResultType } from './authenticity-result-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckDiagnose } from './check-diagnose'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { IdentItem } from './ident-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { SecurityFeatureType } from './security-feature-type'; /** * @type IdentResult * @export */ -export type IdentResult = AuthenticityCheckResultItem & IdentResultAllOf; - +export type IdentResult = AuthenticityCheckResultItem & IdentItem; diff --git a/src/models/image-data.ts b/src/models/image-data.ts index 937e27ac..cd860a9b 100644 --- a/src/models/image-data.ts +++ b/src/models/image-data.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,13 +25,12 @@ export interface ImageData { * @type {string} * @memberof ImageData */ - image: string; + 'image': string; /** * Image format * @type {string} * @memberof ImageData */ - format?: string; + 'format'?: string; } - diff --git a/src/models/image-qa.ts b/src/models/image-qa.ts index fe72fb6a..898719c4 100644 --- a/src/models/image-qa.ts +++ b/src/models/image-qa.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { InputImageQualityChecks } from './input-image-quality-checks'; +// May contain unused imports in some cases +// @ts-ignore +import type { InputImageQualityChecks } from './input-image-quality-checks'; /** * @@ -26,49 +28,54 @@ export interface ImageQA { * @type {number} * @memberof ImageQA */ - brightnessThreshold?: number; + 'brightnessThreshold'?: number; /** * This parameter sets threshold for Image QA check of the presented document physical dpi. If actual document dpi is below this threshold, check will fail. * @type {number} * @memberof ImageQA */ - dpiThreshold?: number; + 'dpiThreshold'?: number; /** * This parameter sets threshold for Image QA check of the presented document perspective angle in degrees. If actual document perspective angle is above this threshold, check will fail. * @type {number} * @memberof ImageQA */ - angleThreshold?: number; + 'angleThreshold'?: number; /** * This option enables focus check while performing image quality validation. * @type {boolean} * @memberof ImageQA */ - focusCheck?: boolean; + 'focusCheck'?: boolean; /** * This option enables glares check while performing image quality validation. * @type {boolean} * @memberof ImageQA */ - glaresCheck?: boolean; + 'glaresCheck'?: boolean; /** * This option enables colorness check while performing image quality validation. * @type {boolean} * @memberof ImageQA */ - colornessCheck?: boolean; + 'colornessCheck'?: boolean; + /** + * This option enables screen capture (moire patterns) check while performing image quality validation. + * @type {boolean} + * @memberof ImageQA + */ + 'moireCheck'?: boolean; /** * This parameter specifies the necessary margin. Default 0. * @type {number} * @memberof ImageQA */ - documentPositionIndent?: number; + 'documentPositionIndent'?: number; /** * This parameter controls the quality checks that the image should pass to be considered a valid input during the scanning process. * @type {Array} * @memberof ImageQA */ - expectedPass?: Array; + 'expectedPass'?: Array; } - diff --git a/src/models/image-quality-check-list-item.ts b/src/models/image-quality-check-list-item.ts new file mode 100644 index 00000000..e2eb5c52 --- /dev/null +++ b/src/models/image-quality-check-list-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ImageQualityCheckList } from './image-quality-check-list'; + +/** + * + * @export + * @interface ImageQualityCheckListItem + */ +export interface ImageQualityCheckListItem { + /** + * + * @type {ImageQualityCheckList} + * @memberof ImageQualityCheckListItem + */ + 'ImageQualityCheckList': ImageQualityCheckList; +} + diff --git a/src/models/image-quality-check-list.ts b/src/models/image-quality-check-list.ts index 62397ab3..61f739b3 100644 --- a/src/models/image-quality-check-list.ts +++ b/src/models/image-quality-check-list.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { CheckResult } from './check-result'; -import { ImageQualityCheck } from './image-quality-check'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageQualityCheck } from './image-quality-check'; /** * @@ -27,13 +31,20 @@ export interface ImageQualityCheckList { * @type {CheckResult} * @memberof ImageQualityCheckList */ - result: CheckResult; + 'result': CheckResult; /** * * @type {Array} * @memberof ImageQualityCheckList */ - List: Array; + 'List': Array; + /** + * Number of List array elements + * @type {number} + * @memberof ImageQualityCheckList + */ + 'Count': number; } + diff --git a/src/models/image-quality-check-type.ts b/src/models/image-quality-check-type.ts index 1c217eae..f1d5a0e9 100644 --- a/src/models/image-quality-check-type.ts +++ b/src/models/image-quality-check-type.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * Image quality check type * @export - * @enum {string} + * @enum {number} */ + export enum ImageQualityCheckType { /** * Signals glare presence on the image diff --git a/src/models/image-quality-check.ts b/src/models/image-quality-check.ts index b10974d0..1dde7f98 100644 --- a/src/models/image-quality-check.ts +++ b/src/models/image-quality-check.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,10 +13,18 @@ */ -import { AreaArray } from './area-array'; -import { CheckResult } from './check-result'; -import { ImageQualityCheckType } from './image-quality-check-type'; -import { SecurityFeatureType } from './security-feature-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { AreaArray } from './area-array'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageQualityCheckType } from './image-quality-check-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { SecurityFeatureType } from './security-feature-type'; /** * @@ -29,43 +37,44 @@ export interface ImageQualityCheck { * @type {ImageQualityCheckType} * @memberof ImageQualityCheck */ - type?: ImageQualityCheckType; + 'type': ImageQualityCheckType; /** * * @type {CheckResult} * @memberof ImageQualityCheck */ - result?: CheckResult; + 'result': CheckResult; /** * * @type {SecurityFeatureType} * @memberof ImageQualityCheck */ - featureType?: SecurityFeatureType; + 'featureType': SecurityFeatureType; /** * * @type {AreaArray} * @memberof ImageQualityCheck */ - areas?: AreaArray; + 'areas'?: AreaArray; /** - * + * Check mean value * @type {number} * @memberof ImageQualityCheck */ - mean?: number; + 'mean': number; /** - * + * Check deviation value * @type {number} * @memberof ImageQualityCheck */ - std_dev?: number; + 'std_dev': number; /** - * + * Check probability value * @type {number} * @memberof ImageQualityCheck */ - probability?: number; + 'probability': number; } + diff --git a/src/models/image-quality-result-all-of.ts b/src/models/image-quality-result-all-of.ts deleted file mode 100644 index ebd2d8a6..00000000 --- a/src/models/image-quality-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { ImageQualityCheckList } from './image-quality-check-list'; - -/** - * - * @export - * @interface ImageQualityResultAllOf - */ -export interface ImageQualityResultAllOf { - /** - * - * @type {ImageQualityCheckList} - * @memberof ImageQualityResultAllOf - */ - ImageQualityCheckList: ImageQualityCheckList; -} - - diff --git a/src/models/image-quality-result.ts b/src/models/image-quality-result.ts index 872d150e..9bf57b96 100644 --- a/src/models/image-quality-result.ts +++ b/src/models/image-quality-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,30 +13,23 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityCheckList } from './image-quality-check-list'; -import { ImageQualityResultAllOf } from './image-quality-result-all-of'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageQualityCheckList } from './image-quality-check-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageQualityCheckListItem } from './image-quality-check-list-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type ImageQualityResult * @export */ -export type ImageQualityResult = ImageQualityResultAllOf & ResultItem; - +export type ImageQualityResult = ImageQualityCheckListItem & ResultItem; diff --git a/src/models/image-transaction-data.ts b/src/models/image-transaction-data.ts index a676fa81..a2436490 100644 --- a/src/models/image-transaction-data.ts +++ b/src/models/image-transaction-data.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { ImagesFieldValue } from './images-field-value'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImagesFieldValue } from './images-field-value'; /** * @@ -26,7 +28,6 @@ export interface ImageTransactionData { * @type {ImagesFieldValue} * @memberof ImageTransactionData */ - image?: ImagesFieldValue; + 'image'?: ImagesFieldValue; } - diff --git a/src/models/images-available-source.ts b/src/models/images-available-source.ts index ed1f1203..26390d8f 100644 --- a/src/models/images-available-source.ts +++ b/src/models/images-available-source.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { Source } from './source'; +// May contain unused imports in some cases +// @ts-ignore +import type { Source } from './source'; /** * @@ -26,13 +28,14 @@ export interface ImagesAvailableSource { * @type {number} * @memberof ImagesAvailableSource */ - containerType?: number; + 'containerType': number; /** * * @type {Source} * @memberof ImagesAvailableSource */ - source: Source; + 'source': Source; } + diff --git a/src/models/images-field-value.ts b/src/models/images-field-value.ts index 3445b726..9518c0e9 100644 --- a/src/models/images-field-value.ts +++ b/src/models/images-field-value.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,10 +13,18 @@ */ -import { Light } from './light'; -import { RectangleCoordinates } from './rectangle-coordinates'; -import { RfidOrigin } from './rfid-origin'; -import { Source } from './source'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidOrigin } from './rfid-origin'; +// May contain unused imports in some cases +// @ts-ignore +import type { Source } from './source'; /** * @@ -29,55 +37,56 @@ export interface ImagesFieldValue { * @type {Source} * @memberof ImagesFieldValue */ - source: Source; + 'source': Source; /** * Base64 encoded image * @type {string} * @memberof ImagesFieldValue */ - value: string; + 'value'?: string; /** * Base64 encoded image * @type {string} * @memberof ImagesFieldValue */ - originalValue?: string; + 'originalValue'?: string; /** * Original page index * @type {number} * @memberof ImagesFieldValue */ - originalPageIndex?: number; + 'originalPageIndex'?: number; /** * Page index of the image from input list * @type {number} * @memberof ImagesFieldValue */ - pageIndex: number; + 'pageIndex': number; /** * * @type {Light} * @memberof ImagesFieldValue */ - lightIndex: Light; + 'lightIndex': Light; /** * Same as Result type, but used for safe parsing of not-described values. See Result type. * @type {number} * @memberof ImagesFieldValue */ - containerType: number; + 'containerType': number; /** * * @type {RectangleCoordinates} * @memberof ImagesFieldValue */ - fieldRect?: RectangleCoordinates; + 'fieldRect'?: RectangleCoordinates; /** * * @type {RfidOrigin} * @memberof ImagesFieldValue */ - rfidOrigin?: RfidOrigin; + 'rfidOrigin'?: RfidOrigin; } + diff --git a/src/models/images-field.ts b/src/models/images-field.ts index cd97af31..4ad8acb5 100644 --- a/src/models/images-field.ts +++ b/src/models/images-field.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { GraphicFieldType } from './graphic-field-type'; -import { ImagesFieldValue } from './images-field-value'; +// May contain unused imports in some cases +// @ts-ignore +import type { GraphicFieldType } from './graphic-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImagesFieldValue } from './images-field-value'; /** * @@ -27,19 +31,26 @@ export interface ImagesField { * @type {string} * @memberof ImagesField */ - fieldName: string; + 'fieldName': string; /** * * @type {GraphicFieldType} * @memberof ImagesField */ - fieldType: GraphicFieldType; + 'fieldType': GraphicFieldType; /** * * @type {Array} * @memberof ImagesField */ - valueList: Array; + 'valueList': Array; + /** + * Field value count + * @type {number} + * @memberof ImagesField + */ + 'valueCount'?: number; } + diff --git a/src/models/images-item.ts b/src/models/images-item.ts new file mode 100644 index 00000000..f948aa0a --- /dev/null +++ b/src/models/images-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { Images } from './images'; + +/** + * + * @export + * @interface ImagesItem + */ +export interface ImagesItem { + /** + * + * @type {Images} + * @memberof ImagesItem + */ + 'Images': Images; +} + diff --git a/src/models/images-result-all-of.ts b/src/models/images-result-all-of.ts deleted file mode 100644 index 54de046c..00000000 --- a/src/models/images-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { Images } from './images'; - -/** - * - * @export - * @interface ImagesResultAllOf - */ -export interface ImagesResultAllOf { - /** - * - * @type {Images} - * @memberof ImagesResultAllOf - */ - Images: Images; -} - - diff --git a/src/models/images-result.ts b/src/models/images-result.ts index ba8830bc..ae3ff918 100644 --- a/src/models/images-result.ts +++ b/src/models/images-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,30 +13,23 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { Images } from './images'; -import { ImagesResultAllOf } from './images-result-all-of'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Images } from './images'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImagesItem } from './images-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type ImagesResult * @export */ -export type ImagesResult = ImagesResultAllOf & ResultItem; - +export type ImagesResult = ImagesItem & ResultItem; diff --git a/src/models/images.ts b/src/models/images.ts index dea810f0..98dd1a06 100644 --- a/src/models/images.ts +++ b/src/models/images.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { ImagesAvailableSource } from './images-available-source'; -import { ImagesField } from './images-field'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImagesAvailableSource } from './images-available-source'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImagesField } from './images-field'; /** * @@ -22,18 +26,29 @@ import { ImagesField } from './images-field'; * @interface Images */ export interface Images { + /** + * Fields count + * @type {number} + * @memberof Images + */ + 'fieldCount'?: number; + /** + * Available sources count + * @type {number} + * @memberof Images + */ + 'availableSourceCount'?: number; /** * * @type {Array} * @memberof Images */ - availableSourceList: Array; + 'availableSourceList': Array; /** * * @type {Array} * @memberof Images */ - fieldList: Array; + 'fieldList': Array; } - diff --git a/src/models/in-data-transaction-images-field-value.ts b/src/models/in-data-transaction-images-field-value.ts index d570e6d3..27ca64f2 100644 --- a/src/models/in-data-transaction-images-field-value.ts +++ b/src/models/in-data-transaction-images-field-value.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; /** * @@ -26,25 +28,26 @@ export interface InDataTransactionImagesFieldValue { * @type {Light} * @memberof InDataTransactionImagesFieldValue */ - light?: Light; + 'light'?: Light; /** * * @type {number} * @memberof InDataTransactionImagesFieldValue */ - listIdx?: number; + 'listIdx'?: number; /** * Page index of the image from input list * @type {number} * @memberof InDataTransactionImagesFieldValue */ - pageIdx?: number; + 'pageIdx'?: number; /** * Image url * @type {string} * @memberof InDataTransactionImagesFieldValue */ - url?: string; + 'url'?: string; } + diff --git a/src/models/in-data-video.ts b/src/models/in-data-video.ts index 8a3fa3ef..c7922d3d 100644 --- a/src/models/in-data-video.ts +++ b/src/models/in-data-video.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -22,16 +22,15 @@ export interface InDataVideo { /** * A free-form object containing video\'s extended attributes. - * @type {{ [key: string]: object; }} + * @type {{ [key: string]: any; }} * @memberof InDataVideo */ - metadata?: { [key: string]: object; }; + 'metadata'?: { [key: string]: any; }; /** * Video url * @type {string} * @memberof InDataVideo */ - url?: string; + 'url'?: string; } - diff --git a/src/models/in-data.ts b/src/models/in-data.ts index 5f3c5039..3e56cf4c 100644 --- a/src/models/in-data.ts +++ b/src/models/in-data.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { InDataTransactionImagesFieldValue } from './in-data-transaction-images-field-value'; -import { InDataVideo } from './in-data-video'; +// May contain unused imports in some cases +// @ts-ignore +import type { InDataTransactionImagesFieldValue } from './in-data-transaction-images-field-value'; +// May contain unused imports in some cases +// @ts-ignore +import type { InDataVideo } from './in-data-video'; /** * @@ -27,13 +31,12 @@ export interface InData { * @type {InDataVideo} * @memberof InData */ - video?: InDataVideo; + 'video'?: InDataVideo; /** * * @type {Array} * @memberof InData */ - images?: Array; + 'images'?: Array; } - diff --git a/src/models/index.ts b/src/models/index.ts index 061be8b4..ee0f8184 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -2,21 +2,27 @@ export * from './area-array'; export * from './area-container'; export * from './auth-params'; export * from './authenticity-check-list'; +export * from './authenticity-check-list-item'; export * from './authenticity-check-result'; export * from './authenticity-check-result-item'; +export * from './authenticity-check-result-list-inner'; export * from './authenticity-result'; -export * from './authenticity-result-all-of'; export * from './authenticity-result-type'; +export * from './bar-code-module-type'; +export * from './barcode-type'; export * from './bc-pdf417-info'; export * from './bc-roidetect'; +export * from './binary-data'; +export * from './byte-array-item'; export * from './byte-array-result'; -export * from './byte-array-result-all-of'; +export * from './candidates-list-item'; +export * from './certificate-data'; export * from './check-diagnose'; export * from './check-result'; export * from './chosen-document-type'; export * from './chosen-document-type-result'; -export * from './chosen-document-type-result-all-of'; export * from './container-list'; +export * from './container-list-list-inner'; export * from './critical'; export * from './cross-source-value-comparison'; export * from './data-module'; @@ -24,86 +30,103 @@ export * from './details-optical'; export * from './details-rfid'; export * from './device-info'; export * from './doc-bar-code-info'; -export * from './doc-bar-code-info-all-of'; export * from './doc-bar-code-info-fields-list'; +export * from './doc-bar-code-info-item'; +export * from './doc-graphics-info-item'; export * from './doc-visual-extended-field'; +export * from './doc-visual-extended-field-item'; export * from './doc-visual-extended-info'; +export * from './doc-visual-extended-info-item'; +export * from './document-binary-info-result'; export * from './document-format'; export * from './document-image'; export * from './document-image-result'; -export * from './document-image-result-all-of'; export * from './document-position'; +export * from './document-position-item'; export * from './document-position-result'; -export * from './document-position-result-all-of'; export * from './document-type'; export * from './document-type-recognition-result'; export * from './document-types-candidates'; export * from './document-types-candidates-list'; export * from './document-types-candidates-result'; -export * from './document-types-candidates-result-all-of'; export * from './documents-database'; +export * from './encrypted-rclitem'; export * from './encrypted-rclresult'; -export * from './encrypted-rclresult-all-of'; +export * from './error-coordinates'; export * from './fdsidlist'; export * from './face-api'; export * from './face-api-search'; +export * from './face-detection'; +export * from './face-detection-item'; +export * from './face-detection-result'; +export * from './face-item'; +export * from './fiber-item'; export * from './fiber-result'; -export * from './fiber-result-all-of'; +export * from './field-item'; +export * from './file-image'; export * from './get-transactions-by-tag-response'; +export * from './graph-data'; export * from './graphic-field'; export * from './graphic-field-type'; export * from './graphic-fields-list'; export * from './graphics-result'; -export * from './graphics-result-all-of'; export * from './healthcheck'; export * from './healthcheck-documents-database'; +export * from './ident-item'; export * from './ident-result'; -export * from './ident-result-all-of'; export * from './image-data'; export * from './image-qa'; export * from './image-quality-check'; export * from './image-quality-check-list'; +export * from './image-quality-check-list-item'; export * from './image-quality-check-type'; export * from './image-quality-result'; -export * from './image-quality-result-all-of'; export * from './image-transaction-data'; export * from './images'; export * from './images-available-source'; export * from './images-field'; export * from './images-field-value'; +export * from './images-item'; export * from './images-result'; -export * from './images-result-all-of'; export * from './in-data'; export * from './in-data-transaction-images-field-value'; export * from './in-data-video'; -export * from './inline-response200'; -export * from './inline-response2001'; export * from './input-barcode-type'; export * from './input-image-quality-checks'; export * from './lcid'; export * from './lexical-analysis-result'; -export * from './lexical-analysis-result-all-of'; +export * from './license-item'; export * from './license-result'; -export * from './license-result-all-of'; export * from './light'; export * from './list-transactions-by-tag-response'; export * from './list-verified-fields'; +export * from './list-verified-fields-item'; export * from './liveness-params'; export * from './log-level'; +export * from './mrzdetector-result'; export * from './mrzformat'; +export * from './mrzposition-result'; +export * from './mrzrows-item'; +export * from './mrztest-quality'; +export * from './mrztest-quality-item'; +export * from './mrztest-quality-result'; export * from './measure-system'; export * from './mrz-detect-mode-enum'; +export * from './mrz-position'; +export * from './mrz-position-item'; +export * from './ocrsecurity-text-item'; export * from './ocrsecurity-text-result'; -export * from './ocrsecurity-text-result-all-of'; export * from './one-candidate'; +export * from './one-candidate-item'; export * from './original-symbol'; export * from './out-data'; export * from './out-data-transaction-images-field-value'; export * from './parray-field'; +export * from './parsed-data'; export * from './parsing-notification-codes'; export * from './per-document-config'; +export * from './photo-ident-item'; export * from './photo-ident-result'; -export * from './photo-ident-result-all-of'; export * from './point'; export * from './point-array'; export * from './points-container'; @@ -114,38 +137,89 @@ export * from './process-request-image'; export * from './process-response'; export * from './process-system-info'; export * from './processing-status'; +export * from './rfiddoc-visual-extended-field'; +export * from './rfiddoc-visual-extended-field-item'; +export * from './rfiddoc-visual-extended-info'; +export * from './rfiddoc-visual-extended-info-item'; +export * from './rfiderror-codes'; +export * from './rfidgraphics-info-result'; +export * from './rfidpkdresource-type'; +export * from './rfidtext-data-result'; +export * from './raw-image-container-item'; export * from './raw-image-container-list'; export * from './rectangle-coordinates'; export * from './result'; export * from './result-item'; +export * from './result-mrzdetector'; +export * from './result-mrzdetector-item'; +export * from './rfid-achip'; +export * from './rfid-access-control-info'; +export * from './rfid-access-control-procedure-type'; +export * from './rfid-access-key'; +export * from './rfid-application'; +export * from './rfid-application-type'; +export * from './rfid-attribute-data'; +export * from './rfid-attribute-name'; +export * from './rfid-authentication-procedure-type'; +export * from './rfid-baud-rate'; +export * from './rfid-card-properties-ext'; +export * from './rfid-certificate-ex'; +export * from './rfid-certificate-origin'; +export * from './rfid-certificate-type'; +export * from './rfid-dg1'; +export * from './rfid-data-file'; +export * from './rfid-data-file-type'; +export * from './rfid-data-group-type-tag'; +export * from './rfid-distinguished-name'; export * from './rfid-location'; export * from './rfid-origin'; +export * from './rfid-password-type'; +export * from './rfid-pki-extension'; +export * from './rfid-raw-data'; +export * from './rfid-security-object'; +export * from './rfid-session-data'; +export * from './rfid-signer-info-ex'; +export * from './rfid-terminal'; +export * from './rfid-terminal-type'; +export * from './rfid-type'; +export * from './rfid-validity'; export * from './scenario'; +export * from './security-feature-item'; export * from './security-feature-result'; -export * from './security-feature-result-all-of'; export * from './security-feature-type'; +export * from './security-object-certificates'; export * from './source'; export * from './source-validity'; export * from './status'; +export * from './status-item'; export * from './status-result'; -export * from './status-result-all-of'; +export * from './string-item'; export * from './string-recognition-result'; +export * from './symbol'; export * from './symbol-candidate'; +export * from './symbol-estimation-item'; export * from './symbol-recognition-result'; +export * from './tdoc-binary-info'; +export * from './tdoc-binary-info-item'; +export * from './toriginal-rfidgraphics-info'; +export * from './toriginal-rfidgraphics-info-item'; export * from './text'; export * from './text-available-source'; export * from './text-data-result'; -export * from './text-data-result-all-of'; export * from './text-field'; export * from './text-field-type'; export * from './text-field-value'; +export * from './text-item'; export * from './text-post-processing'; export * from './text-result'; -export * from './text-result-all-of'; export * from './transaction-image'; export * from './transaction-info'; export * from './transaction-process-get-response'; export * from './transaction-process-request'; +export * from './transaction-process-result'; +export * from './trf-ft-bytes'; +export * from './trf-ft-string'; export * from './verification-result'; export * from './verified-field-map'; export * from './visibility'; +export * from './visual-extended-field-item'; diff --git a/src/models/inline-response200.ts b/src/models/inline-response200.ts deleted file mode 100644 index 2161f047..00000000 --- a/src/models/inline-response200.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { InData } from './in-data'; -import { OutData } from './out-data'; - -/** - * - * @export - * @interface InlineResponse200 - */ -export interface InlineResponse200 { - /** - * - * @type {OutData} - * @memberof InlineResponse200 - */ - OutData?: OutData; - /** - * - * @type {InData} - * @memberof InlineResponse200 - */ - InData?: InData; - /** - * - * @type {string} - * @memberof InlineResponse200 - */ - tag?: string; - /** - * - * @type {string} - * @memberof InlineResponse200 - */ - transactionId?: string; -} - - diff --git a/src/models/inline-response2001.ts b/src/models/inline-response2001.ts deleted file mode 100644 index 91df427c..00000000 --- a/src/models/inline-response2001.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { ContainerList } from './container-list'; -import { ProcessingStatus } from './processing-status'; -import { RfidLocation } from './rfid-location'; -import { TransactionInfo } from './transaction-info'; - -/** - * - * @export - * @interface InlineResponse2001 - */ -export interface InlineResponse2001 { - /** - * - * @type {RfidLocation} - * @memberof InlineResponse2001 - */ - ChipPage?: RfidLocation; - /** - * - * @type {ProcessingStatus} - * @memberof InlineResponse2001 - */ - ProcessingFinished?: ProcessingStatus; - /** - * - * @type {ContainerList} - * @memberof InlineResponse2001 - */ - ContainerList?: ContainerList; - /** - * - * @type {TransactionInfo} - * @memberof InlineResponse2001 - */ - TransactionInfo?: TransactionInfo; - /** - * Base64 encoded transaction processing log - * @type {string} - * @memberof InlineResponse2001 - */ - log?: string; - /** - * Free-form object provided in request. See passBackObject property of ProcessRequest. - * @type {{ [key: string]: object; }} - * @memberof InlineResponse2001 - */ - passBackObject?: { [key: string]: object; }; - /** - * - * @type {number} - * @memberof InlineResponse2001 - */ - morePagesAvailable?: number; - /** - * Time the document processing has taken, ms. - * @type {number} - * @memberof InlineResponse2001 - */ - elapsedTime?: number; - /** - * - * @type {number} - * @memberof InlineResponse2001 - */ - CoreLibResultCode?: number; -} - - diff --git a/src/models/input-barcode-type.ts b/src/models/input-barcode-type.ts index 2d6ccb0e..5c664695 100644 --- a/src/models/input-barcode-type.ts +++ b/src/models/input-barcode-type.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,6 +19,7 @@ * @export * @enum {string} */ + export enum InputBarcodeType { /** * Unknown diff --git a/src/models/input-image-quality-checks.ts b/src/models/input-image-quality-checks.ts index 14b2855d..580278aa 100644 --- a/src/models/input-image-quality-checks.ts +++ b/src/models/input-image-quality-checks.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,6 +19,7 @@ * @export * @enum {string} */ + export enum InputImageQualityChecks { /** * Signals glare presence on the image diff --git a/src/models/lcid.ts b/src/models/lcid.ts index b1b36e33..fae4be90 100644 --- a/src/models/lcid.ts +++ b/src/models/lcid.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * Locale id. Used to tag same typed fields declared in several languages. For example: name can be provided in both native and latin variants. Based on Microsoft locale id (https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-lcid/70feba9f-294e-491e-b6eb-56532684c37f). * @export - * @enum {string} + * @enum {number} */ + export enum LCID { /** * Latin @@ -129,10 +130,26 @@ export enum LCID { */ CATALAN = 1027, /** + * Chinese (HongKong S.A.R.) + */ + CHINESE_HONGKONG_SAR = 3076, + /** + * Chinese (Macao S.A.R.) + */ + CHINESE_MACAO_SAR = 5124, + /** * Chinese */ CHINESE = 2052, /** + * Chinese (Singapore) + */ + CHINESE_SINGAPORE = 4100, + /** + * Chinese (Taiwan) + */ + CHINESE_TAIWAN = 1028, + /** * Croatian */ CROATIAN = 1050, @@ -145,6 +162,10 @@ export enum LCID { */ DANISH = 1030, /** + * Divehi + */ + DIVEHI = 1125, + /** * Dutch (Belgium) */ DUTCH_BELGIUM = 2067, @@ -521,6 +542,10 @@ export enum LCID { */ SWEDISH_FINLAND = 2077, /** + * Syriac + */ + SYRIAC = 1114, + /** * Tamil */ TAMIL = 1097, @@ -579,15 +604,15 @@ export enum LCID { /** * Bengali (Bangladesh) */ - BengaliBangladesh = 2117, + BENGALI_BANGLADESH = 2117, /** * BengaliIndia */ - BengaliIndia = 1093, + BENGALI_INDIA = 1093, /** * Assamese */ - Assamese = 1101, + ASSAMESE = 1101, /** * Oriya */ diff --git a/src/models/lexical-analysis-result-all-of.ts b/src/models/lexical-analysis-result-all-of.ts deleted file mode 100644 index f953804f..00000000 --- a/src/models/lexical-analysis-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { ListVerifiedFields } from './list-verified-fields'; - -/** - * - * @export - * @interface LexicalAnalysisResultAllOf - */ -export interface LexicalAnalysisResultAllOf { - /** - * - * @type {ListVerifiedFields} - * @memberof LexicalAnalysisResultAllOf - */ - ListVerifiedFields?: ListVerifiedFields; -} - - diff --git a/src/models/lexical-analysis-result.ts b/src/models/lexical-analysis-result.ts index dbd8c547..983d0c24 100644 --- a/src/models/lexical-analysis-result.ts +++ b/src/models/lexical-analysis-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,31 +13,24 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResultAllOf } from './lexical-analysis-result-all-of'; -import { LicenseResult } from './license-result'; -import { ListVerifiedFields } from './list-verified-fields'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ListVerifiedFields } from './list-verified-fields'; +// May contain unused imports in some cases +// @ts-ignore +import type { ListVerifiedFieldsItem } from './list-verified-fields-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type LexicalAnalysisResult * Lexical data analysis allows you to compare the results of reading the text data of the MRZ, the document filling area, barcodes and data from the memory of the RFID chip for an additional assessment of the authenticity of the document. Single result for all pages. Consider using Result.TEXT type for more simplicity. * @export */ -export type LexicalAnalysisResult = LexicalAnalysisResultAllOf & ResultItem; - +export type LexicalAnalysisResult = ListVerifiedFieldsItem & ResultItem; diff --git a/src/models/license-item.ts b/src/models/license-item.ts new file mode 100644 index 00000000..c17190d9 --- /dev/null +++ b/src/models/license-item.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface LicenseItem + */ +export interface LicenseItem { + /** + * Base64 encoded data + * @type {string} + * @memberof LicenseItem + */ + 'License': string; +} + diff --git a/src/models/license-result-all-of.ts b/src/models/license-result-all-of.ts deleted file mode 100644 index d2de3907..00000000 --- a/src/models/license-result-all-of.ts +++ /dev/null @@ -1,31 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - - -/** - * Contains license - * @export - * @interface LicenseResultAllOf - */ -export interface LicenseResultAllOf { - /** - * Base64 encoded data - * @type {string} - * @memberof LicenseResultAllOf - */ - License: string; -} - - diff --git a/src/models/license-result.ts b/src/models/license-result.ts index b9069df4..ecb81d2e 100644 --- a/src/models/license-result.ts +++ b/src/models/license-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,29 +13,21 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResultAllOf } from './license-result-all-of'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { LicenseItem } from './license-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type LicenseResult + * Contains license * @export */ -export type LicenseResult = LicenseResultAllOf & ResultItem; - +export type LicenseResult = LicenseItem & ResultItem; diff --git a/src/models/light.ts b/src/models/light.ts index 49eb97ec..7ac48482 100644 --- a/src/models/light.ts +++ b/src/models/light.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,25 +17,178 @@ /** * Image light index * @export - * @enum {string} + * @enum {number} */ + export enum Light { /** - * No Light + * Lighting schemes are off */ OFF = 0, /** - * White + * OVI scheme + */ + OVI = 1, + /** + * Upper/lower lighters of white light scheme + */ + WHITE_TOP = 2, + /** + * Side lighters of white light scheme + */ + WHITE_SIDE = 4, + /** + * General white light without separate control of side and upper/lower lighters scheme + */ + WHITE_FRONT = 8388608, + /** + * Upper/lower and side lighters of white light scheme */ WHITE = 6, /** - * Infrared + * Upper/lower lighters of IR light scheme + */ + IR_TOP = 8, + /** + * Side lighters of IR light scheme + */ + IR_SIDE = 16, + /** + * General IR light without separate control of side and upper/lower lighters scheme + */ + IR_FRONT = 16777216, + /** + * Upper/lower and side lighters of IR light scheme */ IR = 24, /** - * Ultraviolet + * general white image converted to grayscale + */ + WHITE_GRAY = 33554432, + /** + * General UV light scheme + */ + UV = 128, + /** + * OVD light for hologram visualization + */ + OVD = 67108864, + /** + * Video detection light for internal use only + */ + VIDEODETECTION = 134217728, + /** + * Light IR 870 oblique + */ + IR_870_OBL = 268435456, + /** + * IR luminescence + */ + IR_LUMINESCENCE = 256, + /** + * Left lighter of white coaxial light scheme + */ + AXIAL_WHITE_LEFT = 1024, + /** + * Right lighter of white coaxial light scheme + */ + AXIAL_WHITE_RIGHT = 2048, + /** + * Coaxial white light without separate control of left and right lighters scheme + */ + AXIAL_WHITE_FRONT = 512, + /** + * IR720 + */ + IR_720 = 4096, + /** + * IR940 + */ + IR_940 = 8192, + /** + * Right and left lighters of white coaxial light scheme + */ + AXIAL_WHITE_FULL = 3072, + /** + * For internal use + */ + RAW_DATA = 2147483648, + /** + * For internal use + */ + RAW_DATA_GRBG = 2415919104, + /** + * For internal use + */ + RAW_DATA_GBGR = 2684354560, + /** + * For internal use + */ + RAW_DATA_RGGB = 2952790016, + /** + * For internal use + */ + RAW_DATA_BGGR = 3221225472, + /** + * Transmitted + */ + TRANSMITTED = 32, + /** + * Transmitted IR + */ + TRANSMITTED_IR = 64, + /** + * Transmitted AntiStokes + */ + ANTI_STOKES = 65536, + /** + * Transmitted IR940 + */ + TRANSMITTED_IR940 = 16384, + /** + * OVD right + */ + OVD_RIGHT = 262144, + /** + * OVD left + */ + OVD_LEFT = 131072, + /** + * IR 700 + */ + IR_700 = 32768, + /** + * Front IR870 (mod. 8803) + */ + IR_870 = 16777216, + /** + * OVD light (hologram visualization) (mod. 8850) + */ + HOLO = 67108864, + /** + * For internal use + */ + IR_BOTTOM = 64, + /** + * For internal use + */ + WHITE_BOTTOM = 32, + /** + * UVС 254 (mod. 88X0) + */ + UVC = 524288, + /** + * UVB 313 (mod. 88X0) + */ + UVB = 1048576, + /** + * White oblique light + */ + WHITE_OBL = 2097152, + /** + * For internal use */ - UV = 128 + WHITE_SPECIAL = 4194304 } diff --git a/src/models/list-transactions-by-tag-response.ts b/src/models/list-transactions-by-tag-response.ts index 7f130246..a9c4a50d 100644 --- a/src/models/list-transactions-by-tag-response.ts +++ b/src/models/list-transactions-by-tag-response.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { GetTransactionsByTagResponse } from './get-transactions-by-tag-response'; +// May contain unused imports in some cases +// @ts-ignore +import type { GetTransactionsByTagResponse } from './get-transactions-by-tag-response'; /** * @@ -26,13 +28,12 @@ export interface ListTransactionsByTagResponse { * @type {Array} * @memberof ListTransactionsByTagResponse */ - items?: Array; + 'items'?: Array; /** * - * @type {{ [key: string]: object; }} + * @type {{ [key: string]: any; }} * @memberof ListTransactionsByTagResponse */ - metadata?: { [key: string]: object; }; + 'metadata'?: { [key: string]: any; }; } - diff --git a/src/models/list-verified-fields-item.ts b/src/models/list-verified-fields-item.ts new file mode 100644 index 00000000..6d765a15 --- /dev/null +++ b/src/models/list-verified-fields-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ListVerifiedFields } from './list-verified-fields'; + +/** + * + * @export + * @interface ListVerifiedFieldsItem + */ +export interface ListVerifiedFieldsItem { + /** + * + * @type {ListVerifiedFields} + * @memberof ListVerifiedFieldsItem + */ + 'ListVerifiedFields': ListVerifiedFields; +} + diff --git a/src/models/list-verified-fields.ts b/src/models/list-verified-fields.ts index 7f2b167b..81bf862a 100644 --- a/src/models/list-verified-fields.ts +++ b/src/models/list-verified-fields.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { VerifiedFieldMap } from './verified-field-map'; +// May contain unused imports in some cases +// @ts-ignore +import type { VerifiedFieldMap } from './verified-field-map'; /** * @@ -21,12 +23,23 @@ import { VerifiedFieldMap } from './verified-field-map'; * @interface ListVerifiedFields */ export interface ListVerifiedFields { + /** + * Number of pFieldMaps array elements + * @type {number} + * @memberof ListVerifiedFields + */ + 'Count': number; /** * * @type {Array} * @memberof ListVerifiedFields */ - pFieldMaps?: Array; + 'pFieldMaps': Array; + /** + * + * @type {string} + * @memberof ListVerifiedFields + */ + 'pDateFormat'?: string; } - diff --git a/src/models/liveness-params.ts b/src/models/liveness-params.ts index b3fcd7e1..6d781d95 100644 --- a/src/models/liveness-params.ts +++ b/src/models/liveness-params.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,37 +25,36 @@ export interface LivenessParams { * @type {boolean} * @memberof LivenessParams */ - checkOVI?: boolean; + 'checkOVI'?: boolean; /** * This parameter is used to enable MLI check * @type {boolean} * @memberof LivenessParams */ - checkMLI?: boolean; + 'checkMLI'?: boolean; /** * This parameter is used to enable Hologram detection * @type {boolean} * @memberof LivenessParams */ - checkHolo?: boolean; + 'checkHolo'?: boolean; /** * This parameter is used to enable Electronic device detection * @type {boolean} * @memberof LivenessParams */ - checkED?: boolean; + 'checkED'?: boolean; /** * This parameter is used to enable Black and white copy check * @type {boolean} * @memberof LivenessParams */ - checkBlackAndWhiteCopy?: boolean; + 'checkBlackAndWhiteCopy'?: boolean; /** * This parameter is used to enable Dynaprint check * @type {boolean} * @memberof LivenessParams */ - checkDynaprint?: boolean; + 'checkDynaprint'?: boolean; } - diff --git a/src/models/log-level.ts b/src/models/log-level.ts index ff3b5f57..6d34ccf2 100644 --- a/src/models/log-level.ts +++ b/src/models/log-level.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,6 +19,7 @@ * @export * @enum {string} */ + export enum LogLevel { /** * Fatal error diff --git a/src/models/measure-system.ts b/src/models/measure-system.ts index 20630614..6b6fe28c 100644 --- a/src/models/measure-system.ts +++ b/src/models/measure-system.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * * @export - * @enum {string} + * @enum {number} */ + export enum MeasureSystem { /** * Metric system of measurement, where things are measured in meters and grams diff --git a/src/models/mrz-detect-mode-enum.ts b/src/models/mrz-detect-mode-enum.ts index 6c5ffcd1..0d0be79f 100644 --- a/src/models/mrz-detect-mode-enum.ts +++ b/src/models/mrz-detect-mode-enum.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * Make better MRZ detection on complex noisy backgrounds, like BW photocopy of some documents. * @export - * @enum {string} + * @enum {number} */ + export enum MrzDetectModeEnum { eMDM_Default = 0, eMDM_ResizeBinarizeWindow = 1, diff --git a/src/models/mrz-position-item.ts b/src/models/mrz-position-item.ts new file mode 100644 index 00000000..2cf41319 --- /dev/null +++ b/src/models/mrz-position-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { MrzPosition } from './mrz-position'; + +/** + * + * @export + * @interface MrzPositionItem + */ +export interface MrzPositionItem { + /** + * + * @type {MrzPosition} + * @memberof MrzPositionItem + */ + 'MrzPosition': MrzPosition; +} + diff --git a/src/models/mrz-position.ts b/src/models/mrz-position.ts new file mode 100644 index 00000000..3fb8acec --- /dev/null +++ b/src/models/mrz-position.ts @@ -0,0 +1,122 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentFormat } from './document-format'; +// May contain unused imports in some cases +// @ts-ignore +import type { Point } from './point'; + +/** + * + * @export + * @interface MrzPosition + */ +export interface MrzPosition { + /** + * + * @type {DocumentFormat} + * @memberof MrzPosition + */ + 'docFormat': DocumentFormat; + /** + * Document rotation angle + * @type {number} + * @memberof MrzPosition + */ + 'Angle': number; + /** + * Document width + * @type {number} + * @memberof MrzPosition + */ + 'Width': number; + /** + * Document height + * @type {number} + * @memberof MrzPosition + */ + 'Height': number; + /** + * + * @type {Point} + * @memberof MrzPosition + */ + 'Center': Point; + /** + * + * @type {Point} + * @memberof MrzPosition + */ + 'LeftBottom': Point; + /** + * + * @type {Point} + * @memberof MrzPosition + */ + 'LeftTop': Point; + /** + * + * @type {Point} + * @memberof MrzPosition + */ + 'RightBottom': Point; + /** + * + * @type {Point} + * @memberof MrzPosition + */ + 'RightTop': Point; + /** + * + * @type {number} + * @memberof MrzPosition + */ + 'Dpi': number; + /** + * + * @type {number} + * @memberof MrzPosition + */ + 'Inverse'?: number; + /** + * + * @type {number} + * @memberof MrzPosition + */ + 'ObjArea'?: number; + /** + * + * @type {number} + * @memberof MrzPosition + */ + 'ObjIntAngleDev'?: number; + /** + * + * @type {number} + * @memberof MrzPosition + */ + 'PerspectiveTr'?: number; + /** + * + * @type {number} + * @memberof MrzPosition + */ + 'ResultStatus'?: number; +} + + + diff --git a/src/models/mrzdetector-result.ts b/src/models/mrzdetector-result.ts new file mode 100644 index 00000000..b63b3aaa --- /dev/null +++ b/src/models/mrzdetector-result.ts @@ -0,0 +1,35 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultMRZDetector } from './result-mrzdetector'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultMRZDetectorItem } from './result-mrzdetector-item'; + +/** + * @type MRZDetectorResult + * @export + */ +export type MRZDetectorResult = ResultItem & ResultMRZDetectorItem; + + diff --git a/src/models/mrzformat.ts b/src/models/mrzformat.ts index 1b3de2de..f7ac9f36 100644 --- a/src/models/mrzformat.ts +++ b/src/models/mrzformat.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,6 +19,7 @@ * @export * @enum {string} */ + export enum MRZFormat { /** * 1x30 diff --git a/src/models/mrzposition-result.ts b/src/models/mrzposition-result.ts new file mode 100644 index 00000000..4aefc366 --- /dev/null +++ b/src/models/mrzposition-result.ts @@ -0,0 +1,35 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { MrzPosition } from './mrz-position'; +// May contain unused imports in some cases +// @ts-ignore +import type { MrzPositionItem } from './mrz-position-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; + +/** + * @type MRZPositionResult + * @export + */ +export type MRZPositionResult = MrzPositionItem & ResultItem; + + diff --git a/src/models/mrzrows-item.ts b/src/models/mrzrows-item.ts new file mode 100644 index 00000000..19ba46f8 --- /dev/null +++ b/src/models/mrzrows-item.ts @@ -0,0 +1,45 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { Symbol } from './symbol'; + +/** + * + * @export + * @interface MRZRowsItem + */ +export interface MRZRowsItem { + /** + * + * @type {number} + * @memberof MRZRowsItem + */ + 'length': number; + /** + * + * @type {number} + * @memberof MRZRowsItem + */ + 'maxLength': number; + /** + * + * @type {Array} + * @memberof MRZRowsItem + */ + 'symbols': Array; +} + diff --git a/src/models/mrztest-quality-item.ts b/src/models/mrztest-quality-item.ts new file mode 100644 index 00000000..5d2dec3c --- /dev/null +++ b/src/models/mrztest-quality-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { MRZTestQuality } from './mrztest-quality'; + +/** + * + * @export + * @interface MRZTestQualityItem + */ +export interface MRZTestQualityItem { + /** + * + * @type {MRZTestQuality} + * @memberof MRZTestQualityItem + */ + 'MRZTestQuality': MRZTestQuality; +} + diff --git a/src/models/mrztest-quality-result.ts b/src/models/mrztest-quality-result.ts new file mode 100644 index 00000000..8dbe6a32 --- /dev/null +++ b/src/models/mrztest-quality-result.ts @@ -0,0 +1,35 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { MRZTestQuality } from './mrztest-quality'; +// May contain unused imports in some cases +// @ts-ignore +import type { MRZTestQualityItem } from './mrztest-quality-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; + +/** + * @type MRZTestQualityResult + * @export + */ +export type MRZTestQualityResult = MRZTestQualityItem & ResultItem; + + diff --git a/src/models/mrztest-quality.ts b/src/models/mrztest-quality.ts new file mode 100644 index 00000000..429b6600 --- /dev/null +++ b/src/models/mrztest-quality.ts @@ -0,0 +1,87 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { StringItem } from './string-item'; + +/** + * + * @export + * @interface MRZTestQuality + */ +export interface MRZTestQuality { + /** + * + * @type {number} + * @memberof MRZTestQuality + */ + 'CHECK_SUMS': number; + /** + * + * @type {number} + * @memberof MRZTestQuality + */ + 'CONTRAST_PRINT': number; + /** + * + * @type {number} + * @memberof MRZTestQuality + */ + 'DOC_FORMAT': number; + /** + * + * @type {number} + * @memberof MRZTestQuality + */ + 'MRZ_FORMAT': number; + /** + * + * @type {number} + * @memberof MRZTestQuality + */ + 'PRINT_POSITION': number; + /** + * + * @type {number} + * @memberof MRZTestQuality + */ + 'STAIN_MRZ': number; + /** + * + * @type {number} + * @memberof MRZTestQuality + */ + 'SYMBOLS_PARAM': number; + /** + * + * @type {number} + * @memberof MRZTestQuality + */ + 'StrCount': number; + /** + * + * @type {Array} + * @memberof MRZTestQuality + */ + 'Strings': Array; + /** + * + * @type {number} + * @memberof MRZTestQuality + */ + 'TEXTUAL_FILLING': number; +} + diff --git a/src/models/ocrsecurity-text-item.ts b/src/models/ocrsecurity-text-item.ts new file mode 100644 index 00000000..2a3e6f9a --- /dev/null +++ b/src/models/ocrsecurity-text-item.ts @@ -0,0 +1,101 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { Critical } from './critical'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; + +/** + * + * @export + * @interface OCRSecurityTextItem + */ +export interface OCRSecurityTextItem { + /** + * + * @type {Critical} + * @memberof OCRSecurityTextItem + */ + 'CriticalFlag': Critical; + /** + * + * @type {Light} + * @memberof OCRSecurityTextItem + */ + 'LightType': Light; + /** + * + * @type {RectangleCoordinates} + * @memberof OCRSecurityTextItem + */ + 'FieldRect': RectangleCoordinates; + /** + * + * @type {number} + * @memberof OCRSecurityTextItem + */ + 'EtalonResultType': number; + /** + * + * @type {number} + * @memberof OCRSecurityTextItem + */ + 'EtalonFieldType': number; + /** + * + * @type {number} + * @memberof OCRSecurityTextItem + */ + 'EtalonLightType': number; + /** + * + * @type {RectangleCoordinates} + * @memberof OCRSecurityTextItem + */ + 'EtalonFieldRect': RectangleCoordinates; + /** + * + * @type {string} + * @memberof OCRSecurityTextItem + */ + 'SecurityTextResultOCR': string; + /** + * + * @type {string} + * @memberof OCRSecurityTextItem + */ + 'EtalonResultOCR': string; + /** + * + * @type {number} + * @memberof OCRSecurityTextItem + */ + 'Reserved1'?: number; + /** + * + * @type {number} + * @memberof OCRSecurityTextItem + */ + 'Reserved2'?: number; +} + + + diff --git a/src/models/ocrsecurity-text-result-all-of.ts b/src/models/ocrsecurity-text-result-all-of.ts deleted file mode 100644 index 8dcd8971..00000000 --- a/src/models/ocrsecurity-text-result-all-of.ts +++ /dev/null @@ -1,88 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { Critical } from './critical'; -import { Light } from './light'; -import { RectangleCoordinates } from './rectangle-coordinates'; - -/** - * - * @export - * @interface OCRSecurityTextResultAllOf - */ -export interface OCRSecurityTextResultAllOf { - /** - * - * @type {Critical} - * @memberof OCRSecurityTextResultAllOf - */ - CriticalFlag?: Critical; - /** - * - * @type {Light} - * @memberof OCRSecurityTextResultAllOf - */ - LightType?: Light; - /** - * - * @type {RectangleCoordinates} - * @memberof OCRSecurityTextResultAllOf - */ - FieldRect?: RectangleCoordinates; - /** - * - * @type {number} - * @memberof OCRSecurityTextResultAllOf - */ - EtalonResultType?: number; - /** - * - * @type {number} - * @memberof OCRSecurityTextResultAllOf - */ - EtalonFieldType?: number; - /** - * - * @type {number} - * @memberof OCRSecurityTextResultAllOf - */ - EtalonLightType?: number; - /** - * - * @type {string} - * @memberof OCRSecurityTextResultAllOf - */ - SecurityTextResultOCR?: string; - /** - * - * @type {string} - * @memberof OCRSecurityTextResultAllOf - */ - EtalonResultOCR?: string; - /** - * - * @type {number} - * @memberof OCRSecurityTextResultAllOf - */ - Reserved1?: number; - /** - * - * @type {number} - * @memberof OCRSecurityTextResultAllOf - */ - Reserved2?: number; -} - - diff --git a/src/models/ocrsecurity-text-result.ts b/src/models/ocrsecurity-text-result.ts index dbbc247f..3b5f2722 100644 --- a/src/models/ocrsecurity-text-result.ts +++ b/src/models/ocrsecurity-text-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,23 +13,35 @@ */ -import { AuthenticityCheckResultItem } from './authenticity-check-result-item'; -import { CheckDiagnose } from './check-diagnose'; -import { CheckResult } from './check-result'; -import { Critical } from './critical'; -import { FiberResult } from './fiber-result'; -import { IdentResult } from './ident-result'; -import { Light } from './light'; -import { OCRSecurityTextResultAllOf } from './ocrsecurity-text-result-all-of'; -import { PhotoIdentResult } from './photo-ident-result'; -import { RectangleCoordinates } from './rectangle-coordinates'; -import { SecurityFeatureResult } from './security-feature-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckResultItem } from './authenticity-check-result-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityResultType } from './authenticity-result-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckDiagnose } from './check-diagnose'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Critical } from './critical'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { OCRSecurityTextItem } from './ocrsecurity-text-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; /** * @type OCRSecurityTextResult * @export */ -export type OCRSecurityTextResult = AuthenticityCheckResultItem & OCRSecurityTextResultAllOf; - +export type OCRSecurityTextResult = AuthenticityCheckResultItem & OCRSecurityTextItem; diff --git a/src/models/one-candidate-item.ts b/src/models/one-candidate-item.ts new file mode 100644 index 00000000..d39abd22 --- /dev/null +++ b/src/models/one-candidate-item.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { OneCandidate } from './one-candidate'; + +/** + * + * @export + * @interface OneCandidateItem + */ +export interface OneCandidateItem { + /** + * + * @type {OneCandidate} + * @memberof OneCandidateItem + */ + 'OneCandidate': OneCandidate; + /** + * + * @type {string} + * @memberof OneCandidateItem + */ + 'XML_buffer'?: string; +} + diff --git a/src/models/one-candidate.ts b/src/models/one-candidate.ts index 30d910ad..238f1f47 100644 --- a/src/models/one-candidate.ts +++ b/src/models/one-candidate.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { FDSIDList } from './fdsidlist'; -import { RfidLocation } from './rfid-location'; +// May contain unused imports in some cases +// @ts-ignore +import type { FDSIDList } from './fdsidlist'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidLocation } from './rfid-location'; /** * Contains information about one document type candidate @@ -27,55 +31,74 @@ export interface OneCandidate { * @type {string} * @memberof OneCandidate */ - DocumentName?: string; + 'DocumentName': string; /** * Unique document type template identifier (Regula\'s internal numeric code) * @type {number} * @memberof OneCandidate */ - ID?: number; + 'ID': number; /** * A measure of the likelihood of correct recognition in the analysis of this type of document * @type {number} * @memberof OneCandidate */ - P?: number; + 'P': number; + /** + * true if the document of the given type is rotated by 180 degrees + * @type {number} + * @memberof OneCandidate + */ + 'Rotated180': number; /** * * @type {RfidLocation} * @memberof OneCandidate */ - RFID_Presence?: RfidLocation; + 'RFID_Presence': RfidLocation; /** * * @type {FDSIDList} * @memberof OneCandidate */ - FDSIDList?: FDSIDList; + 'FDSIDList': FDSIDList; /** * Combination of lighting scheme identifiers (Light enum) required to conduct OCR for this type of document * @type {number} * @memberof OneCandidate */ - NecessaryLights?: number; + 'NecessaryLights': number; /** * Set of authentication options provided for this type of document (combination of Authenticity enum) * @type {number} * @memberof OneCandidate */ - CheckAuthenticity?: number; + 'CheckAuthenticity': number; /** * The required exposure value of the camera when receiving images of a document of this type for a UV lighting scheme * @type {number} * @memberof OneCandidate */ - UVExp?: number; + 'UVExp': number; /** * Combination of lighting scheme identifiers (combination of Light enum) needed to perform all authenticity checks specified in CheckAuthenticity * @type {number} * @memberof OneCandidate */ - AuthenticityNecessaryLights?: number; + 'AuthenticityNecessaryLights': number; + /** + * Camera exposure value necessary when obtaining document images of the given type for AXIAL lighting scheme + * @type {number} + * @memberof OneCandidate + */ + 'OVIExp': number; + /** + * + * @type {number} + * @memberof OneCandidate + */ + 'RotationAngle'?: number; } + diff --git a/src/models/original-symbol.ts b/src/models/original-symbol.ts index 510342c4..5b2fade9 100644 --- a/src/models/original-symbol.ts +++ b/src/models/original-symbol.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; /** * @@ -26,19 +28,18 @@ export interface OriginalSymbol { * @type {number} * @memberof OriginalSymbol */ - code?: number; + 'code': number; /** * Probability of correctness reading of a single character * @type {number} * @memberof OriginalSymbol */ - probability?: number; + 'probability': number; /** * * @type {RectangleCoordinates} * @memberof OriginalSymbol */ - rect?: RectangleCoordinates; + 'rect'?: RectangleCoordinates; } - diff --git a/src/models/out-data-transaction-images-field-value.ts b/src/models/out-data-transaction-images-field-value.ts index ce023c67..316f2e98 100644 --- a/src/models/out-data-transaction-images-field-value.ts +++ b/src/models/out-data-transaction-images-field-value.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { GraphicFieldType } from './graphic-field-type'; -import { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { GraphicFieldType } from './graphic-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; /** * @@ -27,31 +31,32 @@ export interface OutDataTransactionImagesFieldValue { * @type {GraphicFieldType} * @memberof OutDataTransactionImagesFieldValue */ - fieldType?: GraphicFieldType; + 'fieldType'?: GraphicFieldType; /** * * @type {Light} * @memberof OutDataTransactionImagesFieldValue */ - light?: Light; + 'light'?: Light; /** * * @type {number} * @memberof OutDataTransactionImagesFieldValue */ - listIdx?: number; + 'listIdx'?: number; /** * Page index of the image from input list * @type {number} * @memberof OutDataTransactionImagesFieldValue */ - pageIdx?: number; + 'pageIdx'?: number; /** * Image url * @type {string} * @memberof OutDataTransactionImagesFieldValue */ - url?: string; + 'url'?: string; } + diff --git a/src/models/out-data.ts b/src/models/out-data.ts index ab4b7745..5b25c9c9 100644 --- a/src/models/out-data.ts +++ b/src/models/out-data.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { OutDataTransactionImagesFieldValue } from './out-data-transaction-images-field-value'; +// May contain unused imports in some cases +// @ts-ignore +import type { OutDataTransactionImagesFieldValue } from './out-data-transaction-images-field-value'; /** * @@ -26,13 +28,12 @@ export interface OutData { * @type {string} * @memberof OutData */ - url?: string; + 'url'?: string; /** * * @type {Array} * @memberof OutData */ - images?: Array; + 'images'?: Array; } - diff --git a/src/models/parray-field.ts b/src/models/parray-field.ts index a5a97ce5..ffb3bd86 100644 --- a/src/models/parray-field.ts +++ b/src/models/parray-field.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,9 +13,18 @@ */ -import { BcPDF417INFO } from './bc-pdf417-info'; -import { BcROIDETECT } from './bc-roidetect'; -import { DataModule } from './data-module'; +// May contain unused imports in some cases +// @ts-ignore +import type { BarcodeType } from './barcode-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { BcPDF417INFO } from './bc-pdf417-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { BcROIDETECT } from './bc-roidetect'; +// May contain unused imports in some cases +// @ts-ignore +import type { DataModule } from './data-module'; /** * @@ -28,61 +37,62 @@ export interface PArrayField { * @type {number} * @memberof PArrayField */ - bcAngle_DETECT?: number; + 'bcAngle_DETECT': number; /** * * @type {number} * @memberof PArrayField */ - bcCodeResult?: number; + 'bcCodeResult': number; /** * * @type {number} * @memberof PArrayField */ - bcCountModule?: number; + 'bcCountModule': number; /** * * @type {Array} * @memberof PArrayField */ - bcDataModule?: Array; + 'bcDataModule': Array; /** * * @type {BcPDF417INFO} * @memberof PArrayField */ - bcPDF417INFO?: BcPDF417INFO; + 'bcPDF417INFO'?: BcPDF417INFO; /** * * @type {BcROIDETECT} * @memberof PArrayField */ - bcROI_DETECT?: BcROIDETECT; + 'bcROI_DETECT': BcROIDETECT; /** * * @type {number} * @memberof PArrayField */ - bcTextDecoderTypes?: number; + 'bcTextDecoderTypes'?: number; /** * * @type {number} * @memberof PArrayField */ - bcTextFieldType?: number; + 'bcTextFieldType'?: number; /** * - * @type {number} + * @type {BarcodeType} * @memberof PArrayField */ - bcType_DECODE?: number; + 'bcType_DECODE': BarcodeType; /** * * @type {number} * @memberof PArrayField */ - bcType_DETECT?: number; + 'bcType_DETECT': number; } + diff --git a/src/models/parsed-data.ts b/src/models/parsed-data.ts new file mode 100644 index 00000000..fa5e3a93 --- /dev/null +++ b/src/models/parsed-data.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface ParsedData + */ +export interface ParsedData { + /** + * + * @type {Array} + * @memberof ParsedData + */ + 'ParsingNotifications'?: Array; +} + diff --git a/src/models/parsing-notification-codes.ts b/src/models/parsing-notification-codes.ts index a20497b6..ba7e13ed 100644 --- a/src/models/parsing-notification-codes.ts +++ b/src/models/parsing-notification-codes.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,565 +17,566 @@ /** * The enumeration contains possible values of notification codes returned during the RFID chip processing. * @export - * @enum {string} + * @enum {number} */ + export enum ParsingNotificationCodes { /** * ASN certificate: Incorrect version */ - ntfLDS_ASN_Certificate_IncorrectVersion = -1879048191, + ntfLDS_ASN_Certificate_IncorrectVersion = 2415919105, /** * ASN certificate: Non-matching signature algorithm */ - ntfLDS_ASN_Certificate_NonMatchingSignatureAlgorithm = -1879048190, + ntfLDS_ASN_Certificate_NonMatchingSignatureAlgorithm = 2415919106, /** * ASN certificate: Incorrect time coding */ - ntfLDS_ASN_Certificate_IncorrectTimeCoding = -1879048189, + ntfLDS_ASN_Certificate_IncorrectTimeCoding = 2415919107, /** * ASN certificate: Incorrect use of generalized time */ - ntfLDS_ASN_Certificate_IncorrectUseOfGeneralizedTime = -1879048188, + ntfLDS_ASN_Certificate_IncorrectUseOfGeneralizedTime = 2415919108, /** * ASN certificate: Empty issuer */ - ntfLDS_ASN_Certificate_EmptyIssuer = -1879048187, + ntfLDS_ASN_Certificate_EmptyIssuer = 2415919109, /** * ASN certificate: Empty subject */ - ntfLDS_ASN_Certificate_EmptySubject = -1879048186, + ntfLDS_ASN_Certificate_EmptySubject = 2415919110, /** * ASN certificate: Unsupported critical extension */ - ntfLDS_ASN_Certificate_UnsupportedCriticalExtension = -1879048184, + ntfLDS_ASN_Certificate_UnsupportedCriticalExtension = 2415919112, /** * ASN certificate: Forced default CSCA role */ - ntfLDS_ASN_Certificate_ForcedDefaultCSCARole = -1879048178, + ntfLDS_ASN_Certificate_ForcedDefaultCSCARole = 2415919118, /** * ASN certificate: Forced Default DS role */ - ntfLDS_ASN_Certificate_ForcedDefaultDSRole = -1879048177, + ntfLDS_ASN_Certificate_ForcedDefaultDSRole = 2415919119, /** * ASN certificate: Incorrect issuer subject DS */ - ntfLDS_ASN_Certificate_IncorrectIssuerSubjectDS = -1879048176, + ntfLDS_ASN_Certificate_IncorrectIssuerSubjectDS = 2415919120, /** * ASN certificate: Duplicating extensions */ - ntfLDS_ASN_Certificate_DuplicatingExtensions = -1879048169, + ntfLDS_ASN_Certificate_DuplicatingExtensions = 2415919127, /** * ICAO certificate: Version missed */ - ntfLDS_ICAO_Certificate_Version_Missed = -1879047680, + ntfLDS_ICAO_Certificate_Version_Missed = 2415919616, /** * ICAO certificate: Version incorrect */ - ntfLDS_ICAO_Certificate_Version_Incorrect = -1879047679, + ntfLDS_ICAO_Certificate_Version_Incorrect = 2415919617, /** * ICAO certificate: Issuer country missed */ - ntfLDS_ICAO_Certificate_Issuer_Country_Missed = -1879047678, + ntfLDS_ICAO_Certificate_Issuer_Country_Missed = 2415919618, /** * ICAO certificate: Issuer common name missed */ - ntfLDS_ICAO_Certificate_Issuer_CommonName_Missed = -1879047677, + ntfLDS_ICAO_Certificate_Issuer_CommonName_Missed = 2415919619, /** * ICAO certificate: Issuer country non-compliant */ - ntfLDS_ICAO_Certificate_Issuer_CountryNonCompliant = -1879047676, + ntfLDS_ICAO_Certificate_Issuer_CountryNonCompliant = 2415919620, /** * ICAO certificate: Subject country missed */ - ntfLDS_ICAO_Certificate_Subject_Country_Missed = -1879047675, + ntfLDS_ICAO_Certificate_Subject_Country_Missed = 2415919621, /** * ICAO certificate: Subject common name missed */ - ntfLDS_ICAO_Certificate_Subject_CommonName_Missed = -1879047674, + ntfLDS_ICAO_Certificate_Subject_CommonName_Missed = 2415919622, /** * ICAO certificate: Subject country non-compliant */ - ntfLDS_ICAO_Certificate_Subject_CountryNonCompliant = -1879047673, + ntfLDS_ICAO_Certificate_Subject_CountryNonCompliant = 2415919623, /** * ICAO certificate: Using non-compliant data */ - ntfLDS_ICAO_Certificate_UsingNonCompliantData = -1879047672, + ntfLDS_ICAO_Certificate_UsingNonCompliantData = 2415919624, /** * ICAO certificate: Unsupported signature algorithm */ - ntfLDS_ICAO_Certificate_UnsupportedSignatureAlgorithm = -1879047671, + ntfLDS_ICAO_Certificate_UnsupportedSignatureAlgorithm = 2415919625, /** * ICAO certificate: Unsupported public key algorithm */ - ntfLDS_ICAO_Certificate_UnsupportedPublicKeyAlgorithm = -1879047670, + ntfLDS_ICAO_Certificate_UnsupportedPublicKeyAlgorithm = 2415919626, /** * ICAO certificate: Missed extensions */ - ntfLDS_ICAO_Certificate_MissedExtensions = -1879047669, + ntfLDS_ICAO_Certificate_MissedExtensions = 2415919627, /** * ICAO certificate: Validity */ - ntfLDS_ICAO_Certificate_Validity = -1879047668, + ntfLDS_ICAO_Certificate_Validity = 2415919628, /** * ICAO certificate extension: Using non-compliant data */ - ntfLDS_ICAO_Certificate_Ext_UsingNonCompliantData = -1879047667, + ntfLDS_ICAO_Certificate_Ext_UsingNonCompliantData = 2415919629, /** * ICAO certificate extension: Key usage missed */ - ntfLDS_ICAO_Certificate_Ext_KeyUsage_Missed = -1879047666, + ntfLDS_ICAO_Certificate_Ext_KeyUsage_Missed = 2415919630, /** * ICAO certificate extension: Key usage not critical */ - ntfLDS_ICAO_Certificate_Ext_KeyUsage_NotCritical = -1879047665, + ntfLDS_ICAO_Certificate_Ext_KeyUsage_NotCritical = 2415919631, /** * ICAO certificate extension: Key usage incorrect data */ - ntfLDS_ICAO_Certificate_Ext_KeyUsage_IncorrectData = -1879047664, + ntfLDS_ICAO_Certificate_Ext_KeyUsage_IncorrectData = 2415919632, /** * ICAO certificate extension: Basic constraints missed */ - ntfLDS_ICAO_Certificate_Ext_BasicC_Missed = -1879047663, + ntfLDS_ICAO_Certificate_Ext_BasicC_Missed = 2415919633, /** * ICAO certificate extension: Basic constraints incorrect usage 1 */ - ntfLDS_ICAO_Certificate_Ext_BasicC_IncorrectUsage1 = -1879047662, + ntfLDS_ICAO_Certificate_Ext_BasicC_IncorrectUsage1 = 2415919634, /** * ICAO certificate extension: Basic constraints incorrect usage 2 */ - ntfLDS_ICAO_Certificate_Ext_BasicC_IncorrectUsage2 = -1879047661, + ntfLDS_ICAO_Certificate_Ext_BasicC_IncorrectUsage2 = 2415919635, /** * ICAO certificate extension: Basic constraints not critical */ - ntfLDS_ICAO_Certificate_Ext_BasicC_NotCritical = -1879047660, + ntfLDS_ICAO_Certificate_Ext_BasicC_NotCritical = 2415919636, /** * ICAO certificate extension: Basic constraints incorrect data */ - ntfLDS_ICAO_Certificate_Ext_BasicC_IncorrectData = -1879047659, + ntfLDS_ICAO_Certificate_Ext_BasicC_IncorrectData = 2415919637, /** * ICAO certificate extension: Basic constraints path LenC missed */ - ntfLDS_ICAO_Certificate_Ext_BasicC_PathLenC_Missed = -1879047658, + ntfLDS_ICAO_Certificate_Ext_BasicC_PathLenC_Missed = 2415919638, /** * ICAO certificate extension: Basic constraints path LenC incorrect */ - ntfLDS_ICAO_Certificate_Ext_BasicC_PathLenC_Incorrect = -1879047657, + ntfLDS_ICAO_Certificate_Ext_BasicC_PathLenC_Incorrect = 2415919639, /** * ICAO certificate extension: Ext key usage not critical */ - ntfLDS_ICAO_Certificate_Ext_ExtKeyUsage_NotCritical = -1879047656, + ntfLDS_ICAO_Certificate_Ext_ExtKeyUsage_NotCritical = 2415919640, /** * ICAO certificate extension: Ext key usage incorrect usage */ - ntfLDS_ICAO_Certificate_Ext_ExtKeyUsage_IncorrectUsage = -1879047655, + ntfLDS_ICAO_Certificate_Ext_ExtKeyUsage_IncorrectUsage = 2415919641, /** * ICAO certificate extension: Ext key usage incorrect data */ - ntfLDS_ICAO_Certificate_Ext_ExtKeyUsage_IncorrectData = -1879047654, + ntfLDS_ICAO_Certificate_Ext_ExtKeyUsage_IncorrectData = 2415919642, /** * ICAO certificate extension Auth key: ID missed */ - ntfLDS_ICAO_Certificate_Ext_AuthKeyID_Missed = -1879047653, + ntfLDS_ICAO_Certificate_Ext_AuthKeyID_Missed = 2415919643, /** * ICAO certificate extension Auth key: Incorrect data */ - ntfLDS_ICAO_Certificate_Ext_AuthKeyID_IncorrectData = -1879047652, + ntfLDS_ICAO_Certificate_Ext_AuthKeyID_IncorrectData = 2415919644, /** * ICAO certificate extension Auth key: Key ID missed */ - ntfLDS_ICAO_Certificate_Ext_AuthKeyID_KeyID_Missed = -1879047651, + ntfLDS_ICAO_Certificate_Ext_AuthKeyID_KeyID_Missed = 2415919645, /** * ICAO certificate extension: Subject key ID missed */ - ntfLDS_ICAO_Certificate_Ext_SubjectKeyID_Missed = -1879047650, + ntfLDS_ICAO_Certificate_Ext_SubjectKeyID_Missed = 2415919646, /** * ICAO certificate extension: Subject key ID incorrect data */ - ntfLDS_ICAO_Certificate_Ext_SubjectKeyID_IncorrectData = -1879047649, + ntfLDS_ICAO_Certificate_Ext_SubjectKeyID_IncorrectData = 2415919647, /** * ICAO certificate extension: Private key UP missed */ - ntfLDS_ICAO_Certificate_Ext_PrivateKeyUP_Missed = -1879047648, + ntfLDS_ICAO_Certificate_Ext_PrivateKeyUP_Missed = 2415919648, /** * ICAO certificate extension: Private key UP incorrect data */ - ntfLDS_ICAO_Certificate_Ext_PrivateKeyUP_IncorrectData = -1879047647, + ntfLDS_ICAO_Certificate_Ext_PrivateKeyUP_IncorrectData = 2415919649, /** * ICAO certificate extension: Private key UP empty */ - ntfLDS_ICAO_Certificate_Ext_PrivateKeyUP_Empty = -1879047646, + ntfLDS_ICAO_Certificate_Ext_PrivateKeyUP_Empty = 2415919650, /** * ICAO certificate extension: Subject alt name missed */ - ntfLDS_ICAO_Certificate_Ext_SubjectAltName_Missed = -1879047645, + ntfLDS_ICAO_Certificate_Ext_SubjectAltName_Missed = 2415919651, /** * ICAO certificate extension: Subject alt name incorrect data */ - ntfLDS_ICAO_Certificate_Ext_SubjectAltName_IncorrectData = -1879047644, + ntfLDS_ICAO_Certificate_Ext_SubjectAltName_IncorrectData = 2415919652, /** * ICAO certificate extension: Subject alt name empty */ - ntfLDS_ICAO_Certificate_Ext_SubjectAltName_Empty = -1879047643, + ntfLDS_ICAO_Certificate_Ext_SubjectAltName_Empty = 2415919653, /** * ICAO certificate extension: Subject alt name non-compliant */ - ntfLDS_ICAO_Certificate_Ext_SubjectAltName_NonCompliant = -1879047642, + ntfLDS_ICAO_Certificate_Ext_SubjectAltName_NonCompliant = 2415919654, /** * ICAO certificate extension: Subject alt name critical */ - ntfLDS_ICAO_Certificate_Ext_SubjectAltName_Critical = -1879047640, + ntfLDS_ICAO_Certificate_Ext_SubjectAltName_Critical = 2415919656, /** * ICAO certificate extension: Subject alt name DN empty */ - ntfLDS_ICAO_Certificate_Ext_SubjectAltName_DN_Empty = -1879047639, + ntfLDS_ICAO_Certificate_Ext_SubjectAltName_DN_Empty = 2415919657, /** * ICAO certificate extension: Subject alt name DN incorrect */ - ntfLDS_ICAO_Certificate_Ext_SubjectAltName_DN_Incorrect = -1879047638, + ntfLDS_ICAO_Certificate_Ext_SubjectAltName_DN_Incorrect = 2415919658, /** * ICAO certificate extension: Subject alt name DN non-compliant */ - ntfLDS_ICAO_Certificate_Ext_SubjectAltName_DN_NonCompliant = -1879047637, + ntfLDS_ICAO_Certificate_Ext_SubjectAltName_DN_NonCompliant = 2415919659, /** * ICAO certificate extension: Issuer alt name missed */ - ntfLDS_ICAO_Certificate_Ext_IssuerAltName_Missed = -1879047636, + ntfLDS_ICAO_Certificate_Ext_IssuerAltName_Missed = 2415919660, /** * ICAO certificate extension: Issuer alt name incorrect data */ - ntfLDS_ICAO_Certificate_Ext_IssuerAltName_IncorrectData = -1879047635, + ntfLDS_ICAO_Certificate_Ext_IssuerAltName_IncorrectData = 2415919661, /** * ICAO certificate extension: Issuer alt name empty */ - ntfLDS_ICAO_Certificate_Ext_IssuerAltName_Empty = -1879047634, + ntfLDS_ICAO_Certificate_Ext_IssuerAltName_Empty = 2415919662, /** * ICAO certificate extension: Issuer alt name non-compliant */ - ntfLDS_ICAO_Certificate_Ext_IssuerAltName_NonCompliant = -1879047633, + ntfLDS_ICAO_Certificate_Ext_IssuerAltName_NonCompliant = 2415919663, /** * ICAO certificate extension: Issuer alt name critical */ - ntfLDS_ICAO_Certificate_Ext_IssuerAltName_Critical = -1879047631, + ntfLDS_ICAO_Certificate_Ext_IssuerAltName_Critical = 2415919665, /** * ICAO certificate extension: Issuer alt name DN empty */ - ntfLDS_ICAO_Certificate_Ext_IssuerAltName_DN_Empty = -1879047630, + ntfLDS_ICAO_Certificate_Ext_IssuerAltName_DN_Empty = 2415919666, /** * ICAO certificate extension: Issuer alt name DN incorrect */ - ntfLDS_ICAO_Certificate_Ext_IssuerAltName_DN_Incorrect = -1879047629, + ntfLDS_ICAO_Certificate_Ext_IssuerAltName_DN_Incorrect = 2415919667, /** * ICAO certificate extension: Issuer alt name DN non-compliant */ - ntfLDS_ICAO_Certificate_Ext_IssuerAltName_DN_NonCompliant = -1879047628, + ntfLDS_ICAO_Certificate_Ext_IssuerAltName_DN_NonCompliant = 2415919668, /** * ICAO certificate extension Doc type list: Missed */ - ntfLDS_ICAO_Certificate_Ext_DocTypeList_Missed = -1879047627, + ntfLDS_ICAO_Certificate_Ext_DocTypeList_Missed = 2415919669, /** * ICAO certificate extension Doc type list: Incorrect data */ - ntfLDS_ICAO_Certificate_Ext_DocTypeList_IncorrectData = -1879047626, + ntfLDS_ICAO_Certificate_Ext_DocTypeList_IncorrectData = 2415919670, /** * ICAO certificate extension Doc type list: Version */ - ntfLDS_ICAO_Certificate_Ext_DocTypeList_Version = -1879047625, + ntfLDS_ICAO_Certificate_Ext_DocTypeList_Version = 2415919671, /** * ICAO certificate extension Doc type list: Doc types */ - ntfLDS_ICAO_Certificate_Ext_DocTypeList_DocTypes = -1879047624, + ntfLDS_ICAO_Certificate_Ext_DocTypeList_DocTypes = 2415919672, /** * ICAO certificate extension Doc type list: Doc types empty */ - ntfLDS_ICAO_Certificate_Ext_DocTypeList_DocTypes_Empty = -1879047623, + ntfLDS_ICAO_Certificate_Ext_DocTypeList_DocTypes_Empty = 2415919673, /** * ICAO certificate extension: Dert policies incorrect data */ - ntfLDS_ICAO_Certificate_Ext_CertPolicies_IncorrectData = -1879047622, + ntfLDS_ICAO_Certificate_Ext_CertPolicies_IncorrectData = 2415919674, /** * ICAO certificate extension: Cert policies empty */ - ntfLDS_ICAO_Certificate_Ext_CertPolicies_Empty = -1879047621, + ntfLDS_ICAO_Certificate_Ext_CertPolicies_Empty = 2415919675, /** * ICAO certificate extension: Cert policies policy ID missed */ - ntfLDS_ICAO_Certificate_Ext_CertPolicies_PolicyID_Missed = -1879047620, + ntfLDS_ICAO_Certificate_Ext_CertPolicies_PolicyID_Missed = 2415919676, /** * ICAO certificate extension: CRL dist point missed */ - ntfLDS_ICAO_Certificate_Ext_CRLDistPoint_Missed = -1879047619, + ntfLDS_ICAO_Certificate_Ext_CRLDistPoint_Missed = 2415919677, /** * ICAO certificate extension: CRL dist point incorrect data */ - ntfLDS_ICAO_Certificate_Ext_CRLDistPoint_IncorrectData = -1879047618, + ntfLDS_ICAO_Certificate_Ext_CRLDistPoint_IncorrectData = 2415919678, /** * ICAO certificate extension: CRL dist point empty */ - ntfLDS_ICAO_Certificate_Ext_CRLDistPoint_Empty = -1879047617, + ntfLDS_ICAO_Certificate_Ext_CRLDistPoint_Empty = 2415919679, /** * ICAO certificate extension: CRL dist point point missed */ - ntfLDS_ICAO_Certificate_Ext_CRLDistPoint_PointMissed = -1879047616, + ntfLDS_ICAO_Certificate_Ext_CRLDistPoint_PointMissed = 2415919680, /** * ICAO certificate: SN non-compliant */ - ntfLDS_ICAO_Certificate_SN_NonCompliant = -1879047615, + ntfLDS_ICAO_Certificate_SN_NonCompliant = 2415919681, /** * ICAO certificate: Issuer SN non-compliant */ - ntfLDS_ICAO_Certificate_Issuer_SN_NonCompliant = -1879047614, + ntfLDS_ICAO_Certificate_Issuer_SN_NonCompliant = 2415919682, /** * ICAO certificate: Subject SN non-compliant */ - ntfLDS_ICAO_Certificate_Subject_SN_NonCompliant = -1879047613, + ntfLDS_ICAO_Certificate_Subject_SN_NonCompliant = 2415919683, /** * ICAO certificate: Issuer attribute non-compliant */ - ntfLDS_ICAO_Certificate_Issuer_AttributeNonCompliant = -1879047612, + ntfLDS_ICAO_Certificate_Issuer_AttributeNonCompliant = 2415919684, /** * ICAO certificate: Subject attribute non-compliant */ - ntfLDS_ICAO_Certificate_Subject_AttributeNonCompliant = -1879047611, + ntfLDS_ICAO_Certificate_Subject_AttributeNonCompliant = 2415919685, /** * ICAO certificate: Issuer subject country non-matching */ - ntfLDS_ICAO_Certificate_IssuerSubject_Country_NonMatching = -1879047610, + ntfLDS_ICAO_Certificate_IssuerSubject_Country_NonMatching = 2415919686, /** * ICAO certificate extension: CSCA alt names non-matching */ - ntfLDS_ICAO_Certificate_Ext_CSCA_AltNames_NonMatching = -1879047609, + ntfLDS_ICAO_Certificate_Ext_CSCA_AltNames_NonMatching = 2415919687, /** * ICAO certificate extension: Name change incorrect data */ - ntfLDS_ICAO_Certificate_Ext_NameChange_IncorrectData = -1879047608, + ntfLDS_ICAO_Certificate_Ext_NameChange_IncorrectData = 2415919688, /** * ICAO certificate extension: Name change non-compliant */ - ntfLDS_ICAO_Certificate_Ext_NameChange_NonCompliant = -1879047607, + ntfLDS_ICAO_Certificate_Ext_NameChange_NonCompliant = 2415919689, /** * ICAO certificate extension: Name change critical */ - ntfLDS_ICAO_Certificate_Ext_NameChange_Critical = -1879047606, + ntfLDS_ICAO_Certificate_Ext_NameChange_Critical = 2415919690, /** * ICAO certificate extension Doc type list: non-compliant */ - ntfLDS_ICAO_Certificate_Ext_DocTypeList_NonCompliant = -1879047605, + ntfLDS_ICAO_Certificate_Ext_DocTypeList_NonCompliant = 2415919691, /** * ICAO certificate extension Doc type list: Critical */ - ntfLDS_ICAO_Certificate_Ext_DocTypeList_Critical = -1879047604, + ntfLDS_ICAO_Certificate_Ext_DocTypeList_Critical = 2415919692, /** * ICAO certificate extension: Optional critical */ - ntfLDS_ICAO_Certificate_Ext_Optional_Critical = -1879047603, + ntfLDS_ICAO_Certificate_Ext_Optional_Critical = 2415919693, /** * ICAO certificate: Subject non-compliant */ - ntfLDS_ICAO_Certificate_Subject_NonCompliant = -1879047602, + ntfLDS_ICAO_Certificate_Subject_NonCompliant = 2415919694, /** * ICAO certificate: Subject common name non-compliant */ - ntfLDS_ICAO_Certificate_Subject_CommonNameNonCompliant = -1879047601, + ntfLDS_ICAO_Certificate_Subject_CommonNameNonCompliant = 2415919695, /** * ICAO COM: LDS version incorrect */ - ntfLDS_ICAO_COM_LDS_Version_Incorrect = -1879048160, + ntfLDS_ICAO_COM_LDS_Version_Incorrect = 2415919136, /** * ICAO COM: LDS version missing */ - ntfLDS_ICAO_COM_LDS_Version_Missing = -1879048159, + ntfLDS_ICAO_COM_LDS_Version_Missing = 2415919137, /** * ICAO COM: Unicode version incorrect */ - ntfLDS_ICAO_COM_Unicode_Version_Incorrect = -1879048158, + ntfLDS_ICAO_COM_Unicode_Version_Incorrect = 2415919138, /** * ICAO COM: Unicode version missing */ - ntfLDS_ICAO_COM_Unicode_Version_Missing = -1879048157, + ntfLDS_ICAO_COM_Unicode_Version_Missing = 2415919139, /** * ICAO COM: DGPM incorrect */ - ntfLDS_ICAO_COM_DGPM_Incorrect = -1879048156, + ntfLDS_ICAO_COM_DGPM_Incorrect = 2415919140, /** * ICAO COM: DGPM missing */ - ntfLDS_ICAO_COM_DGPM_Missing = -1879048155, + ntfLDS_ICAO_COM_DGPM_Missing = 2415919141, /** * ICAO COM: DGPM unexpected */ - ntfLDS_ICAO_COM_DGPM_Unexpected = -1879048154, + ntfLDS_ICAO_COM_DGPM_Unexpected = 2415919142, /** * ICAO application: LDS version unsupported */ - ntfLDS_ICAO_Application_LDSVersion_Unsupported = -1879048144, + ntfLDS_ICAO_Application_LDSVersion_Unsupported = 2415919152, /** * ICAO application: Unicode version unsupported */ - ntfLDS_ICAO_Application_UnicodeVersion_Unsupported = -1879048143, + ntfLDS_ICAO_Application_UnicodeVersion_Unsupported = 2415919153, /** * ICAO application: LDS version inconsistent */ - ntfLDS_ICAO_Application_LDSVersion_Inconsistent = -1879048142, + ntfLDS_ICAO_Application_LDSVersion_Inconsistent = 2415919154, /** * ICAO application: Unicode version inconsistent */ - ntfLDS_ICAO_Application_UnicodeVersion_Inconsistent = -1879048141, + ntfLDS_ICAO_Application_UnicodeVersion_Inconsistent = 2415919155, /** * ASN signed data: OID incorrect */ - ntfLDS_ASN_SignedData_OID_Incorrect = -1879047936, + ntfLDS_ASN_SignedData_OID_Incorrect = 2415919360, /** * ASN signed data: Version incorrect */ - ntfLDS_ASN_SignedData_Version_Incorrect = -1879047776, + ntfLDS_ASN_SignedData_Version_Incorrect = 2415919520, /** * ASN signed data: Content OID incorrect */ - ntfLDS_ASN_SignedData_ContentOID_Incorrect = -1879047775, + ntfLDS_ASN_SignedData_ContentOID_Incorrect = 2415919521, /** * ICAO signed data: Version incorrect */ - ntfLDS_ICAO_SignedData_Version_Incorrect = -1879047935, + ntfLDS_ICAO_SignedData_Version_Incorrect = 2415919361, /** * ICAO signed data: Digest algorithms empty */ - ntfLDS_ICAO_SignedData_DigestAlgorithms_Empty = -1879047934, + ntfLDS_ICAO_SignedData_DigestAlgorithms_Empty = 2415919362, /** * ICAO signed data: Digest algorithms unsupported */ - ntfLDS_ICAO_SignedData_DigestAlgorithms_Unsupported = -1879047933, + ntfLDS_ICAO_SignedData_DigestAlgorithms_Unsupported = 2415919363, /** * ICAO signed data: Signer infos multiple entries */ - ntfLDS_ICAO_SignedData_SignerInfos_MultipleEntries = -1879047927, + ntfLDS_ICAO_SignedData_SignerInfos_MultipleEntries = 2415919369, /** * ICAO signed data: Certificates missed */ - ntfLDS_ICAO_SignedData_Certificates_Missed = -1879047760, + ntfLDS_ICAO_SignedData_Certificates_Missed = 2415919536, /** * ICAO signed data: Certificates empty */ - ntfLDS_ICAO_SignedData_Certificates_Empty = -1879047759, + ntfLDS_ICAO_SignedData_Certificates_Empty = 2415919537, /** * ICAO signed data: CRLs incorrect usage */ - ntfLDS_ICAO_SignedData_CRLs_IncorrectUsage = -1879047758, + ntfLDS_ICAO_SignedData_CRLs_IncorrectUsage = 2415919538, /** * ICAO LDS object: Incorrect content OID */ - ntfLDS_ICAO_LDSObject_IncorrectContentOID = -1879047932, + ntfLDS_ICAO_LDSObject_IncorrectContentOID = 2415919364, /** * ICAO LDS object: DG number incorrect */ - ntfLDS_ICAO_LDSObject_DGNumber_Incorrect = -1879047931, + ntfLDS_ICAO_LDSObject_DGNumber_Incorrect = 2415919365, /** * ICAO LDS object: DG hash missing */ - ntfLDS_ICAO_LDSObject_DGHash_Missing = -1879047930, + ntfLDS_ICAO_LDSObject_DGHash_Missing = 2415919366, /** * ICAO LDS object: DG hash extra */ - ntfLDS_ICAO_LDSObject_DGHash_Extra = -1879047929, + ntfLDS_ICAO_LDSObject_DGHash_Extra = 2415919367, /** * ICAO LDS object: Version incorrect */ - ntfLDS_ICAO_LDSObject_Version_Incorrect = -1879047928, + ntfLDS_ICAO_LDSObject_Version_Incorrect = 2415919368, /** * ICAO master list: Version incorrect */ - ntfLDS_ICAO_MasterList_Version_Incorrect = -1879047744, + ntfLDS_ICAO_MasterList_Version_Incorrect = 2415919552, /** * ICAO Deviation list: Version incorrect */ - ntfLDS_ICAO_DeviationList_Version_Incorrect = -1879047736, + ntfLDS_ICAO_DeviationList_Version_Incorrect = 2415919560, /** * BSI: Defect list version incorrect */ - ntfLDS_BSI_DefectList_Version_Incorrect = -1879047728, + ntfLDS_BSI_DefectList_Version_Incorrect = 2415919568, /** * BSI: Black list version incorrect */ - ntfLDS_BSI_BlackList_Version_Incorrect = -1879047720, + ntfLDS_BSI_BlackList_Version_Incorrect = 2415919576, /** * ASN signer info: Version incorrect */ - ntfLDS_ASN_SignerInfo_Version_Incorrect = -1879047926, + ntfLDS_ASN_SignerInfo_Version_Incorrect = 2415919370, /** * ASN signer info: SID incorrect choice */ - ntfLDS_ASN_SignerInfo_SID_IncorrectChoice = -1879047925, + ntfLDS_ASN_SignerInfo_SID_IncorrectChoice = 2415919371, /** * ASN signer info: SID digest algorithm not listed */ - ntfLDS_ASN_SignerInfo_SID_DigestAlgorithmNotListed = -1879047924, + ntfLDS_ASN_SignerInfo_SID_DigestAlgorithmNotListed = 2415919372, /** * ASN signer info: Message digest attr missing */ - ntfLDS_ASN_SignerInfo_MessageDigestAttr_Missing = -1879047923, + ntfLDS_ASN_SignerInfo_MessageDigestAttr_Missing = 2415919373, /** * ASN signer info: Message digest attr data */ - ntfLDS_ASN_SignerInfo_MessageDigestAttr_Data = -1879047922, + ntfLDS_ASN_SignerInfo_MessageDigestAttr_Data = 2415919374, /** * ASN signer info: Message digest attr value */ - ntfLDS_ASN_SignerInfo_MessageDigestAttr_Value = -1879047921, + ntfLDS_ASN_SignerInfo_MessageDigestAttr_Value = 2415919375, /** * ASN signer info: Content type attr missing */ - ntfLDS_ASN_SignerInfo_ContentTypeAttr_Missing = -1879047920, + ntfLDS_ASN_SignerInfo_ContentTypeAttr_Missing = 2415919376, /** * ASN signer info: Content type attr data */ - ntfLDS_ASN_SignerInfo_ContentTypeAttr_Data = -1879047919, + ntfLDS_ASN_SignerInfo_ContentTypeAttr_Data = 2415919377, /** * ASN signer info: Content type attr value */ - ntfLDS_ASN_SignerInfo_ContentTypeAttr_Value = -1879047918, + ntfLDS_ASN_SignerInfo_ContentTypeAttr_Value = 2415919378, /** * ASN signer info: Signing time attr missing */ - ntfLDS_ASN_SignerInfo_SigningTimeAttr_Missing = -1879047909, + ntfLDS_ASN_SignerInfo_SigningTimeAttr_Missing = 2415919387, /** * ASN signer info: Signing time attr data */ - ntfLDS_ASN_SignerInfo_SigningTimeAttr_Data = -1879047908, + ntfLDS_ASN_SignerInfo_SigningTimeAttr_Data = 2415919388, /** * ASN signer info: Signing time attr value */ - ntfLDS_ASN_SignerInfo_SigningTimeAttr_Value = -1879047907, + ntfLDS_ASN_SignerInfo_SigningTimeAttr_Value = 2415919389, /** * ASN signer info: List content description attr missing */ - ntfLDS_ASN_SignerInfo_ListContentDescriptionAttr_Missing = -1879047906, + ntfLDS_ASN_SignerInfo_ListContentDescriptionAttr_Missing = 2415919390, /** * ASN signer info: List content description attr data */ - ntfLDS_ASN_SignerInfo_ListContentDescriptionAttr_Data = -1879047905, + ntfLDS_ASN_SignerInfo_ListContentDescriptionAttr_Data = 2415919391, /** * Auth signer info: Certificate validity */ - ntfLDS_Auth_SignerInfo_Certificate_Validity = -1879047915, + ntfLDS_Auth_SignerInfo_Certificate_Validity = 2415919381, /** * Auth signer info: Certificate root is not trusted */ - ntfLDS_Auth_SignerInfo_Certificate_RootIsNotTrusted = -1879047914, + ntfLDS_Auth_SignerInfo_Certificate_RootIsNotTrusted = 2415919382, /** * Auth signer info: Certificate cannot find CSCA */ - ntfLDS_Auth_SignerInfo_Certificate_CantFindCSCA = -1879047913, + ntfLDS_Auth_SignerInfo_Certificate_CantFindCSCA = 2415919383, /** * Auth signer info: Certificate revoked */ - ntfLDS_Auth_SignerInfo_Certificate_Revoked = -1879047912, + ntfLDS_Auth_SignerInfo_Certificate_Revoked = 2415919384, /** * Auth signer info: Certificate signature invalid */ - ntfLDS_Auth_SignerInfo_Certificate_SignatureInvalid = -1879047911, + ntfLDS_Auth_SignerInfo_Certificate_SignatureInvalid = 2415919385, /** * Notification: Unsupported image format */ - ntfLDS_UnsupportedImageFormat = -1879047910, + ntfLDS_UnsupportedImageFormat = 2415919386, /** * MRZ: Document type unknown */ @@ -639,267 +640,267 @@ export enum ParsingNotificationCodes { /** * Biometrics: Format owner missing */ - ntfLDS_Biometrics_FormatOwner_Missing = -1878982656, + ntfLDS_Biometrics_FormatOwner_Missing = 2415984640, /** * Biometrics: Format owner incorrect */ - ntfLDS_Biometrics_FormatOwner_Incorrect = -1878917120, + ntfLDS_Biometrics_FormatOwner_Incorrect = 2416050176, /** * Biometrics: Format type missing */ - ntfLDS_Biometrics_FormatType_Missing = -1878851584, + ntfLDS_Biometrics_FormatType_Missing = 2416115712, /** * Biometrics: Format type incorrect */ - ntfLDS_Biometrics_FormatType_Incorrect = -1878786048, + ntfLDS_Biometrics_FormatType_Incorrect = 2416181248, /** * Biometrics: Type incorrect */ - ntfLDS_Biometrics_Type_Incorrect = -1878720512, + ntfLDS_Biometrics_Type_Incorrect = 2416246784, /** * Biometrics: Subtype missing */ - ntfLDS_Biometrics_SubType_Missing = -1878654976, + ntfLDS_Biometrics_SubType_Missing = 2416312320, /** * Biometrics: Subtype incorrect */ - ntfLDS_Biometrics_SubType_Incorrect = -1878589440, + ntfLDS_Biometrics_SubType_Incorrect = 2416377856, /** * Biometrics: BDB image missing */ - ntfLDS_Biometrics_BDB_Image_Missing = -1878523904, + ntfLDS_Biometrics_BDB_Image_Missing = 2416443392, /** * Biometrics: BDB format ID incorrect */ - ntfLDS_Biometrics_BDB_FormatID_Incorrect = -1878458368, + ntfLDS_Biometrics_BDB_FormatID_Incorrect = 2416508928, /** * Biometrics: BDB version incorrect */ - ntfLDS_Biometrics_BDB_Version_Incorrect = -1878392832, + ntfLDS_Biometrics_BDB_Version_Incorrect = 2416574464, /** * Biometrics: BDB data length incorrect */ - ntfLDS_Biometrics_BDB_DataLength_Incorrect = -1878327296, + ntfLDS_Biometrics_BDB_DataLength_Incorrect = 2416640000, /** * Biometrics: BDB Data Gender */ - ntfLDS_Biometrics_BDB_Data_Gender = -1877999616, + ntfLDS_Biometrics_BDB_Data_Gender = 2416967680, /** * Biometrics: BDB Data Eye Color */ - ntfLDS_Biometrics_BDB_Data_EyeColor = -1877934080, + ntfLDS_Biometrics_BDB_Data_EyeColor = 2417033216, /** * Biometrics: BDB Data Hair Color */ - ntfLDS_Biometrics_BDB_Data_HairColor = -1877868544, + ntfLDS_Biometrics_BDB_Data_HairColor = 2417098752, /** * Biometrics: BDB Data Pose Angle Yaw */ - ntfLDS_Biometrics_BDB_Data_PoseAngle_Yaw = -1877803008, + ntfLDS_Biometrics_BDB_Data_PoseAngle_Yaw = 2417164288, /** * Biometrics: BDB Data Pose Angle Pitch */ - ntfLDS_Biometrics_BDB_Data_PoseAngle_Pitch = -1877737472, + ntfLDS_Biometrics_BDB_Data_PoseAngle_Pitch = 2417229824, /** * Biometrics: BDB Data Pose Angle Roll */ - ntfLDS_Biometrics_BDB_Data_PoseAngle_Roll = -1877671936, + ntfLDS_Biometrics_BDB_Data_PoseAngle_Roll = 2417295360, /** * Biometrics: BDB Data Pose Angle U Yaw */ - ntfLDS_Biometrics_BDB_Data_PoseAngleU_Yaw = -1877606400, + ntfLDS_Biometrics_BDB_Data_PoseAngleU_Yaw = 2417360896, /** * Biometrics: BDB Data Pose Angle U Pitch */ - ntfLDS_Biometrics_BDB_Data_PoseAngleU_Pitch = -1877540864, + ntfLDS_Biometrics_BDB_Data_PoseAngleU_Pitch = 2417426432, /** * Biometrics: BDB Data Pose Angle U Roll */ - ntfLDS_Biometrics_BDB_Data_PoseAngleU_Roll = -1877475328, + ntfLDS_Biometrics_BDB_Data_PoseAngleU_Roll = 2417491968, /** * Biometrics: BDB Data Face Image Type */ - ntfLDS_Biometrics_BDB_Data_FaceImageType = -1877409792, + ntfLDS_Biometrics_BDB_Data_FaceImageType = 2417557504, /** * Biometrics: BDB Data Image Data Type */ - ntfLDS_Biometrics_BDB_Data_ImageDataType = -1877344256, + ntfLDS_Biometrics_BDB_Data_ImageDataType = 2417623040, /** * SI: PACE Info Unsupported Std Parameters */ - ntfLDS_SI_PACE_Info_UnsupportedStdParameters = -1862270976, + ntfLDS_SI_PACE_Info_UnsupportedStdParameters = 2432696320, /** * SI: PACE Info Deprecated Version */ - ntfLDS_SI_PACE_Info_DeprecatedVersion = -1862270975, + ntfLDS_SI_PACE_Info_DeprecatedVersion = 2432696321, /** * SI: PACE Domain Params Using Std Ref */ - ntfLDS_SI_PACE_DomainParams_UsingStdRef = -1862270974, + ntfLDS_SI_PACE_DomainParams_UsingStdRef = 2432696322, /** * SI: PACE Domain Params Unsupported Algorithm */ - ntfLDS_SI_PACE_DomainParams_UnsupportedAlgorithm = -1862270973, + ntfLDS_SI_PACE_DomainParams_UnsupportedAlgorithm = 2432696323, /** * SI: CA Info Incorrect Version */ - ntfLDS_SI_CA_Info_IncorrectVersion = -1862270972, + ntfLDS_SI_CA_Info_IncorrectVersion = 2432696324, /** * SI: CA PublicKey Unsupported Algorithm */ - ntfLDS_SI_CA_PublicKey_UnsupportedAlgorithm = -1862270971, + ntfLDS_SI_CA_PublicKey_UnsupportedAlgorithm = 2432696325, /** * SI: CA Domain Params Unsupported Algorithm */ - ntfLDS_SI_CA_DomainParams_UnsupportedAlgorithm = -1862270970, + ntfLDS_SI_CA_DomainParams_UnsupportedAlgorithm = 2432696326, /** * SI: TA Info Incorrect Version */ - ntfLDS_SI_TA_Info_IncorrectVersion = -1862270969, + ntfLDS_SI_TA_Info_IncorrectVersion = 2432696327, /** * SI: TA Info File ID For Version 2 */ - ntfLDS_SI_TA_Info_FileIDForVersion2 = -1862270968, + ntfLDS_SI_TA_Info_FileIDForVersion2 = 2432696328, /** * SI: eID Security Unsupported Digest Algorithm */ - ntfLDS_SI_eIDSecurity_UnsupportedDigestAlgorithm = -1862270967, + ntfLDS_SI_eIDSecurity_UnsupportedDigestAlgorithm = 2432696329, /** * SI: RI info incorrect version */ - ntfLDS_SI_RI_Info_IncorrectVersion = -1862270966, + ntfLDS_SI_RI_Info_IncorrectVersion = 2432696330, /** * SI: RI domain params unsupported algorithm */ - ntfLDS_SI_RI_DomainParams_UnsupportedAlgorithm = -1862270965, + ntfLDS_SI_RI_DomainParams_UnsupportedAlgorithm = 2432696331, /** * SI: AA info incorrect version */ - ntfLDS_SI_AA_Info_IncorrectVersion = -1862270964, + ntfLDS_SI_AA_Info_IncorrectVersion = 2432696332, /** * SI: AA info unsupported algorithm */ - ntfLDS_SI_AA_Info_UnsupportedAlgorithm = -1862270963, + ntfLDS_SI_AA_Info_UnsupportedAlgorithm = 2432696333, /** * SI: AA info inconsistent algorithm reference */ - ntfLDS_SI_AA_Info_InconsistentAlgorithmReference = -1862270962, + ntfLDS_SI_AA_Info_InconsistentAlgorithmReference = 2432696334, /** * SI: PACE Info Not Available */ - ntfLDS_SI_Storage_PACE_Info_NotAvailable = -1862270720, + ntfLDS_SI_Storage_PACE_Info_NotAvailable = 2432696576, /** * SI: PACE Info No Std Parameters */ - ntfLDS_SI_Storage_PACE_Info_NoStdParameters = -1862270719, + ntfLDS_SI_Storage_PACE_Info_NoStdParameters = 2432696577, /** * SI: PACE Info No Matching Domain Params */ - ntfLDS_SI_Storage_PACE_Info_NoMatchingDomainParams = -1862270718, + ntfLDS_SI_Storage_PACE_Info_NoMatchingDomainParams = 2432696578, /** * SI: CA Info Not Available */ - ntfLDS_SI_Storage_CA_Info_NotAvailable = -1862270717, + ntfLDS_SI_Storage_CA_Info_NotAvailable = 2432696579, /** * SI: CA Domain Params No Required Option */ - ntfLDS_SI_Storage_CA_DomainParams_NoRequiredOption = -1862270716, + ntfLDS_SI_Storage_CA_DomainParams_NoRequiredOption = 2432696580, /** * SI: CA Domain Params Not Available */ - ntfLDS_SI_Storage_CA_DomainParams_NotAvailable = -1862270715, + ntfLDS_SI_Storage_CA_DomainParams_NotAvailable = 2432696581, /** * SI: CA Anonymous Infos */ - ntfLDS_SI_Storage_CA_AnonymousInfos = -1862270714, + ntfLDS_SI_Storage_CA_AnonymousInfos = 2432696582, /** * SI: CA Info No Matching Domain Params */ - ntfLDS_SI_Storage_CA_Info_NoMatchingDomainParams = -1862270713, + ntfLDS_SI_Storage_CA_Info_NoMatchingDomainParams = 2432696583, /** * SI: CA Info No Matching Public Key */ - ntfLDS_SI_Storage_CA_Info_NoMatchingPublicKey = -1862270712, + ntfLDS_SI_Storage_CA_Info_NoMatchingPublicKey = 2432696584, /** * SI: CA Incorrect Infos Quantity */ - ntfLDS_SI_Storage_CA_IncorrectInfosQuantity = -1862270711, + ntfLDS_SI_Storage_CA_IncorrectInfosQuantity = 2432696585, /** * SI: TA Info Not Available */ - ntfLDS_SI_Storage_TA_Info_NotAvailable = -1862270710, + ntfLDS_SI_Storage_TA_Info_NotAvailable = 2432696586, /** * SI: Card Info Locator Multiple Entries */ - ntfLDS_SI_Storage_CardInfoLocator_MultipleEntries = -1862270709, + ntfLDS_SI_Storage_CardInfoLocator_MultipleEntries = 2432696587, /** * SI: eID Security Info Multiple Entries */ - ntfLDS_SI_Storage_eIDSecurityInfo_MultipleEntries = -1862270708, + ntfLDS_SI_Storage_eIDSecurityInfo_MultipleEntries = 2432696588, /** * SI: Privileged TI Multiple Entries */ - ntfLDS_SI_Storage_PrivilegedTI_MultipleEntries = -1862270707, + ntfLDS_SI_Storage_PrivilegedTI_MultipleEntries = 2432696589, /** * SI: Privileged TI Incorrect Usage */ - ntfLDS_SI_Storage_PrivilegedTI_IncorrectUsage = -1862270706, + ntfLDS_SI_Storage_PrivilegedTI_IncorrectUsage = 2432696590, /** * SI: RI domain params multiple entries */ - ntfLDS_SI_Storage_RI_DomainParams_MultipleEntries = -1862270705, + ntfLDS_SI_Storage_RI_DomainParams_MultipleEntries = 2432696591, /** * SI: Storage PACE Info Non Consistant */ - ntfLDS_SI_Storage_PACEInfos_NonConsistant = -1862270704, + ntfLDS_SI_Storage_PACEInfos_NonConsistant = 2432696592, /** * CV Certificate: Profile incorrect version */ - ntfLDS_CVCertificate_Profile_IncorrectVersion = -1862270463, + ntfLDS_CVCertificate_Profile_IncorrectVersion = 2432696833, /** * CV Certificate: Validity */ - ntfLDS_CVCertificate_Validity = -1862270462, + ntfLDS_CVCertificate_Validity = 2432696834, /** * CV Certificate: Non CVCA domain parameters */ - ntfLDS_CVCertificate_NonCVCADomainParameters = -1862270461, + ntfLDS_CVCertificate_NonCVCADomainParameters = 2432696835, /** * CV Certificate: Private key incorrect version */ - ntfLDS_CV_Certificate_PrivateKey_IncorrectVersion = -1862270460, + ntfLDS_CV_Certificate_PrivateKey_IncorrectVersion = 2432696836, /** * TA: PACE static binding used */ - ntfLDS_TA_PACEStaticBindingUsed = -1862270208, + ntfLDS_TA_PACEStaticBindingUsed = 2432697088, /** * Auth ML signer info: Certificate validity */ - ntfLDS_Auth_MLSignerInfo_Certificate_Validity = -1845493483, + ntfLDS_Auth_MLSignerInfo_Certificate_Validity = 2449473813, /** * Auth ML signer info: Certificate root is not trusted */ - ntfLDS_Auth_MLSignerInfo_Certificate_RootIsNotTrusted = -1845493482, + ntfLDS_Auth_MLSignerInfo_Certificate_RootIsNotTrusted = 2449473814, /** * Auth ML signer info: Certificate cannot find CSCA */ - ntfLDS_Auth_MLSignerInfo_Certificate_CantFindCSCA = -1845493481, + ntfLDS_Auth_MLSignerInfo_Certificate_CantFindCSCA = 2449473815, /** * Auth ML signer info: Certificate revoked */ - ntfLDS_Auth_MLSignerInfo_Certificate_Revoked = -1845493480, + ntfLDS_Auth_MLSignerInfo_Certificate_Revoked = 2449473816, /** * Auth ML signer info: Certificate signature invalid */ - ntfLDS_Auth_MLSignerInfo_Certificate_SignatureInvalid = -1845493479, + ntfLDS_Auth_MLSignerInfo_Certificate_SignatureInvalid = 2449473817, /** * Country Codes from certificate chain don't match */ - ntfLDS_ICAO_Certificate_Chain_Country_NonMatching = -1879047600, + ntfLDS_ICAO_Certificate_Chain_Country_NonMatching = 2415919696, /** * Country Codes from certificate and visual MRZ don't match */ - ntfLDS_ICAO_Certificate_VisualMrz_Country_NonMatching = -1879047599, + ntfLDS_ICAO_Certificate_VisualMrz_Country_NonMatching = 2415919697, /** * Incorrect MRZ, country code doesn't match codes from Visual MRZ */ @@ -907,7 +908,7 @@ export enum ParsingNotificationCodes { /** * Country Codes from certificate and DG1 MRZ don't match */ - ntfLDS_ICAO_Certificate_MRZ_Country_NonMatching = -1879047598 + ntfLDS_ICAO_Certificate_MRZ_Country_NonMatching = 2415919698 } diff --git a/src/models/per-document-config.ts b/src/models/per-document-config.ts index b05ec1b1..53376c66 100644 --- a/src/models/per-document-config.ts +++ b/src/models/per-document-config.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,13 +25,12 @@ export interface PerDocumentConfig { * @type {Array} * @memberof PerDocumentConfig */ - docID?: Array; + 'docID'?: Array; /** * Contains items from AuthenticityResultType as sum via OR operation * @type {number} * @memberof PerDocumentConfig */ - excludeAuthChecks?: number; + 'excludeAuthChecks'?: number; } - diff --git a/src/models/photo-ident-item.ts b/src/models/photo-ident-item.ts new file mode 100644 index 00000000..699c07c7 --- /dev/null +++ b/src/models/photo-ident-item.ts @@ -0,0 +1,104 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { RawImageContainerList } from './raw-image-container-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; + +/** + * + * @export + * @interface PhotoIdentItem + */ +export interface PhotoIdentItem { + /** + * + * @type {Light} + * @memberof PhotoIdentItem + */ + 'LightIndex': Light; + /** + * + * @type {RectangleCoordinates} + * @memberof PhotoIdentItem + */ + 'Area': RectangleCoordinates; + /** + * + * @type {ImageData} + * @memberof PhotoIdentItem + */ + 'SourceImage': ImageData; + /** + * + * @type {RawImageContainerList} + * @memberof PhotoIdentItem + */ + 'ResultImages': RawImageContainerList; + /** + * + * @type {number} + * @memberof PhotoIdentItem + */ + 'FieldTypesCount'?: number; + /** + * + * @type {Array} + * @memberof PhotoIdentItem + */ + 'FieldTypesList'?: Array; + /** + * + * @type {number} + * @memberof PhotoIdentItem + */ + 'Step'?: number; + /** + * + * @type {number} + * @memberof PhotoIdentItem + */ + 'Angle'?: number; + /** + * + * @type {number} + * @memberof PhotoIdentItem + */ + 'Reserved1'?: number; + /** + * + * @type {number} + * @memberof PhotoIdentItem + */ + 'Reserved2'?: number; + /** + * + * @type {number} + * @memberof PhotoIdentItem + */ + 'Reserved3'?: number; +} + + + diff --git a/src/models/photo-ident-result-all-of.ts b/src/models/photo-ident-result-all-of.ts deleted file mode 100644 index aba2d497..00000000 --- a/src/models/photo-ident-result-all-of.ts +++ /dev/null @@ -1,83 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { ImageData } from './image-data'; -import { Light } from './light'; -import { RawImageContainerList } from './raw-image-container-list'; -import { RectangleCoordinates } from './rectangle-coordinates'; - -/** - * - * @export - * @interface PhotoIdentResultAllOf - */ -export interface PhotoIdentResultAllOf { - /** - * - * @type {Light} - * @memberof PhotoIdentResultAllOf - */ - LightIndex?: Light; - /** - * - * @type {RectangleCoordinates} - * @memberof PhotoIdentResultAllOf - */ - Area?: RectangleCoordinates; - /** - * - * @type {ImageData} - * @memberof PhotoIdentResultAllOf - */ - SourceImage?: ImageData; - /** - * - * @type {RawImageContainerList} - * @memberof PhotoIdentResultAllOf - */ - ResultImages?: RawImageContainerList; - /** - * - * @type {number} - * @memberof PhotoIdentResultAllOf - */ - FieldTypesCount?: number; - /** - * - * @type {Array} - * @memberof PhotoIdentResultAllOf - */ - FieldTypesList?: Array; - /** - * - * @type {number} - * @memberof PhotoIdentResultAllOf - */ - Step?: number; - /** - * - * @type {number} - * @memberof PhotoIdentResultAllOf - */ - Angle?: number; - /** - * - * @type {number} - * @memberof PhotoIdentResultAllOf - */ - Reserved3?: number; -} - - diff --git a/src/models/photo-ident-result.ts b/src/models/photo-ident-result.ts index 4c1fb250..697767e9 100644 --- a/src/models/photo-ident-result.ts +++ b/src/models/photo-ident-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,24 +13,38 @@ */ -import { AuthenticityCheckResultItem } from './authenticity-check-result-item'; -import { CheckDiagnose } from './check-diagnose'; -import { CheckResult } from './check-result'; -import { FiberResult } from './fiber-result'; -import { IdentResult } from './ident-result'; -import { ImageData } from './image-data'; -import { Light } from './light'; -import { OCRSecurityTextResult } from './ocrsecurity-text-result'; -import { PhotoIdentResultAllOf } from './photo-ident-result-all-of'; -import { RawImageContainerList } from './raw-image-container-list'; -import { RectangleCoordinates } from './rectangle-coordinates'; -import { SecurityFeatureResult } from './security-feature-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckResultItem } from './authenticity-check-result-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityResultType } from './authenticity-result-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckDiagnose } from './check-diagnose'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { PhotoIdentItem } from './photo-ident-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { RawImageContainerList } from './raw-image-container-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; /** * @type PhotoIdentResult * @export */ -export type PhotoIdentResult = AuthenticityCheckResultItem & PhotoIdentResultAllOf; - +export type PhotoIdentResult = AuthenticityCheckResultItem & PhotoIdentItem; diff --git a/src/models/point-array.ts b/src/models/point-array.ts index 63ca78ef..861f3b28 100644 --- a/src/models/point-array.ts +++ b/src/models/point-array.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { Point } from './point'; +// May contain unused imports in some cases +// @ts-ignore +import type { Point } from './point'; /** * @@ -26,7 +28,6 @@ export interface PointArray { * @type {Array} * @memberof PointArray */ - PointsList?: Array; + 'PointsList': Array; } - diff --git a/src/models/point.ts b/src/models/point.ts index 4557bd43..35f22b2d 100644 --- a/src/models/point.ts +++ b/src/models/point.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,13 +25,12 @@ export interface Point { * @type {number} * @memberof Point */ - x?: number; + 'x': number; /** * * @type {number} * @memberof Point */ - y?: number; + 'y': number; } - diff --git a/src/models/points-container.ts b/src/models/points-container.ts index ee479f82..7c194317 100644 --- a/src/models/points-container.ts +++ b/src/models/points-container.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { Point } from './point'; +// May contain unused imports in some cases +// @ts-ignore +import type { Point } from './point'; /** * @@ -26,13 +28,12 @@ export interface PointsContainer { * @type {number} * @memberof PointsContainer */ - PointCount?: number; + 'PointCount'?: number; /** * * @type {Array} * @memberof PointsContainer */ - PointsList?: Array; + 'PointsList': Array; } - diff --git a/src/models/process-params-rfid.ts b/src/models/process-params-rfid.ts index 0aff885b..a244e6d2 100644 --- a/src/models/process-params-rfid.ts +++ b/src/models/process-params-rfid.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { ParsingNotificationCodes } from './parsing-notification-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { ParsingNotificationCodes } from './parsing-notification-codes'; /** * Params for the RFID chip data reprocessing @@ -26,7 +28,6 @@ export interface ProcessParamsRfid { * @type {Array} * @memberof ProcessParamsRfid */ - paSensitiveCodesDisable?: Array; + 'paSensitiveCodesDisable'?: Array; } - diff --git a/src/models/process-params.ts b/src/models/process-params.ts index e071d54b..84748795 100644 --- a/src/models/process-params.ts +++ b/src/models/process-params.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,22 +13,60 @@ */ -import { AuthParams } from './auth-params'; -import { DocumentFormat } from './document-format'; -import { DocumentType } from './document-type'; -import { FaceApi } from './face-api'; -import { ImageQA } from './image-qa'; -import { InputBarcodeType } from './input-barcode-type'; -import { LogLevel } from './log-level'; -import { MRZFormat } from './mrzformat'; -import { MeasureSystem } from './measure-system'; -import { MrzDetectModeEnum } from './mrz-detect-mode-enum'; -import { PerDocumentConfig } from './per-document-config'; -import { ProcessParamsRfid } from './process-params-rfid'; -import { Result } from './result'; -import { Scenario } from './scenario'; -import { TextFieldType } from './text-field-type'; -import { TextPostProcessing } from './text-post-processing'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthParams } from './auth-params'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityResultType } from './authenticity-result-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentFormat } from './document-format'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentType } from './document-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { FaceApi } from './face-api'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageQA } from './image-qa'; +// May contain unused imports in some cases +// @ts-ignore +import type { InputBarcodeType } from './input-barcode-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { LCID } from './lcid'; +// May contain unused imports in some cases +// @ts-ignore +import type { LogLevel } from './log-level'; +// May contain unused imports in some cases +// @ts-ignore +import type { MRZFormat } from './mrzformat'; +// May contain unused imports in some cases +// @ts-ignore +import type { MeasureSystem } from './measure-system'; +// May contain unused imports in some cases +// @ts-ignore +import type { MrzDetectModeEnum } from './mrz-detect-mode-enum'; +// May contain unused imports in some cases +// @ts-ignore +import type { PerDocumentConfig } from './per-document-config'; +// May contain unused imports in some cases +// @ts-ignore +import type { ProcessParamsRfid } from './process-params-rfid'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Scenario } from './scenario'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextFieldType } from './text-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextPostProcessing } from './text-post-processing'; /** * @@ -41,364 +79,371 @@ export interface ProcessParams { * @type {boolean} * @memberof ProcessParams */ - generateDTCVC?: boolean; + 'generateDTCVC'?: boolean; /** * The list of LCID types to recognize. If empty, values with all LCID types will be extracted. Empty by default. - * @type {Array} + * @type {Array} + * @memberof ProcessParams + */ + 'lcidFilter'?: Array; + /** + * This parameter is used to enable document liveness check. + * @type {boolean} * @memberof ProcessParams */ - lcidFilter?: Array; + 'checkLiveness'?: boolean; /** * The list of LCID types to ignore during the recognition. If empty, values with all LCID types will be extracted. Narrowing down the list can reduce processing time. Empty by default. - * @type {Array} + * @type {Array} * @memberof ProcessParams */ - lcidIgnoreFilter?: Array; + 'lcidIgnoreFilter'?: Array; /** * This parameter allows processing an image that contains a person and a document and compare the portrait photo from the document with the person\'s face * @type {boolean} * @memberof ProcessParams */ - oneShotIdentification?: boolean; + 'oneShotIdentification'?: boolean; /** * This parameter allows comparing faces on Regula Face Web Service * @type {boolean} * @memberof ProcessParams */ - useFaceApi?: boolean; + 'useFaceApi'?: boolean; /** * * @type {FaceApi} * @memberof ProcessParams */ - faceApi?: FaceApi; + 'faceApi'?: FaceApi; /** * This parameter allows enabling the CAN (Card Access Number) detection and recognition when using scenarios with document location and MRZ reading, such as the MrzAndLocate scenario. * @type {boolean} * @memberof ProcessParams */ - doDetectCan?: boolean; + 'doDetectCan'?: boolean; /** * This parameter allows setting maximum height in pixels of output images and thus reducing image size to desired. Does not change the aspect ratio. Changes disabled if equals to 0. Default 0. * @type {number} * @memberof ProcessParams */ - imageOutputMaxHeight?: number; + 'imageOutputMaxHeight'?: number; /** * This parameter allows setting maximum width in pixels of output images and thus reducing image size to desired. Does not change the aspect ratio. Changes disabled if equals to 0. Default 0. * @type {number} * @memberof ProcessParams */ - imageOutputMaxWidth?: number; + 'imageOutputMaxWidth'?: number; /** * * @type {Scenario} * @memberof ProcessParams */ - scenario: Scenario; + 'scenario': Scenario; /** * Types of results to return in response. See \'Result\' enum for available options * @type {Array} * @memberof ProcessParams */ - resultTypeOutput?: Array; + 'resultTypeOutput'?: Array; /** * Enable this option if the image you provide contains double page spread of the passport and you want to process both pages in one go. It makes sense to use it for documents that have meaningful information on both pages, like Russian domestic passport, or some others. Disabled by default. * @type {boolean} * @memberof ProcessParams * @deprecated */ - doublePageSpread?: boolean; + 'doublePageSpread'?: boolean; /** * When enabled together with \"doublePageSpread\" and there is a passport with two pages spread in the image, pages will be cropped, straightened and aligned together, as if the document was captured on a flatbed scanner. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - generateDoublePageSpreadImage?: boolean; + 'generateDoublePageSpreadImage'?: boolean; /** * List of text field types to extract. If empty, all text fields from template will be extracted. Narrowing the list can shorten processing time. Empty by default. * @type {Array} * @memberof ProcessParams */ - fieldTypesFilter?: Array; + 'fieldTypesFilter'?: Array; /** * This option allows you to set dates format so that solution will return dates in this format. For example, if you supply \'MM/dd/yyyy\', and document have printed date \'09 JUL 2020\' for the date os issue, you will get \'07/09/2020\' as a result. By default it is set to system locale default (where the service is running). * @type {string} * @memberof ProcessParams */ - dateFormat?: string; + 'dateFormat'?: string; /** * * @type {MeasureSystem} * @memberof ProcessParams */ - measureSystem?: MeasureSystem; + 'measureSystem'?: MeasureSystem; /** * This parameter controls maximum resolution in dpi of output images. Resolution will remain original in case 0 is supplied. By default is set to return images in response with resolution not greater than 300 dpi for all scenarios except FullAuth. In FullAuth scenario this limit is 1000 dpi by default. * @type {number} * @memberof ProcessParams */ - imageDpiOutMax?: number; + 'imageDpiOutMax'?: number; /** * This option can be enabled if you know for sure that the image you provide contains already cropped document by its edges. This was designed to process on the server side images captured and cropped on mobile. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - alreadyCropped?: boolean; + 'alreadyCropped'?: boolean; /** * This option allows passing custom processing parameters that can be implemented in future without changing API. - * @type {{ [key: string]: object; }} + * @type {{ [key: string]: any; }} * @memberof ProcessParams */ - customParams?: { [key: string]: object; }; + 'customParams'?: { [key: string]: any; }; /** * This option allows setting additional custom configuration per document type. If recognized document has ID specified in config, processing adjusts according to designated configuration. * @type {Array} * @memberof ProcessParams */ - config?: Array; + 'config'?: Array; /** * When enabled, results will contain transaction processing log. Disabled by default * @type {boolean} * @memberof ProcessParams */ - log?: boolean; + 'log'?: boolean; /** * * @type {LogLevel} * @memberof ProcessParams */ - logLevel?: LogLevel; + 'logLevel'?: LogLevel; /** * Force use of specific template ID and skip document type identification step. * @type {number} * @memberof ProcessParams */ - forceDocID?: number; + 'forceDocID'?: number; /** * When disabled, text field OCR will be done as is and then the recognized value will be matched to the field mask for validity. If enabled, we are trying to read a field value with maximum efforts to match the mask and provide a correctly formatted value, making assumptions based on the provided field mask in the template. Enabled by default. * @type {boolean} * @memberof ProcessParams */ - matchTextFieldMask?: boolean; + 'matchTextFieldMask'?: boolean; /** * When enabled, shorten the list of candidates to process during document detection in a single image process mode. Reduces processing time for specific backgrounds. Enabled by default. * @type {boolean} * @memberof ProcessParams * @deprecated */ - fastDocDetect?: boolean; + 'fastDocDetect'?: boolean; /** * When enabled, fail OCR field validity, if there is a glare over the text field on the image. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - updateOCRValidityByGlare?: boolean; + 'updateOCRValidityByGlare'?: boolean; /** * When enabled, each field in template will be checked for value presence and if the field is marked as required, but has no value, it will have \'error\' in validity status. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - checkRequiredTextFields?: boolean; + 'checkRequiredTextFields'?: boolean; /** * When enabled, returns cropped barcode images for unknown documents. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - returnCroppedBarcode?: boolean; + 'returnCroppedBarcode'?: boolean; /** * * @type {ImageQA} * @memberof ProcessParams */ - imageQa?: ImageQA; + 'imageQa'?: ImageQA; /** * When enabled, the image quality check status affects the document optical and overall status. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - strictImageQuality?: boolean; + 'strictImageQuality'?: boolean; /** * Deprecated. Please use strictImageQuality instead. When enabled, image quality checks status affects document optical and overall status. Disabled by default. * @type {boolean} * @memberof ProcessParams * @deprecated */ - respectImageQuality?: boolean; + 'respectImageQuality'?: boolean; /** * * @type {DocumentFormat} * @memberof ProcessParams */ - forceDocFormat?: DocumentFormat; + 'forceDocFormat'?: DocumentFormat; /** * When enabled, no graphic fields will be cropped from document image. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - noGraphics?: boolean; + 'noGraphics'?: boolean; /** * When enabled, all personal data will be forcibly removed from the logs. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - depersonalizeLog?: boolean; + 'depersonalizeLog'?: boolean; /** * This option allows locating and cropping multiple documents from one image if enabled. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - multiDocOnImage?: boolean; + 'multiDocOnImage'?: boolean; /** * This option allows shifting the date of expiry into the future or past for number of months specified. This is useful, for example, in some cases when document might be still valid for some period after original expiration date to prevent negative validity status for such documents. Or by shifting the date to the past will set negative validity for the documents that is about to expire in a specified number of months. 0 by default * @type {number} * @memberof ProcessParams */ - shiftExpiryDate?: number; + 'shiftExpiryDate'?: number; /** * This options allows specifying the minimal age in years of the document holder for the document to be considered valid. * @type {number} * @memberof ProcessParams */ - minimalHolderAge?: number; + 'minimalHolderAge'?: number; /** * When enabled, returns input images in output. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - returnUncroppedImage?: boolean; + 'returnUncroppedImage'?: boolean; /** * This option allows limiting MRZ formats to be recognized by specifying them in array. * @type {Array} * @memberof ProcessParams */ - mrzFormatsFilter?: Array; + 'mrzFormatsFilter'?: Array; /** * When enabled, make sure that in series processing MRZ is located fully inside the result document image, if present on the document. Enabling this option may add extra processing time, by disabling optimizations, but allows more stability in output image quality. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - forceReadMrzBeforeLocate?: boolean; + 'forceReadMrzBeforeLocate'?: boolean; /** * This option can be disabled to stop parsing after barcode is read. Enabled by default. * @type {boolean} * @memberof ProcessParams */ - parseBarcodes?: boolean; + 'parseBarcodes'?: boolean; /** * * @type {TextPostProcessing} * @memberof ProcessParams */ - convertCase?: TextPostProcessing; + 'convertCase'?: TextPostProcessing; /** * When enabled, the Surname and GivenNames fields from MRZ will be divided into ft_First_Name, ft_Second_Name, ft_Third_Name, ft_Fourth_Name, ft_Last_Name fields. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - splitNames?: boolean; + 'splitNames'?: boolean; /** * When enabled, OCR of perforated fields in the document template will not be performed. Disabled by default. * @type {boolean} * @memberof ProcessParams */ - disablePerforationOCR?: boolean; + 'disablePerforationOCR'?: boolean; /** * List of specific eligible document types from DocumentType enum to recognize from. You may, for example, specify only passports to be recognized by setting this property. Empty by default. * @type {Array} * @memberof ProcessParams */ - documentGroupFilter?: Array; + 'documentGroupFilter'?: Array; /** - * Authenticity checks that should be performed regardless of the document type. The available checks are listed in the eRPRM_Authenticity enum. Note that only supported by your license checks can be added. - * @type {number} + * + * @type {AuthenticityResultType} * @memberof ProcessParams */ - processAuth?: number; + 'processAuth'?: AuthenticityResultType; /** * This parameter is used to specify the document reader device type from which input images were captured. Default 0. * @type {number} * @memberof ProcessParams */ - deviceId?: number; + 'deviceId'?: number; /** * This parameter is used to specify the document reader device type from which input images were captured. Default 0. * @type {number} * @memberof ProcessParams */ - deviceType?: number; + 'deviceType'?: number; /** * This parameter is used to specify the document reader device type from which input images were captured * @type {string} * @memberof ProcessParams */ - deviceTypeHex?: string; + 'deviceTypeHex'?: string; /** * This parameter is used to tell the processing engine to ignore any parameters saved in the image when scanned from the document reader device. Default false * @type {boolean} * @memberof ProcessParams */ - ignoreDeviceIdFromImage?: boolean; + 'ignoreDeviceIdFromImage'?: boolean; /** * List of the document ID\'s to process. All documents will be processed, if empty. * @type {Array} * @memberof ProcessParams */ - documentIdList?: Array; + 'documentIdList'?: Array; /** * * @type {ProcessParamsRfid} * @memberof ProcessParams */ - rfid?: ProcessParamsRfid; + 'rfid'?: ProcessParamsRfid; /** * This parameter is used to enable authenticity checks * @type {boolean} * @memberof ProcessParams */ - checkAuth?: boolean; + 'checkAuth'?: boolean; /** * * @type {AuthParams} * @memberof ProcessParams */ - authParams?: AuthParams; + 'authParams'?: AuthParams; /** * * @type {MrzDetectModeEnum} * @memberof ProcessParams */ - mrzDetectMode?: MrzDetectModeEnum; + 'mrzDetectMode'?: MrzDetectModeEnum; /** * This parameter is used to generate numeric representation for issuing state and nationality codes * @type {boolean} * @memberof ProcessParams */ - generateNumericCodes?: boolean; + 'generateNumericCodes'?: boolean; /** * This parameter if enabled will require all necessary certificates to verify digital signature in barcode data to be present in order for the Barcode format check to succeed. * @type {boolean} * @memberof ProcessParams */ - strictBarcodeDigitalSignatureCheck?: boolean; + 'strictBarcodeDigitalSignatureCheck'?: boolean; /** * Select the longest value from the different value sources and write it to the value field if comparison is done successfully. The parameter applies this logic to the personal names, such as given name, surname, surname and given name, middle name and etc. * @type {boolean} * @memberof ProcessParams */ - selectLongestNames?: boolean; + 'selectLongestNames'?: boolean; /** * Set the types of barcodes to process. * @type {Array} * @memberof ProcessParams */ - doBarcodes?: Array; + 'doBarcodes'?: Array; /** * Set to force DL categories expiry date to affect the overall status or not. As documents usually have their own date of expiry, which might be less or greater than category expiry date, this might be handy for specific cases. * @type {boolean} * @memberof ProcessParams */ - strictDLCategoryExpiry?: boolean; + 'strictDLCategoryExpiry'?: boolean; } + diff --git a/src/models/process-request-image.ts b/src/models/process-request-image.ts index 502c3f96..c6837cb5 100644 --- a/src/models/process-request-image.ts +++ b/src/models/process-request-image.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { ImageData } from './image-data'; -import { Light } from './light'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { Light } from './light'; /** * @@ -27,19 +31,20 @@ export interface ProcessRequestImage { * @type {ImageData} * @memberof ProcessRequestImage */ - ImageData?: ImageData; + 'ImageData'?: ImageData; /** * * @type {Light} * @memberof ProcessRequestImage */ - light?: Light; + 'light'?: Light; /** * page/image number * @type {number} * @memberof ProcessRequestImage */ - page_idx?: number; + 'page_idx'?: number; } + diff --git a/src/models/process-request.ts b/src/models/process-request.ts index 0502daa2..198f43b3 100644 --- a/src/models/process-request.ts +++ b/src/models/process-request.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,10 +13,21 @@ */ -import { ContainerList } from './container-list'; -import { ProcessParams } from './process-params'; -import { ProcessRequestImage } from './process-request-image'; -import { ProcessSystemInfo } from './process-system-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { ContainerList } from './container-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { LCID } from './lcid'; +// May contain unused imports in some cases +// @ts-ignore +import type { ProcessParams } from './process-params'; +// May contain unused imports in some cases +// @ts-ignore +import type { ProcessRequestImage } from './process-request-image'; +// May contain unused imports in some cases +// @ts-ignore +import type { ProcessSystemInfo } from './process-system-info'; /** * @@ -29,73 +40,78 @@ export interface ProcessRequest { * @type {ProcessParams} * @memberof ProcessRequest */ - processParam: ProcessParams; + 'processParam': ProcessParams; /** * * @type {Array} * @memberof ProcessRequest */ - List?: Array; + 'List'?: Array; /** * Session ID * @type {string} * @memberof ProcessRequest */ - tag?: string; + 'tag'?: string; /** * Customer name * @type {string} * @memberof ProcessRequest */ - tenant?: string; + 'tenant'?: string; /** * Environment type * @type {string} * @memberof ProcessRequest */ - env?: string; + 'env'?: string; /** * Live portrait photo * @type {string} * @memberof ProcessRequest */ - livePortrait?: string; + 'livePortrait'?: string; /** * Portrait photo from an external source * @type {string} * @memberof ProcessRequest */ - extPortrait?: string; + 'extPortrait'?: string; /** * * @type {ContainerList} * @memberof ProcessRequest */ - ContainerList?: ContainerList; + 'ContainerList'?: ContainerList; /** * * @type {ProcessSystemInfo} * @memberof ProcessRequest */ - systemInfo?: ProcessSystemInfo; + 'systemInfo'?: ProcessSystemInfo; /** * Free-form object to be included in response. Must be object, not list or simple value. Do not affect document processing. Use it freely to pass your app params. Stored in process logs. - * @type {{ [key: string]: object; }} + * @type {{ [key: string]: any; }} * @memberof ProcessRequest */ - passBackObject?: { [key: string]: object; }; + 'passBackObject'?: { [key: string]: any; }; /** * Digital Travel Credential (DTC-VC) data in base64 format for processing * @type {string} * @memberof ProcessRequest */ - dtc?: string; + 'dtc'?: string; /** * URLs to the document images for processing. * @type {Array} * @memberof ProcessRequest */ - ImageUrls?: Array; + 'ImageUrls'?: Array; + /** + * The list of LCID types to recognize. If empty, values with all LCID types will be extracted. Empty by default. + * @type {Array} + * @memberof ProcessRequest + */ + 'lcidFilter'?: Array; } - diff --git a/src/models/process-response.ts b/src/models/process-response.ts index abf23bc1..cb110b5e 100644 --- a/src/models/process-response.ts +++ b/src/models/process-response.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,10 +13,18 @@ */ -import { ContainerList } from './container-list'; -import { ProcessingStatus } from './processing-status'; -import { RfidLocation } from './rfid-location'; -import { TransactionInfo } from './transaction-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { ContainerList } from './container-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { ProcessingStatus } from './processing-status'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidLocation } from './rfid-location'; +// May contain unused imports in some cases +// @ts-ignore +import type { TransactionInfo } from './transaction-info'; /** * @@ -29,49 +37,62 @@ export interface ProcessResponse { * @type {RfidLocation} * @memberof ProcessResponse */ - ChipPage?: RfidLocation; + 'ChipPage': RfidLocation; + /** + * + * @type {number} + * @memberof ProcessResponse + */ + 'CoreLibResultCode'?: number; /** * * @type {ProcessingStatus} * @memberof ProcessResponse */ - ProcessingFinished: ProcessingStatus; + 'ProcessingFinished': ProcessingStatus; /** * * @type {ContainerList} * @memberof ProcessResponse */ - ContainerList: ContainerList; + 'ContainerList': ContainerList; /** * * @type {TransactionInfo} * @memberof ProcessResponse */ - TransactionInfo: TransactionInfo; + 'TransactionInfo': TransactionInfo; /** * Base64 encoded transaction processing log * @type {string} * @memberof ProcessResponse */ - log?: string; + 'log'?: string; /** * Free-form object provided in request. See passBackObject property of ProcessRequest. - * @type {{ [key: string]: object; }} + * @type {{ [key: string]: any; }} * @memberof ProcessResponse */ - passBackObject?: { [key: string]: object; }; + 'passBackObject'?: { [key: string]: any; }; /** * * @type {number} * @memberof ProcessResponse */ - morePagesAvailable?: number; + 'morePagesAvailable': number; /** * Time the document processing has taken, ms. * @type {number} * @memberof ProcessResponse */ - elapsedTime?: number; + 'elapsedTime': number; + /** + * + * @type {{ [key: string]: any; }} + * @memberof ProcessResponse + */ + 'metadata'?: { [key: string]: any; }; } + diff --git a/src/models/process-system-info.ts b/src/models/process-system-info.ts index cbacb986..3d047d3a 100644 --- a/src/models/process-system-info.ts +++ b/src/models/process-system-info.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,13 +25,12 @@ export interface ProcessSystemInfo { * @type {string} * @memberof ProcessSystemInfo */ - license?: string; + 'license'?: string; /** * For internal use. Demo-sites recaptcha token. * @type {string} * @memberof ProcessSystemInfo */ - recaptcha_token?: string; + 'recaptcha_token'?: string; } - diff --git a/src/models/processing-status.ts b/src/models/processing-status.ts index 3fa90020..020f1197 100644 --- a/src/models/processing-status.ts +++ b/src/models/processing-status.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * * @export - * @enum {string} + * @enum {number} */ + export enum ProcessingStatus { /** * Processing was not finished diff --git a/src/models/raw-image-container-item.ts b/src/models/raw-image-container-item.ts new file mode 100644 index 00000000..b9e0a663 --- /dev/null +++ b/src/models/raw-image-container-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; + +/** + * + * @export + * @interface RawImageContainerItem + */ +export interface RawImageContainerItem { + /** + * + * @type {ImageData} + * @memberof RawImageContainerItem + */ + 'RawImageContainer': ImageData; +} + diff --git a/src/models/raw-image-container-list.ts b/src/models/raw-image-container-list.ts index 50c4bad0..7ce6f371 100644 --- a/src/models/raw-image-container-list.ts +++ b/src/models/raw-image-container-list.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { ImageData } from './image-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImageData } from './image-data'; /** * @@ -26,13 +28,12 @@ export interface RawImageContainerList { * @type {number} * @memberof RawImageContainerList */ - Count?: number; + 'Count': number; /** * * @type {Array} * @memberof RawImageContainerList */ - Images?: Array; + 'Images': Array; } - diff --git a/src/models/rectangle-coordinates.ts b/src/models/rectangle-coordinates.ts index e1c925d3..72b443d3 100644 --- a/src/models/rectangle-coordinates.ts +++ b/src/models/rectangle-coordinates.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,25 +25,24 @@ export interface RectangleCoordinates { * @type {number} * @memberof RectangleCoordinates */ - left: number; + 'left': number; /** * * @type {number} * @memberof RectangleCoordinates */ - top: number; + 'top': number; /** * * @type {number} * @memberof RectangleCoordinates */ - right: number; + 'right': number; /** * * @type {number} * @memberof RectangleCoordinates */ - bottom: number; + 'bottom': number; } - diff --git a/src/models/result-item.ts b/src/models/result-item.ts index 631e0611..76d0fccc 100644 --- a/src/models/result-item.ts +++ b/src/models/result-item.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,22 +13,9 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { StatusResult } from './status-result'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; /** * Common fields for all result objects @@ -41,31 +28,32 @@ export interface ResultItem { * @type {number} * @memberof ResultItem */ - buf_length?: number; + 'buf_length'?: number; /** * * @type {number} * @memberof ResultItem */ - light?: number; + 'light'?: number; /** * * @type {number} * @memberof ResultItem */ - list_idx?: number; + 'list_idx'?: number; /** * * @type {number} * @memberof ResultItem */ - page_idx?: number; + 'page_idx'?: number; /** - * Same as Result type, but used for safe parsing of not-described values. See Result type. - * @type {number} + * + * @type {Result} * @memberof ResultItem */ - result_type: number; + 'result_type': Result; } + diff --git a/src/models/result-mrzdetector-item.ts b/src/models/result-mrzdetector-item.ts new file mode 100644 index 00000000..29a7a1eb --- /dev/null +++ b/src/models/result-mrzdetector-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ResultMRZDetector } from './result-mrzdetector'; + +/** + * + * @export + * @interface ResultMRZDetectorItem + */ +export interface ResultMRZDetectorItem { + /** + * + * @type {ResultMRZDetector} + * @memberof ResultMRZDetectorItem + */ + 'ResultMRZDetector': ResultMRZDetector; +} + diff --git a/src/models/result-mrzdetector.ts b/src/models/result-mrzdetector.ts new file mode 100644 index 00000000..32017f03 --- /dev/null +++ b/src/models/result-mrzdetector.ts @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { MRZRowsItem } from './mrzrows-item'; + +/** + * + * @export + * @interface ResultMRZDetector + */ +export interface ResultMRZDetector { + /** + * + * @type {number} + * @memberof ResultMRZDetector + */ + 'MRZFormat': number; + /** + * + * @type {Array} + * @memberof ResultMRZDetector + */ + 'MRZRows': Array; + /** + * + * @type {number} + * @memberof ResultMRZDetector + */ + 'MRZRowsNum': number; + /** + * + * @type {Array} + * @memberof ResultMRZDetector + */ + 'boundingQuadrangle': Array; +} + diff --git a/src/models/result.ts b/src/models/result.ts index 6419749e..bedf6841 100644 --- a/src/models/result.ts +++ b/src/models/result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * * @export - * @enum {string} + * @enum {number} */ + export enum Result { /** * Contains cropped and rotated with perspective compensation image of document. Single input image can contain multiple document side/pages, which will be returned as separated results. Most of coordinates in other types defined on that image @@ -37,6 +38,10 @@ export enum Result { */ VISUAL_GRAPHICS = 6, /** + * Contains result of MRZTestQuality + */ + MRZ_TEST_QUALITY = 7, + /** * Contains list of document type candidates with their probabilities and descriptions */ DOCUMENT_TYPE_CANDIDATES = 8, @@ -69,10 +74,18 @@ export enum Result { */ AUTHENTICITY = 20, /** + * Contains result of DocVisualExtendedInfoContainer + */ + MAGNETIC_STRIPE_TEXT_DATA = 26, + /** * Contains image quality check results */ IMAGE_QUALITY = 30, /** + * Contains result of DocGraphicsInfoContainer + */ + LIVE_PORTRAIT = 32, + /** * Contains check statuses with details, grouped by source */ STATUS = 33, @@ -81,6 +94,10 @@ export enum Result { */ PORTRAIT_COMPARISON = 34, /** + * Contains result of DocGraphicsInfoContainer + */ + EXT_PORTRAIT = 35, + /** * Contains document textual fields from all sources (mrz, rfid, visual, barcode) with validity and cross-source compare checks */ TEXT = 36, @@ -89,6 +106,10 @@ export enum Result { */ IMAGES = 37, /** + * Contains result of DocGraphicsInfoContainer + */ + FINGERPRINTS = 38, + /** * Contains result of fingerprints comparison */ FINGERPRINT_COMPARISON = 39, @@ -101,10 +122,26 @@ export enum Result { */ LICENSE = 50, /** + * Contains result of DocumentPosition + */ + MRZ_POSITION = 61, + /** + * Contains result of DocumentPosition + */ + BARCODE_POSITION = 62, + /** * Contains information about document position on the input image, its center, angle, etc */ DOCUMENT_POSITION = 85, /** + * Contains result of MRZDetectorResult + */ + MRZ_DETECTOR = 87, + /** + * Contains result of FaceDetection + */ + FACE_DETECTION = 97, + /** * Contains RFID raw data */ RFID_RAW_DATA = 101, diff --git a/src/models/rfid-access-control-info.ts b/src/models/rfid-access-control-info.ts new file mode 100644 index 00000000..a9539e1a --- /dev/null +++ b/src/models/rfid-access-control-info.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ParsingNotificationCodes } from './parsing-notification-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDErrorCodes } from './rfiderror-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidAccessControlProcedureType } from './rfid-access-control-procedure-type'; + +/** + * Structure is used to describe the results of a single authentication procedure or a procedure of secure data access within the context of the communication session with electronic document + * @export + * @interface RfidAccessControlInfo + */ +export interface RfidAccessControlInfo { + /** + * + * @type {RfidAccessControlProcedureType} + * @memberof RfidAccessControlInfo + */ + 'Type': RfidAccessControlProcedureType; + /** + * + * @type {RFIDErrorCodes} + * @memberof RfidAccessControlInfo + */ + 'Status': RFIDErrorCodes; + /** + * Index of the active variant of the procedure + * @type {number} + * @memberof RfidAccessControlInfo + */ + 'ActiveOptionIdx'?: number; + /** + * List of remarks arisen during the procedure. + * @type {Array} + * @memberof RfidAccessControlInfo + */ + 'Notifications': Array; + /** + * List of structures with are used to describe the variants of the authentication or secure data access procedure performance within the context of the communication session with electronic document + * @type {Array} + * @memberof RfidAccessControlInfo + */ + 'AccessControlOptions'?: Array; +} + + + diff --git a/src/models/rfid-access-control-procedure-type.ts b/src/models/rfid-access-control-procedure-type.ts new file mode 100644 index 00000000..f41e0f53 --- /dev/null +++ b/src/models/rfid-access-control-procedure-type.ts @@ -0,0 +1,59 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants that define the type of authentication or secure data access procedure + * @export + * @enum {number} + */ + +export enum RfidAccessControlProcedureType { + /** + * Type is not defined + */ + UNDEFINED = 0, + /** + * BAC/BAP + */ + BAC = 1, + /** + * PACE + */ + PACE = 2, + /** + * CA + */ + CA = 3, + /** + * TA + */ + TA = 4, + /** + * AA + */ + AA = 5, + /** + * RI + */ + RI = 6, + /** + * Card info + */ + CARD_INFO = 10 +} + + + diff --git a/src/models/rfid-access-key.ts b/src/models/rfid-access-key.ts new file mode 100644 index 00000000..cbbc9790 --- /dev/null +++ b/src/models/rfid-access-key.ts @@ -0,0 +1,56 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RfidAccessControlProcedureType } from './rfid-access-control-procedure-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidPasswordType } from './rfid-password-type'; + +/** + * Structure is used to describe the contents of secure data access key within the context of the communication session with electronic document + * @export + * @interface RfidAccessKey + */ +export interface RfidAccessKey { + /** + * Key contents + * @type {string} + * @memberof RfidAccessKey + */ + 'AccessKey': string; + /** + * + * @type {RfidPasswordType} + * @memberof RfidAccessKey + */ + 'KeyType': RfidPasswordType; + /** + * + * @type {RfidAccessControlProcedureType} + * @memberof RfidAccessKey + */ + 'AccessType': RfidAccessControlProcedureType; + /** + * Logical sign of the need for a full comparison of AccessKey contents with the contents of DG1 (MRZ) data group + * @type {boolean} + * @memberof RfidAccessKey + */ + 'CheckFullKeyMatching': boolean; +} + + + diff --git a/src/models/rfid-achip.ts b/src/models/rfid-achip.ts new file mode 100644 index 00000000..e06f9d55 --- /dev/null +++ b/src/models/rfid-achip.ts @@ -0,0 +1,51 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants specifying the type of the RFIDchip from MIFARE® family (for chips of type A) + * @export + * @enum {number} + */ + +export enum RfidAChip { + /** + * Unknown + */ + UNKNOWN = 0, + /** + * MIFARE® 1K + */ + MIFARE_1K = 1, + /** + * MIFARE® 4K + */ + MIFARE_4K = 2, + /** + * MIFARE® Ultralight + */ + MIFARE_ULTRALIGHT = 3, + /** + * MIFARE® DESFire + */ + MIFARE_DES_FIRE = 4, + /** + * MIFARE® ProX or SmartMX xD(T) + */ + MIFARE_PROX = 5 +} + + + diff --git a/src/models/rfid-application-type.ts b/src/models/rfid-application-type.ts new file mode 100644 index 00000000..3c69966d --- /dev/null +++ b/src/models/rfid-application-type.ts @@ -0,0 +1,67 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants that define the type of application within the context of the communication session with electronic document + * @export + * @enum {number} + */ + +export enum RfidApplicationType { + /** + * Not defined + */ + UNSPECIFIED = 0, + /** + * ePassport application + */ + E_PASSPORT = 1, + /** + * eID application + */ + E_ID = 2, + /** + * eSign application + */ + E_SIGN = 3, + /** + * eDL application + */ + E_DL = 4, + /** + * TravelRecords application + */ + LDS2_TravelRecords = 5, + /** + * VisaRecords application + */ + LDS2_VisaRecords = 6, + /** + * AddBiometrics application + */ + LDS2_AddBiometrics = 7, + /** + * Digital Travel Credentials + */ + eDTC_PC = 8, + /** + * Master File + */ + ROOT_FILES = 0 +} + + + diff --git a/src/models/rfid-application.ts b/src/models/rfid-application.ts new file mode 100644 index 00000000..a49d7d14 --- /dev/null +++ b/src/models/rfid-application.ts @@ -0,0 +1,77 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDErrorCodes } from './rfiderror-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidApplicationType } from './rfid-application-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidDataFile } from './rfid-data-file'; + +/** + * Structure is used to describe the contents of a single LDS application and their analysis within the context of the communication session with electronic document + * @export + * @interface RfidApplication + */ +export interface RfidApplication { + /** + * + * @type {RfidApplicationType} + * @memberof RfidApplication + */ + 'Type': RfidApplicationType; + /** + * + * @type {RFIDErrorCodes} + * @memberof RfidApplication + */ + 'Status': RFIDErrorCodes; + /** + * Application identifier + * @type {string} + * @memberof RfidApplication + */ + 'ApplicationID': string; + /** + * Version of the application + * @type {string} + * @memberof RfidApplication + */ + 'Version': string; + /** + * Unicode version for application + * @type {string} + * @memberof RfidApplication + */ + 'UnicodeVersion': string; + /** + * Algorithm for calculating hash values for files for the procedure of PA + * @type {string} + * @memberof RfidApplication + */ + 'DataHashAlgorithm': string; + /** + * List of containers to store information about the read files of the application + * @type {Array} + * @memberof RfidApplication + */ + 'Files': Array; +} + + + diff --git a/src/models/rfid-attribute-data.ts b/src/models/rfid-attribute-data.ts new file mode 100644 index 00000000..6451a627 --- /dev/null +++ b/src/models/rfid-attribute-data.ts @@ -0,0 +1,36 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Structure contains the data of one attribute of the digital signature object. + * @export + * @interface RfidAttributeData + */ +export interface RfidAttributeData { + /** + * Contents of the identifier in the format S1 (S2), where S1 – attribute name, S2 – identifier (OID string) + * @type {string} + * @memberof RfidAttributeData + */ + 'Type': string; + /** + * Attribute binary data. Base64 encoded. + * @type {string} + * @memberof RfidAttributeData + */ + 'Data': string; +} + diff --git a/src/models/rfid-attribute-name.ts b/src/models/rfid-attribute-name.ts new file mode 100644 index 00000000..1b00cdc9 --- /dev/null +++ b/src/models/rfid-attribute-name.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { TrfFtString } from './trf-ft-string'; + +/** + * Structure contains information that serves as the distinguished name (identifier) of an object. + * @export + * @interface RfidAttributeName + */ +export interface RfidAttributeName { + /** + * Attribute identifier (OID ASCII string); contents of the identifier in the format S1 (S2), where S1 – attribute name, S2 – identifier (OID string) + * @type {string} + * @memberof RfidAttributeName + */ + 'Type': string; + /** + * + * @type {TrfFtString} + * @memberof RfidAttributeName + */ + 'Value': TrfFtString; +} + diff --git a/src/models/rfid-authentication-procedure-type.ts b/src/models/rfid-authentication-procedure-type.ts new file mode 100644 index 00000000..b324dc0c --- /dev/null +++ b/src/models/rfid-authentication-procedure-type.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants that define the type of performed procedure of document authentication within the current session + * @export + * @enum {number} + */ + +export enum RfidAuthenticationProcedureType { + /** + * Not defined + */ + UNDEFINED = 0, + /** + * Standard authentication procedure + */ + STANDARD = 1, + /** + * Advanced authentication procedure + */ + ADVANCED = 2, + /** + * General authentication procedure + */ + GENERAL = 3 +} + + + diff --git a/src/models/rfid-baud-rate.ts b/src/models/rfid-baud-rate.ts new file mode 100644 index 00000000..9c107ef0 --- /dev/null +++ b/src/models/rfid-baud-rate.ts @@ -0,0 +1,47 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants specifying the rate of data exchange between the reader and the RFID-chip + * @export + * @enum {number} + */ + +export enum RfidBaudRate { + /** + * Unknown + */ + UNKNOWN = 0, + /** + * 106 bits/s + */ + RFBR_106 = 1, + /** + * 212 bits/s + */ + RFBR_212 = 2, + /** + * 424 bits/s + */ + RFBR_424 = 4, + /** + * 848 bits/s + */ + RFBR_848 = 8 +} + + + diff --git a/src/models/rfid-card-properties-ext.ts b/src/models/rfid-card-properties-ext.ts new file mode 100644 index 00000000..47b5b7ce --- /dev/null +++ b/src/models/rfid-card-properties-ext.ts @@ -0,0 +1,119 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RfidAChip } from './rfid-achip'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidBaudRate } from './rfid-baud-rate'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidType } from './rfid-type'; + +/** + * Structure is used to store extended information about the characteristics of the RFID-chip located in the scope of the reader + * @export + * @interface RfidCardPropertiesExt + */ +export interface RfidCardPropertiesExt { + /** + * + * @type {RfidType} + * @memberof RfidCardPropertiesExt + */ + 'RFID_Type': RfidType; + /** + * Numeric Baudrate1 value in hexadecimal format (e.g. 0x0000000F) + * @type {string} + * @memberof RfidCardPropertiesExt + */ + 'Baudrate1': string; + /** + * Numeric Baudrate2 value in hexadecimal format + * @type {string} + * @memberof RfidCardPropertiesExt + */ + 'Baudrate2': string; + /** + * Boolean Support_4 value + * @type {boolean} + * @memberof RfidCardPropertiesExt + */ + 'Support_4': boolean; + /** + * + * @type {RfidAChip} + * @memberof RfidCardPropertiesExt + */ + 'ChipType_A': RfidAChip; + /** + * Sign of support for ISO/IEC 14443-3 data exchange protocol + * @type {boolean} + * @memberof RfidCardPropertiesExt + */ + 'Support_Mifare': boolean; + /** + * Amount of operational memory MIFARE® of the chip, kilobytes + * @type {number} + * @memberof RfidCardPropertiesExt + */ + 'MifareMemory': number; + /** + * UID contents in text format. Each byte is represented by its hexadecimal value. The individual bytes are separated by spaces (e.g. F9 4F 41 60) + * @type {string} + * @memberof RfidCardPropertiesExt + */ + 'UID': string; + /** + * Reply of the «A» type chip to «REQA» command of ISO/IEC 14443-3 protocol (Answer To Request, Type A – ATQA) – for the internal use by the main control library + * @type {any} + * @memberof RfidCardPropertiesExt + */ + 'ATQ_A': any; + /** + * Response of type-A RFID-chip to SELECT command of ISO/IEC 14443-3 protocol (Select Acknowledge, SAK). + * @type {any} + * @memberof RfidCardPropertiesExt + */ + 'SAK': any; + /** + * ATQ_B contents in text format. Each byte is represented by its hexadecimal value. The individual bytes are separated by spaces (e.g. 50 F9 4F 41 60 00 00 00 00 77 81 81) + * @type {any} + * @memberof RfidCardPropertiesExt + */ + 'ATQ_B': any; + /** + * + * @type {RfidBaudRate} + * @memberof RfidCardPropertiesExt + */ + 'BitRateS': RfidBaudRate; + /** + * + * @type {RfidBaudRate} + * @memberof RfidCardPropertiesExt + */ + 'BitRateR': RfidBaudRate; + /** + * ATR-string of RFID-chip + * @type {string} + * @memberof RfidCardPropertiesExt + */ + 'ATR': string; +} + + + diff --git a/src/models/rfid-certificate-ex.ts b/src/models/rfid-certificate-ex.ts new file mode 100644 index 00000000..80e158b1 --- /dev/null +++ b/src/models/rfid-certificate-ex.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ParsingNotificationCodes } from './parsing-notification-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDErrorCodes } from './rfiderror-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidCertificateOrigin } from './rfid-certificate-origin'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidCertificateType } from './rfid-certificate-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidDistinguishedName } from './rfid-distinguished-name'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidPkiExtension } from './rfid-pki-extension'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidValidity } from './rfid-validity'; +// May contain unused imports in some cases +// @ts-ignore +import type { TrfFtString } from './trf-ft-string'; + +/** + * Structure is used to describe the certificate contents used for the digital signature verification of the document security object within the context of the communication session with electronic document. + * @export + * @interface RfidCertificateEx + */ +export interface RfidCertificateEx { + /** + * Version of Certificate ASN.1 structure + * @type {number} + * @memberof RfidCertificateEx + */ + 'Version': number; + /** + * Certificate serial number. Base64 encoded. + * @type {string} + * @memberof RfidCertificateEx + */ + 'SerialNumber': string; + /** + * Certificate digital signature algorithm identifier (OID); String in the format S1 (S2), where S1 – algorithm name, S2 – identifier (OID string). + * @type {string} + * @memberof RfidCertificateEx + */ + 'SignatureAlgorithm': string; + /** + * + * @type {RfidDistinguishedName} + * @memberof RfidCertificateEx + */ + 'Issuer': RfidDistinguishedName; + /** + * + * @type {RfidValidity} + * @memberof RfidCertificateEx + */ + 'Validity': RfidValidity; + /** + * + * @type {RfidDistinguishedName} + * @memberof RfidCertificateEx + */ + 'Subject': RfidDistinguishedName; + /** + * Certificate public key algorithm identifier (OID); String in the format S1 (S2), where S1 – algorithm name, S2 – identifier (OID string). + * @type {string} + * @memberof RfidCertificateEx + */ + 'SubjectPKAlgorithm': string; + /** + * List of the certificate extensions + * @type {Array} + * @memberof RfidCertificateEx + */ + 'Extensions': Array; + /** + * List of remarks arisen during the analysis of the certificate data structure and its validity verification. + * @type {Array} + * @memberof RfidCertificateEx + */ + 'Notifications': Array; + /** + * + * @type {RfidCertificateOrigin} + * @memberof RfidCertificateEx + */ + 'Origin': RfidCertificateOrigin; + /** + * + * @type {RfidCertificateType} + * @memberof RfidCertificateEx + */ + 'Type': RfidCertificateType; + /** + * + * @type {TrfFtString} + * @memberof RfidCertificateEx + */ + 'FileName': TrfFtString; + /** + * + * @type {RFIDErrorCodes} + * @memberof RfidCertificateEx + */ + 'PA_Status': RFIDErrorCodes; +} + + + diff --git a/src/models/rfid-certificate-origin.ts b/src/models/rfid-certificate-origin.ts new file mode 100644 index 00000000..b17c728a --- /dev/null +++ b/src/models/rfid-certificate-origin.ts @@ -0,0 +1,63 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants that define the source of certificate used in the procedure of document security object digital signature verification + * @export + * @enum {number} + */ + +export enum RfidCertificateOrigin { + /** + * The source is not defined + */ + UNDEFINED = 0, + /** + * Local PKD + */ + PKD = 1, + /** + * Document security object + */ + SECURITY_OBJECT = 2, + /** + * User-defined + */ + USER_DEFINED = 3, + /** + * Contents of the Master List + */ + MASTER_LIST_PKD = 4, + /** + * Security object of the Master List + */ + MASTER_LIST_SO = 5, + /** + * Security object of the Defect List + */ + DEFECT_LIST_SO = 6, + /** + * Security object of the Deviation List + */ + DEVIATION_LIST_SO = 7, + /** + * Security object of the Black List + */ + BLACK_LIST_SO = 8 +} + + + diff --git a/src/models/rfid-certificate-type.ts b/src/models/rfid-certificate-type.ts new file mode 100644 index 00000000..474f0f66 --- /dev/null +++ b/src/models/rfid-certificate-type.ts @@ -0,0 +1,59 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants that define the type of certificate used in the procedure of document security object digital signature verification + * @export + * @enum {number} + */ + +export enum RfidCertificateType { + /** + * Type is not defined + */ + UNDEFINED = 0, + /** + * CSCA + */ + CSCA = 1, + /** + * CSCA-link + */ + CSCA_LINK = 2, + /** + * DS + */ + DS = 3, + /** + * Master List signer + */ + MLS = 4, + /** + * Deviaton List signer + */ + DEV_LS = 5, + /** + * Defect List signer + */ + DEF_LS = 6, + /** + * Black List signer + */ + BLS = 7 +} + + + diff --git a/src/models/rfid-data-file-type.ts b/src/models/rfid-data-file-type.ts new file mode 100644 index 00000000..94a27fdb --- /dev/null +++ b/src/models/rfid-data-file-type.ts @@ -0,0 +1,119 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants that define the file type (or logical belonging of the data object) within the context of the communication session with electronic document + * @export + * @enum {number} + */ + +export enum RfidDataFileType { + UNSPECIFIED = 0, + PASSPORT_DG1 = 1, + PASSPORT_DG2 = 2, + PASSPORT_DG3 = 3, + PASSPORT_DG4 = 4, + PASSPORT_DG5 = 5, + PASSPORT_DG6 = 6, + PASSPORT_DG7 = 7, + PASSPORT_DG8 = 8, + PASSPORT_DG9 = 9, + PASSPORT_DG10 = 10, + PASSPORT_DG11 = 11, + PASSPORT_DG12 = 12, + PASSPORT_DG13 = 13, + PASSPORT_DG14 = 14, + PASSPORT_DG15 = 15, + PASSPORT_DG16 = 16, + PASSPORT_DG17 = 17, + PASSPORT_DG18 = 18, + PASSPORT_DG19 = 19, + PASSPORT_DG20 = 20, + PASSPORT_SOD = 21, + PASSPORT_CVCA = 22, + PASSPORT_COM = 23, + DTC_DG17 = 57, + DTC_DG18 = 58, + DTC_DG22 = 62, + DTC_DG23 = 63, + DTC_DG24 = 64, + ID_DG1 = 101, + ID_DG2 = 102, + ID_DG3 = 103, + ID_DG4 = 104, + ID_DG5 = 105, + ID_DG6 = 106, + ID_DG7 = 107, + ID_DG8 = 108, + ID_DG9 = 109, + ID_DG10 = 110, + ID_DG11 = 111, + ID_DG12 = 112, + ID_DG13 = 113, + ID_DG14 = 114, + ID_DG15 = 115, + ID_DG16 = 116, + ID_DG17 = 117, + ID_DG18 = 118, + ID_DG19 = 119, + ID_DG20 = 120, + ID_DG21 = 121, + DL_COM = 150, + DL_DG1 = 151, + DL_DG2 = 152, + DL_DG3 = 153, + DL_DG4 = 154, + DL_DG5 = 155, + DL_DG6 = 156, + DL_DG7 = 157, + DL_DG8 = 158, + DL_DG9 = 159, + DL_DG10 = 160, + DL_DG11 = 161, + DL_DG12 = 162, + DL_DG13 = 163, + DL_DG14 = 164, + DL_SOD = 165, + DL_CE = 166, + DL_CVCA = 167, + PACE_CARD_ACCESS = 200, + PACE_CARD_SECURITY = 201, + PACE_CHIP_SECURITY = 202, + MIFARE_DATA = 300, + MIFARE_VALIDITY = 301, + AUTHENTICITY_V2 = 302, + ATR = 400, + _E_SIGN_PK = 500, + _E_SIGN_SIGNED_DATA = 501, + CERTIFICATE = 600, + MASTER_LIST = 601, + DEFECT_LIST = 602, + BLACK_LIST = 603, + APP_DIRECTORY = 700, + SESSION = 701, + LOG_DATA = 702, + CHIP_PROPERTIES = 703, + POST_CA_RESPONSE = 710, + POST_CA_PUBLIC_KEY = 711, + POST_CA_INFO = 712, + POST_CA_D_PARAMS = 713, + POST_CA_CHECK_PK = 714, + POST_CA_CHECK_SK = 715, + USER_DEFINED = 1000 +} + + + diff --git a/src/models/rfid-data-file.ts b/src/models/rfid-data-file.ts new file mode 100644 index 00000000..75a885e0 --- /dev/null +++ b/src/models/rfid-data-file.ts @@ -0,0 +1,122 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { GraphicFieldType } from './graphic-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { ParsedData } from './parsed-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { ParsingNotificationCodes } from './parsing-notification-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDErrorCodes } from './rfiderror-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidDataFileType } from './rfid-data-file-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { SecurityObjectCertificates } from './security-object-certificates'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextFieldType } from './text-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { TrfFtBytes } from './trf-ft-bytes'; + +/** + * Structure is used to describe the contents of a single file of the LDS of electronic document and the analysis of its contents within the context of the communication session with electronic document + * @export + * @interface RfidDataFile + */ +export interface RfidDataFile { + /** + * File identifier. Each byte of FileID represented by its hexadecimal value. The individual bytes are separated by spaces (e.g. 01 1E) + * @type {string} + * @memberof RfidDataFile + */ + 'FileID'?: string; + /** + * + * @type {RfidDataFileType} + * @memberof RfidDataFile + */ + 'Type': RfidDataFileType; + /** + * + * @type {TrfFtBytes} + * @memberof RfidDataFile + */ + 'FileData'?: TrfFtBytes; + /** + * + * @type {RFIDErrorCodes} + * @memberof RfidDataFile + */ + 'ReadingStatus': RFIDErrorCodes; + /** + * Time of reading, milliseconds + * @type {number} + * @memberof RfidDataFile + */ + 'ReadingTime'?: number; + /** + * + * @type {RFIDErrorCodes} + * @memberof RfidDataFile + */ + 'PA_Status'?: RFIDErrorCodes; + /** + * List of remarks arisen when reading data from the memory of the chip and analysing their ASN.1-structure. + * @type {Array} + * @memberof RfidDataFile + */ + 'Notifications'?: Array; + /** + * List of document text fields formed on the basis of the file contents + * @type {Array} + * @memberof RfidDataFile + */ + 'DocFields_Text'?: Array; + /** + * List of document graphic fields formed on the basis of the file contents + * @type {Array} + * @memberof RfidDataFile + */ + 'DocFields_Graphics'?: Array; + /** + * List of the original binary representation of graphic document fields formed on the basis of the file contents + * @type {Array} + * @memberof RfidDataFile + */ + 'DocFields_Originals'?: Array; + /** + * + * @type {ParsedData} + * @memberof RfidDataFile + */ + 'ParsedData'?: ParsedData; + /** + * + * @type {SecurityObjectCertificates} + * @memberof RfidDataFile + */ + 'SecurityObject_Certificates'?: SecurityObjectCertificates; +} + + + diff --git a/src/models/rfid-data-group-type-tag.ts b/src/models/rfid-data-group-type-tag.ts new file mode 100644 index 00000000..31db3d78 --- /dev/null +++ b/src/models/rfid-data-group-type-tag.ts @@ -0,0 +1,247 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration representing RFID Data Group Types. Constants with prefix correspond to the informational data groups of ePassport application, with prefix EID_ – those of eID application, with prefix EDL_ – eDL application + * @export + * @enum {number} + */ + +export enum RfidDataGroupTypeTag { + /** + * Common Data Group Type + */ + COM = 96, + /** + * Data Group 1 + */ + DG1 = 97, + /** + * Data Group 2 + */ + DG2 = 117, + /** + * Data Group 3 + */ + DG3 = 99, + /** + * Data Group 4 + */ + DG4 = 118, + /** + * Data Group 5 + */ + DG5 = 101, + /** + * Data Group 6 + */ + DG6 = 102, + /** + * Data Group 7 + */ + DG7 = 103, + /** + * Data Group 8 + */ + DG8 = 104, + /** + * Data Group 9 + */ + DG9 = 105, + /** + * Data Group 10 + */ + DG10 = 106, + /** + * Data Group 11 + */ + DG11 = 107, + /** + * Data Group 12 + */ + DG12 = 108, + /** + * Data Group 13 + */ + DG13 = 109, + /** + * Data Group 14 + */ + DG14 = 110, + /** + * Data Group 15 + */ + DG15 = 111, + /** + * Data Group 16 + */ + DG16 = 112, + /** + * Start of Data + */ + SOD = 119, + /** + * Extended Interoperable Data, Data Group 1 + */ + EID_DG1 = 97, + /** + * Extended Interoperable Data, Data Group 2 + */ + EID_DG2 = 98, + /** + * Extended Interoperable Data, Data Group 3 + */ + EID_DG3 = 99, + /** + * Extended Interoperable Data, Data Group 4 + */ + EID_DG4 = 100, + /** + * Extended Interoperable Data, Data Group 5 + */ + EID_DG5 = 101, + /** + * Extended Interoperable Data, Data Group 6 + */ + EID_DG6 = 102, + /** + * Extended Interoperable Data, Data Group 7 + */ + EID_DG7 = 103, + /** + * Extended Interoperable Data, Data Group 8 + */ + EID_DG8 = 104, + /** + * Extended Interoperable Data, Data Group 9 + */ + EID_DG9 = 105, + /** + * Extended Interoperable Data, Data Group 10 + */ + EID_DG10 = 106, + /** + * Extended Interoperable Data, Data Group 11 + */ + EID_DG11 = 107, + /** + * Extended Interoperable Data, Data Group 12 + */ + EID_DG12 = 108, + /** + * Extended Interoperable Data, Data Group 13 + */ + EID_DG13 = 109, + /** + * Extended Interoperable Data, Data Group 14 + */ + EID_DG14 = 110, + /** + * Extended Interoperable Data, Data Group 15 + */ + EID_DG15 = 111, + /** + * Extended Interoperable Data, Data Group 16 + */ + EID_DG16 = 112, + /** + * Extended Interoperable Data, Data Group 17 + */ + EID_DG17 = 113, + /** + * Extended Interoperable Data, Data Group 18 + */ + EID_DG18 = 114, + /** + * Extended Interoperable Data, Data Group 19 + */ + EID_DG19 = 115, + /** + * Extended Interoperable Data, Data Group 20 + */ + EID_DG20 = 116, + /** + * Extended Interoperable Data, Data Group 21 + */ + EID_DG21 = 117, + /** + * Extended Length Data, Common Data Group Type + */ + EDL_COM = 96, + /** + * Extended Length Data, Start of Data + */ + EDL_SOD = 119, + /** + * Extended Length Data, Certificate Holder Authorization + */ + EDL_CE = 119, + /** + * Extended Length Data, Data Group 1 + */ + EDL_DG1 = 97, + /** + * Extended Length Data, Data Group 2 + */ + EDL_DG2 = 107, + /** + * Extended Length Data, Data Group 3 + */ + EDL_DG3 = 108, + /** + * Extended Length Data, Data Group 4 + */ + EDL_DG4 = 101, + /** + * Extended Length Data, Data Group 5 + */ + EDL_DG5 = 103, + /** + * Extended Length Data, Data Group 6 + */ + EDL_DG6 = 117, + /** + * Extended Length Data, Data Group 7 + */ + EDL_DG7 = 99, + /** + * Extended Length Data, Data Group 8 + */ + EDL_DG8 = 118, + /** + * Extended Length Data, Data Group 9 + */ + EDL_DG9 = 112, + /** + * Extended Length Data, Data Group 11 + */ + EDL_DG11 = 109, + /** + * Extended Length Data, Data Group 12 + */ + EDL_DG12 = 113, + /** + * Extended Length Data, Data Group 13 + */ + EDL_DG13 = 111, + /** + * Extended Length Data, Data Group 14 + */ + EDL_DG14 = 110 +} + + + diff --git a/src/models/rfid-dg1.ts b/src/models/rfid-dg1.ts new file mode 100644 index 00000000..059b1703 --- /dev/null +++ b/src/models/rfid-dg1.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentFormat } from './document-format'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidDataGroupTypeTag } from './rfid-data-group-type-tag'; + +/** + * Structure used to store the contents of EF.DG1 informational data group of ePassport application – document MRZ data + * @export + * @interface RfidDG1 + */ +export interface RfidDG1 { + /** + * + * @type {RfidDataGroupTypeTag} + * @memberof RfidDG1 + */ + 'Type': RfidDataGroupTypeTag; + /** + * + * @type {DocumentFormat} + * @memberof RfidDG1 + */ + 'DocumentID': DocumentFormat; + /** + * Symbolic code of document type + * @type {string} + * @memberof RfidDG1 + */ + 'DocumentType': string; + /** + * Symbolic code of document issuing state + * @type {string} + * @memberof RfidDG1 + */ + 'State': string; + /** + * DO’s name and surname + * @type {string} + * @memberof RfidDG1 + */ + 'Holder': string; + /** + * Document number + * @type {string} + * @memberof RfidDG1 + */ + 'DocumentNumber': string; + /** + * Check digit of document number + * @type {number} + * @memberof RfidDG1 + */ + 'CheckDigitDocumentNumber': number; + /** + * Symbolic code of DO’s nationality + * @type {string} + * @memberof RfidDG1 + */ + 'Nationality': string; + /** + * DO’s date of birth + * @type {string} + * @memberof RfidDG1 + */ + 'Birthday': string; + /** + * Check digit of DO’s date of birth + * @type {number} + * @memberof RfidDG1 + */ + 'CheckDigitBirthday': number; + /** + * DO’s sex + * @type {string} + * @memberof RfidDG1 + */ + 'Sex': string; + /** + * Term of validity of the document + * @type {string} + * @memberof RfidDG1 + */ + 'ExpiryDate': string; + /** + * Check digit of term of validity of the document + * @type {number} + * @memberof RfidDG1 + */ + 'CheckDigitExpiryDate': number; + /** + * DO’s personal number or other additional data + * @type {string} + * @memberof RfidDG1 + */ + 'OptionalData': string; + /** + * Check digit of additional data + * @type {number} + * @memberof RfidDG1 + */ + 'CheckDigitOptionalData': number; + /** + * General check digit + * @type {number} + * @memberof RfidDG1 + */ + 'CheckDigitComposite': number; +} + + + diff --git a/src/models/rfid-distinguished-name.ts b/src/models/rfid-distinguished-name.ts new file mode 100644 index 00000000..d8ab041a --- /dev/null +++ b/src/models/rfid-distinguished-name.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RfidAttributeName } from './rfid-attribute-name'; +// May contain unused imports in some cases +// @ts-ignore +import type { TrfFtString } from './trf-ft-string'; + +/** + * Contents of the identifier in binary form. Base64 encoded. + * @export + * @interface RfidDistinguishedName + */ +export interface RfidDistinguishedName { + /** + * Contents of the identifier in binary form. Base64 encoded. + * @type {string} + * @memberof RfidDistinguishedName + */ + 'Data': string; + /** + * + * @type {TrfFtString} + * @memberof RfidDistinguishedName + */ + 'FriendlyName': TrfFtString; + /** + * List of individual attributes contained in the identifier + * @type {Array} + * @memberof RfidDistinguishedName + */ + 'Attributes': Array; +} + diff --git a/src/models/rfid-location.ts b/src/models/rfid-location.ts index e453c43b..5c8d90ca 100644 --- a/src/models/rfid-location.ts +++ b/src/models/rfid-location.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * Determines the presence and location of an RFID chip in a document. 0 - no rfid chip; 1 - chip is located in the document data page; 2 - chip is located in the back page or inlay of the document * @export - * @enum {string} + * @enum {number} */ + export enum RfidLocation { /** * There is no RFID chip in the document diff --git a/src/models/rfid-origin.ts b/src/models/rfid-origin.ts index d8333d3c..538a02a9 100644 --- a/src/models/rfid-origin.ts +++ b/src/models/rfid-origin.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,25 +25,24 @@ export interface RfidOrigin { * @type {number} * @memberof RfidOrigin */ - dg: number; + 'dg': number; /** * Index of the source record of the image with biometric information in the information data group * @type {number} * @memberof RfidOrigin */ - dgTag?: number; + 'dgTag': number; /** * Index of the template in the record with biometric data * @type {number} * @memberof RfidOrigin */ - tagEntry?: number; + 'tagEntry': number; /** * Index of the variant of the biometric data template * @type {number} * @memberof RfidOrigin */ - entryView?: number; + 'entryView': number; } - diff --git a/src/models/rfid-password-type.ts b/src/models/rfid-password-type.ts new file mode 100644 index 00000000..e8296bc5 --- /dev/null +++ b/src/models/rfid-password-type.ts @@ -0,0 +1,55 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants specifying the rate of data exchange between the reader and the RFID-chip + * @export + * @enum {number} + */ + +export enum RfidPasswordType { + /** + * Unknown type + */ + UNKNOWN = 0, + /** + * MRZ + */ + MRZ = 1, + /** + * CAN + */ + CAN = 2, + /** + * PIN + */ + PIN = 3, + /** + * PUK + */ + PUK = 4, + /** + * eSign-PIN + */ + PIN_E_SIGN = 5, + /** + * Scanning Area Identifier (for eDL application) + */ + SAI = 6 +} + + + diff --git a/src/models/rfid-pki-extension.ts b/src/models/rfid-pki-extension.ts new file mode 100644 index 00000000..efc88a6b --- /dev/null +++ b/src/models/rfid-pki-extension.ts @@ -0,0 +1,36 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Extension identifier (OID, ASCII string); Contents of the identifier in the format S1 (S2), where S1 – attribute name, S2 – identifier (OID string) + * @export + * @interface RfidPkiExtension + */ +export interface RfidPkiExtension { + /** + * Extension identifier (OID, ASCII string); Contents of the identifier in the format S1 (S2), where S1 – attribute name, S2 – identifier (OID string) + * @type {string} + * @memberof RfidPkiExtension + */ + 'Type': string; + /** + * Extension binary data. Base64 encoded. + * @type {string} + * @memberof RfidPkiExtension + */ + 'Data': string; +} + diff --git a/src/models/rfid-raw-data.ts b/src/models/rfid-raw-data.ts new file mode 100644 index 00000000..12cece7a --- /dev/null +++ b/src/models/rfid-raw-data.ts @@ -0,0 +1,36 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface RfidRawData + */ +export interface RfidRawData { + /** + * + * @type {string} + * @memberof RfidRawData + */ + 'Data': string; + /** + * + * @type {number} + * @memberof RfidRawData + */ + 'FieldType': number; +} + diff --git a/src/models/rfid-security-object.ts b/src/models/rfid-security-object.ts new file mode 100644 index 00000000..3e5c2333 --- /dev/null +++ b/src/models/rfid-security-object.ts @@ -0,0 +1,60 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ParsingNotificationCodes } from './parsing-notification-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidSignerInfoEx } from './rfid-signer-info-ex'; + +/** + * Structure is used to describe the contents of a single document security object (SO) and the results of its check within the context of the communication session with electronic document + * @export + * @interface RfidSecurityObject + */ +export interface RfidSecurityObject { + /** + * Security object version + * @type {number} + * @memberof RfidSecurityObject + */ + 'Version': number; + /** + * Identifier of the security object + * @type {string} + * @memberof RfidSecurityObject + */ + 'ObjectType': string; + /** + * Reference to the source file of the security object data + * @type {number} + * @memberof RfidSecurityObject + */ + 'FileReference': number; + /** + * List of remarks arisen during the analysis of SO data structure. + * @type {Array} + * @memberof RfidSecurityObject + */ + 'Notifications': Array; + /** + * List of containers to store information about digital signature objects contained in the SO + * @type {Array} + * @memberof RfidSecurityObject + */ + 'SignerInfos': Array; +} + diff --git a/src/models/rfid-session-data.ts b/src/models/rfid-session-data.ts new file mode 100644 index 00000000..392c627b --- /dev/null +++ b/src/models/rfid-session-data.ts @@ -0,0 +1,155 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDErrorCodes } from './rfiderror-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidAccessControlInfo } from './rfid-access-control-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidAccessKey } from './rfid-access-key'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidApplication } from './rfid-application'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidAuthenticationProcedureType } from './rfid-authentication-procedure-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidCardPropertiesExt } from './rfid-card-properties-ext'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidSecurityObject } from './rfid-security-object'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidTerminal } from './rfid-terminal'; + +/** + * Structure is used to describe the results of work with the SDK within the context of the current communication session with electronic document + * @export + * @interface RfidSessionData + */ +export interface RfidSessionData { + /** + * Sign of virtual session when working with loaded data from a previous communication session with the electronic document + * @type {string} + * @memberof RfidSessionData + */ + 'VirtualMode'?: string; + /** + * Text SDKVersion value in format A.B (e.g. 3.1) + * @type {string} + * @memberof RfidSessionData + */ + 'SDKVersion'?: string; + /** + * Text DriverVersion value in format A.B.C.D (e.g. 6.2.5.4) + * @type {string} + * @memberof RfidSessionData + */ + 'DriverVersion'?: string; + /** + * Text FirmwareVersion value in format A.B (e.g. 5.19) + * @type {string} + * @memberof RfidSessionData + */ + 'FirmwareVersion'?: string; + /** + * List of containers to store information about the involved applications of electronic document + * @type {Array} + * @memberof RfidSessionData + */ + 'Applications': Array; + /** + * List of containers to store information about the supported procedures of authentication and secure data access within the context of the session + * @type {Array} + * @memberof RfidSessionData + */ + 'AccessControls': Array; + /** + * + * @type {RfidCardPropertiesExt} + * @memberof RfidSessionData + */ + 'CardProperties': RfidCardPropertiesExt; + /** + * + * @type {RFIDErrorCodes} + * @memberof RfidSessionData + */ + 'ExtLeSupport': RFIDErrorCodes; + /** + * Time of processing, milliseconds + * @type {number} + * @memberof RfidSessionData + */ + 'ProcessTime': number; + /** + * List of containers to store information about the read files of the root Master File + * @type {Array} + * @memberof RfidSessionData + */ + 'RootFiles': Array; + /** + * Total number of bytes transmitted to the RFID-chip during the whole session + * @type {number} + * @memberof RfidSessionData + */ + 'TotalBytesSent': number; + /** + * Total number of bytes received from the RFID-chip during the whole session + * @type {number} + * @memberof RfidSessionData + */ + 'TotalBytesReceived': number; + /** + * + * @type {RfidAccessKey} + * @memberof RfidSessionData + */ + 'Session_key': RfidAccessKey; + /** + * + * @type {RfidTerminal} + * @memberof RfidSessionData + */ + 'Session_terminal': RfidTerminal; + /** + * + * @type {RfidAuthenticationProcedureType} + * @memberof RfidSessionData + */ + 'Session_procedure': RfidAuthenticationProcedureType; + /** + * List of containers to store information about the detected document security objects + * @type {Array} + * @memberof RfidSessionData + */ + 'SecurityObjects': Array; + /** + * + * @type {CheckResult} + * @memberof RfidSessionData + */ + 'Status'?: CheckResult; +} + + + diff --git a/src/models/rfid-signer-info-ex.ts b/src/models/rfid-signer-info-ex.ts new file mode 100644 index 00000000..ce1e3ba4 --- /dev/null +++ b/src/models/rfid-signer-info-ex.ts @@ -0,0 +1,116 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ParsingNotificationCodes } from './parsing-notification-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDErrorCodes } from './rfiderror-codes'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidAttributeData } from './rfid-attribute-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidCertificateEx } from './rfid-certificate-ex'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidDistinguishedName } from './rfid-distinguished-name'; +// May contain unused imports in some cases +// @ts-ignore +import type { TrfFtBytes } from './trf-ft-bytes'; + +/** + * Structure is used to describe the contents of a single copy of digital signature of the document security object and the results of its check within the context of the communication session with electronic document + * @export + * @interface RfidSignerInfoEx + */ +export interface RfidSignerInfoEx { + /** + * Version of SignerInfo ASN.1 structure + * @type {number} + * @memberof RfidSignerInfoEx + */ + 'Version': number; + /** + * + * @type {RfidDistinguishedName} + * @memberof RfidSignerInfoEx + */ + 'Issuer': RfidDistinguishedName; + /** + * + * @type {TrfFtBytes} + * @memberof RfidSignerInfoEx + */ + 'SerialNumber': TrfFtBytes; + /** + * + * @type {TrfFtBytes} + * @memberof RfidSignerInfoEx + */ + 'SubjectKeyIdentifier': TrfFtBytes; + /** + * Hash algorithm identifier (OID) for digital signature generation + * @type {string} + * @memberof RfidSignerInfoEx + */ + 'DigestAlgorithm': string; + /** + * List of the signed attributes + * @type {Array} + * @memberof RfidSignerInfoEx + */ + 'SignedAttributes': Array; + /** + * Digital signature algorithm identifier (OID) + * @type {string} + * @memberof RfidSignerInfoEx + */ + 'SignatureAlgorithm': string; + /** + * + * @type {TrfFtBytes} + * @memberof RfidSignerInfoEx + */ + 'Signature': TrfFtBytes; + /** + * + * @type {RFIDErrorCodes} + * @memberof RfidSignerInfoEx + */ + 'PA_Status': RFIDErrorCodes; + /** + * Certificate chain, used for the digital signature verification. + * @type {Array} + * @memberof RfidSignerInfoEx + */ + 'CertificateChain': Array; + /** + * Binary data array used to calculate the hash value for digital signature verification. Base64 encoded. + * @type {string} + * @memberof RfidSignerInfoEx + */ + 'DataToHash': string; + /** + * + * @type {Array} + * @memberof RfidSignerInfoEx + */ + 'Notifications': Array; +} + + + diff --git a/src/models/rfid-terminal-type.ts b/src/models/rfid-terminal-type.ts new file mode 100644 index 00000000..5eb8ed70 --- /dev/null +++ b/src/models/rfid-terminal-type.ts @@ -0,0 +1,47 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants that define the type of terminal within the context of the communication session with electronic document + * @export + * @enum {number} + */ + +export enum RfidTerminalType { + /** + * Not defined + */ + UNDEFINED = 0, + /** + * Inspection system + */ + INSPECTION_SYSTEM = 1, + /** + * Authentication terminal + */ + AUTHENTICATION_TERMINAL = 2, + /** + * Signature terminal + */ + SIGNATURE_TERMINAL = 3, + /** + * Unauthenticated terminal + */ + UNAUTHENTICATED_TERMINAL = 4 +} + + + diff --git a/src/models/rfid-terminal.ts b/src/models/rfid-terminal.ts new file mode 100644 index 00000000..a06440a0 --- /dev/null +++ b/src/models/rfid-terminal.ts @@ -0,0 +1,47 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RfidTerminalType } from './rfid-terminal-type'; + +/** + * Structure is used to describe the terminal type within the context of the communication session with electronic document + * @export + * @interface RfidTerminal + */ +export interface RfidTerminal { + /** + * + * @type {RfidTerminalType} + * @memberof RfidTerminal + */ + 'TermType': RfidTerminalType; + /** + * Declared (set) combination of flags of access rights to the functionality of the document (combination of eRfidTerminalAuthorizationRequirement values) + * @type {number} + * @memberof RfidTerminal + */ + 'AuthReq': number; + /** + * Declared (set) combination of flags of access rights to the functionality of the document (combination of RfidTerminalAuthorizationRequirement values) + * @type {number} + * @memberof RfidTerminal + */ + 'AuthReq2': number; +} + + + diff --git a/src/models/rfid-type.ts b/src/models/rfid-type.ts new file mode 100644 index 00000000..7ec74548 --- /dev/null +++ b/src/models/rfid-type.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants specifying the type of the RFID-chip by the physical parameters of connection between antennas of the chip and the reader + * @export + * @enum {number} + */ + +export enum RfidType { + /** + * Unknown + */ + UNKNOWN = 0, + /** + * Type A + */ + A = 1, + /** + * Type B + */ + B = 2 +} + + + diff --git a/src/models/rfid-validity.ts b/src/models/rfid-validity.ts new file mode 100644 index 00000000..6aa41027 --- /dev/null +++ b/src/models/rfid-validity.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { TrfFtString } from './trf-ft-string'; + +/** + * Structure contains information on a certificate validity. + * @export + * @interface RfidValidity + */ +export interface RfidValidity { + /** + * + * @type {TrfFtString} + * @memberof RfidValidity + */ + 'NotBefore': TrfFtString; + /** + * + * @type {TrfFtString} + * @memberof RfidValidity + */ + 'NotAfter': TrfFtString; +} + diff --git a/src/models/rfiddoc-visual-extended-field-item.ts b/src/models/rfiddoc-visual-extended-field-item.ts new file mode 100644 index 00000000..d196888f --- /dev/null +++ b/src/models/rfiddoc-visual-extended-field-item.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface RFIDDocVisualExtendedFieldItem + */ +export interface RFIDDocVisualExtendedFieldItem { + /** + * + * @type {number} + * @memberof RFIDDocVisualExtendedFieldItem + */ + 'OriginDG': number; + /** + * + * @type {number} + * @memberof RFIDDocVisualExtendedFieldItem + */ + 'OriginDGTag'?: number; + /** + * Record index of the text field source in the data group + * @type {number} + * @memberof RFIDDocVisualExtendedFieldItem + */ + 'OriginTagEntry': number; + /** + * + * @type {number} + * @memberof RFIDDocVisualExtendedFieldItem + */ + 'OriginEntryView'?: number; +} + diff --git a/src/models/rfiddoc-visual-extended-field.ts b/src/models/rfiddoc-visual-extended-field.ts new file mode 100644 index 00000000..636383c9 --- /dev/null +++ b/src/models/rfiddoc-visual-extended-field.ts @@ -0,0 +1,35 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDDocVisualExtendedFieldItem } from './rfiddoc-visual-extended-field-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { StringRecognitionResult } from './string-recognition-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextFieldType } from './text-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { VisualExtendedFieldItem } from './visual-extended-field-item'; + +/** + * @type RFIDDocVisualExtendedField + * @export + */ +export type RFIDDocVisualExtendedField = RFIDDocVisualExtendedFieldItem & VisualExtendedFieldItem; + + diff --git a/src/models/rfiddoc-visual-extended-info-item.ts b/src/models/rfiddoc-visual-extended-info-item.ts new file mode 100644 index 00000000..454c7aba --- /dev/null +++ b/src/models/rfiddoc-visual-extended-info-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDDocVisualExtendedInfo } from './rfiddoc-visual-extended-info'; + +/** + * + * @export + * @interface RFIDDocVisualExtendedInfoItem + */ +export interface RFIDDocVisualExtendedInfoItem { + /** + * + * @type {RFIDDocVisualExtendedInfo} + * @memberof RFIDDocVisualExtendedInfoItem + */ + 'DocVisualExtendedInfo': RFIDDocVisualExtendedInfo; +} + diff --git a/src/models/rfiddoc-visual-extended-info.ts b/src/models/rfiddoc-visual-extended-info.ts new file mode 100644 index 00000000..2e56c1f0 --- /dev/null +++ b/src/models/rfiddoc-visual-extended-info.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDDocVisualExtendedField } from './rfiddoc-visual-extended-field'; + +/** + * Container for extracted text fields. Fields are identified by type and language + * @export + * @interface RFIDDocVisualExtendedInfo + */ +export interface RFIDDocVisualExtendedInfo { + /** + * Number of pArrayFields array elements + * @type {number} + * @memberof RFIDDocVisualExtendedInfo + */ + 'nFields': number; + /** + * + * @type {Array} + * @memberof RFIDDocVisualExtendedInfo + */ + 'pArrayFields': Array; +} + diff --git a/src/models/rfiderror-codes.ts b/src/models/rfiderror-codes.ts new file mode 100644 index 00000000..bb29ee9d --- /dev/null +++ b/src/models/rfiderror-codes.ts @@ -0,0 +1,483 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of error codes returned by SDK + * @export + * @enum {number} + */ + +export enum RFIDErrorCodes { + /** + * LAYER6: Reading beyond EOF / Unexpected EOF + */ + RFID_ERROR_LAYER6_FILE_EOF1 = 2147508866, + /** + * LAYER6: PWD deactivated + */ + RFID_ERROR_LAYER6_PWD_DEACTIVATED = 2147508867, + /** + * LAYER6: PWD blocked + */ + RFID_ERROR_LAYER6_PWD_BLOCKED = 2147509184, + /** + * LAYER6: PWD suspended + */ + RFID_ERROR_LAYER6_PWD_SUSPEND = 2147509185, + /** + * LAYER6: PWD blocked 2 + */ + RFID_ERROR_LAYER6_PWD_BLOCKED2 = 2147510659, + /** + * LAYER6: PWD deactivated 2 + */ + RFID_ERROR_LAYER6_PWD_DEACTIVATED2 = 2147510660, + /** + * LAYER6: PWD suspended 2 + */ + RFID_ERROR_LAYER6_PWD_SUSPEND2 = 2147510661, + /** + * LAYER6: Incorrect params + */ + RFID_ERROR_LAYER6_INCORRECT_PARAMS = 2147510912, + /** + * LAYER6: File selection failure / file not found + */ + RFID_ERROR_LAYER6_FILE_NOT_FOUND = 2147510914, + /** + * LAYER6: No reference data + */ + RFID_ERROR_LAYER6_NO_REFERENCE_DATA = 2147510920, + /** + * LAYER6: Reading beyond EOF / Unexpected EOF + */ + RFID_ERROR_LAYER6_FILE_EOF2 = 2147511040, + /** + * RFID: No chip is detected + */ + RFID_ERROR_NO_CHIP_DETECTED = 2147549185, + /** + * RFID: Unavailable + */ + RFID_ERROR_NOT_AVAILABLE = 2147549186, + /** + * RFID: Invalid parameter in ExecuteCommand() call found + */ + RFID_ERROR_INVALID_PARAMETER = 2147549188, + /** + * RFID: Device is uninitialized + */ + RFID_ERROR_NOT_INITIALIZED = 2147549189, + /** + * RFID: Out of memory + */ + RFID_ERROR_NOT_ENOUGH_MEMORY = 2147549190, + /** + * RFID: Invalid directory + */ + RFID_ERROR_INVALID_DIRECTORY = 2147549192, + /** + * RFID: Unknown command + */ + RFID_ERROR_UNKNOWN_COMMAND = 2147549193, + /** + * RFID File: IO Error + */ + RFID_ERROR_FILE_IO_ERROR = 2147549194, + /** + * RFID: RFID is busy + */ + RFID_ERROR_BUSY = 2147549195, + /** + * RFID: The firmware needs to be updated to a newer version + */ + RFID_ERROR_OLD_FIRMWARE = 2147549196, + /** + * PCSC: Failed + */ + RFID_ERROR_PCSC_FAILED = 2147614720, + /** + * PCSC: The reader is unavailable + */ + RFID_ERROR_PCSC_READER_NOT_AVAILABLE = 2147614721, + /** + * PCSC: The card cannot be connected + */ + RFID_ERROR_PCSC_CANT_CONNECT_CARD = 2147614722, + /** + * PCSC: The card is not connected + */ + RFID_ERROR_PCSC_CARD_IS_NOT_CONNECTED = 2147614723, + /** + * PCSC: Operation is cancelled + */ + RFID_ERROR_PCSC_OPERATION_CANCELLED = 2147614724, + /** + * PCSC: The card is busy + */ + RFID_ERROR_PCSC_CARD_IS_BUSY = 2147614725, + /** + * PCSC: Failed Smart Card + */ + RFID_ERROR_PCSC_FAILED_SCARD = 2147614726, + /** + * PCSC: ExtLe Failed + */ + RFID_ERROR_PCSC_EXT_LE_FAILED = 2147614736, + /** + * LAYER6: PWD failed + */ + RFID_ERROR_LAYER6_PWD_FAILED = 2148557760, + /** + * RFID: Not performed + */ + RFID_ERROR_NOT_PERFORMED = 2197815296, + /** + * RFID: Session is closed + */ + RFID_ERROR_SESSION_IS_CLOSED = 2197815297, + /** + * RFID: Unsupported terminal operation + */ + RFID_ERROR_SESSION_TERMINAL_UNSUPPORTED_OPERATION = 2197815298, + /** + * RFID: Terminal type unknown + */ + RFID_ERROR_SESSION_TERMINAL_TYPE_UNKNOWN = 2197815312, + /** + * RFID: Terminal type bad certificate + */ + RFID_ERROR_SESSION_TERMINAL_TYPE_BAD_CERTIFICATE = 2197815313, + /** + * RFID: Terminal type not set + */ + RFID_ERROR_SESSION_TERMINAL_TYPE_NOT_SET = 2197815314, + /** + * RFID: Unknown procedure type + */ + RFID_ERROR_SESSION_PROCEDURE_TYPE_UNKNOWN = 2197815315, + /** + * RFID: Unsupported procedure type + */ + RFID_ERROR_Session_Procedure_Type_Unsupported = 2197815316, + /** + * RFID: Procedure type not set + */ + RFID_ERROR_SESSION_PROCEDURE_TYPE_NOT_SET = 2197815317, + /** + * RFID: Access key unknown type + */ + RFID_ERROR_SESSION_ACCESS_KEY_UNKNOWN_TYPE = 2197815318, + /** + * RFID: Access key unsupported SM type + */ + RFID_ERROR_SESSION_ACCESS_KEY_UNSUPPORTED_SM_TYPE = 2197815319, + /** + * RFID: Access key incorrect SM type + */ + RFID_ERROR_SESSION_ACCESS_KEY_INCORRECT_SM_TYPE = 2197815320, + /** + * RFID: Access key restricted + */ + RFID_ERROR_SESSION_ACCESS_KEY_RESTRICTED = 2197815321, + /** + * RFID: Access key incorrect data + */ + RFID_ERROR_SESSION_ACCESS_KEY_INCORRECT_DATA = 2197815322, + /** + * RFID: Access key not set + */ + RFID_ERROR_SESSION_ACCESS_KEY_NOT_SET = 2197815323, + /** + * RFID: PWD management not authorized + */ + RFID_ERROR_SESSION_PWD_MANAGEMENT_NOT_AUTHORIZED = 2197815324, + /** + * RFID: Access control unknown type + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_UNKNOWN_TYPE = 2197815328, + /** + * RFID: SM required + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_REQUIRES_SM = 2197815329, + /** + * RFID: PACE required + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_REQUIRES_PACE = 2197815330, + /** + * RFID: CA keys required + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_REQUIRES_CA_KEYS = 2197815331, + /** + * RFID: TA required + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_REQUIRES_TA = 2197815332, + /** + * RFID: CA required + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_REQUIRES_CA = 2197815333, + /** + * RFID: Incorrect option CA + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_INCORRECT_OPTION_CA = 2197815334, + /** + * RFID: CA failed + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_CA_FAILED = 2197815335, + /** + * RFID: TA failed + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_TA_FAILED = 2197815336, + /** + * RFID: AA failed + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_AA_FAILED = 2197815337, + /** + * RFID: RI failed + */ + RFID_ERROR_SESSION_ACCESS_CONTROL_RI_FAILED = 2197815338, + /** + * RFID: SO signature check failed + */ + RFID_ERROR_SESSION_PA_SIGNATURE_CHECK_FAILED = 2197815344, + /** + * RFID: Hash check failed + */ + RFID_ERROR_SESSION_PA_HASH_CHECK_FAILED = 2197815345, + /** + * RFID: Invalid aux data - date of expiry + */ + RFID_ERROR_SESSION_INVALID_AUX_DATA_DATE_OF_EXPIRY = 2197815360, + /** + * RFID: Invalid aux data - date of birth + */ + RFID_ERROR_SESSION_INVALID_AUX_DATA_DATE_OF_BIRTH = 2197815361, + /** + * RFID: Invalid aux data - community ID + */ + RFID_ERROR_SESSION_INVALID_AUX_DATA_COMMUNITY_ID = 2197815362, + /** + * RFID: eSign requires app selection + */ + RFID_ERROR_SESSION_E_SIGN_REQUIRES_APP_SELECTION = 2197815376, + /** + * RFID: eSign PIN not set + */ + RFID_ERROR_SESSION_E_SIGN_PIN_NOT_SET = 2197815377, + /** + * RFID: eSign PIN not verified + */ + RFID_ERROR_SESSION_E_SIGN_PIN_NOT_VERIFIED = 2197815378, + /** + * RFID: Incorrect data + */ + RFID_ERROR_SESSION_INCORRECT_DATA = 2197815392, + /** + * RFID file: Insufficient data + */ + RFID_ERROR_SESSION_FILE_NOT_ENOUGH_DATA = 2197880832, + /** + * RFID file: Incorrect data + */ + RFID_ERROR_SESSION_FILE_INCORRECT_DATA = 2197946368, + /** + * RFID file: Unexpected data + */ + RFID_ERROR_SESSION_FILE_UNEXPECTED_DATA = 2198011904, + /** + * RFID file: Contains unexpected data + */ + RFID_ERROR_SESSION_FILE_CONTENTS_UNEXPECTED_DATA = 2198077440, + /** + * RFID file: Wrong tag + */ + RFID_ERROR_SESSION_FILE_WRONG_TAG = 2198142976, + /** + * RFID file: Cannot use data + */ + RFID_ERROR_SESSION_FILE_CANT_USE_DATA = 2198208512, + /** + * RFID file: Cannot read data + */ + RFID_ERROR_SESSION_FILE_CANT_READ_DATA = 2198274048, + /** + * RFID file: Access denied + */ + RFID_ERROR_SESSION_FILE_ACCESS_DENIED = 2198339584, + /** + * RFID: Layer 34 - No error + */ + RFID_ERROR_LAYER34_NO_ERROR = 2214592512, + /** + * RFID: Layer 34 - Timeout + */ + RFID_ERROR_LAYER34_TIME_OUT = 2214658048, + /** + * RFID: Layer 34 - Collision + */ + RFID_ERROR_LAYER34_COLLISION = 2214723584, + /** + * RFID: Layer 34 - CRC + */ + RFID_ERROR_LAYER34_CRC = 2214789120, + /** + * RFID: Layer 34 - Data integrity + */ + RFID_ERROR_LAYER34_DATA_INTEGRITY = 2214854656, + /** + * RFID: Layer 34 - Data length + */ + RFID_ERROR_LAYER34_DATA_LENGTH = 2214920192, + /** + * RFID: Layer 34 - RFU + */ + RFID_ERROR_Layer34_RFU = 2214985728, + /** + * RFID: Layer 34 - Too many collision + */ + RFID_ERROR_LAYER34_COLLISION_TOO_MANY = 2215051264, + /** + * RFID: Layer 34 - Protocol B + */ + RFID_ERROR_LAYER34_PROTOCOL_B = 2215116800, + /** + * RFID: Layer 34 - Data contents + */ + RFID_ERROR_LAYER34_DATA_CONTENTS = 2215182336, + /** + * RFID: Layer 34 - Protocol + */ + RFID_ERROR_LAYER34_PROTOCOL = 2215247872, + /** + * RFID: Layer 34 - Globa timeout + */ + RFID_ERROR_LAYER34_GLOBAL_TIME_OUT = 2215313408, + /** + * RFID: Layer 34 - MIFARE auth + */ + RFID_ERROR_LAYER34_MIFARE_AUTH = 2215378944, + /** + * RFID: Layer 34 - SAM error + */ + RFID_ERROR_LAYER34_SAM_ERROR = 2215444480, + /** + * RFID: Layer 34 - SAM collision + */ + RFID_ERROR_LAYER34_SAM_COLLISION = 2215510016, + /** + * RFID: Layer 34 - SAM acknowledge + */ + RFID_ERROR_LAYER34_SAM_ACKNOWLEDGE = 2215575552, + /** + * LAYER6: Secure Messaging was not activated + */ + RFID_ERROR_LAYER6_SECURITY_MANAGER = 2248146944, + /** + * LAYER6: ISO7816_A_03 Application selection failure + */ + RFID_ERROR_LAYER6_APP_SELECTION_FAILURE = 2248146945, + /** + * LAYER6: ISO7816_B_01 Mutual authentication MAC failure + */ + RFID_ERROR_LAYER6_MUTUAL_AUTH_MAC_FAIL = 2248147200, + /** + * LAYER6: ISO7816_B_02 Mutual authentication encryption failure + */ + RFID_ERROR_LAYER6_MUTUAL_AUTH_ENC_FAIL = 2248147201, + /** + * LAYER6: ISO7816_B_03 Mutual authentication failure + */ + RFID_ERROR_LAYER6_MUTUAL_AUTH_FAILURE = 2248147202, + /** + * LAYER6: ISO7816_B_03 Mutual authentication failure data + */ + RFID_ERROR_LAYER6_MUTUAL_AUTH_FAILURE_DATA = 2248147203, + /** + * LAYER6: SM failure – MAC missing + */ + RFID_ERROR_LAYER6_SM_DO_8E_MISSING = 2248147456, + /** + * LAYER6: SM failure – cryptogram missing + */ + RFID_ERROR_LAYER6_SM_DO_87_MISSING = 2248147457, + /** + * LAYER6: SM failure – secured status bytes missing + */ + RFID_ERROR_LAYER6_SM_DO_99_MISSING = 2248147458, + /** + * LAYER6: SM failure – incorrect MAC + */ + RFID_ERROR_LAYER6_SM_MAC_INCORRECT = 2248147459, + /** + * LAYER6: SM failure – incorrect cryptogram + */ + RFID_ERROR_LAYER6_SM_DO_87_INCORRECT = 2248147460, + /** + * LAYER6: Not TLV response data + */ + RFID_ERROR_LAYER6_NON_TLV_RESPONSE_DATA = 2248147712, + /** + * LAYER6: Wrong data length (APDU_INS_GET_CHALLENGE) + */ + RFID_ERROR_LAYER6_WRONG_RND_ICC_LENGTH = 2248147713, + /** + * LAYER6: APDU_INS_INTERNAL_AUTHENTICATE failure + */ + RFID_ERROR_LAYER6_INT_AUTH_FAILURE = 2248147714, + /** + * LAYER6: MSE:Set KAT failure + */ + RFID_ERROR_LAYER6_MSE_SET_KAT_FAILURE = 2248147715, + /** + * LAYER6: MSE:Set DST failure + */ + RFID_ERROR_LAYER6_MSE_SET_DST_FAILURE = 2248147716, + /** + * LAYER6: PSO CERTIFICATE failure + */ + RFID_ERROR_LAYER6_PSO_CERTIFICATE_FAILURE = 2248147717, + /** + * LAYER6: MSE:Set AT failure + */ + RFID_ERROR_LAYER6_MSE_SET_AT_FAILURE = 2248147718, + /** + * LAYER6: GET CHALLENGE failure + */ + RFID_ERROR_LAYER6_GET_CHALLENGE_FAILURE = 2248147719, + /** + * LAYER6: APDU_INS_EXTERNAL_AUTHENTICATE (external authentication) failure + */ + RFID_ERROR_LAYER6_EXT_AUTH_FAILURE = 2248147720, + /** + * LAYER6: General Authenticity Failure + */ + RFID_ERROR_LAYER6_GENERAL_AUTH_FAILURE = 2248147721, + /** + * RFID: Failed + */ + RFID_ERROR_FAILED = 4294967295, + /** + * RFID: No error + */ + RFID_ERROR_NO_ERROR = 1, + /** + * RFID: The requested operation is already performed + */ + RFID_ERROR_ALREADY_DONE = 2 +} + + + diff --git a/src/models/rfidgraphics-info-result.ts b/src/models/rfidgraphics-info-result.ts new file mode 100644 index 00000000..b175ab2d --- /dev/null +++ b/src/models/rfidgraphics-info-result.ts @@ -0,0 +1,35 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { TOriginalRFIDGraphicsInfo } from './toriginal-rfidgraphics-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { TOriginalRFIDGraphicsInfoItem } from './toriginal-rfidgraphics-info-item'; + +/** + * @type RFIDGraphicsInfoResult + * @export + */ +export type RFIDGraphicsInfoResult = ResultItem & TOriginalRFIDGraphicsInfoItem; + + diff --git a/src/models/rfidpkdresource-type.ts b/src/models/rfidpkdresource-type.ts new file mode 100644 index 00000000..8a90b639 --- /dev/null +++ b/src/models/rfidpkdresource-type.ts @@ -0,0 +1,59 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Enumeration contains a set of constants that define the type of certificate + * @export + * @enum {number} + */ + +export enum RFIDPKDResourceType { + /** + * Certificate file contents (.pem, .cer, .crt, .der) + */ + CERTIFICATE_PA = 0, + /** + * Certificate file contents (.cvcert) and private key file contents (.pkcs8) + */ + CERTIFICATE_TA = 1, + /** + * LDIF file contents (.ldif) + */ + LDIF = 2, + /** + * CRL file contents (.crl) + */ + CRL = 3, + /** + * Master List (.ml, .mls) + */ + ML = 4, + /** + * Defect List (.dl, .dls, .dfl) + */ + DEFL = 5, + /** + * Deviance List (.dl, .dls, .dvl) + */ + DEVL = 6, + /** + * Black List (.bl, .bls) + */ + BL = 7 +} + + + diff --git a/src/models/rfidtext-data-result.ts b/src/models/rfidtext-data-result.ts new file mode 100644 index 00000000..76edbf95 --- /dev/null +++ b/src/models/rfidtext-data-result.ts @@ -0,0 +1,35 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDDocVisualExtendedInfo } from './rfiddoc-visual-extended-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { RFIDDocVisualExtendedInfoItem } from './rfiddoc-visual-extended-info-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; + +/** + * @type RFIDTextDataResult + * @export + */ +export type RFIDTextDataResult = RFIDDocVisualExtendedInfoItem & ResultItem; + + diff --git a/src/models/scenario.ts b/src/models/scenario.ts index 44ed0944..af423752 100644 --- a/src/models/scenario.ts +++ b/src/models/scenario.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,6 +19,7 @@ * @export * @enum {string} */ + export enum Scenario { /** * Processing scenario for obtaining MRZ data diff --git a/src/models/security-feature-item.ts b/src/models/security-feature-item.ts new file mode 100644 index 00000000..10bcb4fd --- /dev/null +++ b/src/models/security-feature-item.ts @@ -0,0 +1,77 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { AreaContainer } from './area-container'; +// May contain unused imports in some cases +// @ts-ignore +import type { Critical } from './critical'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { SecurityFeatureType } from './security-feature-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { Visibility } from './visibility'; + +/** + * + * @export + * @interface SecurityFeatureItem + */ +export interface SecurityFeatureItem { + /** + * + * @type {SecurityFeatureType} + * @memberof SecurityFeatureItem + */ + 'ElementType': SecurityFeatureType; + /** + * + * @type {RectangleCoordinates} + * @memberof SecurityFeatureItem + */ + 'ElementRect': RectangleCoordinates; + /** + * + * @type {Visibility} + * @memberof SecurityFeatureItem + */ + 'Visibility': Visibility; + /** + * + * @type {Critical} + * @memberof SecurityFeatureItem + */ + 'CriticalFlag': Critical; + /** + * + * @type {AreaContainer} + * @memberof SecurityFeatureItem + */ + 'AreaList'?: AreaContainer; + /** + * + * @type {number} + * @memberof SecurityFeatureItem + */ + 'Reserved2'?: number; +} + + + diff --git a/src/models/security-feature-result-all-of.ts b/src/models/security-feature-result-all-of.ts deleted file mode 100644 index b58cef88..00000000 --- a/src/models/security-feature-result-all-of.ts +++ /dev/null @@ -1,66 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { AreaContainer } from './area-container'; -import { Critical } from './critical'; -import { RectangleCoordinates } from './rectangle-coordinates'; -import { SecurityFeatureType } from './security-feature-type'; -import { Visibility } from './visibility'; - -/** - * - * @export - * @interface SecurityFeatureResultAllOf - */ -export interface SecurityFeatureResultAllOf { - /** - * - * @type {SecurityFeatureType} - * @memberof SecurityFeatureResultAllOf - */ - ElementType?: SecurityFeatureType; - /** - * - * @type {RectangleCoordinates} - * @memberof SecurityFeatureResultAllOf - */ - ElementRect?: RectangleCoordinates; - /** - * - * @type {Visibility} - * @memberof SecurityFeatureResultAllOf - */ - Visibility?: Visibility; - /** - * - * @type {Critical} - * @memberof SecurityFeatureResultAllOf - */ - CriticalFlag?: Critical; - /** - * - * @type {AreaContainer} - * @memberof SecurityFeatureResultAllOf - */ - AreaList?: AreaContainer; - /** - * - * @type {number} - * @memberof SecurityFeatureResultAllOf - */ - Reserved2?: number; -} - - diff --git a/src/models/security-feature-result.ts b/src/models/security-feature-result.ts index 56b67c74..02d50c09 100644 --- a/src/models/security-feature-result.ts +++ b/src/models/security-feature-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,25 +13,41 @@ */ -import { AreaContainer } from './area-container'; -import { AuthenticityCheckResultItem } from './authenticity-check-result-item'; -import { CheckDiagnose } from './check-diagnose'; -import { CheckResult } from './check-result'; -import { Critical } from './critical'; -import { FiberResult } from './fiber-result'; -import { IdentResult } from './ident-result'; -import { OCRSecurityTextResult } from './ocrsecurity-text-result'; -import { PhotoIdentResult } from './photo-ident-result'; -import { RectangleCoordinates } from './rectangle-coordinates'; -import { SecurityFeatureResultAllOf } from './security-feature-result-all-of'; -import { SecurityFeatureType } from './security-feature-type'; -import { Visibility } from './visibility'; +// May contain unused imports in some cases +// @ts-ignore +import type { AreaContainer } from './area-container'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityCheckResultItem } from './authenticity-check-result-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { AuthenticityResultType } from './authenticity-result-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckDiagnose } from './check-diagnose'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Critical } from './critical'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { SecurityFeatureItem } from './security-feature-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { SecurityFeatureType } from './security-feature-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { Visibility } from './visibility'; /** * @type SecurityFeatureResult * @export */ -export type SecurityFeatureResult = AuthenticityCheckResultItem & SecurityFeatureResultAllOf; - +export type SecurityFeatureResult = AuthenticityCheckResultItem & SecurityFeatureItem; diff --git a/src/models/security-feature-type.ts b/src/models/security-feature-type.ts index c1d1fa0e..fb1d34ec 100644 --- a/src/models/security-feature-type.ts +++ b/src/models/security-feature-type.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * Enumeration contains identifiers determining type of features for a document authenticity checks: https://docs.regulaforensics.com/develop/doc-reader-sdk/web-service/development/enums/security-feature-type/ * @export - * @enum {string} + * @enum {number} */ + export enum SecurityFeatureType { /** * Blank element diff --git a/src/models/security-object-certificates.ts b/src/models/security-object-certificates.ts new file mode 100644 index 00000000..6efc5db1 --- /dev/null +++ b/src/models/security-object-certificates.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { CertificateData } from './certificate-data'; + +/** + * + * @export + * @interface SecurityObjectCertificates + */ +export interface SecurityObjectCertificates { + /** + * + * @type {CertificateData} + * @memberof SecurityObjectCertificates + */ + 'Certificate_Data'?: CertificateData; +} + diff --git a/src/models/source-validity.ts b/src/models/source-validity.ts index 1bb84d06..97eed988 100644 --- a/src/models/source-validity.ts +++ b/src/models/source-validity.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { CheckResult } from './check-result'; -import { Source } from './source'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Source } from './source'; /** * @@ -27,13 +31,14 @@ export interface SourceValidity { * @type {Source} * @memberof SourceValidity */ - source: Source; + 'source': Source; /** * * @type {CheckResult} * @memberof SourceValidity */ - status: CheckResult; + 'status': CheckResult; } + diff --git a/src/models/source.ts b/src/models/source.ts index 3e59e489..2d9cbdd9 100644 --- a/src/models/source.ts +++ b/src/models/source.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,6 +19,7 @@ * @export * @enum {string} */ + export enum Source { /** * Machine readable zone (MRZ) @@ -39,7 +40,11 @@ export enum Source { /** * Magnetic */ - MAGNETIC = 'MAGNETIC' + MAGNETIC = 'MAGNETIC', + /** + * External + */ + EXTERNAL = 'EXTERNAL' } diff --git a/src/models/status-item.ts b/src/models/status-item.ts new file mode 100644 index 00000000..9d61a632 --- /dev/null +++ b/src/models/status-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { Status } from './status'; + +/** + * + * @export + * @interface StatusItem + */ +export interface StatusItem { + /** + * + * @type {Status} + * @memberof StatusItem + */ + 'Status': Status; +} + diff --git a/src/models/status-result-all-of.ts b/src/models/status-result-all-of.ts deleted file mode 100644 index 8ee175f0..00000000 --- a/src/models/status-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { Status } from './status'; - -/** - * - * @export - * @interface StatusResultAllOf - */ -export interface StatusResultAllOf { - /** - * - * @type {Status} - * @memberof StatusResultAllOf - */ - Status: Status; -} - - diff --git a/src/models/status-result.ts b/src/models/status-result.ts index dbb9abfc..183904bb 100644 --- a/src/models/status-result.ts +++ b/src/models/status-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,30 +13,23 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { Status } from './status'; -import { StatusResultAllOf } from './status-result-all-of'; -import { TextDataResult } from './text-data-result'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Status } from './status'; +// May contain unused imports in some cases +// @ts-ignore +import type { StatusItem } from './status-item'; /** * @type StatusResult * @export */ -export type StatusResult = ResultItem & StatusResultAllOf; - +export type StatusResult = ResultItem & StatusItem; diff --git a/src/models/status.ts b/src/models/status.ts index f0587e4d..e6806827 100644 --- a/src/models/status.ts +++ b/src/models/status.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,9 +13,15 @@ */ -import { CheckResult } from './check-result'; -import { DetailsOptical } from './details-optical'; -import { DetailsRFID } from './details-rfid'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { DetailsOptical } from './details-optical'; +// May contain unused imports in some cases +// @ts-ignore +import type { DetailsRFID } from './details-rfid'; /** * @@ -28,43 +34,44 @@ export interface Status { * @type {CheckResult} * @memberof Status */ - overallStatus: CheckResult; + 'overallStatus': CheckResult; /** * * @type {CheckResult} * @memberof Status */ - optical: CheckResult; + 'optical': CheckResult; /** * * @type {CheckResult} * @memberof Status */ - portrait?: CheckResult; + 'portrait': CheckResult; /** * * @type {CheckResult} * @memberof Status */ - rfid?: CheckResult; + 'rfid': CheckResult; /** * * @type {CheckResult} * @memberof Status */ - stopList?: CheckResult; + 'stopList': CheckResult; /** * * @type {DetailsRFID} * @memberof Status */ - detailsRFID?: DetailsRFID; + 'detailsRFID'?: DetailsRFID; /** * * @type {DetailsOptical} * @memberof Status */ - detailsOptical: DetailsOptical; + 'detailsOptical': DetailsOptical; } + diff --git a/src/models/string-item.ts b/src/models/string-item.ts new file mode 100644 index 00000000..eee0c277 --- /dev/null +++ b/src/models/string-item.ts @@ -0,0 +1,138 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ErrorCoordinates } from './error-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { FieldItem } from './field-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { SymbolEstimationItem } from './symbol-estimation-item'; + +/** + * + * @export + * @interface StringItem + */ +export interface StringItem { + /** + * + * @type {number} + * @memberof StringItem + */ + 'ALIGNMENT_SYMBOLS_IN_STRING': number; + /** + * + * @type {number} + * @memberof StringItem + */ + 'CHECK_SUMS': number; + /** + * + * @type {ErrorCoordinates} + * @memberof StringItem + */ + 'ErrorPOSITION': ErrorCoordinates; + /** + * + * @type {number} + * @memberof StringItem + */ + 'FieldCount': number; + /** + * + * @type {Array} + * @memberof StringItem + */ + 'Fields': Array; + /** + * + * @type {number} + * @memberof StringItem + */ + 'STRINGS_DISTANCE': number; + /** + * + * @type {number} + * @memberof StringItem + */ + 'STRINGS_INTERVAL': number; + /** + * + * @type {number} + * @memberof StringItem + */ + 'STRING_FILLING': number; + /** + * + * @type {number} + * @memberof StringItem + */ + 'STRING_POSITION': number; + /** + * + * @type {number} + * @memberof StringItem + */ + 'SYMBOLS_PARAM': number; + /** + * + * @type {number} + * @memberof StringItem + */ + 'SizeError_ALIGNMENT': number; + /** + * + * @type {number} + * @memberof StringItem + */ + 'SizeError_DISTANCE': number; + /** + * + * @type {number} + * @memberof StringItem + */ + 'SizeError_INTERVAL': number; + /** + * + * @type {number} + * @memberof StringItem + */ + 'StringAngle': number; + /** + * + * @type {RectangleCoordinates} + * @memberof StringItem + */ + 'StringBorders': RectangleCoordinates; + /** + * + * @type {number} + * @memberof StringItem + */ + 'SymbolsCount': number; + /** + * + * @type {Array} + * @memberof StringItem + */ + 'SymbolsEstimations': Array; +} + diff --git a/src/models/string-recognition-result.ts b/src/models/string-recognition-result.ts index 0507fe3e..af4f042a 100644 --- a/src/models/string-recognition-result.ts +++ b/src/models/string-recognition-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { SymbolRecognitionResult } from './symbol-recognition-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { SymbolRecognitionResult } from './symbol-recognition-result'; /** * Describes single row recognition results in multi-line text field of a document @@ -21,12 +23,35 @@ import { SymbolRecognitionResult } from './symbol-recognition-result'; * @interface StringRecognitionResult */ export interface StringRecognitionResult { + /** + * Number of StringResult array elements + * @type {number} + * @memberof StringRecognitionResult + */ + 'SymbolsCount': number; /** * Array of recognition results for individual characters of a string * @type {Array} * @memberof StringRecognitionResult */ - StringResult: Array; + 'StringResult': Array; + /** + * Buf_Text text string length + * @type {number} + * @memberof StringRecognitionResult + */ + 'Buf_Length'?: number; + /** + * Text field data in UTF8 format. Results of reading different lines of a multi-line field are separated by \'^\' + * @type {string} + * @memberof StringRecognitionResult + */ + 'Buf_Text'?: string; + /** + * + * @type {number} + * @memberof StringRecognitionResult + */ + 'Reserved'?: number; } - diff --git a/src/models/symbol-candidate.ts b/src/models/symbol-candidate.ts index 4f21d6dc..004a52ee 100644 --- a/src/models/symbol-candidate.ts +++ b/src/models/symbol-candidate.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -25,13 +25,24 @@ export interface SymbolCandidate { * @type {number} * @memberof SymbolCandidate */ - SymbolCode: number; + 'SymbolCode': number; /** * character recognition probability (0–100,%) * @type {number} * @memberof SymbolCandidate */ - SymbolProbability: number; + 'SymbolProbability': number; + /** + * + * @type {number} + * @memberof SymbolCandidate + */ + 'Class'?: number; + /** + * + * @type {number} + * @memberof SymbolCandidate + */ + 'SubClass'?: number; } - diff --git a/src/models/symbol-estimation-item.ts b/src/models/symbol-estimation-item.ts new file mode 100644 index 00000000..8b14ad9f --- /dev/null +++ b/src/models/symbol-estimation-item.ts @@ -0,0 +1,129 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; + +/** + * + * @export + * @interface SymbolEstimationItem + */ +export interface SymbolEstimationItem { + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'ALIGNMENT_NEAREST_SYMBOLS': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'CONTRAST_PRINT': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'CONTRAST_SYMBOL': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'CharSymbol': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'EDGE': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'EMPTINESS': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'STAIN': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'SYMBOLS_INTERVAL': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'SYMBOL_PARAM': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'SYMBOL_SIZE': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'SizeErrorAlignWithNext': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'SizeErrorAlignWithPrev': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'SizeErrorIntervWithNext': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'SizeErrorIntervWithPrev': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'SizeErrorSymbolHeight': number; + /** + * + * @type {number} + * @memberof SymbolEstimationItem + */ + 'SizeErrorSymbolWidth': number; + /** + * + * @type {RectangleCoordinates} + * @memberof SymbolEstimationItem + */ + 'SymbolBounds': RectangleCoordinates; +} + diff --git a/src/models/symbol-recognition-result.ts b/src/models/symbol-recognition-result.ts index a35c40ac..d41c6e92 100644 --- a/src/models/symbol-recognition-result.ts +++ b/src/models/symbol-recognition-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { RectangleCoordinates } from './rectangle-coordinates'; -import { SymbolCandidate } from './symbol-candidate'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { SymbolCandidate } from './symbol-candidate'; /** * Describes a single character recognition results in the text field line @@ -27,13 +31,36 @@ export interface SymbolRecognitionResult { * @type {RectangleCoordinates} * @memberof SymbolRecognitionResult */ - SymbolRect: RectangleCoordinates; + 'SymbolRect': RectangleCoordinates; + /** + * Number of significant elements of ListOfCandidates array + * @type {number} + * @memberof SymbolRecognitionResult + */ + 'CandidatesCount': number; /** * Array of candidate characters. Sorted in descending order of recognition probabilities (the first element has highest probability) * @type {Array} * @memberof SymbolRecognitionResult */ - ListOfCandidates: Array; + 'ListOfCandidates': Array; + /** + * + * @type {number} + * @memberof SymbolRecognitionResult + */ + 'BaseLineBottom'?: number; + /** + * + * @type {number} + * @memberof SymbolRecognitionResult + */ + 'BaseLineTop'?: number; + /** + * + * @type {number} + * @memberof SymbolRecognitionResult + */ + 'Reserved'?: number; } - diff --git a/src/models/symbol.ts b/src/models/symbol.ts new file mode 100644 index 00000000..3fa4cd07 --- /dev/null +++ b/src/models/symbol.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface Symbol + */ +export interface Symbol { + /** + * + * @type {Array} + * @memberof Symbol + */ + 'boundingRect': Array; +} + diff --git a/src/models/tdoc-binary-info-item.ts b/src/models/tdoc-binary-info-item.ts new file mode 100644 index 00000000..b67a5673 --- /dev/null +++ b/src/models/tdoc-binary-info-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { TDocBinaryInfo } from './tdoc-binary-info'; + +/** + * + * @export + * @interface TDocBinaryInfoItem + */ +export interface TDocBinaryInfoItem { + /** + * + * @type {TDocBinaryInfo} + * @memberof TDocBinaryInfoItem + */ + 'TDocBinaryInfo': TDocBinaryInfo; +} + diff --git a/src/models/tdoc-binary-info.ts b/src/models/tdoc-binary-info.ts new file mode 100644 index 00000000..c623b995 --- /dev/null +++ b/src/models/tdoc-binary-info.ts @@ -0,0 +1,42 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { BinaryData } from './binary-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidRawData } from './rfid-raw-data'; + +/** + * + * @export + * @interface TDocBinaryInfo + */ +export interface TDocBinaryInfo { + /** + * + * @type {BinaryData} + * @memberof TDocBinaryInfo + */ + 'RFID_BINARY_DATA'?: BinaryData; + /** + * + * @type {Array} + * @memberof TDocBinaryInfo + */ + 'RFID_RAW_DATA'?: Array; +} + diff --git a/src/models/text-available-source.ts b/src/models/text-available-source.ts index 2a2ca34b..884631e9 100644 --- a/src/models/text-available-source.ts +++ b/src/models/text-available-source.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { CheckResult } from './check-result'; -import { Source } from './source'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { Source } from './source'; /** * @@ -27,19 +31,20 @@ export interface TextAvailableSource { * @type {Source} * @memberof TextAvailableSource */ - source: Source; + 'source': Source; /** * * @type {CheckResult} * @memberof TextAvailableSource */ - validityStatus: CheckResult; + 'validityStatus': CheckResult; /** * Same as Result type, but used for safe parsing of not-described values. See Result type. * @type {number} * @memberof TextAvailableSource */ - containerType?: number; + 'containerType'?: number; } + diff --git a/src/models/text-data-result-all-of.ts b/src/models/text-data-result-all-of.ts deleted file mode 100644 index 345e8324..00000000 --- a/src/models/text-data-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { DocVisualExtendedInfo } from './doc-visual-extended-info'; - -/** - * - * @export - * @interface TextDataResultAllOf - */ -export interface TextDataResultAllOf { - /** - * - * @type {DocVisualExtendedInfo} - * @memberof TextDataResultAllOf - */ - DocVisualExtendedInfo?: DocVisualExtendedInfo; -} - - diff --git a/src/models/text-data-result.ts b/src/models/text-data-result.ts index 5377c03d..9269cf36 100644 --- a/src/models/text-data-result.ts +++ b/src/models/text-data-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,31 +13,24 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocVisualExtendedInfo } from './doc-visual-extended-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { TextDataResultAllOf } from './text-data-result-all-of'; -import { TextResult } from './text-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocVisualExtendedInfo } from './doc-visual-extended-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocVisualExtendedInfoItem } from './doc-visual-extended-info-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; /** * @type TextDataResult * Text fields extracted from one document source. Contains results of specific source for each provided page. * @export */ -export type TextDataResult = ResultItem & TextDataResultAllOf; - +export type TextDataResult = DocVisualExtendedInfoItem & ResultItem; diff --git a/src/models/text-field-type.ts b/src/models/text-field-type.ts index 2c1428e4..854b08d5 100644 --- a/src/models/text-field-type.ts +++ b/src/models/text-field-type.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * * @export - * @enum {string} + * @enum {number} */ + export enum TextFieldType { /** * Document class code diff --git a/src/models/text-field-value.ts b/src/models/text-field-value.ts index 78bdc4ce..cc3f95c6 100644 --- a/src/models/text-field-value.ts +++ b/src/models/text-field-value.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,10 +13,21 @@ */ -import { OriginalSymbol } from './original-symbol'; -import { RectangleCoordinates } from './rectangle-coordinates'; -import { RfidOrigin } from './rfid-origin'; -import { Source } from './source'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { OriginalSymbol } from './original-symbol'; +// May contain unused imports in some cases +// @ts-ignore +import type { RectangleCoordinates } from './rectangle-coordinates'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidOrigin } from './rfid-origin'; +// May contain unused imports in some cases +// @ts-ignore +import type { Source } from './source'; /** * @@ -29,49 +40,62 @@ export interface TextFieldValue { * @type {Source} * @memberof TextFieldValue */ - source: Source; + 'source': Source; /** * Parsed/processed value. Date format converted for output, delimiters removed * @type {string} * @memberof TextFieldValue */ - value: string; + 'value': string; /** * Original value as seen in the document * @type {string} * @memberof TextFieldValue */ - originalValue?: string; + 'originalValue'?: string; + /** + * + * @type {CheckResult} + * @memberof TextFieldValue + */ + 'originalValidity': CheckResult; /** * * @type {Array} * @memberof TextFieldValue */ - originalSymbols?: Array; + 'originalSymbols'?: Array; /** * Page index of the image from input list * @type {number} * @memberof TextFieldValue */ - pageIndex: number; + 'pageIndex': number; /** * Min recognition probability. Combined minimum probability from single characters probabilities * @type {number} * @memberof TextFieldValue */ - probability?: number; + 'probability': number; /** * * @type {RectangleCoordinates} * @memberof TextFieldValue */ - fieldRect?: RectangleCoordinates; + 'fieldRect'?: RectangleCoordinates; /** * * @type {RfidOrigin} * @memberof TextFieldValue */ - rfidOrigin?: RfidOrigin; + 'rfidOrigin'?: RfidOrigin; + /** + * Same as Result type, but used for safe parsing of not-described values. See Result type. + * @type {number} + * @memberof TextFieldValue + */ + 'containerType'?: number; } + diff --git a/src/models/text-field.ts b/src/models/text-field.ts index 3624a661..bf440668 100644 --- a/src/models/text-field.ts +++ b/src/models/text-field.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,12 +13,24 @@ */ -import { CheckResult } from './check-result'; -import { CrossSourceValueComparison } from './cross-source-value-comparison'; -import { LCID } from './lcid'; -import { SourceValidity } from './source-validity'; -import { TextFieldType } from './text-field-type'; -import { TextFieldValue } from './text-field-value'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { CrossSourceValueComparison } from './cross-source-value-comparison'; +// May contain unused imports in some cases +// @ts-ignore +import type { LCID } from './lcid'; +// May contain unused imports in some cases +// @ts-ignore +import type { SourceValidity } from './source-validity'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextFieldType } from './text-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextFieldValue } from './text-field-value'; /** * @@ -31,61 +43,68 @@ export interface TextField { * @type {TextFieldType} * @memberof TextField */ - fieldType: TextFieldType; + 'fieldType': TextFieldType; /** * Field name. Only use to search values for fields with fieldType=50(other). In general, use fieldType for lookup. * @type {string} * @memberof TextField */ - fieldName: string; + 'fieldName': string; /** * * @type {LCID} * @memberof TextField */ - lcid?: LCID; + 'lcid': LCID; + /** + * LCID name + * @type {string} + * @memberof TextField + */ + 'lcidName'?: string; /** * * @type {CheckResult} * @memberof TextField */ - status: CheckResult; + 'status': CheckResult; /** * * @type {CheckResult} * @memberof TextField */ - validityStatus: CheckResult; + 'validityStatus': CheckResult; /** * * @type {CheckResult} * @memberof TextField */ - comparisonStatus: CheckResult; + 'comparisonStatus': CheckResult; /** * The most confidence value, selected from valueList * @type {string} * @memberof TextField */ - value: string; + 'value': string; /** * * @type {Array} * @memberof TextField */ - valueList: Array; + 'valueList': Array; /** * Validity of all field values for given source. If there are two values on different pages for one field-source pair, then validity also will include logical match checking. If such values do not match, validity will return error. * @type {Array} * @memberof TextField */ - validityList: Array; + 'validityList': Array; /** * * @type {Array} * @memberof TextField */ - comparisonList: Array; + 'comparisonList': Array; } + diff --git a/src/models/text-item.ts b/src/models/text-item.ts new file mode 100644 index 00000000..1c8e2ee8 --- /dev/null +++ b/src/models/text-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { Text } from './text'; + +/** + * + * @export + * @interface TextItem + */ +export interface TextItem { + /** + * + * @type {Text} + * @memberof TextItem + */ + 'Text': Text; +} + diff --git a/src/models/text-post-processing.ts b/src/models/text-post-processing.ts index f2669a83..4a691bf0 100644 --- a/src/models/text-post-processing.ts +++ b/src/models/text-post-processing.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * * @export - * @enum {string} + * @enum {number} */ + export enum TextPostProcessing { /** * Do not change diff --git a/src/models/text-result-all-of.ts b/src/models/text-result-all-of.ts deleted file mode 100644 index 9c29ea02..00000000 --- a/src/models/text-result-all-of.ts +++ /dev/null @@ -1,32 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core - * - * The version of the OpenAPI document: 7.2.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import { Text } from './text'; - -/** - * - * @export - * @interface TextResultAllOf - */ -export interface TextResultAllOf { - /** - * - * @type {Text} - * @memberof TextResultAllOf - */ - Text: Text; -} - - diff --git a/src/models/text-result.ts b/src/models/text-result.ts index 3375891c..a34179bc 100644 --- a/src/models/text-result.ts +++ b/src/models/text-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,30 +13,23 @@ */ -import { AuthenticityResult } from './authenticity-result'; -import { ByteArrayResult } from './byte-array-result'; -import { ChosenDocumentTypeResult } from './chosen-document-type-result'; -import { DocBarCodeInfo } from './doc-bar-code-info'; -import { DocumentImageResult } from './document-image-result'; -import { DocumentPositionResult } from './document-position-result'; -import { DocumentTypesCandidatesResult } from './document-types-candidates-result'; -import { EncryptedRCLResult } from './encrypted-rclresult'; -import { GraphicsResult } from './graphics-result'; -import { ImageQualityResult } from './image-quality-result'; -import { ImagesResult } from './images-result'; -import { LexicalAnalysisResult } from './lexical-analysis-result'; -import { LicenseResult } from './license-result'; -import { ResultItem } from './result-item'; -import { StatusResult } from './status-result'; -import { Text } from './text'; -import { TextDataResult } from './text-data-result'; -import { TextResultAllOf } from './text-result-all-of'; +// May contain unused imports in some cases +// @ts-ignore +import type { Result } from './result'; +// May contain unused imports in some cases +// @ts-ignore +import type { ResultItem } from './result-item'; +// May contain unused imports in some cases +// @ts-ignore +import type { Text } from './text'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextItem } from './text-item'; /** * @type TextResult * @export */ -export type TextResult = ResultItem & TextResultAllOf; - +export type TextResult = ResultItem & TextItem; diff --git a/src/models/text.ts b/src/models/text.ts index 78a3eec9..652ecd0e 100644 --- a/src/models/text.ts +++ b/src/models/text.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,9 +13,15 @@ */ -import { CheckResult } from './check-result'; -import { TextAvailableSource } from './text-available-source'; -import { TextField } from './text-field'; +// May contain unused imports in some cases +// @ts-ignore +import type { CheckResult } from './check-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextAvailableSource } from './text-available-source'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextField } from './text-field'; /** * Contains all document text fields data with validity and cross-source compare checks @@ -28,31 +34,38 @@ export interface Text { * @type {CheckResult} * @memberof Text */ - status: CheckResult; + 'status': CheckResult; /** * * @type {CheckResult} * @memberof Text */ - validityStatus: CheckResult; + 'validityStatus': CheckResult; /** * * @type {CheckResult} * @memberof Text */ - comparisonStatus: CheckResult; + 'comparisonStatus': CheckResult; + /** + * Date format + * @type {string} + * @memberof Text + */ + 'dateFormat': string; /** * * @type {Array} * @memberof Text */ - fieldList: Array; + 'fieldList': Array; /** * * @type {Array} * @memberof Text */ - availableSourceList: Array; + 'availableSourceList': Array; } + diff --git a/src/models/toriginal-rfidgraphics-info-item.ts b/src/models/toriginal-rfidgraphics-info-item.ts new file mode 100644 index 00000000..e36e198a --- /dev/null +++ b/src/models/toriginal-rfidgraphics-info-item.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { TOriginalRFIDGraphicsInfo } from './toriginal-rfidgraphics-info'; + +/** + * + * @export + * @interface TOriginalRFIDGraphicsInfoItem + */ +export interface TOriginalRFIDGraphicsInfoItem { + /** + * + * @type {TOriginalRFIDGraphicsInfo} + * @memberof TOriginalRFIDGraphicsInfoItem + */ + 'TOriginalRFIDGraphicsInfo': TOriginalRFIDGraphicsInfo; +} + diff --git a/src/models/toriginal-rfidgraphics-info.ts b/src/models/toriginal-rfidgraphics-info.ts new file mode 100644 index 00000000..79560f4d --- /dev/null +++ b/src/models/toriginal-rfidgraphics-info.ts @@ -0,0 +1,33 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { GraphData } from './graph-data'; + +/** + * + * @export + * @interface TOriginalRFIDGraphicsInfo + */ +export interface TOriginalRFIDGraphicsInfo { + /** + * + * @type {Array} + * @memberof TOriginalRFIDGraphicsInfo + */ + 'RFID_ORIGINAL_GRAPH_DATA': Array; +} + diff --git a/src/models/transaction-image.ts b/src/models/transaction-image.ts index d7e23470..8328ccea 100644 --- a/src/models/transaction-image.ts +++ b/src/models/transaction-image.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { ImagesFieldValue } from './images-field-value'; +// May contain unused imports in some cases +// @ts-ignore +import type { ImagesFieldValue } from './images-field-value'; /** * @@ -26,7 +28,6 @@ export interface TransactionImage { * @type {ImagesFieldValue} * @memberof TransactionImage */ - image?: ImagesFieldValue; + 'image'?: ImagesFieldValue; } - diff --git a/src/models/transaction-info.ts b/src/models/transaction-info.ts index 88c4dc18..a0ae3458 100644 --- a/src/models/transaction-info.ts +++ b/src/models/transaction-info.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,7 +13,9 @@ */ -import { DocumentsDatabase } from './documents-database'; +// May contain unused imports in some cases +// @ts-ignore +import type { DocumentsDatabase } from './documents-database'; /** * @@ -26,49 +28,48 @@ export interface TransactionInfo { * @type {string} * @memberof TransactionInfo */ - ComputerName?: string; + 'ComputerName'?: string; /** * Date and time * @type {string} * @memberof TransactionInfo */ - DateTime?: string; + 'DateTime'?: string; /** * * @type {DocumentsDatabase} * @memberof TransactionInfo */ - DocumentsDatabase?: DocumentsDatabase; + 'DocumentsDatabase'?: DocumentsDatabase; /** * System information * @type {string} * @memberof TransactionInfo */ - SystemInfo?: string; + 'SystemInfo'?: string; /** * Transaction tag * @type {string} * @memberof TransactionInfo */ - Tag?: string; + 'Tag'?: string; /** * Transaction identifier * @type {string} * @memberof TransactionInfo */ - TransactionID?: string; + 'TransactionID'?: string; /** * User name * @type {string} * @memberof TransactionInfo */ - UserName?: string; + 'UserName'?: string; /** * SDK version * @type {string} * @memberof TransactionInfo */ - Version?: string; + 'Version'?: string; } - diff --git a/src/models/transaction-process-get-response.ts b/src/models/transaction-process-get-response.ts index 5fae18e4..34452ad0 100644 --- a/src/models/transaction-process-get-response.ts +++ b/src/models/transaction-process-get-response.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,8 +13,12 @@ */ -import { InData } from './in-data'; -import { OutData } from './out-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { InData } from './in-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { OutData } from './out-data'; /** * @@ -27,25 +31,24 @@ export interface TransactionProcessGetResponse { * @type {string} * @memberof TransactionProcessGetResponse */ - transactionId?: string; + 'transactionId'?: string; /** * * @type {string} * @memberof TransactionProcessGetResponse */ - tag?: string; + 'tag'?: string; /** * * @type {OutData} * @memberof TransactionProcessGetResponse */ - outData?: OutData; + 'outData'?: OutData; /** * * @type {InData} * @memberof TransactionProcessGetResponse */ - inData?: InData; + 'inData'?: InData; } - diff --git a/src/models/transaction-process-request.ts b/src/models/transaction-process-request.ts index c5bc0e1c..7fb701e7 100644 --- a/src/models/transaction-process-request.ts +++ b/src/models/transaction-process-request.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,10 +13,18 @@ */ -import { ContainerList } from './container-list'; -import { ProcessParams } from './process-params'; -import { ProcessRequestImage } from './process-request-image'; -import { ProcessSystemInfo } from './process-system-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { ContainerList } from './container-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { ProcessParams } from './process-params'; +// May contain unused imports in some cases +// @ts-ignore +import type { ProcessRequestImage } from './process-request-image'; +// May contain unused imports in some cases +// @ts-ignore +import type { ProcessSystemInfo } from './process-system-info'; /** * @@ -29,49 +37,48 @@ export interface TransactionProcessRequest { * @type {ProcessParams} * @memberof TransactionProcessRequest */ - processParam: ProcessParams; + 'processParam': ProcessParams; /** * * @type {Array} * @memberof TransactionProcessRequest */ - List?: Array; + 'List'?: Array; /** * Live portrait photo * @type {string} * @memberof TransactionProcessRequest */ - livePortrait?: string; + 'livePortrait'?: string; /** * Portrait photo from an external source * @type {string} * @memberof TransactionProcessRequest */ - extPortrait?: string; + 'extPortrait'?: string; /** * * @type {ContainerList} * @memberof TransactionProcessRequest */ - ContainerList?: ContainerList; + 'ContainerList'?: ContainerList; /** * * @type {ProcessSystemInfo} * @memberof TransactionProcessRequest */ - systemInfo?: ProcessSystemInfo; + 'systemInfo'?: ProcessSystemInfo; /** * Free-form object to be included in response. Must be object, not list or simple value. Do not affect document processing. Use it freely to pass your app params. Stored in process logs. - * @type {{ [key: string]: object; }} + * @type {{ [key: string]: any; }} * @memberof TransactionProcessRequest */ - passBackObject?: { [key: string]: object; }; + 'passBackObject'?: { [key: string]: any; }; /** * Digital Travel Credential (DTC-VC) data in base64 format for processing * @type {string} * @memberof TransactionProcessRequest */ - dtc?: string; + 'dtc'?: string; } - diff --git a/src/models/transaction-process-response-item.ts b/src/models/transaction-process-response-item.ts new file mode 100644 index 00000000..211ddfb5 --- /dev/null +++ b/src/models/transaction-process-response-item.ts @@ -0,0 +1,30 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.4.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * + * @export + * @interface TransactionProcessResponseItem + */ +export interface TransactionProcessResponseItem { + /** + * + * @type {number} + * @memberof TransactionProcessResponseItem + */ + 'CoreLibResultCode': number; +} + diff --git a/src/models/transaction-process-response.ts b/src/models/transaction-process-response.ts new file mode 100644 index 00000000..a9a2f2d9 --- /dev/null +++ b/src/models/transaction-process-response.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.4.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { ContainerList } from './container-list'; +// May contain unused imports in some cases +// @ts-ignore +import type { ProcessResponse } from './process-response'; +// May contain unused imports in some cases +// @ts-ignore +import type { ProcessingStatus } from './processing-status'; +// May contain unused imports in some cases +// @ts-ignore +import type { RfidLocation } from './rfid-location'; +// May contain unused imports in some cases +// @ts-ignore +import type { TransactionInfo } from './transaction-info'; +// May contain unused imports in some cases +// @ts-ignore +import type { TransactionProcessResponseItem } from './transaction-process-response-item'; + +/** + * @type TransactionProcessResponse + * @export + */ +export type TransactionProcessResponse = ProcessResponse & TransactionProcessResponseItem; + + diff --git a/src/models/transaction-process-result.ts b/src/models/transaction-process-result.ts new file mode 100644 index 00000000..017d0faa --- /dev/null +++ b/src/models/transaction-process-result.ts @@ -0,0 +1,54 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { InData } from './in-data'; +// May contain unused imports in some cases +// @ts-ignore +import type { OutData } from './out-data'; + +/** + * + * @export + * @interface TransactionProcessResult + */ +export interface TransactionProcessResult { + /** + * + * @type {OutData} + * @memberof TransactionProcessResult + */ + 'OutData'?: OutData; + /** + * + * @type {InData} + * @memberof TransactionProcessResult + */ + 'InData'?: InData; + /** + * + * @type {string} + * @memberof TransactionProcessResult + */ + 'tag'?: string; + /** + * + * @type {string} + * @memberof TransactionProcessResult + */ + 'transactionId'?: string; +} + diff --git a/src/models/trf-ft-bytes.ts b/src/models/trf-ft-bytes.ts new file mode 100644 index 00000000..17853e92 --- /dev/null +++ b/src/models/trf-ft-bytes.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Structure is used to store an array of binary information that is a part of one of the informational data groups + * @export + * @interface TrfFtBytes + */ +export interface TrfFtBytes { + /** + * Logical type of the field + * @type {number} + * @memberof TrfFtBytes + */ + 'Type': number; + /** + * Result of logical analysis of compliance of the contents of the field with the requirements of the specification + * @type {number} + * @memberof TrfFtBytes + */ + 'Status': number; + /** + * Length of Data array + * @type {number} + * @memberof TrfFtBytes + */ + 'Length': number; + /** + * Binary data array. Base64 encoded. + * @type {string} + * @memberof TrfFtBytes + */ + 'Data': string | null; +} + diff --git a/src/models/trf-ft-string.ts b/src/models/trf-ft-string.ts new file mode 100644 index 00000000..3157b91d --- /dev/null +++ b/src/models/trf-ft-string.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + + +/** + * Structure is used to store information about the numeric field (4 bytes) that is a part of one of the informational data groups. + * @export + * @interface TrfFtString + */ +export interface TrfFtString { + /** + * + * @type {number} + * @memberof TrfFtString + */ + 'Type'?: number; + /** + * Result of logical analysis of compliance of the contents of the field with the requirements of the specification + * @type {number} + * @memberof TrfFtString + */ + 'Status'?: number; + /** + * Mask of format of text information (for example, «YYMMDD» for date of birth) + * @type {string} + * @memberof TrfFtString + */ + 'Format'?: string; + /** + * Numeric value. + * @type {string} + * @memberof TrfFtString + */ + 'Data': string; +} + diff --git a/src/models/verification-result.ts b/src/models/verification-result.ts index 30a0292d..6e319dfb 100644 --- a/src/models/verification-result.ts +++ b/src/models/verification-result.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * * @export - * @enum {string} + * @enum {number} */ + export enum VerificationResult { /** * Comparison result unknown diff --git a/src/models/verified-field-map.ts b/src/models/verified-field-map.ts index ea5a2cbf..67c9c462 100644 --- a/src/models/verified-field-map.ts +++ b/src/models/verified-field-map.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -13,9 +13,15 @@ */ -import { LCID } from './lcid'; -import { TextFieldType } from './text-field-type'; -import { VerificationResult } from './verification-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { LCID } from './lcid'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextFieldType } from './text-field-type'; +// May contain unused imports in some cases +// @ts-ignore +import type { VerificationResult } from './verification-result'; /** * @@ -28,43 +34,50 @@ export interface VerifiedFieldMap { * @type {TextFieldType} * @memberof VerifiedFieldMap */ - wFieldType?: TextFieldType; + 'wFieldType': TextFieldType; /** * * @type {LCID} * @memberof VerifiedFieldMap */ - wLCID?: LCID; + 'wLCID': LCID; /** * Field data extracted from mrz(machine readable zone) * @type {string} * @memberof VerifiedFieldMap */ - Field_MRZ?: string; + 'Field_MRZ'?: string; /** * Field data extracted from visual zone * @type {string} * @memberof VerifiedFieldMap */ - Field_Visual?: string; + 'Field_Visual'?: string; /** * Field data extracted from barcode * @type {string} * @memberof VerifiedFieldMap */ - Field_Barcode?: string; + 'Field_Barcode'?: string; /** * Field data extracted from rfid chip * @type {string} * @memberof VerifiedFieldMap */ - Field_RFID?: string; + 'Field_RFID'?: string; /** * results comparison matrix. Elements of the matrix with indices 0, 1, 2, 3 take one of the values Disabled(0), Verified(1) or Not_Verified(2), elements with indices 4, 5, 6, 7, 8 are one of the values Disabled(0), Compare_Match(3) or Compare_Not_Match(4). Elements of the Matrix matrix have the following semantic meaning: - element with index 0 –– the result of verification of data from the MRZ; - 1 –– the result of verification of data from the RFID microcircuit; - 2 –– the result of verification of data from text areas of the document; - 3 –– the result of verification data from barcodes; - 4 - the result of comparing MRZ data and RFID microcircuits; - 5 - the result of comparing MRZ data and text areas of document filling; - 6 - the result of comparing MRZ data and bar codes; - 7 - the result of comparing the data of text areas of the document and the RFID chip; - 8 - the result of comparing the data of the text areas of the document and barcodes; - 9 - the result of comparing the data of the RFID chip and barcodes. * @type {Array} * @memberof VerifiedFieldMap */ - Matrix?: Array; + 'Matrix': Array; + /** + * + * @type {number} + * @memberof VerifiedFieldMap + */ + 'FieldType'?: number; } + diff --git a/src/models/visibility.ts b/src/models/visibility.ts index 8fb304c9..b612ec35 100644 --- a/src/models/visibility.ts +++ b/src/models/visibility.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Regula Document Reader Web API - * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core * - * The version of the OpenAPI document: 7.2.0 + * The version of the OpenAPI document: 7.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -17,8 +17,9 @@ /** * Enumeration contains visibility status of the security element * @export - * @enum {string} + * @enum {number} */ + export enum Visibility { /** * Invisible diff --git a/src/models/visual-extended-field-item.ts b/src/models/visual-extended-field-item.ts new file mode 100644 index 00000000..df572735 --- /dev/null +++ b/src/models/visual-extended-field-item.ts @@ -0,0 +1,110 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 7.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +// May contain unused imports in some cases +// @ts-ignore +import type { StringRecognitionResult } from './string-recognition-result'; +// May contain unused imports in some cases +// @ts-ignore +import type { TextFieldType } from './text-field-type'; + +/** + * + * @export + * @interface VisualExtendedFieldItem + */ +export interface VisualExtendedFieldItem { + /** + * + * @type {number} + * @memberof VisualExtendedFieldItem + */ + 'FieldType': number; + /** + * + * @type {TextFieldType} + * @memberof VisualExtendedFieldItem + */ + 'wFieldType': TextFieldType; + /** + * Field symbolic name (null-terminated string) + * @type {string} + * @memberof VisualExtendedFieldItem + */ + 'FieldName': string; + /** + * Number of StringsResult array elements + * @type {number} + * @memberof VisualExtendedFieldItem + */ + 'StringsCount': number; + /** + * Array of recognizing probabilities for a each line of text field. Only for Result.VISUAL_TEXT and Result.MRZ_TEXT results. + * @type {Array} + * @memberof VisualExtendedFieldItem + */ + 'StringsResult': Array; + /** + * Buf_Text text string length + * @type {number} + * @memberof VisualExtendedFieldItem + */ + 'Buf_Length': number; + /** + * Text field data in UTF8 format. Results of reading different lines of a multi-line field are separated by \'^\' + * @type {string} + * @memberof VisualExtendedFieldItem + */ + 'Buf_Text': string; + /** + * + * @type {string} + * @memberof VisualExtendedFieldItem + */ + 'FieldMask'?: string; + /** + * + * @type {number} + * @memberof VisualExtendedFieldItem + */ + 'Validity'?: number; + /** + * + * @type {number} + * @memberof VisualExtendedFieldItem + */ + 'InComparison'?: number; + /** + * + * @type {number} + * @memberof VisualExtendedFieldItem + */ + 'wLCID'?: number; + /** + * + * @type {number} + * @memberof VisualExtendedFieldItem + */ + 'Reserved2'?: number; + /** + * + * @type {number} + * @memberof VisualExtendedFieldItem + */ + 'Reserved3'?: number; +} + + + diff --git a/ts-generator-config.json b/ts-generator-config.json index 9e17c3f0..7a023f52 100755 --- a/ts-generator-config.json +++ b/ts-generator-config.json @@ -2,5 +2,5 @@ "withSeparateModelsAndApi": true, "apiPackage": "api", "modelPackage": "models", - "legacyDiscriminatorBehavior": false + "stringEnums": true } diff --git a/tsconfig.json b/tsconfig.json index e9217e21..1cb31e93 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,6 +5,7 @@ "allowSyntheticDefaultImports": true, "esModuleInterop": true, "strict": true, + "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "moduleResolution": "node", "strictNullChecks": true, diff --git a/update-models.sh b/update-models.sh index 7b377615..8a2d9644 100755 --- a/update-models.sh +++ b/update-models.sh @@ -5,56 +5,11 @@ DOCS_DEFINITION_FOLDER="${PWD}/../DocumentReader-web-openapi" \ && docker run --user "$(id -u):$(id -g)" --rm \ -v "${PWD}:/client" \ -v "$DOCS_DEFINITION_FOLDER:/definitions" \ -openapitools/openapi-generator-cli:v5.0.0 generate -g typescript-axios \ +openapitools/openapi-generator-cli:v7.12.0 generate \ +-g typescript-axios \ -i /definitions/index.yml \ --o /client/src \ --c /client/ts-generator-config.json \ --t /client/generator-templates/ || exit 1 - -if [ "$(uname)" = "Darwin" ]; then - sed -i '' '/import { TextResult } /d' ./src/models/text-result.ts - sed -i '' '/import { AuthenticityResult } /d' ./src/models/authenticity-result.ts - sed -i '' '/import { ChosenDocumentTypeResult } /d' ./src/models/chosen-document-type-result.ts - sed -i '' '/import { DocBarCodeInfo } /d' ./src/models/doc-bar-code-info.ts - sed -i '' '/import { DocumentImageResult } /d' ./src/models/document-image-result.ts - sed -i '' '/import { DocumentPositionResult } /d' ./src/models/document-position-result.ts - sed -i '' '/import { DocumentTypesCandidatesResult } /d' ./src/models/document-types-candidates-result.ts - sed -i '' '/import { EncryptedRCLResult } /d' ./src/models/encrypted-rclresult.ts - sed -i '' '/import { GraphicsResult } /d' ./src/models/graphics-result.ts - sed -i '' '/import { ImageQualityResult } /d' ./src/models/image-quality-result.ts - sed -i '' '/import { ImagesResult } /d' ./src/models/images-result.ts - sed -i '' '/import { LexicalAnalysisResult } /d' ./src/models/lexical-analysis-result.ts - sed -i '' '/import { LicenseResult } /d' ./src/models/license-result.ts - sed -i '' '/import { StatusResult } /d' ./src/models/status-result.ts - sed -i '' '/import { TextDataResult } /d' ./src/models/text-data-result.ts - sed -i '' '/import { FiberResult } /d' ./src/models/fiber-result.ts - sed -i '' '/import { IdentResult } /d' ./src/models/ident-result.ts - sed -i '' '/import { OCRSecurityTextResult } /d' ./src/models/ocrsecurity-text-result.ts - sed -i '' '/import { PhotoIdentResult } /d' ./src/models/photo-ident-result.ts - sed -i '' '/import { SecurityFeatureResult } /d' ./src/models/security-feature-result.ts - sed -i '' '/import { ByteArrayResult } /d' ./src/models/byte-array-result.ts -else - sed -i '/import { TextResult } /d' ./src/models/text-result.ts - sed -i '/import { AuthenticityResult } /d' ./src/models/authenticity-result.ts - sed -i '/import { ChosenDocumentTypeResult } /d' ./src/models/chosen-document-type-result.ts - sed -i '/import { DocBarCodeInfo } /d' ./src/models/doc-bar-code-info.ts - sed -i '/import { DocumentImageResult } /d' ./src/models/document-image-result.ts - sed -i '/import { DocumentPositionResult } /d' ./src/models/document-position-result.ts - sed -i '/import { DocumentTypesCandidatesResult } /d' ./src/models/document-types-candidates-result.ts - sed -i '/import { EncryptedRCLResult } /d' ./src/models/encrypted-rclresult.ts - sed -i '/import { GraphicsResult } /d' ./src/models/graphics-result.ts - sed -i '/import { ImageQualityResult } /d' ./src/models/image-quality-result.ts - sed -i '/import { ImagesResult } /d' ./src/models/images-result.ts - sed -i '/import { LexicalAnalysisResult } /d' ./src/models/lexical-analysis-result.ts - sed -i '/import { LicenseResult } /d' ./src/models/license-result.ts - sed -i '/import { StatusResult } /d' ./src/models/status-result.ts - sed -i '/import { TextDataResult } /d' ./src/models/text-data-result.ts - sed -i '/import { FiberResult } /d' ./src/models/fiber-result.ts - sed -i '/import { IdentResult } /d' ./src/models/ident-result.ts - sed -i '/import { OCRSecurityTextResult } /d' ./src/models/ocrsecurity-text-result.ts - sed -i '/import { PhotoIdentResult } /d' ./src/models/photo-ident-result.ts - sed -i '/import { SecurityFeatureResult } /d' ./src/models/security-feature-result.ts - sed -i '/import { ByteArrayResult } /d' ./src/models/byte-array-result.ts -fi +-o /client/src --openapi-normalizer REF_AS_PARENT_IN_ALLOF=true --inline-schema-options RESOLVE_INLINE_ENUMS=true \ +-t /client/generator-templates \ +-c /client/ts-generator-config.json || exit 1 npm run format || exit 0