[{"data":1,"prerenderedAt":452},["ShallowReactive",2],{"navigation_docs":3,"-api-core":72,"-api-core-surround":447},[4,30,51],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"/getting-started","1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","/getting-started/introduction","1.getting-started/2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","/getting-started/installation","1.getting-started/3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Configuration","/getting-started/configuration","1.getting-started/4.configuration","i-lucide-settings",{"title":26,"path":27,"stem":28,"icon":29},"Supported Formats","/getting-started/supported-formats","1.getting-started/5.supported-formats","i-lucide-file-code",{"title":31,"path":32,"stem":33,"children":34,"icon":36},"Reporters","/reporters","2.reporters/1.index",[35,37,41,46],{"title":31,"path":32,"stem":33,"icon":36},"i-lucide-file-chart-column",{"title":38,"path":39,"stem":40,"icon":29},"HTML Reporter","/reporters/html","2.reporters/2.html",{"title":42,"path":43,"stem":44,"icon":45},"JSON Reporter","/reporters/json","2.reporters/3.json","i-lucide-braces",{"title":47,"path":48,"stem":49,"icon":50},"Badge Reporter","/reporters/badge","2.reporters/4.badge","i-lucide-award",{"title":52,"path":53,"stem":54,"children":55,"icon":57},"API","/api","3.api/1.index",[56,58,63,68],{"title":52,"path":53,"stem":54,"icon":57},"i-lucide-code",{"title":59,"path":60,"stem":61,"icon":62},"Core Package","/api/core","3.api/2.core","i-lucide-box",{"title":64,"path":65,"stem":66,"icon":67},"Server API","/api/server","3.api/3.server","i-lucide-server",{"title":69,"path":70,"stem":71,"icon":62},"MCP Server","/api/mcp-server","3.api/4.mcp-server",{"id":73,"title":59,"body":74,"description":439,"extension":440,"links":441,"meta":442,"navigation":443,"path":60,"seo":444,"stem":61,"__hash__":446},"docs/3.api/2.core.md",{"type":75,"value":76,"toc":432},"minimark",[77,81,107,111,118,122,250,254,274,278,281,428],[78,79,16],"h2",{"id":80},"installation",[82,83,88],"pre",{"className":84,"code":85,"language":86,"meta":87,"style":87},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install @jscpd/core\n","bash","",[89,90,91],"code",{"__ignoreMap":87},[92,93,96,100,104],"span",{"class":94,"line":95},"line",1,[92,97,99],{"class":98},"sBMFI","npm",[92,101,103],{"class":102},"sfazB"," install",[92,105,106],{"class":102}," @jscpd/core\n",[78,108,110],{"id":109},"overview","Overview",[112,113,114,117],"p",{},[89,115,116],{},"@jscpd/core"," contains the core detection algorithm. It can be used for detecting duplication in different environments with minimal dependencies.",[78,119,121],{"id":120},"basic-usage","Basic Usage",[82,123,127],{"className":124,"code":125,"language":126,"meta":87,"style":87},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { Detector, MemoryStore } from '@jscpd/core';\n\nconst store = new MemoryStore();\nconst detector = new Detector(store, options);\n\n// Add your tokenized content\ndetector.detect(tokens);\n","typescript",[89,128,129,166,173,197,221,226,233],{"__ignoreMap":87},[92,130,131,135,139,143,146,149,152,155,158,160,163],{"class":94,"line":95},[92,132,134],{"class":133},"s7zQu","import",[92,136,138],{"class":137},"sMK4o"," {",[92,140,142],{"class":141},"sTEyZ"," Detector",[92,144,145],{"class":137},",",[92,147,148],{"class":141}," MemoryStore",[92,150,151],{"class":137}," }",[92,153,154],{"class":133}," from",[92,156,157],{"class":137}," '",[92,159,116],{"class":102},[92,161,162],{"class":137},"'",[92,164,165],{"class":137},";\n",[92,167,169],{"class":94,"line":168},2,[92,170,172],{"emptyLinePlaceholder":171},true,"\n",[92,174,176,180,183,186,189,192,195],{"class":94,"line":175},3,[92,177,179],{"class":178},"spNyl","const",[92,181,182],{"class":141}," store ",[92,184,185],{"class":137},"=",[92,187,188],{"class":137}," new",[92,190,148],{"class":191},"s2Zo4",[92,193,194],{"class":141},"()",[92,196,165],{"class":137},[92,198,200,202,205,207,209,211,214,216,219],{"class":94,"line":199},4,[92,201,179],{"class":178},[92,203,204],{"class":141}," detector ",[92,206,185],{"class":137},[92,208,188],{"class":137},[92,210,142],{"class":191},[92,212,213],{"class":141},"(store",[92,215,145],{"class":137},[92,217,218],{"class":141}," options)",[92,220,165],{"class":137},[92,222,224],{"class":94,"line":223},5,[92,225,172],{"emptyLinePlaceholder":171},[92,227,229],{"class":94,"line":228},6,[92,230,232],{"class":231},"sHwdD","// Add your tokenized content\n",[92,234,236,239,242,245,248],{"class":94,"line":235},7,[92,237,238],{"class":141},"detector",[92,240,241],{"class":137},".",[92,243,244],{"class":191},"detect",[92,246,247],{"class":141},"(tokens)",[92,249,165],{"class":137},[78,251,253],{"id":252},"features","Features",[255,256,257,265,268,271],"ul",{},[258,259,260,261,264],"li",{},"Minimal dependencies (only ",[89,262,263],{},"eventemitter3",")",[258,266,267],{},"Can be used in browser environments",[258,269,270],{},"Customizable stores",[258,272,273],{},"Event-based detection process",[78,275,277],{"id":276},"events","Events",[112,279,280],{},"The detector emits events during detection:",[82,282,284],{"className":124,"code":283,"language":126,"meta":87,"style":87},"detector.on('CLONE_FOUND', (clone) => {\n  console.log('Found clone:', clone);\n});\n\ndetector.on('MATCH_START', (match) => {\n  console.log('Match started:', match);\n});\n",[89,285,286,322,351,360,364,394,420],{"__ignoreMap":87},[92,287,288,290,292,295,298,300,303,305,307,310,314,316,319],{"class":94,"line":95},[92,289,238],{"class":141},[92,291,241],{"class":137},[92,293,294],{"class":191},"on",[92,296,297],{"class":141},"(",[92,299,162],{"class":137},[92,301,302],{"class":102},"CLONE_FOUND",[92,304,162],{"class":137},[92,306,145],{"class":137},[92,308,309],{"class":137}," (",[92,311,313],{"class":312},"sHdIc","clone",[92,315,264],{"class":137},[92,317,318],{"class":178}," =>",[92,320,321],{"class":137}," {\n",[92,323,324,327,329,332,335,337,340,342,344,347,349],{"class":94,"line":168},[92,325,326],{"class":141},"  console",[92,328,241],{"class":137},[92,330,331],{"class":191},"log",[92,333,297],{"class":334},"swJcz",[92,336,162],{"class":137},[92,338,339],{"class":102},"Found clone:",[92,341,162],{"class":137},[92,343,145],{"class":137},[92,345,346],{"class":141}," clone",[92,348,264],{"class":334},[92,350,165],{"class":137},[92,352,353,356,358],{"class":94,"line":175},[92,354,355],{"class":137},"}",[92,357,264],{"class":141},[92,359,165],{"class":137},[92,361,362],{"class":94,"line":199},[92,363,172],{"emptyLinePlaceholder":171},[92,365,366,368,370,372,374,376,379,381,383,385,388,390,392],{"class":94,"line":223},[92,367,238],{"class":141},[92,369,241],{"class":137},[92,371,294],{"class":191},[92,373,297],{"class":141},[92,375,162],{"class":137},[92,377,378],{"class":102},"MATCH_START",[92,380,162],{"class":137},[92,382,145],{"class":137},[92,384,309],{"class":137},[92,386,387],{"class":312},"match",[92,389,264],{"class":137},[92,391,318],{"class":178},[92,393,321],{"class":137},[92,395,396,398,400,402,404,406,409,411,413,416,418],{"class":94,"line":228},[92,397,326],{"class":141},[92,399,241],{"class":137},[92,401,331],{"class":191},[92,403,297],{"class":334},[92,405,162],{"class":137},[92,407,408],{"class":102},"Match started:",[92,410,162],{"class":137},[92,412,145],{"class":137},[92,414,415],{"class":141}," match",[92,417,264],{"class":334},[92,419,165],{"class":137},[92,421,422,424,426],{"class":94,"line":235},[92,423,355],{"class":137},[92,425,264],{"class":141},[92,427,165],{"class":137},[429,430,431],"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 .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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":87,"searchDepth":168,"depth":168,"links":433},[434,435,436,437,438],{"id":80,"depth":168,"text":16},{"id":109,"depth":168,"text":110},{"id":120,"depth":168,"text":121},{"id":252,"depth":168,"text":253},{"id":276,"depth":168,"text":277},"Use @jscpd/core for custom integrations.","md",null,{},{"icon":62},{"title":116,"description":445},"Core detection algorithm for custom jscpd integrations.","QgekBdcOK5dkY5fMgMLXzLYBMJYf3RBGT4GcYm7QNGE",[448,450],{"title":52,"path":53,"stem":54,"description":449,"icon":57,"children":-1},"Use jscpd programmatically in your applications.",{"title":64,"path":65,"stem":66,"description":451,"icon":67,"children":-1},"Use jscpd-server for remote duplication detection.",1772457400252]