[{"data":1,"prerenderedAt":518},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-firebase\u002Ffirebase-ios-sdk":197},[4,50,87,104,140,166,182,187,192],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25,30,35,40,45],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F4.configuration","i-lucide-settings",{"title":26,"path":27,"stem":28,"icon":29},"Supported Formats","\u002Fgetting-started\u002Fsupported-formats","1.getting-started\u002F5.supported-formats","i-lucide-file-code",{"title":31,"path":32,"stem":33,"icon":34},"Agent Skill","\u002Fgetting-started\u002Fagent-skill","1.getting-started\u002F6.agent-skill","i-lucide-cpu",{"title":36,"path":37,"stem":38,"icon":39},"Changelog","\u002Fgetting-started\u002Fchangelog","1.getting-started\u002F7.changelog","i-lucide-scroll-text",{"title":41,"path":42,"stem":43,"icon":44},"Migrating from v4 to v5","\u002Fgetting-started\u002Fmigration","1.getting-started\u002F8.migration","i-lucide-arrow-right-left",{"title":46,"path":47,"stem":48,"icon":49},"jscpd v4 (TypeScript)","\u002Fgetting-started\u002Fv4","1.getting-started\u002F9.v4","i-simple-icons-typescript",{"title":51,"path":52,"stem":53,"children":54,"icon":6},"Guides","\u002Fguides","2.guides\u002F1.index",[55,57,62,67,72,77,82],{"title":51,"path":52,"stem":53,"icon":56},"i-lucide-book-open",{"title":58,"path":59,"stem":60,"icon":61},"Types of Code Clones","\u002Fguides\u002Fclone-types","2.guides\u002F2.clone-types","i-lucide-copy",{"title":63,"path":64,"stem":65,"icon":66},"How Detection Works","\u002Fguides\u002Fhow-detection-works","2.guides\u002F3.how-detection-works","i-lucide-scan-search",{"title":68,"path":69,"stem":70,"icon":71},"Duplication Trend over Git History","\u002Fguides\u002Fhistory","2.guides\u002F4.history","i-lucide-chart-no-axes-combined",{"title":73,"path":74,"stem":75,"icon":76},"Project Dashboard","\u002Fguides\u002Fdashboard","2.guides\u002F5.dashboard","i-lucide-layout-dashboard",{"title":78,"path":79,"stem":80,"icon":81},"Project Health Score","\u002Fguides\u002Fhealth","2.guides\u002F6.health","i-lucide-heart-pulse",{"title":83,"path":84,"stem":85,"icon":86},"Semantic Clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F7.semantic-clones","i-lucide-brain-circuit",{"title":88,"path":89,"stem":90,"children":91,"icon":6},"CI & Hooks","\u002Fci-and-hooks","3.ci-and-hooks\u002F1.index",[92,94,99],{"title":88,"path":89,"stem":90,"icon":93},"i-lucide-git-pull-request",{"title":95,"path":96,"stem":97,"icon":98},"Use jscpd in CI","\u002Fci-and-hooks\u002Fci","3.ci-and-hooks\u002F2.ci","i-lucide-github",{"title":100,"path":101,"stem":102,"icon":103},"Use jscpd in Pre-Commit Hook","\u002Fci-and-hooks\u002Fpre-commit","3.ci-and-hooks\u002F3.pre-commit","i-lucide-git-commit",{"title":105,"path":106,"stem":107,"children":108,"icon":110},"Reporters","\u002Freporters","4.reporters\u002F1.index",[109,111,115,120,125,130,135],{"title":105,"path":106,"stem":107,"icon":110},"i-lucide-file-chart-column",{"title":112,"path":113,"stem":114,"icon":29},"HTML Reporter","\u002Freporters\u002Fhtml","4.reporters\u002F2.html",{"title":116,"path":117,"stem":118,"icon":119},"JSON Reporter","\u002Freporters\u002Fjson","4.reporters\u002F3.json","i-lucide-braces",{"title":121,"path":122,"stem":123,"icon":124},"Badge Reporter","\u002Freporters\u002Fbadge","4.reporters\u002F4.badge","i-lucide-award",{"title":126,"path":127,"stem":128,"icon":129},"SARIF Reporter","\u002Freporters\u002Fsarif","4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":131,"path":132,"stem":133,"icon":134},"CodeClimate \u002F GitLab Reporter","\u002Freporters\u002Fcodeclimate","4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":136,"path":137,"stem":138,"icon":139},"OpenMetrics Reporter","\u002Freporters\u002Fopenmetrics","4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":141,"path":142,"stem":143,"children":144,"icon":6},"Benchmarks","\u002Fbenchmarks","5.benchmarks\u002F1.index",[145,147,152,157,162],{"title":141,"path":142,"stem":143,"icon":146},"i-lucide-gauge",{"title":148,"path":149,"stem":150,"icon":151},"Detection Speed","\u002Fbenchmarks\u002Fdetection-speed","5.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":153,"path":154,"stem":155,"icon":156},"Multi-Format Detection","\u002Fbenchmarks\u002Fcross-format","5.benchmarks\u002F3.cross-format","i-lucide-layers",{"title":158,"path":159,"stem":160,"icon":161},"AI Token Efficiency","\u002Fbenchmarks\u002Fai-token-efficiency","5.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":163,"path":164,"stem":165,"icon":86},"Embedding Models","\u002Fbenchmarks\u002Fembedding-models","5.benchmarks\u002F5.embedding-models",{"title":167,"path":168,"stem":169,"children":170,"icon":172},"API","\u002Fapi","6.api\u002F1.index",[171,173,178],{"title":167,"path":168,"stem":169,"icon":172},"i-lucide-code",{"title":174,"path":175,"stem":176,"icon":177},"Rust Crates (v5)","\u002Fapi\u002Fcore","6.api\u002F2.core","i-lucide-box",{"title":179,"path":180,"stem":181,"icon":177},"MCP Server","\u002Fapi\u002Fmcp-server","6.api\u002F4.mcp-server",{"title":183,"path":184,"stem":185,"icon":186},"Trending","\u002Ftrending","7.trending","i-lucide-trending-up",{"title":188,"path":189,"stem":190,"icon":191},"Research","\u002Fresearch","8.research","i-lucide-graduation-cap",{"title":193,"path":194,"stem":195,"icon":196},"Articles","\u002Farticles","9.articles","i-lucide-newspaper",{"name":198,"url":199,"appearances":200,"latest":214},"firebase\u002Ffirebase-ios-sdk","https:\u002F\u002Fgithub.com\u002Ffirebase\u002Ffirebase-ios-sdk",[201],{"date":202,"rank":203,"stars":204,"starsToday":205,"headSha":206,"sources":207,"lines":208,"clones":209,"duplicatedLines":210,"percentage":211,"healthScore":212,"healthGrade":213},"2026-10-01",5,6781,8,"5dd405379179c09450e8e87c87823aec52c75033",3839,786056,12425,208501,26.52,37.5,"E",{"date":202,"generatedAt":215,"name":198,"url":199,"description":216,"language":217,"stars":204,"starsToday":205,"defaultBranch":218,"headSha":206,"durationMs":219,"total":220,"formats":224,"topClones":294,"health":392,"complexity":427,"deadCode":481},"2026-10-01T05:31:24.085Z","Firebase SDK for Apple App Development","C++","main",3604,{"sources":207,"lines":208,"tokens":221,"clones":209,"duplicatedLines":210,"duplicatedTokens":222,"percentage":211,"percentageTokens":223},5852354,2030031,34.69,[225,232,239,246,253,260,267,273,280,287],{"format":226,"sources":227,"lines":228,"clones":229,"duplicatedLines":230,"percentage":231},"c-header",1061,134369,3237,41360,30.78,{"format":233,"sources":234,"lines":235,"clones":236,"duplicatedLines":237,"percentage":238},"cpp",419,145159,2670,28770,19.82,{"format":240,"sources":241,"lines":242,"clones":243,"duplicatedLines":244,"percentage":245},"objectivec",853,187484,2583,32393,17.28,{"format":247,"sources":248,"lines":249,"clones":250,"duplicatedLines":251,"percentage":252},"json",96,95016,2247,84782,89.23,{"format":254,"sources":255,"lines":256,"clones":257,"duplicatedLines":258,"percentage":259},"swift",1012,166729,1406,17780,10.66,{"format":261,"sources":262,"lines":263,"clones":264,"duplicatedLines":265,"percentage":266},"yaml",61,6187,66,815,13.17,{"format":268,"sources":269,"lines":270,"clones":264,"duplicatedLines":271,"percentage":272},"txt",40,2571,781,30.38,{"format":274,"sources":275,"lines":276,"clones":277,"duplicatedLines":278,"percentage":279},"log",2,673,60,512,76.08,{"format":281,"sources":282,"lines":283,"clones":284,"duplicatedLines":285,"percentage":286},"python",24,12208,37,536,4.39,{"format":288,"sources":289,"lines":290,"clones":291,"duplicatedLines":292,"percentage":293},"c",19,6143,17,248,4.04,[295,305,315,324,335,345,353,363,372,381],{"format":247,"lines":296,"tokens":297,"firstFile":298,"secondFile":302},1202,3403,{"name":299,"start":300,"end":301},"Firestore\u002FExample\u002FTests\u002FSpecTests\u002Fjson\u002Fexistence_filter_spec_test.json",933,2134,{"name":299,"start":303,"end":304},2156,3357,{"format":247,"lines":306,"tokens":307,"firstFile":308,"secondFile":312},545,1331,{"name":309,"start":310,"end":311},"Firestore\u002FExample\u002FTests\u002FSpecTests\u002Fjson\u002Fwrite_spec_test.json",4128,4672,{"name":309,"start":313,"end":314},8482,9026,{"format":226,"lines":291,"tokens":316,"firstFile":317,"secondFile":321},958,{"name":318,"start":319,"end":320},"Firestore\u002FSource\u002FPublic\u002FFirebaseFirestore\u002FFIRFirestore.h",219,235,{"name":318,"start":322,"end":323},257,273,{"format":240,"lines":325,"tokens":326,"firstFile":327,"secondFile":331},117,912,{"name":328,"start":329,"end":330},"FirebaseMessaging\u002FSources\u002FFIRMessaging.m",1192,1308,{"name":332,"start":333,"end":334},"FirebaseMessaging\u002FSources\u002FFIRMessagingUtilities.m",130,246,{"format":247,"lines":336,"tokens":337,"firstFile":338,"secondFile":342},364,860,{"name":339,"start":340,"end":341},"Firestore\u002FExample\u002FTests\u002FSpecTests\u002Fjson\u002Flimbo_spec_test.json",7911,8274,{"name":339,"start":343,"end":344},8449,8812,{"format":226,"lines":346,"tokens":347,"firstFile":348,"secondFile":350},13,813,{"name":318,"start":349,"end":319},207,{"name":318,"start":351,"end":352},243,255,{"format":247,"lines":354,"tokens":355,"firstFile":356,"secondFile":360},335,788,{"name":357,"start":358,"end":359},"Firestore\u002FExample\u002FTests\u002FSpecTests\u002Fjson\u002Flimit_spec_test.json",1484,1818,{"name":357,"start":361,"end":362},2429,2763,{"format":226,"lines":291,"tokens":364,"firstFile":365,"secondFile":369},762,{"name":366,"start":367,"end":368},"FirebaseDatabase\u002FSources\u002FPublic\u002FFirebaseDatabase\u002FFIRDatabaseReference.h",770,786,{"name":366,"start":370,"end":371},790,806,{"format":247,"lines":373,"tokens":374,"firstFile":375,"secondFile":378},315,755,{"name":339,"start":376,"end":377},9642,9956,{"name":339,"start":379,"end":380},11273,11587,{"format":240,"lines":382,"tokens":383,"firstFile":384,"secondFile":388},126,749,{"name":385,"start":386,"end":387},"FirebaseStorage\u002FTests\u002FObjCIntegration\u002FObjCAPITests.m",25,150,{"name":389,"start":390,"end":391},"FirebaseStorage\u002FTests\u002FObjCIntegration\u002FObjCPPAPITests.mm",26,151,{"score":212,"grade":213,"size":393,"dimensions":397,"skipped":423},{"lines":394,"files":395,"class":396},662501,3488,"L",[398,417],{"id":399,"source":400,"value":401,"adjusted":401,"lines":402,"halfLife":403,"formats":404,"excluded":411,"weight":415,"score":416},"duplication","jscpd",18.3,121230,8.5,[240,254,233,226,281,405,288,406,407,408,409,410],"bash","cmake","ruby","hcl","javascript","perl",[412,413,414],"markup","text","data",1,22.6,{"id":418,"source":400,"value":419,"adjusted":419,"lines":420,"halfLife":421,"weight":415,"score":422},"complexity",34.4,227848,50,62.1,[424],{"id":425,"reason":426},"dead-code","the languages dead code reads are under 5% of the code",{"total":428,"mean":429,"files":430},51232,14.7,[431,436,441,446,451,456,461,466,471,476],{"path":432,"complexity":433,"lines":434,"bytes":435},"Firestore\u002FProtos\u002Fcpp\u002Fgoogle\u002Ffirestore\u002Fv1\u002Ffirestore.pb.h",1952,15217,638655,{"path":437,"complexity":438,"lines":439,"bytes":440},"Firestore\u002FProtos\u002Fcpp\u002Fgoogle\u002Ffirestore\u002Fv1\u002Ffirestore.pb.cc",1345,11610,482738,{"path":442,"complexity":443,"lines":444,"bytes":445},"scripts\u002Fcpplint.py",1114,6762,255408,{"path":447,"complexity":448,"lines":449,"bytes":450},"Firestore\u002FProtos\u002Fcpp\u002Fgoogle\u002Ffirestore\u002Fv1\u002Fquery.pb.h",738,5947,264136,{"path":452,"complexity":453,"lines":454,"bytes":455},"Firestore\u002FProtos\u002Fcpp\u002Fgoogle\u002Ffirestore\u002Fv1\u002Fquery.pb.cc",493,4682,203195,{"path":457,"complexity":458,"lines":459,"bytes":460},"Firestore\u002FProtos\u002Fcpp\u002Fgoogle\u002Ffirestore\u002Fv1\u002Fwrite.pb.h",491,4084,170749,{"path":462,"complexity":463,"lines":464,"bytes":465},"Firestore\u002FProtos\u002Fcpp\u002Fgoogle\u002Ffirestore\u002Fv1\u002Fdocument.pb.h",448,3685,144045,{"path":467,"complexity":468,"lines":469,"bytes":470},"Firestore\u002Fcore\u002Fsrc\u002Fcore\u002Fexpressions_eval.cc",428,2535,91679,{"path":472,"complexity":473,"lines":474,"bytes":475},"Firestore\u002Fcore\u002Fsrc\u002Fmodel\u002Fvalue_util.cc",411,2010,70287,{"path":477,"complexity":478,"lines":479,"bytes":480},"Firestore\u002FProtos\u002Fcpp\u002Fgoogle\u002Ffirestore\u002Fv1\u002Fwrite.pb.cc",348,3124,128426,{"percentage":482,"findings":205,"files":483,"byCategory":484,"largest":491},2.17,27,[485,487,489],{"category":486,"count":415},"unused-file",{"category":488,"count":203},"unused-symbol",{"category":490,"count":275},"unused-import",[492,496,500,503,506,509,512,514],{"category":486,"path":493,"name":494,"line":415,"lines":495},"scripts\u002Flldb\u002Ffirestore.py","",256,{"category":488,"path":442,"name":497,"line":498,"lines":499},"_IncludeError",1542,3,{"category":488,"path":442,"name":501,"line":502,"lines":499},"_RE_PATTERN_REF_PARAM",5241,{"category":488,"path":442,"name":504,"line":505,"lines":499},"_RE_PATTERN_CONST_REF_PARAM",5246,{"category":488,"path":442,"name":507,"line":508,"lines":275},"_RE_PATTERN_REF_STREAM_PARAM",5250,{"category":490,"path":510,"name":511,"line":291,"lines":415},"Firestore\u002FProtos\u002Flib\u002Fpretty_printing.py","textwrap",{"category":490,"path":510,"name":513,"line":289,"lines":415},"FieldDescriptorProto",{"category":488,"path":515,"name":516,"line":517,"lines":415},"scripts\u002Flib\u002Fchecker.py","_output_lock",32,1790832762426]