[{"data":1,"prerenderedAt":983},["ShallowReactive",2],{"navigation_docs":3,"-getting-started":37,"-getting-started-surround":980},[4,9,20,32],{"title":5,"path":6,"stem":7,"icon":8},"Getting started","\u002Fgetting-started","0.getting-started","i-lucide-rocket",{"title":10,"icon":11,"path":12,"stem":13,"children":14,"page":19},"Functions","i-lucide-function-square","\u002Ffunctions","1.functions",[15],{"title":16,"path":17,"stem":18},"useBarcodeDetector","\u002Ffunctions\u002Fuse-barcode-detector","1.functions\u002F1.use-barcode-detector",false,{"title":21,"path":22,"stem":23,"children":24,"icon":27},"Nuxt","\u002Fnuxt","2.nuxt\u002F1.index",[25,28],{"title":26,"path":22,"stem":23,"icon":27},"Module","i-simple-icons-nuxtdotjs",{"title":29,"path":30,"stem":31,"icon":27},"Nuxt UI integration","\u002Fnuxt\u002Fnuxt-ui","2.nuxt\u002F2.nuxt-ui",{"title":33,"path":34,"stem":35,"icon":36},"Compatibility & polyfill","\u002Fcompatibility","3.compatibility","i-lucide-globe",{"id":38,"title":5,"body":39,"description":973,"extension":974,"links":975,"meta":976,"navigation":977,"path":6,"seo":978,"stem":7,"__hash__":979},"docs\u002F0.getting-started.md",{"type":40,"value":41,"toc":965},"minimark",[42,46,62,108,113,147,151,240,244,259,532,535,757,765,768,775,826,892,911,915,931,935,961],[43,44,5],"h1",{"id":45},"getting-started",[47,48,49,53,54,61],"p",{},[50,51,52],"code",{},"@orbisk\u002Fvue-use-barcode-detection"," ships four primitives on top of the ",[55,56,60],"a",{"href":57,"rel":58},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fdocs\u002FWeb\u002FAPI\u002FBarcode_Detection_API",[59],"nofollow","Barcode Detection API",":",[63,64,65,74,82,90],"ul",{},[66,67,68,73],"li",{},[69,70,71],"strong",{},[50,72,16],{}," — a reactive composable.",[66,75,76,81],{},[69,77,78],{},[50,79,80],{},"\u003CUseBarcodeDetector \u002F>"," — a drop-in scanner component (camera + overlay in one tag).",[66,83,84,89],{},[69,85,86],{},[50,87,88],{},"\u003CBarcodeDetectorOverlay \u002F>"," — a standalone SVG overlay for drawing polygons over detected codes.",[66,91,92,95,96,99,100,107],{},[69,93,94],{},"Nuxt module"," — auto-imports the composable and registers the components globally; pulls in ",[50,97,98],{},"\u003CUBarcodeInput \u002F>"," when ",[55,101,104],{"href":102,"rel":103},"https:\u002F\u002Fui.nuxt.com",[59],[50,105,106],{},"@nuxt\u002Fui"," is present.",[109,110,112],"h2",{"id":111},"requirements","Requirements",[63,114,115,120,129],{},[66,116,117],{},[69,118,119],{},"Vue 3.5+",[66,121,122,128],{},[69,123,124,127],{},[50,125,126],{},"@vueuse\u002Fcore"," 14+"," — peer dependency",[66,130,131,132,135,136,143,144,146],{},"A browser that ships the ",[55,133,60],{"href":57,"rel":134},[59],", or the ",[55,137,140],{"href":138,"rel":139},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fbarcode-detector",[59],[50,141,142],{},"barcode-detector"," polyfill where it's missing. See ",[55,145,33],{"href":34}," for the support table.",[109,148,150],{"id":149},"install","Install",[152,153,154,185,204,222],"code-group",{},[155,156,162],"pre",{"className":157,"code":158,"filename":159,"language":160,"meta":161,"style":161},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","pnpm add @orbisk\u002Fvue-use-barcode-detection vue @vueuse\u002Fcore\n","pnpm","bash","",[50,163,164],{"__ignoreMap":161},[165,166,169,172,176,179,182],"span",{"class":167,"line":168},"line",1,[165,170,159],{"class":171},"sBMFI",[165,173,175],{"class":174},"sfazB"," add",[165,177,178],{"class":174}," @orbisk\u002Fvue-use-barcode-detection",[165,180,181],{"class":174}," vue",[165,183,184],{"class":174}," @vueuse\u002Fcore\n",[155,186,189],{"className":157,"code":187,"filename":188,"language":160,"meta":161,"style":161},"npm install @orbisk\u002Fvue-use-barcode-detection vue @vueuse\u002Fcore\n","npm",[50,190,191],{"__ignoreMap":161},[165,192,193,195,198,200,202],{"class":167,"line":168},[165,194,188],{"class":171},[165,196,197],{"class":174}," install",[165,199,178],{"class":174},[165,201,181],{"class":174},[165,203,184],{"class":174},[155,205,208],{"className":157,"code":206,"filename":207,"language":160,"meta":161,"style":161},"yarn add @orbisk\u002Fvue-use-barcode-detection vue @vueuse\u002Fcore\n","yarn",[50,209,210],{"__ignoreMap":161},[165,211,212,214,216,218,220],{"class":167,"line":168},[165,213,207],{"class":171},[165,215,175],{"class":174},[165,217,178],{"class":174},[165,219,181],{"class":174},[165,221,184],{"class":174},[155,223,226],{"className":157,"code":224,"filename":225,"language":160,"meta":161,"style":161},"bun add @orbisk\u002Fvue-use-barcode-detection vue @vueuse\u002Fcore\n","bun",[50,227,228],{"__ignoreMap":161},[165,229,230,232,234,236,238],{"class":167,"line":168},[165,231,225],{"class":171},[165,233,175],{"class":174},[165,235,178],{"class":174},[165,237,181],{"class":174},[165,239,184],{"class":174},[109,241,243],{"id":242},"vue","Vue",[47,245,246,247,250,251,254,255,258],{},"Drop the component in and you have a working scanner — ",[50,248,249],{},"\u003Cvideo>",", camera stream, and a polygon overlay are wired up for you. ",[50,252,253],{},"start()"," must be triggered from a user gesture so iOS\u002FSafari accepts ",[50,256,257],{},"getUserMedia",".",[155,260,263],{"className":261,"code":262,"language":242,"meta":161,"style":161},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { UseBarcodeDetector } from '@orbisk\u002Fvue-use-barcode-detection'\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CUseBarcodeDetector v-slot=\"{ start, stop, isActive, detected }\">\n    \u003Cbutton @click=\"isActive ? stop() : start()\">\n      {{ isActive ? 'Stop' : 'Start camera' }}\n    \u003C\u002Fbutton>\n    \u003Cul>\n      \u003Cli v-for=\"b in detected\" :key=\"b.rawValue\">\n        \u003Cstrong>{{ b.format }}\u003C\u002Fstrong> — \u003Ccode>{{ b.rawValue }}\u003C\u002Fcode>\n      \u003C\u002Fli>\n    \u003C\u002Ful>\n  \u003C\u002FUseBarcodeDetector>\n\u003C\u002Ftemplate>\n",[50,264,265,296,324,334,341,351,374,397,403,413,422,456,494,504,513,523],{"__ignoreMap":161},[165,266,267,271,275,279,282,285,288,291,293],{"class":167,"line":168},[165,268,270],{"class":269},"sMK4o","\u003C",[165,272,274],{"class":273},"swJcz","script",[165,276,278],{"class":277},"spNyl"," setup",[165,280,281],{"class":277}," lang",[165,283,284],{"class":269},"=",[165,286,287],{"class":269},"\"",[165,289,290],{"class":174},"ts",[165,292,287],{"class":269},[165,294,295],{"class":269},">\n",[165,297,299,303,306,310,313,316,319,321],{"class":167,"line":298},2,[165,300,302],{"class":301},"s7zQu","import",[165,304,305],{"class":269}," {",[165,307,309],{"class":308},"sTEyZ"," UseBarcodeDetector",[165,311,312],{"class":269}," }",[165,314,315],{"class":301}," from",[165,317,318],{"class":269}," '",[165,320,52],{"class":174},[165,322,323],{"class":269},"'\n",[165,325,327,330,332],{"class":167,"line":326},3,[165,328,329],{"class":269},"\u003C\u002F",[165,331,274],{"class":273},[165,333,295],{"class":269},[165,335,337],{"class":167,"line":336},4,[165,338,340],{"emptyLinePlaceholder":339},true,"\n",[165,342,344,346,349],{"class":167,"line":343},5,[165,345,270],{"class":269},[165,347,348],{"class":273},"template",[165,350,295],{"class":269},[165,352,354,357,360,363,365,367,370,372],{"class":167,"line":353},6,[165,355,356],{"class":269},"  \u003C",[165,358,359],{"class":273},"UseBarcodeDetector",[165,361,362],{"class":277}," v-slot",[165,364,284],{"class":269},[165,366,287],{"class":269},[165,368,369],{"class":174},"{ start, stop, isActive, detected }",[165,371,287],{"class":269},[165,373,295],{"class":269},[165,375,377,380,383,386,388,390,393,395],{"class":167,"line":376},7,[165,378,379],{"class":269},"    \u003C",[165,381,382],{"class":273},"button",[165,384,385],{"class":277}," @click",[165,387,284],{"class":269},[165,389,287],{"class":269},[165,391,392],{"class":174},"isActive ? stop() : start()",[165,394,287],{"class":269},[165,396,295],{"class":269},[165,398,400],{"class":167,"line":399},8,[165,401,402],{"class":308},"      {{ isActive ? 'Stop' : 'Start camera' }}\n",[165,404,406,409,411],{"class":167,"line":405},9,[165,407,408],{"class":269},"    \u003C\u002F",[165,410,382],{"class":273},[165,412,295],{"class":269},[165,414,416,418,420],{"class":167,"line":415},10,[165,417,379],{"class":269},[165,419,63],{"class":273},[165,421,295],{"class":269},[165,423,425,428,430,433,435,437,440,442,445,447,449,452,454],{"class":167,"line":424},11,[165,426,427],{"class":269},"      \u003C",[165,429,66],{"class":273},[165,431,432],{"class":277}," v-for",[165,434,284],{"class":269},[165,436,287],{"class":269},[165,438,439],{"class":174},"b in detected",[165,441,287],{"class":269},[165,443,444],{"class":277}," :key",[165,446,284],{"class":269},[165,448,287],{"class":269},[165,450,451],{"class":174},"b.rawValue",[165,453,287],{"class":269},[165,455,295],{"class":269},[165,457,459,462,464,467,470,472,474,476,479,481,483,485,488,490,492],{"class":167,"line":458},12,[165,460,461],{"class":269},"        \u003C",[165,463,69],{"class":273},[165,465,466],{"class":269},">",[165,468,469],{"class":308},"{{ b.format }}",[165,471,329],{"class":269},[165,473,69],{"class":273},[165,475,466],{"class":269},[165,477,478],{"class":308}," — ",[165,480,270],{"class":269},[165,482,50],{"class":273},[165,484,466],{"class":269},[165,486,487],{"class":308},"{{ b.rawValue }}",[165,489,329],{"class":269},[165,491,50],{"class":273},[165,493,295],{"class":269},[165,495,497,500,502],{"class":167,"line":496},13,[165,498,499],{"class":269},"      \u003C\u002F",[165,501,66],{"class":273},[165,503,295],{"class":269},[165,505,507,509,511],{"class":167,"line":506},14,[165,508,408],{"class":269},[165,510,63],{"class":273},[165,512,295],{"class":269},[165,514,516,519,521],{"class":167,"line":515},15,[165,517,518],{"class":269},"  \u003C\u002F",[165,520,359],{"class":273},[165,522,295],{"class":269},[165,524,526,528,530],{"class":167,"line":525},16,[165,527,329],{"class":269},[165,529,348],{"class":273},[165,531,295],{"class":269},[47,533,534],{},"Prefer the composable for full control:",[155,536,538],{"className":261,"code":537,"language":242,"meta":161,"style":161},"\u003Cscript setup lang=\"ts\">\nimport { useTemplateRef } from 'vue'\nimport { useBarcodeDetector } from '@orbisk\u002Fvue-use-barcode-detection'\n\nconst video = useTemplateRef\u003CHTMLVideoElement>('video')\nconst { detected, start, stop, isActive } = useBarcodeDetector(video)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cvideo ref=\"video\" playsinline muted \u002F>\n  \u003Cbutton @click=\"isActive ? stop() : start()\">\n    {{ isActive ? 'Stop' : 'Start camera' }}\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[50,539,540,560,579,598,602,636,672,680,684,692,718,736,741,749],{"__ignoreMap":161},[165,541,542,544,546,548,550,552,554,556,558],{"class":167,"line":168},[165,543,270],{"class":269},[165,545,274],{"class":273},[165,547,278],{"class":277},[165,549,281],{"class":277},[165,551,284],{"class":269},[165,553,287],{"class":269},[165,555,290],{"class":174},[165,557,287],{"class":269},[165,559,295],{"class":269},[165,561,562,564,566,569,571,573,575,577],{"class":167,"line":298},[165,563,302],{"class":301},[165,565,305],{"class":269},[165,567,568],{"class":308}," useTemplateRef",[165,570,312],{"class":269},[165,572,315],{"class":301},[165,574,318],{"class":269},[165,576,242],{"class":174},[165,578,323],{"class":269},[165,580,581,583,585,588,590,592,594,596],{"class":167,"line":326},[165,582,302],{"class":301},[165,584,305],{"class":269},[165,586,587],{"class":308}," useBarcodeDetector",[165,589,312],{"class":269},[165,591,315],{"class":301},[165,593,318],{"class":269},[165,595,52],{"class":174},[165,597,323],{"class":269},[165,599,600],{"class":167,"line":336},[165,601,340],{"emptyLinePlaceholder":339},[165,603,604,607,610,612,615,617,620,622,625,628,631,633],{"class":167,"line":343},[165,605,606],{"class":277},"const",[165,608,609],{"class":308}," video ",[165,611,284],{"class":269},[165,613,568],{"class":614},"s2Zo4",[165,616,270],{"class":269},[165,618,619],{"class":171},"HTMLVideoElement",[165,621,466],{"class":269},[165,623,624],{"class":308},"(",[165,626,627],{"class":269},"'",[165,629,630],{"class":174},"video",[165,632,627],{"class":269},[165,634,635],{"class":308},")\n",[165,637,638,640,642,645,648,651,653,656,658,661,664,667,669],{"class":167,"line":353},[165,639,606],{"class":277},[165,641,305],{"class":269},[165,643,644],{"class":308}," detected",[165,646,647],{"class":269},",",[165,649,650],{"class":308}," start",[165,652,647],{"class":269},[165,654,655],{"class":308}," stop",[165,657,647],{"class":269},[165,659,660],{"class":308}," isActive ",[165,662,663],{"class":269},"}",[165,665,666],{"class":269}," =",[165,668,587],{"class":614},[165,670,671],{"class":308},"(video)\n",[165,673,674,676,678],{"class":167,"line":376},[165,675,329],{"class":269},[165,677,274],{"class":273},[165,679,295],{"class":269},[165,681,682],{"class":167,"line":399},[165,683,340],{"emptyLinePlaceholder":339},[165,685,686,688,690],{"class":167,"line":405},[165,687,270],{"class":269},[165,689,348],{"class":273},[165,691,295],{"class":269},[165,693,694,696,698,701,703,705,707,709,712,715],{"class":167,"line":415},[165,695,356],{"class":269},[165,697,630],{"class":273},[165,699,700],{"class":277}," ref",[165,702,284],{"class":269},[165,704,287],{"class":269},[165,706,630],{"class":174},[165,708,287],{"class":269},[165,710,711],{"class":277}," playsinline",[165,713,714],{"class":277}," muted",[165,716,717],{"class":269}," \u002F>\n",[165,719,720,722,724,726,728,730,732,734],{"class":167,"line":424},[165,721,356],{"class":269},[165,723,382],{"class":273},[165,725,385],{"class":277},[165,727,284],{"class":269},[165,729,287],{"class":269},[165,731,392],{"class":174},[165,733,287],{"class":269},[165,735,295],{"class":269},[165,737,738],{"class":167,"line":458},[165,739,740],{"class":308},"    {{ isActive ? 'Stop' : 'Start camera' }}\n",[165,742,743,745,747],{"class":167,"line":496},[165,744,518],{"class":269},[165,746,382],{"class":273},[165,748,295],{"class":269},[165,750,751,753,755],{"class":167,"line":506},[165,752,329],{"class":269},[165,754,348],{"class":273},[165,756,295],{"class":269},[47,758,759,760,764],{},"See the ",[55,761,762],{"href":17},[50,763,16],{}," reference for every option, slot, and return value.",[109,766,21],{"id":767},"nuxt",[47,769,770,771,774],{},"Add the module to ",[50,772,773],{},"nuxt.config.ts"," — the composable becomes an auto-import and the components are registered globally.",[155,776,779],{"className":777,"code":778,"filename":773,"language":290,"meta":161,"style":161},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","export default defineNuxtConfig({\n  modules: ['@orbisk\u002Fnuxt-barcode-detection'],\n})\n",[50,780,781,797,820],{"__ignoreMap":161},[165,782,783,786,789,792,794],{"class":167,"line":168},[165,784,785],{"class":301},"export",[165,787,788],{"class":301}," default",[165,790,791],{"class":614}," defineNuxtConfig",[165,793,624],{"class":308},[165,795,796],{"class":269},"{\n",[165,798,799,802,804,807,809,812,814,817],{"class":167,"line":298},[165,800,801],{"class":273},"  modules",[165,803,61],{"class":269},[165,805,806],{"class":308}," [",[165,808,627],{"class":269},[165,810,811],{"class":174},"@orbisk\u002Fnuxt-barcode-detection",[165,813,627],{"class":269},[165,815,816],{"class":308},"]",[165,818,819],{"class":269},",\n",[165,821,822,824],{"class":167,"line":326},[165,823,663],{"class":269},[165,825,635],{"class":308},[155,827,830],{"className":261,"code":828,"filename":829,"language":242,"meta":161,"style":161},"\u003Ctemplate>\n  \u003CUseBarcodeDetector v-slot=\"{ detected }\">\n    \u003Cpre>{{ detected }}\u003C\u002Fpre>\n  \u003C\u002FUseBarcodeDetector>\n\u003C\u002Ftemplate>\n","pages\u002Fscan.vue",[50,831,832,840,859,876,884],{"__ignoreMap":161},[165,833,834,836,838],{"class":167,"line":168},[165,835,270],{"class":269},[165,837,348],{"class":273},[165,839,295],{"class":269},[165,841,842,844,846,848,850,852,855,857],{"class":167,"line":298},[165,843,356],{"class":269},[165,845,359],{"class":273},[165,847,362],{"class":277},[165,849,284],{"class":269},[165,851,287],{"class":269},[165,853,854],{"class":174},"{ detected }",[165,856,287],{"class":269},[165,858,295],{"class":269},[165,860,861,863,865,867,870,872,874],{"class":167,"line":326},[165,862,379],{"class":269},[165,864,155],{"class":273},[165,866,466],{"class":269},[165,868,869],{"class":308},"{{ detected }}",[165,871,329],{"class":269},[165,873,155],{"class":273},[165,875,295],{"class":269},[165,877,878,880,882],{"class":167,"line":336},[165,879,518],{"class":269},[165,881,359],{"class":273},[165,883,295],{"class":269},[165,885,886,888,890],{"class":167,"line":343},[165,887,329],{"class":269},[165,889,348],{"class":273},[165,891,295],{"class":269},[47,893,894,895,900,901,903,904,907,908,910],{},"If your app already uses ",[55,896,898],{"href":102,"rel":897},[59],[50,899,106],{},", the module also registers ",[50,902,98],{}," — a ",[50,905,906],{},"UInput"," paired with a scan button that opens a live-camera modal. See the ",[55,909,29],{"href":30}," page for the full component reference.",[109,912,914],{"id":913},"polyfill","Polyfill",[47,916,917,918,921,922,927,928,930],{},"For browsers without a native ",[50,919,920],{},"BarcodeDetector"," (Firefox, Safari, desktop Linux Chromium), ship the ",[55,923,925],{"href":138,"rel":924},[59],[50,926,142],{}," polyfill — see ",[55,929,33],{"href":34}," for the supported browsers and exact wiring for Vue and Nuxt.",[109,932,934],{"id":933},"next-steps","Next steps",[63,936,937,942,949,954],{},[66,938,939,941],{},[55,940,33],{"href":34}," — browser support table and polyfill setup.",[66,943,944,948],{},[55,945,946],{"href":17},[50,947,16],{}," — the composable, the wrapper component, and the standalone overlay.",[66,950,951,953],{},[55,952,94],{"href":22}," — what gets auto-imported.",[66,955,956,958,959,258],{},[55,957,29],{"href":30}," — the optional ",[50,960,98],{},[962,963,964],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}",{"title":161,"searchDepth":298,"depth":298,"links":966},[967,968,969,970,971,972],{"id":111,"depth":298,"text":112},{"id":149,"depth":298,"text":150},{"id":242,"depth":298,"text":243},{"id":767,"depth":298,"text":21},{"id":913,"depth":298,"text":914},{"id":933,"depth":298,"text":934},"Install the package and wire up your first scanner in Vue or Nuxt.","md",null,{},{"icon":8},{"title":5,"description":973},"xbnuPB6DKMurzNaBCDrcCVGa63jAA8uG4IOUMSS36n0",[975,981],{"title":16,"path":17,"stem":18,"description":982,"children":-1},"Reactive wrapper around the Barcode Detection API.",1778249704722]