[{"data":1,"prerenderedAt":912},["ShallowReactive",2],{"navigation-id":3,"page-\u002Fid\u002Fcomposables\u002Fuse-gsheet-as-object":133,"\u002Fid\u002Fcomposables\u002Fuse-gsheet-as-object-surround":907},[4],{"title":5,"path":6,"stem":7,"children":8,"page":26},"Id","\u002Fid","id",[9,27,48,77,90,96],{"title":10,"path":11,"stem":12,"children":13,"page":26},"Panduan Memulai","\u002Fid\u002Fgetting-started","id\u002F1.getting-started",[14,18,22],{"title":15,"path":16,"stem":17},"Pengenalan","\u002Fid\u002Fgetting-started\u002Fintroduction","id\u002F1.getting-started\u002F1.introduction",{"title":19,"path":20,"stem":21},"Instalasi","\u002Fid\u002Fgetting-started\u002Finstallation","id\u002F1.getting-started\u002F2.installation",{"title":23,"path":24,"stem":25},"Referensi Konfigurasi","\u002Fid\u002Fgetting-started\u002Fconfiguration","id\u002F1.getting-started\u002F3.configuration",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Composables","\u002Fid\u002Fcomposables","id\u002F2.composables",[32,36,40,44],{"title":33,"path":34,"stem":35},"useGSheet","\u002Fid\u002Fcomposables\u002Fuse-gsheet","id\u002F2.composables\u002F1.use-gsheet",{"title":37,"path":38,"stem":39},"useGSheetAsObject","\u002Fid\u002Fcomposables\u002Fuse-gsheet-as-object","id\u002F2.composables\u002F2.use-gsheet-as-object",{"title":41,"path":42,"stem":43},"useGSheetRow","\u002Fid\u002Fcomposables\u002Fuse-gsheet-row","id\u002F2.composables\u002F3.use-gsheet-row",{"title":45,"path":46,"stem":47},"useGSheetWrite","\u002Fid\u002Fcomposables\u002Fuse-gsheet-write","id\u002F2.composables\u002F4.use-gsheet-write",{"title":49,"path":50,"stem":51,"children":52,"page":26},"Mode Autentikasi","\u002Fid\u002Fauth-modes","id\u002F3.auth-modes",[53,57,61,65,69,73],{"title":54,"path":55,"stem":56},"Gambaran Umum Mode Autentikasi","\u002Fid\u002Fauth-modes\u002Foverview","id\u002F3.auth-modes\u002F1.overview",{"title":58,"path":59,"stem":60},"Mode GViz (Google Visualization API)","\u002Fid\u002Fauth-modes\u002Fgviz","id\u002F3.auth-modes\u002F2.gviz",{"title":62,"path":63,"stem":64},"Mode Ekspor CSV","\u002Fid\u002Fauth-modes\u002Fcsv","id\u002F3.auth-modes\u002F3.csv",{"title":66,"path":67,"stem":68},"Mode Google Apps Script","\u002Fid\u002Fauth-modes\u002Fappscript","id\u002F3.auth-modes\u002F4.appscript",{"title":70,"path":71,"stem":72},"Mode API Key","\u002Fid\u002Fauth-modes\u002Fapikey","id\u002F3.auth-modes\u002F5.apikey",{"title":74,"path":75,"stem":76},"Mode Service Account","\u002Fid\u002Fauth-modes\u002Fservice-account","id\u002F3.auth-modes\u002F6.service-account",{"title":78,"path":79,"stem":80,"children":81,"page":26},"Integrasi AI","\u002Fid\u002Fai","id\u002F4.ai",[82,86],{"title":83,"path":84,"stem":85},"Agent Skills (Integrasi AI)","\u002Fid\u002Fai\u002Fagent-skills","id\u002F4.ai\u002F1.agent-skills",{"title":87,"path":88,"stem":89},"Model Context Protocol (MCP)","\u002Fid\u002Fai\u002Fmcp","id\u002F4.ai\u002F2.mcp",{"title":91,"path":92,"stem":93,"children":94},"Demo Langsung","\u002Fid\u002Fdemos","id\u002F5.demos\u002Findex",[95],{"title":91,"path":92,"stem":93},{"title":97,"path":98,"stem":99,"children":100,"page":26},"Tutorial Praktis","\u002Fid\u002Ftutorials","id\u002F6.tutorials",[101,105,109,113,117,121,125,129],{"title":102,"path":103,"stem":104},"Gambaran Umum Tutorial","\u002Fid\u002Ftutorials\u002Foverview","id\u002F6.tutorials\u002F0.overview",{"title":106,"path":107,"stem":108},"Tutorial Apps Script Web App","\u002Fid\u002Ftutorials\u002Fappscript-tutorial","id\u002F6.tutorials\u002F1.appscript-tutorial",{"title":110,"path":111,"stem":112},"Tutorial Langkah demi Langkah Lengkap","\u002Fid\u002Ftutorials\u002Fstep-by-step","id\u002F6.tutorials\u002F1.step-by-step",{"title":114,"path":115,"stem":116},"Tutorial Analytics GViz SQL","\u002Fid\u002Ftutorials\u002Fgviz-sql-tutorial","id\u002F6.tutorials\u002F2.gviz-sql-tutorial",{"title":118,"path":119,"stem":120},"Tutorial Katalog Produk CSV","\u002Fid\u002Ftutorials\u002Fcsv-catalog-tutorial","id\u002F6.tutorials\u002F3.csv-catalog-tutorial",{"title":122,"path":123,"stem":124},"Tutorial Inventaris API Key","\u002Fid\u002Ftutorials\u002Fapikey-tutorial","id\u002F6.tutorials\u002F4.apikey-tutorial",{"title":126,"path":127,"stem":128},"Tutorial HR & Payroll Service Account","\u002Fid\u002Ftutorials\u002Fservice-account-tutorial","id\u002F6.tutorials\u002F5.service-account-tutorial",{"title":130,"path":131,"stem":132},"Tutorial Sheet Routing Map","\u002Fid\u002Ftutorials\u002Fsheets-routing-tutorial","id\u002F6.tutorials\u002F6.sheets-routing-tutorial",{"id":134,"title":37,"body":135,"description":901,"extension":902,"icon":903,"links":903,"meta":904,"navigation":903,"path":38,"seo":905,"stem":39,"__hash__":906},"docs_id\u002Fid\u002F2.composables\u002F2.use-gsheet-as-object.md",{"type":136,"value":137,"toc":896},"minimark",[138,146,151,395,399,406,469,476,592,596,892],[139,140,141,142,145],"p",{},"Composable ",[143,144,37],"code",{}," memetakan baris-baris spreadsheet menjadi array objek key-value menggunakan label header kolom pada baris pertama.",[147,148,150],"h2",{"id":149},"signature","Signature",[152,153,158],"pre",{"className":154,"code":155,"language":156,"meta":157,"style":157},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","function useGSheetAsObject\u003CT = any[]>(\n  range: string,\n  options?: ComposablesOptions\n): {\n  data: Ref\u003CT | null>\n  pending: Ref\u003Cboolean>\n  error: Ref\u003CFetchError | null>\n  refresh: () => Promise\u003Cvoid>\n  execute: () => Promise\u003Cvoid>\n  status: Ref\u003C'idle' | 'pending' | 'success' | 'error'>\n}\n","ts","",[143,159,160,194,210,222,231,256,273,294,318,338,389],{"__ignoreMap":157},[161,162,165,169,173,177,181,184,187,191],"span",{"class":163,"line":164},"line",1,[161,166,168],{"class":167},"spNyl","function",[161,170,172],{"class":171},"s2Zo4"," useGSheetAsObject",[161,174,176],{"class":175},"sMK4o","\u003C",[161,178,180],{"class":179},"sBMFI","T",[161,182,183],{"class":175}," =",[161,185,186],{"class":179}," any",[161,188,190],{"class":189},"sTEyZ","[]",[161,192,193],{"class":175},">(\n",[161,195,197,201,204,207],{"class":163,"line":196},2,[161,198,200],{"class":199},"sHdIc","  range",[161,202,203],{"class":175},":",[161,205,206],{"class":179}," string",[161,208,209],{"class":175},",\n",[161,211,213,216,219],{"class":163,"line":212},3,[161,214,215],{"class":199},"  options",[161,217,218],{"class":175},"?:",[161,220,221],{"class":179}," ComposablesOptions\n",[161,223,225,228],{"class":163,"line":224},4,[161,226,227],{"class":175},"):",[161,229,230],{"class":175}," {\n",[161,232,234,238,240,243,245,247,250,253],{"class":163,"line":233},5,[161,235,237],{"class":236},"swJcz","  data",[161,239,203],{"class":175},[161,241,242],{"class":179}," Ref",[161,244,176],{"class":175},[161,246,180],{"class":179},[161,248,249],{"class":175}," |",[161,251,252],{"class":179}," null",[161,254,255],{"class":175},">\n",[161,257,259,262,264,266,268,271],{"class":163,"line":258},6,[161,260,261],{"class":236},"  pending",[161,263,203],{"class":175},[161,265,242],{"class":179},[161,267,176],{"class":175},[161,269,270],{"class":179},"boolean",[161,272,255],{"class":175},[161,274,276,279,281,283,285,288,290,292],{"class":163,"line":275},7,[161,277,278],{"class":236},"  error",[161,280,203],{"class":175},[161,282,242],{"class":179},[161,284,176],{"class":175},[161,286,287],{"class":179},"FetchError",[161,289,249],{"class":175},[161,291,252],{"class":179},[161,293,255],{"class":175},[161,295,297,300,302,305,308,311,313,316],{"class":163,"line":296},8,[161,298,299],{"class":236},"  refresh",[161,301,203],{"class":175},[161,303,304],{"class":175}," ()",[161,306,307],{"class":167}," =>",[161,309,310],{"class":179}," Promise",[161,312,176],{"class":175},[161,314,315],{"class":179},"void",[161,317,255],{"class":175},[161,319,321,324,326,328,330,332,334,336],{"class":163,"line":320},9,[161,322,323],{"class":236},"  execute",[161,325,203],{"class":175},[161,327,304],{"class":175},[161,329,307],{"class":167},[161,331,310],{"class":179},[161,333,176],{"class":175},[161,335,315],{"class":179},[161,337,255],{"class":175},[161,339,341,344,346,348,350,353,357,359,361,364,367,369,371,373,376,378,380,382,385,387],{"class":163,"line":340},10,[161,342,343],{"class":236},"  status",[161,345,203],{"class":175},[161,347,242],{"class":179},[161,349,176],{"class":175},[161,351,352],{"class":175},"'",[161,354,356],{"class":355},"sfazB","idle",[161,358,352],{"class":175},[161,360,249],{"class":175},[161,362,363],{"class":175}," '",[161,365,366],{"class":355},"pending",[161,368,352],{"class":175},[161,370,249],{"class":175},[161,372,363],{"class":175},[161,374,375],{"class":355},"success",[161,377,352],{"class":175},[161,379,249],{"class":175},[161,381,363],{"class":175},[161,383,384],{"class":355},"error",[161,386,352],{"class":175},[161,388,255],{"class":175},[161,390,392],{"class":163,"line":391},11,[161,393,394],{"class":175},"}\n",[147,396,398],{"id":397},"cara-kerja","Cara Kerja",[139,400,401,402,405],{},"Jika range spreadsheet kamu ",[143,403,404],{},"A1:C3"," berisi:",[407,408,409,426],"table",{},[410,411,412],"thead",{},[413,414,415,420,423],"tr",{},[416,417,419],"th",{"align":418},"left","A",[416,421,422],{"align":418},"B",[416,424,425],{"align":418},"C",[427,428,429,447,458],"tbody",{},[413,430,431,437,442],{},[432,433,434],"td",{"align":418},[435,436,7],"strong",{},[432,438,439],{"align":418},[435,440,441],{},"name",[432,443,444],{"align":418},[435,445,446],{},"price",[413,448,449,452,455],{},[432,450,451],{"align":418},"101",[432,453,454],{"align":418},"Wireless Mouse",[432,456,457],{"align":418},"29.99",[413,459,460,463,466],{},[432,461,462],{"align":418},"102",[432,464,465],{"align":418},"Mechanical Keyboard",[432,467,468],{"align":418},"89.99",[139,470,471,472,475],{},"Maka ",[143,473,474],{},"useGSheetAsObject('A1:C3')"," menghasilkan output:",[152,477,481],{"className":478,"code":479,"language":480,"meta":157,"style":157},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[\n  { \"id\": 101, \"name\": \"Wireless Mouse\", \"price\": 29.99 },\n  { \"id\": 102, \"name\": \"Mechanical Keyboard\", \"price\": 89.99 }\n]\n","json",[143,482,483,488,540,587],{"__ignoreMap":157},[161,484,485],{"class":163,"line":164},[161,486,487],{"class":175},"[\n",[161,489,490,493,496,498,501,503,507,510,512,514,516,518,520,522,524,526,528,530,532,534,537],{"class":163,"line":196},[161,491,492],{"class":175},"  {",[161,494,495],{"class":175}," \"",[161,497,7],{"class":167},[161,499,500],{"class":175},"\"",[161,502,203],{"class":175},[161,504,506],{"class":505},"sbssI"," 101",[161,508,509],{"class":175},",",[161,511,495],{"class":175},[161,513,441],{"class":167},[161,515,500],{"class":175},[161,517,203],{"class":175},[161,519,495],{"class":175},[161,521,454],{"class":355},[161,523,500],{"class":175},[161,525,509],{"class":175},[161,527,495],{"class":175},[161,529,446],{"class":167},[161,531,500],{"class":175},[161,533,203],{"class":175},[161,535,536],{"class":505}," 29.99",[161,538,539],{"class":175}," },\n",[161,541,542,544,546,548,550,552,555,557,559,561,563,565,567,569,571,573,575,577,579,581,584],{"class":163,"line":212},[161,543,492],{"class":175},[161,545,495],{"class":175},[161,547,7],{"class":167},[161,549,500],{"class":175},[161,551,203],{"class":175},[161,553,554],{"class":505}," 102",[161,556,509],{"class":175},[161,558,495],{"class":175},[161,560,441],{"class":167},[161,562,500],{"class":175},[161,564,203],{"class":175},[161,566,495],{"class":175},[161,568,465],{"class":355},[161,570,500],{"class":175},[161,572,509],{"class":175},[161,574,495],{"class":175},[161,576,446],{"class":167},[161,578,500],{"class":175},[161,580,203],{"class":175},[161,582,583],{"class":505}," 89.99",[161,585,586],{"class":175}," }\n",[161,588,589],{"class":163,"line":224},[161,590,591],{"class":175},"]\n",[147,593,595],{"id":594},"contoh-penggunaan","Contoh Penggunaan",[152,597,602],{"className":598,"code":599,"filename":600,"language":601,"meta":157,"style":157},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\ninterface Product {\n  id: string\n  name: string\n  price: string\n}\n\nconst { data: products, pending } = await useGSheetAsObject\u003CProduct[]>('A1:C50', {\n  sheet: 'products'\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-if=\"pending\">Memuat produk...\u003C\u002Fdiv>\n  \u003Cul v-else>\n    \u003Cli v-for=\"product in products\" :key=\"product.id\">\n      {{ product.name }} - ${{ product.price }}\n    \u003C\u002Fli>\n  \u003C\u002Ful>\n\u003C\u002Ftemplate>\n","pages\u002Fproducts.vue","vue",[143,603,604,628,638,648,657,666,670,676,732,747,754,763,768,778,809,822,857,863,873,883],{"__ignoreMap":157},[161,605,606,608,611,614,617,620,622,624,626],{"class":163,"line":164},[161,607,176],{"class":175},[161,609,610],{"class":236},"script",[161,612,613],{"class":167}," setup",[161,615,616],{"class":167}," lang",[161,618,619],{"class":175},"=",[161,621,500],{"class":175},[161,623,156],{"class":355},[161,625,500],{"class":175},[161,627,255],{"class":175},[161,629,630,633,636],{"class":163,"line":196},[161,631,632],{"class":167},"interface",[161,634,635],{"class":179}," Product",[161,637,230],{"class":175},[161,639,640,643,645],{"class":163,"line":212},[161,641,642],{"class":236},"  id",[161,644,203],{"class":175},[161,646,647],{"class":179}," string\n",[161,649,650,653,655],{"class":163,"line":224},[161,651,652],{"class":236},"  name",[161,654,203],{"class":175},[161,656,647],{"class":179},[161,658,659,662,664],{"class":163,"line":233},[161,660,661],{"class":236},"  price",[161,663,203],{"class":175},[161,665,647],{"class":179},[161,667,668],{"class":163,"line":258},[161,669,394],{"class":175},[161,671,672],{"class":163,"line":275},[161,673,675],{"emptyLinePlaceholder":674},true,"\n",[161,677,678,681,684,687,689,692,694,697,700,702,706,708,710,713,715,718,721,723,726,728,730],{"class":163,"line":296},[161,679,680],{"class":167},"const",[161,682,683],{"class":175}," {",[161,685,686],{"class":236}," data",[161,688,203],{"class":175},[161,690,691],{"class":189}," products",[161,693,509],{"class":175},[161,695,696],{"class":189}," pending ",[161,698,699],{"class":175},"}",[161,701,183],{"class":175},[161,703,705],{"class":704},"s7zQu"," await",[161,707,172],{"class":171},[161,709,176],{"class":175},[161,711,712],{"class":179},"Product",[161,714,190],{"class":189},[161,716,717],{"class":175},">",[161,719,720],{"class":189},"(",[161,722,352],{"class":175},[161,724,725],{"class":355},"A1:C50",[161,727,352],{"class":175},[161,729,509],{"class":175},[161,731,230],{"class":175},[161,733,734,737,739,741,744],{"class":163,"line":320},[161,735,736],{"class":236},"  sheet",[161,738,203],{"class":175},[161,740,363],{"class":175},[161,742,743],{"class":355},"products",[161,745,746],{"class":175},"'\n",[161,748,749,751],{"class":163,"line":340},[161,750,699],{"class":175},[161,752,753],{"class":189},")\n",[161,755,756,759,761],{"class":163,"line":391},[161,757,758],{"class":175},"\u003C\u002F",[161,760,610],{"class":236},[161,762,255],{"class":175},[161,764,766],{"class":163,"line":765},12,[161,767,675],{"emptyLinePlaceholder":674},[161,769,771,773,776],{"class":163,"line":770},13,[161,772,176],{"class":175},[161,774,775],{"class":236},"template",[161,777,255],{"class":175},[161,779,781,784,787,790,792,794,796,798,800,803,805,807],{"class":163,"line":780},14,[161,782,783],{"class":175},"  \u003C",[161,785,786],{"class":236},"div",[161,788,789],{"class":167}," v-if",[161,791,619],{"class":175},[161,793,500],{"class":175},[161,795,366],{"class":355},[161,797,500],{"class":175},[161,799,717],{"class":175},[161,801,802],{"class":189},"Memuat produk...",[161,804,758],{"class":175},[161,806,786],{"class":236},[161,808,255],{"class":175},[161,810,812,814,817,820],{"class":163,"line":811},15,[161,813,783],{"class":175},[161,815,816],{"class":236},"ul",[161,818,819],{"class":167}," v-else",[161,821,255],{"class":175},[161,823,825,828,831,834,836,838,841,843,846,848,850,853,855],{"class":163,"line":824},16,[161,826,827],{"class":175},"    \u003C",[161,829,830],{"class":236},"li",[161,832,833],{"class":167}," v-for",[161,835,619],{"class":175},[161,837,500],{"class":175},[161,839,840],{"class":355},"product in products",[161,842,500],{"class":175},[161,844,845],{"class":167}," :key",[161,847,619],{"class":175},[161,849,500],{"class":175},[161,851,852],{"class":355},"product.id",[161,854,500],{"class":175},[161,856,255],{"class":175},[161,858,860],{"class":163,"line":859},17,[161,861,862],{"class":189},"      {{ product.name }} - ${{ product.price }}\n",[161,864,866,869,871],{"class":163,"line":865},18,[161,867,868],{"class":175},"    \u003C\u002F",[161,870,830],{"class":236},[161,872,255],{"class":175},[161,874,876,879,881],{"class":163,"line":875},19,[161,877,878],{"class":175},"  \u003C\u002F",[161,880,816],{"class":236},[161,882,255],{"class":175},[161,884,886,888,890],{"class":163,"line":885},20,[161,887,758],{"class":175},[161,889,775],{"class":236},[161,891,255],{"class":175},[893,894,895],"style",{},"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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}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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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}",{"title":157,"searchDepth":164,"depth":196,"links":897},[898,899,900],{"id":149,"depth":196,"text":150},{"id":397,"depth":196,"text":398},{"id":594,"depth":196,"text":595},"Petakan baris header pertama menjadi objek JavaScript secara otomatis.","md",null,{},{"title":37,"description":901},"SpXelYSjMBtBg_a_wUkxqK3RSPi0ncKU0B6BpaGMmsI",[908,910],{"title":33,"path":34,"stem":35,"description":909,"children":-1},"Ambil data grid sel mentah 2D dari range Google Sheets.",{"title":41,"path":42,"stem":43,"description":911,"children":-1},"Ambil satu baris spesifik berdasarkan indeks baris dari range spreadsheet.",1786088232601]