UNPKG

dynamsoft-capture-vision-for-node

Version:

Dynamsoft Capture Vision (DCV) is a comprehensive SDK that integrates various functional products. It encompasses image capture, content understanding, result parsing, and interactive workflow. Essentially, DCV processes images to extract specific informa

2 lines (1 loc) 24 kB
"use strict";var _,e,E,t,I=require("node:path"),r=require("node:fs"),s=require("node:os"),n=require("node:url"),C=require("node:worker_threads"),i=require("koffi"),A="undefined"!=typeof document?document.currentScript:null;exports.EnumErrorCode=void 0,(_=exports.EnumErrorCode||(exports.EnumErrorCode={}))[_.EC_OK=0]="EC_OK",_[_.EC_UNKNOWN=-1e4]="EC_UNKNOWN",_[_.EC_NO_MEMORY=-10001]="EC_NO_MEMORY",_[_.EC_NULL_POINTER=-10002]="EC_NULL_POINTER",_[_.EC_LICENSE_INVALID=-10003]="EC_LICENSE_INVALID",_[_.EC_LICENSE_EXPIRED=-10004]="EC_LICENSE_EXPIRED",_[_.EC_FILE_NOT_FOUND=-10005]="EC_FILE_NOT_FOUND",_[_.EC_FILE_TYPE_NOT_SUPPORTED=-10006]="EC_FILE_TYPE_NOT_SUPPORTED",_[_.EC_BPP_NOT_SUPPORTED=-10007]="EC_BPP_NOT_SUPPORTED",_[_.EC_INDEX_INVALID=-10008]="EC_INDEX_INVALID",_[_.EC_CUSTOM_REGION_INVALID=-10010]="EC_CUSTOM_REGION_INVALID",_[_.EC_IMAGE_READ_FAILED=-10012]="EC_IMAGE_READ_FAILED",_[_.EC_TIFF_READ_FAILED=-10013]="EC_TIFF_READ_FAILED",_[_.EC_DIB_BUFFER_INVALID=-10018]="EC_DIB_BUFFER_INVALID",_[_.EC_PDF_READ_FAILED=-10021]="EC_PDF_READ_FAILED",_[_.EC_PDF_DLL_MISSING=-10022]="EC_PDF_DLL_MISSING",_[_.EC_PAGE_NUMBER_INVALID=-10023]="EC_PAGE_NUMBER_INVALID",_[_.EC_CUSTOM_SIZE_INVALID=-10024]="EC_CUSTOM_SIZE_INVALID",_[_.EC_TIMEOUT=-10026]="EC_TIMEOUT",_[_.EC_JSON_PARSE_FAILED=-10030]="EC_JSON_PARSE_FAILED",_[_.EC_JSON_TYPE_INVALID=-10031]="EC_JSON_TYPE_INVALID",_[_.EC_JSON_KEY_INVALID=-10032]="EC_JSON_KEY_INVALID",_[_.EC_JSON_VALUE_INVALID=-10033]="EC_JSON_VALUE_INVALID",_[_.EC_JSON_NAME_KEY_MISSING=-10034]="EC_JSON_NAME_KEY_MISSING",_[_.EC_JSON_NAME_VALUE_DUPLICATED=-10035]="EC_JSON_NAME_VALUE_DUPLICATED",_[_.EC_TEMPLATE_NAME_INVALID=-10036]="EC_TEMPLATE_NAME_INVALID",_[_.EC_JSON_NAME_REFERENCE_INVALID=-10037]="EC_JSON_NAME_REFERENCE_INVALID",_[_.EC_PARAMETER_VALUE_INVALID=-10038]="EC_PARAMETER_VALUE_INVALID",_[_.EC_DOMAIN_NOT_MATCH=-10039]="EC_DOMAIN_NOT_MATCH",_[_.EC_RESERVED_INFO_NOT_MATCH=-10040]="EC_RESERVED_INFO_NOT_MATCH",_[_.EC_LICENSE_KEY_NOT_MATCH=-10043]="EC_LICENSE_KEY_NOT_MATCH",_[_.EC_REQUEST_FAILED=-10044]="EC_REQUEST_FAILED",_[_.EC_LICENSE_INIT_FAILED=-10045]="EC_LICENSE_INIT_FAILED",_[_.EC_SET_MODE_ARGUMENT_ERROR=-10051]="EC_SET_MODE_ARGUMENT_ERROR",_[_.EC_LICENSE_CONTENT_INVALID=-10052]="EC_LICENSE_CONTENT_INVALID",_[_.EC_LICENSE_KEY_INVALID=-10053]="EC_LICENSE_KEY_INVALID",_[_.EC_LICENSE_DEVICE_RUNS_OUT=-10054]="EC_LICENSE_DEVICE_RUNS_OUT",_[_.EC_GET_MODE_ARGUMENT_ERROR=-10055]="EC_GET_MODE_ARGUMENT_ERROR",_[_.EC_IRT_LICENSE_INVALID=-10056]="EC_IRT_LICENSE_INVALID",_[_.EC_FILE_SAVE_FAILED=-10058]="EC_FILE_SAVE_FAILED",_[_.EC_STAGE_TYPE_INVALID=-10059]="EC_STAGE_TYPE_INVALID",_[_.EC_IMAGE_ORIENTATION_INVALID=-10060]="EC_IMAGE_ORIENTATION_INVALID",_[_.EC_CONVERT_COMPLEX_TEMPLATE_ERROR=-10061]="EC_CONVERT_COMPLEX_TEMPLATE_ERROR",_[_.EC_CALL_REJECTED_WHEN_CAPTURING=-10062]="EC_CALL_REJECTED_WHEN_CAPTURING",_[_.EC_NO_IMAGE_SOURCE=-10063]="EC_NO_IMAGE_SOURCE",_[_.EC_READ_DIRECTORY_FAILED=-10064]="EC_READ_DIRECTORY_FAILED",_[_.EC_MODULE_NOT_FOUND=-10065]="EC_MODULE_NOT_FOUND",_[_.EC_MULTI_PAGES_NOT_SUPPORTED=-10066]="EC_MULTI_PAGES_NOT_SUPPORTED",_[_.EC_FILE_ALREADY_EXISTS=-10067]="EC_FILE_ALREADY_EXISTS",_[_.EC_CREATE_FILE_FAILED=-10068]="EC_CREATE_FILE_FAILED",_[_.EC_IMGAE_DATA_INVALID=-10069]="EC_IMGAE_DATA_INVALID",_[_.EC_IMAGE_SIZE_NOT_MATCH=-10070]="EC_IMAGE_SIZE_NOT_MATCH",_[_.EC_IMAGE_PIXEL_FORMAT_NOT_MATCH=-10071]="EC_IMAGE_PIXEL_FORMAT_NOT_MATCH",_[_.EC_SECTION_LEVEL_RESULT_IRREPLACEABLE=-10072]="EC_SECTION_LEVEL_RESULT_IRREPLACEABLE",_[_.EC_AXIS_DEFINITION_INCORRECT=-10073]="EC_AXIS_DEFINITION_INCORRECT",_[_.EC_RESULT_TYPE_MISMATCH_IRREPLACEABLE=-10074]="EC_RESULT_TYPE_MISMATCH_IRREPLACEABLE",_[_.EC_PDF_LIBRARY_LOAD_FAILED=-10075]="EC_PDF_LIBRARY_LOAD_FAILED",_[_.EC_NO_LICENSE=-2e4]="EC_NO_LICENSE",_[_.EC_HANDSHAKE_CODE_INVALID=-20001]="EC_HANDSHAKE_CODE_INVALID",_[_.EC_LICENSE_BUFFER_FAILED=-20002]="EC_LICENSE_BUFFER_FAILED",_[_.EC_LICENSE_SYNC_FAILED=-20003]="EC_LICENSE_SYNC_FAILED",_[_.EC_DEVICE_NOT_MATCH=-20004]="EC_DEVICE_NOT_MATCH",_[_.EC_BIND_DEVICE_FAILED=-20005]="EC_BIND_DEVICE_FAILED",_[_.EC_INSTANCE_COUNT_OVER_LIMIT=-20008]="EC_INSTANCE_COUNT_OVER_LIMIT",_[_.EC_LICENSE_INIT_SEQUENCE_FAILED=-20009]="EC_LICENSE_INIT_SEQUENCE_FAILED",_[_.EC_TRIAL_LICENSE=-20010]="EC_TRIAL_LICENSE",_[_.EC_FAILED_TO_REACH_DLS=-20200]="EC_FAILED_TO_REACH_DLS",_[_.EC_LICENSE_CACHE_USED=-20012]="EC_LICENSE_CACHE_USED",_[_.EC_BARCODE_FORMAT_INVALID=-30009]="EC_BARCODE_FORMAT_INVALID",_[_.EC_QR_LICENSE_INVALID=-30016]="EC_QR_LICENSE_INVALID",_[_.EC_1D_LICENSE_INVALID=-30017]="EC_1D_LICENSE_INVALID",_[_.EC_PDF417_LICENSE_INVALID=-30019]="EC_PDF417_LICENSE_INVALID",_[_.EC_DATAMATRIX_LICENSE_INVALID=-30020]="EC_DATAMATRIX_LICENSE_INVALID",_[_.EC_CUSTOM_MODULESIZE_INVALID=-30025]="EC_CUSTOM_MODULESIZE_INVALID",_[_.EC_AZTEC_LICENSE_INVALID=-30041]="EC_AZTEC_LICENSE_INVALID",_[_.EC_PATCHCODE_LICENSE_INVALID=-30046]="EC_PATCHCODE_LICENSE_INVALID",_[_.EC_POSTALCODE_LICENSE_INVALID=-30047]="EC_POSTALCODE_LICENSE_INVALID",_[_.EC_DPM_LICENSE_INVALID=-30048]="EC_DPM_LICENSE_INVALID",_[_.EC_FRAME_DECODING_THREAD_EXISTS=-30049]="EC_FRAME_DECODING_THREAD_EXISTS",_[_.EC_STOP_DECODING_THREAD_FAILED=-30050]="EC_STOP_DECODING_THREAD_FAILED",_[_.EC_MAXICODE_LICENSE_INVALID=-30057]="EC_MAXICODE_LICENSE_INVALID",_[_.EC_GS1_DATABAR_LICENSE_INVALID=-30058]="EC_GS1_DATABAR_LICENSE_INVALID",_[_.EC_GS1_COMPOSITE_LICENSE_INVALID=-30059]="EC_GS1_COMPOSITE_LICENSE_INVALID",_[_.EC_DOTCODE_LICENSE_INVALID=-30061]="EC_DOTCODE_LICENSE_INVALID",_[_.EC_PHARMACODE_LICENSE_INVALID=-30062]="EC_PHARMACODE_LICENSE_INVALID",_[_.EC_CHARACTER_MODEL_FILE_NOT_FOUND=-40100]="EC_CHARACTER_MODEL_FILE_NOT_FOUND",_[_.EC_TEXT_LINE_GROUP_LAYOUT_CONFLICT=-40101]="EC_TEXT_LINE_GROUP_LAYOUT_CONFLICT",_[_.EC_TEXT_LINE_GROUP_REGEX_CONFLICT=-40102]="EC_TEXT_LINE_GROUP_REGEX_CONFLICT",_[_.EC_QUADRILATERAL_INVALID=-50057]="EC_QUADRILATERAL_INVALID",_[_.EC_PANORAMA_LICENSE_INVALID=-70060]="EC_PANORAMA_LICENSE_INVALID",_[_.EC_RESOURCE_PATH_NOT_EXIST=-90001]="EC_RESOURCE_PATH_NOT_EXIST",_[_.EC_RESOURCE_LOAD_FAILED=-90002]="EC_RESOURCE_LOAD_FAILED",_[_.EC_CODE_SPECIFICATION_NOT_FOUND=-90003]="EC_CODE_SPECIFICATION_NOT_FOUND",_[_.EC_FULL_CODE_EMPTY=-90004]="EC_FULL_CODE_EMPTY",_[_.EC_FULL_CODE_PREPROCESS_FAILED=-90005]="EC_FULL_CODE_PREPROCESS_FAILED",_[_.EC_ZA_DL_LICENSE_INVALID=-90006]="EC_ZA_DL_LICENSE_INVALID",_[_.EC_AAMVA_DL_ID_LICENSE_INVALID=-90007]="EC_AAMVA_DL_ID_LICENSE_INVALID",_[_.EC_AADHAAR_LICENSE_INVALID=-90008]="EC_AADHAAR_LICENSE_INVALID",_[_.EC_MRTD_LICENSE_INVALID=-90009]="EC_MRTD_LICENSE_INVALID",_[_.EC_VIN_LICENSE_INVALID=-90010]="EC_VIN_LICENSE_INVALID",_[_.EC_CUSTOMIZED_CODE_TYPE_LICENSE_INVALID=-90011]="EC_CUSTOMIZED_CODE_TYPE_LICENSE_INVALID",_[_.EC_LICENSE_WARNING=-10076]="EC_LICENSE_WARNING",_[_.EC_BARCODE_READER_LICENSE_NOT_FOUND=-30063]="EC_BARCODE_READER_LICENSE_NOT_FOUND",_[_.EC_LABEL_RECOGNIZER_LICENSE_NOT_FOUND=-40103]="EC_LABEL_RECOGNIZER_LICENSE_NOT_FOUND",_[_.EC_DOCUMENT_NORMALIZER_LICENSE_NOT_FOUND=-50058]="EC_DOCUMENT_NORMALIZER_LICENSE_NOT_FOUND",_[_.EC_CODE_PARSER_LICENSE_NOT_FOUND=-90012]="EC_CODE_PARSER_LICENSE_NOT_FOUND",exports.EnumImagePixelFormat=void 0,(e=exports.EnumImagePixelFormat||(exports.EnumImagePixelFormat={}))[e.IPF_BINARY=0]="IPF_BINARY",e[e.IPF_BINARYINVERTED=1]="IPF_BINARYINVERTED",e[e.IPF_GRAYSCALED=2]="IPF_GRAYSCALED",e[e.IPF_NV21=3]="IPF_NV21",e[e.IPF_RGB_565=4]="IPF_RGB_565",e[e.IPF_RGB_555=5]="IPF_RGB_555",e[e.IPF_RGB_888=6]="IPF_RGB_888",e[e.IPF_ARGB_8888=7]="IPF_ARGB_8888",e[e.IPF_RGB_161616=8]="IPF_RGB_161616",e[e.IPF_ARGB_16161616=9]="IPF_ARGB_16161616",e[e.IPF_ABGR_8888=10]="IPF_ABGR_8888",e[e.IPF_ABGR_16161616=11]="IPF_ABGR_16161616",e[e.IPF_BGR_888=12]="IPF_BGR_888",e[e.IPF_BINARY_8=13]="IPF_BINARY_8",e[e.IPF_NV12=14]="IPF_NV12",e[e.IPF_BINARY_8_INVERTED=15]="IPF_BINARY_8_INVERTED",exports.EnumCapturedResultItemType=void 0,(E=exports.EnumCapturedResultItemType||(exports.EnumCapturedResultItemType={}))[E.CRIT_ORIGINAL_IMAGE=1]="CRIT_ORIGINAL_IMAGE",E[E.CRIT_BARCODE=2]="CRIT_BARCODE",E[E.CRIT_TEXT_LINE=4]="CRIT_TEXT_LINE",E[E.CRIT_DETECTED_QUAD=8]="CRIT_DETECTED_QUAD",E[E.CRIT_DESKEWED_IMAGE=16]="CRIT_DESKEWED_IMAGE",E[E.CRIT_PARSED_RESULT=32]="CRIT_PARSED_RESULT",E[E.CRIT_ENHANCED_IMAGE=64]="CRIT_ENHANCED_IMAGE",exports.EnumPresetTemplate=void 0,(t=exports.EnumPresetTemplate||(exports.EnumPresetTemplate={})).PT_DEFAULT="Default",t.PT_READ_BARCODES="ReadBarcodes_Default",t.PT_RECOGNIZE_TEXT_LINES="RecognizeTextLines_Default",t.PT_DETECT_DOCUMENT_BOUNDARIES="DetectDocumentBoundaries_Default",t.PT_DETECT_AND_NORMALIZE_DOCUMENT="DetectAndNormalizeDocument_Default",t.PT_NORMALIZE_DOCUMENT="NormalizeDocument_Default",t.PT_READ_BARCODES_SPEED_FIRST="ReadBarcodes_SpeedFirst",t.PT_READ_BARCODES_READ_RATE_FIRST="ReadBarcodes_ReadRateFirst",t.PT_READ_SINGLE_BARCODE="ReadSingleBarcode",t.PT_RECOGNIZE_NUMBERS="RecognizeNumbers",t.PT_RECOGNIZE_LETTERS="RecognizeLetters",t.PT_RECOGNIZE_NUMBERS_AND_LETTERS="RecognizeNumbersAndLetters",t.PT_RECOGNIZE_NUMBERS_AND_UPPERCASE_LETTERS="RecognizeNumbersAndUppercaseLetters",t.PT_RECOGNIZE_UPPERCASE_LETTERS="RecognizeUppercaseLetters";const N={BF_NULL:BigInt(0),BF_ALL:BigInt("0xFFFFFFFEFFFFFFFF"),BF_DEFAULT:BigInt(4265345023),BF_ONED:BigInt(3147775),BF_GS1_DATABAR:BigInt(260096),BF_CODE_39:BigInt(1),BF_CODE_128:BigInt(2),BF_CODE_93:BigInt(4),BF_CODABAR:BigInt(8),BF_ITF:BigInt(16),BF_EAN_13:BigInt(32),BF_EAN_8:BigInt(64),BF_UPC_A:BigInt(128),BF_UPC_E:BigInt(256),BF_INDUSTRIAL_25:BigInt(512),BF_CODE_39_EXTENDED:BigInt(1024),BF_GS1_DATABAR_OMNIDIRECTIONAL:BigInt(2048),BF_GS1_DATABAR_TRUNCATED:BigInt(4096),BF_GS1_DATABAR_STACKED:BigInt(8192),BF_GS1_DATABAR_STACKED_OMNIDIRECTIONAL:BigInt(16384),BF_GS1_DATABAR_EXPANDED:BigInt(32768),BF_GS1_DATABAR_EXPANDED_STACKED:BigInt(65536),BF_GS1_DATABAR_LIMITED:BigInt(131072),BF_PATCHCODE:BigInt(262144),BF_CODE_32:BigInt(16777216),BF_PDF417:BigInt(33554432),BF_QR_CODE:BigInt(67108864),BF_DATAMATRIX:BigInt(134217728),BF_AZTEC:BigInt(268435456),BF_MAXICODE:BigInt(536870912),BF_MICRO_QR:BigInt(1073741824),BF_MICRO_PDF417:BigInt(524288),BF_GS1_COMPOSITE:BigInt(2147483648),BF_MSI_CODE:BigInt(1048576),BF_CODE_11:BigInt(2097152),BF_TWO_DIGIT_ADD_ON:BigInt(4194304),BF_FIVE_DIGIT_ADD_ON:BigInt(8388608),BF_MATRIX_25:BigInt(68719476736),BF_POSTALCODE:BigInt(0x3f0000000000000),BF_NONSTANDARD_BARCODE:BigInt(4294967296),BF_USPSINTELLIGENTMAIL:BigInt(4503599627370496),BF_POSTNET:BigInt(9007199254740992),BF_PLANET:BigInt(0x40000000000000),BF_AUSTRALIANPOST:BigInt(0x80000000000000),BF_RM4SCC:BigInt(72057594037927940),BF_KIX:BigInt(0x200000000000000),BF_DOTCODE:BigInt(8589934592),BF_PHARMACODE_ONE_TRACK:BigInt(17179869184),BF_PHARMACODE_TWO_TRACK:BigInt(34359738368),BF_PHARMACODE:BigInt(51539607552)};var a,D;exports.EnumDeblurMode=void 0,(a=exports.EnumDeblurMode||(exports.EnumDeblurMode={}))[a.DM_DIRECT_BINARIZATION=1]="DM_DIRECT_BINARIZATION",a[a.DM_THRESHOLD_BINARIZATION=2]="DM_THRESHOLD_BINARIZATION",a[a.DM_GRAY_EQUALIZATION=4]="DM_GRAY_EQUALIZATION",a[a.DM_SMOOTHING=8]="DM_SMOOTHING",a[a.DM_MORPHING=16]="DM_MORPHING",a[a.DM_DEEP_ANALYSIS=32]="DM_DEEP_ANALYSIS",a[a.DM_SHARPENING=64]="DM_SHARPENING",a[a.DM_BASED_ON_LOC_BIN=128]="DM_BASED_ON_LOC_BIN",a[a.DM_SHARPENING_SMOOTHING=256]="DM_SHARPENING_SMOOTHING",a[a.DM_REV=-2147483648]="DM_REV",a[a.DM_SKIP=0]="DM_SKIP",exports.EnumLocalizationMode=void 0,(D=exports.EnumLocalizationMode||(exports.EnumLocalizationMode={}))[D.LM_AUTO=1]="LM_AUTO",D[D.LM_CONNECTED_BLOCKS=2]="LM_CONNECTED_BLOCKS",D[D.LM_STATISTICS=4]="LM_STATISTICS",D[D.LM_LINES=8]="LM_LINES",D[D.LM_SCAN_DIRECTLY=16]="LM_SCAN_DIRECTLY",D[D.LM_STATISTICS_MARKS=32]="LM_STATISTICS_MARKS",D[D.LM_STATISTICS_POSTAL_CODE=64]="LM_STATISTICS_POSTAL_CODE",D[D.LM_CENTRE=128]="LM_CENTRE",D[D.LM_ONED_FAST_SCAN=256]="LM_ONED_FAST_SCAN",D[D.LM_REV=-2147483648]="LM_REV",D[D.LM_SKIP=0]="LM_SKIP";const T=I.resolve("undefined"!=typeof __dirname?__dirname:n.fileURLToPath(("undefined"==typeof document?require("url").pathToFileURL(__filename).href:A&&"SCRIPT"===A.tagName.toUpperCase()&&A.src||new URL("index.js",document.baseURI).href)+"/../"),"../"),o="darwin"===process.platform?"universal2":process.arch;let R=`dynamsoft-capture-vision-for-node-lib-${process.platform}-${o}`;R=r.existsSync(I.resolve(T,"node_modules",R))?I.resolve(T,"node_modules",R):I.resolve(T,"../",R),"win32"===process.platform&&(process.env.PATH=`${R}${I.delimiter}${process.env.PATH}`);let L="dcv-nodejs-wrapper.";switch(process.platform){case"win32":L+="dll";break;case"linux":L="lib"+L+"so";break;case"darwin":L="lib"+L+"dylib";break;default:throw Error("`dynamsoft capture vision for nodejs` not support this platfrom.")}const O=i.load(I.resolve(R,L)),S=O.func("dcvnodejs_int64topointer","void*",["int64"]);let c="js:3.0.10.20250421;cpp:";try{const _=O.func("dcvnodejs_getCvrVersion","str",[]);c+=_()}catch(_){c+="unknown"}const u=O.func("dcvnodejs_initLicense","str",["str"]),l=O.func("dcvnodejs_setDeviceFriendlyName","str",["str"]),d=O.func("dcvnodejs_setLicenseCachePath","str",["str"]),p=O.func("dcvnodejs_getDeviceUUID","str",[]),F=O.func("dcvnodejs_clearDeviceUUID","str",[]),M=O.func("dcvnodejs_clearLicenseCache","str",["str"]),P=O.func("dcvnodejs_setGlobalTemplate","void",["str"]),m=O.func("dcvnodejs_addGlobalIrr","void",["intptr","intptr","str","intptr"]),B=O.func("dcvnodejs_removeGlobalIrr","void",["intptr"]),g=O.func("dcvnodejs_createInstance","intptr",[]),f=O.func("dcvnodejs_initSettings","str",["intptr","str"]),U=O.func("dcvnodejs_outputSettings","str",["intptr","str"]),V=O.func("dcvnodejs_captureImagedata","str",["intptr","int","uint8*","int","int","int","int","int","str"]),v=O.func("dcvnodejs_captureFileInMemory","str",["intptr","uint8*","int","str"]),h=O.func("dcvnodejs_captureFileInDisk","str",["intptr","str","str"]),G=O.func("dcvnodejs_captureMultiPagesFileInMemory","str",["intptr","uint8*","int","str"]),y=O.func("dcvnodejs_captureMultiPagesFileInDisk","str",["intptr","str","str"]),b=O.func("dcvnodejs_deleteInstance","void",["intptr"]),x=O.func("dcvnodejs_deleteCapturedResult","void",["intptr"]),H=O.func("dcvnodejs_addIntermediateResultReceiver","str",["intptr","intptr","str","intptr"]),w=O.func("dcvnodejs_removeIntermediateResultReceiver","void",["intptr","intptr"]),Y=O.func("dcvnodejs_saveToFile","str",["int","intptr","int","int","int","int","int","str","bool"]),J=O.func("dcvnodejs_drawOnImage","str",["int","intptr","int","int","int","int","int","str","int","int"]),j=O.func("dcvnodejs_freeImageData","void",["intptr"]),k=_=>{if(_.exception){let e=Error(_.description);throw e.dcvErrorCode=_.exception,e}},X=(()=>{let _;const e={},E=_=>{--e[_]||(delete e[_],x(_))},t=new FinalizationRegistry((_=>{E(_)})),I=function(){return this._u8||(this._u8=i.decode(S(this.ptr),"uint8",this.length),E(this.capturedResultPtr),t.unregister(this)),this._u8},r=function(){return`Uint8Array(${this.length})`},s=function(){let _=Object.assign({},this);return delete _.referenceItem,_},n=(E,s)=>{var n;return null!==s&&"object"==typeof s&&(!E&&(null==s?void 0:s._ptr)?delete s._ptr:"bytes"===E&&"number"==typeof s.ptr&&"number"==typeof s.length&&(s.capturedResultPtr=_,s.toUint8Array=I,s.toJSON=r,e[n=_]?++e[n]:e[n]=1,t.register(s,_,s))),s};return E=>{let t=JSON.parse(E);if(_=t._ptr,t.errorCode!=exports.EnumErrorCode.EC_OK&&t.errorCode!=exports.EnumErrorCode.EC_TIMEOUT){x(_);let e=Error(t.errorString);throw e.dcvErrorCode=t.errorCode,e}let I=JSON.parse(E,n);e[_]||x(_),Object.assign(I,{originalImageItems:[],barcodeResultItems:[],textLineResultItems:[],detectedQuadResultItems:[],deskewedImageResultItems:[],parsedResultItems:[],enhancedImageResultItems:[]});for(let _ of I.items){switch(_.type){case exports.EnumCapturedResultItemType.CRIT_ORIGINAL_IMAGE:I.originalImageItems.push(_);break;case exports.EnumCapturedResultItemType.CRIT_BARCODE:I.barcodeResultItems.push(_);break;case exports.EnumCapturedResultItemType.CRIT_TEXT_LINE:I.textLineResultItems.push(_);break;case exports.EnumCapturedResultItemType.CRIT_DETECTED_QUAD:I.detectedQuadResultItems.push(_);break;case exports.EnumCapturedResultItemType.CRIT_DESKEWED_IMAGE:I.deskewedImageResultItems.push(_);break;case exports.EnumCapturedResultItemType.CRIT_PARSED_RESULT:const e=_;e.parsed=JSON.parse(e.parsed),I.parsedResultItems.push(e);break;case exports.EnumCapturedResultItemType.CRIT_ENHANCED_IMAGE:I.enhancedImageResultItems.push(_)}"indexOfReferenceItem"in _&&(_.referenceItem=I.items[_.indexOfReferenceItem]),_.toJSON=s}return I}})(),K=_=>{let e=JSON.parse(_),E=[];for(let _ of e)E.push(X(JSON.stringify(_)));return E},Z=new FinalizationRegistry((_=>{b(_)}));let Q=0,W=s.cpus().length-1;W<1&&(W=1);const z=[],q=[];let $=0;const __={},e_=_=>{if(Q<=W){let e=q.shift();e?e(_):z.push(_)}else _.unref(),--Q},E_=async()=>{let _=z.shift();return _||(Q>=W?await new Promise(((_,e)=>{q.push(_)})):(++Q,_=new C.Worker(I.resolve(T,"dist","worker.js")),_.on("message",(_=>{let e=_.data?_.data:_,E=e.type,t=e.id,I=e.body;switch(E){case"task":{const _=__[t];delete __[t],e_(_.worker),_(I);break}default:console.log(_.body)}})),_))},t_={initLicense:_=>{let e=u(_),E=JSON.parse(e);k(E)},setDeviceFriendlyName:_=>{let e=l(_),E=JSON.parse(e);k(E)},setLicenseCachePath:_=>{_=I.resolve(_),r.existsSync(_)||r.mkdirSync(_,{recursive:!0});let e=d(_),E=JSON.parse(e);k(E)},getDeviceUUID:()=>{let _=p(),e=JSON.parse(_);return k(e),e.uuid},_clearDeviceUUID:()=>{let _=F(),e=JSON.parse(_);k(e)},_clearLicenseCache:()=>{let _=I.parse(process.execPath).name,e=M(_),E=JSON.parse(e);k(E)}};process.env.LAMBDA_TASK_ROOT&&d("/tmp");const I_={};let r_="dynamsoft-capture-vision-for-node-model";r.existsSync(I.resolve(T,"node_modules",r_))?r_=I.resolve(T,"node_modules",r_):r.existsSync(I.resolve(T,"../",r_))&&(r_=I.resolve(T,"../",r_));const s_=I.resolve(r_,"ConfusableChars.data"),n_=I.resolve(r_,"OverlappingChars.data"),C_=_=>{"object"==typeof _&&(_=JSON.stringify(_)),_.trimStart().startsWith("{")||(_=r.readFileSync(_,"utf-8"));let e=JSON.parse(_);for(let _ in e){let E=e[_];if("BarcodeReaderTaskSettingOptions"===_)for(let _ of E)void 0===_.MaxThreadsInOneTask&&(_.MaxThreadsInOneTask=1);else if("CaptureVisionModelOptions"===_)for(let _ of E)void 0===_.DirectoryPath&&(_.DirectoryPath=r_);else if("CodeParserTaskSettingOptions"===_){const _=I.resolve(T,"ParserResources");for(let e of E)void 0===e.ResourcesPath&&(e.ResourcesPath=_)}else if("LabelRecognizerTaskSettingOptions"===_)for(let _ of E)"ConfusableChars.data"===_.ConfusableCharactersPath&&(_.ConfusableCharactersPath=s_),"OverlappingChars.data"===_.OverlappingCharactersPath&&(_.OverlappingCharactersPath=n_)}return e};class i_{static get version(){return c}static get waitQueueLength(){return q.length}static get maxWorkerCount(){return W}static set maxWorkerCount(_){(_=Math.round(_))>s.cpus.length?_=s.cpus.length:_<1&&(_=1),W=_}static async terminateIdleWorkers(){Q-=z.length;const _=Promise.all(z.map((_=>_.terminate())));z.length=0,await _}_nextUpdVer(){this._updVer<Number.MAX_SAFE_INTEGER?this._updVer++:this._updVer=0}constructor(){var _;const e=this._instanceID=g();this._updVer=(null===(_=i_._instance)||void 0===_?void 0:_._updVer)||0,Z.register(this,e,this)}initSettings(_){_=JSON.stringify(C_(_)),this._initSettings(_)}_initSettings(_){if(this._template===_)return;let e=f(this._instanceID,_),E=JSON.parse(e);k(E),this._template=_,this._nextUpdVer()}outputSettings(_){if(!_)return JSON.parse(this._template);let e=U(this._instanceID,_),E=JSON.parse(e);return k(E),JSON.parse(E.tpl)}resetSettings(){this._initSettings(i_._instance._template)}_capture(_,e){let E,t,r;"string"==typeof e?E=e:({templateName:E,_multi:t=!1}=e);let s=!1;if("object"==typeof _)if(_ instanceof Uint8Array){const e=_;r=(t?G:v)(this._instanceID,e,e.length,E)}else if(_.bytes instanceof Uint8Array&&!t){const e=_;r=V(this._instanceID,e.bytes.length,e.bytes,e.width,e.height,e.stride,e.format,e.orientation||1,E)}else s=!0;else if("string"==typeof _){const e=I.resolve(_);r=(t?y:h)(this._instanceID,e,E)}else s=!0;if(s)throw Error("Invalid argument for capture.");return t?K(r):X(r)}async _captureAsync(_,e){let E,t,r,s,n,C,i;"string"==typeof e?E=e:({templateName:E,worker:t,dataTransferType:r="move",_multi:s=!1}=e);let A,N=!1;if("object"==typeof _)if(_ instanceof Uint8Array){n=s?"captureMultiPagesFileInMemory":"captureFileInMemory",C={fileBytes:_},"move"===r&&(i=[_.buffer])}else if(_.bytes instanceof Uint8Array&&!s){n="captureImagedata",C={imageData:_},"move"===r&&(i=[_.bytes.buffer])}else N=!0;else if("string"==typeof _){const e=I.resolve(_);n=s?"captureMultiPagesFileInDisk":"captureFileInDisk",C={filePath:e}}else N=!0;if(N)throw t&&e_(t),Error("Invalid argument for capture.");t=t||await E_();const a=$<Number.MAX_SAFE_INTEGER?$++:$=0;return await new Promise((async(_,e)=>{const I=E=>{if(E.success)return A=E.strRep,_();{let _=new Error(E.message);return _.stack=E.stack+"\n"+_.stack,e(_)}};I.worker=t,__[a]=I,t.postMessage({type:n,id:a,instanceID:this._instanceID,body:Object.assign(Object.assign({},C),{templateName:E})},i)})),s?K(A):X(A)}capture(_,e){return this._capture(_,e)}captureMultiPages(_,e){return this._capture(_,{templateName:"string"==typeof e?e:e.templateName,_multi:!0})}async captureAsync(_,e){return await this._captureAsync(_,e)}async captureMultiPagesAsync(_,e){return await this._captureAsync(_,{templateName:"string"==typeof e?e:e.templateName,dataTransferType:null==e?void 0:e.dataTransferType,_multi:!0})}addIntermediateResultReceiver(_,e,E,t){_=I.resolve(_);const r=I_[_]=I_[_]||{lib:i.load(_),funs:{}},s=r.funs[e]=r.funs[e]||i.address(r.lib.symbol(e,"intptr")),n=r.funs[t]=r.funs[t]||i.address(r.lib.symbol(t,"intptr"));let C=H(this._instanceID,s,E,n),A=JSON.parse(C);return k(A),this._nextUpdVer(),A.irr}removeIntermediateResultReceiver(_){w(this._instanceID,_),this._nextUpdVer()}static initSettings(_){_=JSON.stringify(C_(_)),i_._initSettings(_)}static _initSettings(_){i_._instance._initSettings(_),P(_)}static outputSettings(_){return i_._instance.outputSettings(_)}static resetSettings(){i_._initSettings(i_._presetTemplate)}static capture(_,e){return i_._instance.capture(_,e)}static captureMultiPages(_,e){return i_._instance.captureMultiPages(_,e)}static async _captureAsync(_,e){var E;const t=await E_();let I;return(null===(E=t.cvr)||void 0===E?void 0:E._updVer)!==i_._instance._updVer&&(t.cvr=new i_),I="string"==typeof e?{templateName:e,worker:t}:Object.assign(Object.assign({},e),{worker:t}),await t.cvr._captureAsync(_,I)}static async captureAsync(_,e){return await i_._captureAsync(_,e)}static async captureMultiPagesAsync(_,e){return await i_._captureAsync(_,{templateName:"string"==typeof e?e:e.templateName,dataTransferType:null==e?void 0:e.dataTransferType,_multi:!0})}static addIntermediateResultReceiver(_,e,E,t){const I=i_._instance.addIntermediateResultReceiver(_,e,E,t);return m(I,I_[_].funs[e],E,I_[_].funs[t]),I}static removeIntermediateResultReceiver(_){i_._instance.removeIntermediateResultReceiver(_),B(_)}}i_._instance=new i_;{const _=i_._instance.outputSettings("*");for(let e of _.BarcodeReaderTaskSettingOptions)e.MaxThreadsInOneTask=1;delete _.CaptureVisionModelOptions;const e="Templates",E=r.readdirSync(I.resolve(T,e));for(let t of E){let E=C_(I.resolve(T,e,t));for(let e in E){let t=E[e];if(_[e])for(let E of t)_[e].push(E);else _[e]=t}}i_._presetTemplate=JSON.stringify(_)}i_._initSettings(i_._presetTemplate);const A_={saveToFile:(_,e,E=!0)=>{var t,I;const r=(null===(I=(t=_.bytes).toUint8Array)||void 0===I?void 0:I.call(t))||_.bytes;let s=Y(r.length,r,_.width,_.height,_.stride,_.format,_.orientation||1,e,E),n=JSON.parse(s);k(n)}},N_={drawOnImage:(_,e,E=4294901760,t=1)=>{var I,r;const s=(null===(r=(I=_.bytes).toUint8Array)||void 0===r?void 0:r.call(I))||_.bytes;let n=J(s.length,s,_.width,_.height,_.stride,_.format,_.orientation||1,JSON.stringify(e),E,t),C=JSON.parse(n);k(C);let A=C.image;return A.bytes=i.decode(S(A.bytes.ptr),"uint8",A.bytes.length),j(C.imagePtr),A}};exports.CaptureVisionRouter=i_,exports.EnumBarcodeFormat=N,exports.ImageDrawer=N_,exports.ImageIO=A_,exports.LicenseManager=t_;