[{"data":1,"prerenderedAt":1432},["ShallowReactive",2],{"doc:\u002Fguides\u002Fevaluation":3,"nav:guides":1382},{"doc":4,"source":1381},{"id":5,"title":6,"body":7,"description":17,"extension":1375,"meta":1376,"navigation":441,"path":1377,"seo":1378,"stem":1379,"__hash__":1380},"guides\u002Fguides\u002Fevaluation.md","Evaluation",{"type":8,"value":9,"toc":1368},"minimark",[10,14,18,23,30,58,74,78,230,239,243,249,559,569,798,831,845,849,918,1169,1196,1200,1207,1318,1364],[11,12,6],"h1",{"id":13},"evaluation",[15,16,17],"p",{},"An evaluator turns a module, or an expression inside a module, into a value. You read that value either as a typed Zig value or as a dynamic tree.",[19,20,22],"h2",{"id":21},"sources","Sources",[15,24,25,29],{},[26,27,28],"code",{},"zig_pkl.Source"," names what to evaluate:",[31,32,33,48],"ul",{},[34,35,36,39,40,43,44,47],"li",{},[26,37,38],{},"Source.uri(\"file:\u002F\u002F\u002Fsrv\u002Fapp\u002Fconfig.pkl\")"," loads a module by URI. Use ",[26,41,42],{},"uri.fromFile(allocator, io, path)"," to build the ",[26,45,46],{},"file:"," URI of a path; it resolves relative paths and symlinks the way Pkl expects.",[34,49,50,53,54,57],{},[26,51,52],{},"Source.text(\"port = 8080\")"," evaluates inline text as the module ",[26,55,56],{},"repl:text",". Relative imports from inline text do not resolve, so import by absolute URI.",[15,59,60,61,64,65,68,69,73],{},"Any URI scheme an evaluator allows works, including ",[26,62,63],{},"package:",", ",[26,66,67],{},"modulepath:",", and schemes served by your own ",[70,71,72],"a",{"href":72},"readers",".",[19,75,77],{"id":76},"whole-modules-and-expressions","Whole modules and expressions",[79,80,85],"pre",{"className":81,"code":82,"language":83,"meta":84,"style":84},"language-zig shiki shiki-themes github-light github-dark","var tree = try evaluator.evaluateSource(source, null, &failure);       \u002F\u002F the module\nvar port = try evaluator.evaluateSource(source, \"port\", &failure);     \u002F\u002F one expression\nvar url = try evaluator.evaluateSource(source, \"url(\\\"\u002Fhealth\\\")\", &failure);\n","zig","",[26,86,87,142,182],{"__ignoreMap":84},[88,89,92,96,100,103,106,109,112,116,119,122,124,127,129,132,135,138],"span",{"class":90,"line":91},"line",1,[88,93,95],{"class":94},"szBVR","var",[88,97,99],{"class":98},"s4XuR"," tree",[88,101,102],{"class":94}," =",[88,104,105],{"class":94}," try",[88,107,108],{"class":98}," evaluator",[88,110,73],{"class":111},"sVt8B",[88,113,115],{"class":114},"sScJk","evaluateSource",[88,117,118],{"class":111},"(",[88,120,121],{"class":98},"source",[88,123,64],{"class":111},[88,125,126],{"class":94},"null",[88,128,64],{"class":111},[88,130,131],{"class":94},"&",[88,133,134],{"class":98},"failure",[88,136,137],{"class":111},");       ",[88,139,141],{"class":140},"sJ8bj","\u002F\u002F the module\n",[88,143,145,147,150,152,154,156,158,160,162,164,166,170,172,174,176,179],{"class":90,"line":144},2,[88,146,95],{"class":94},[88,148,149],{"class":98}," port",[88,151,102],{"class":94},[88,153,105],{"class":94},[88,155,108],{"class":98},[88,157,73],{"class":111},[88,159,115],{"class":114},[88,161,118],{"class":111},[88,163,121],{"class":98},[88,165,64],{"class":111},[88,167,169],{"class":168},"sZZnC","\"port\"",[88,171,64],{"class":111},[88,173,131],{"class":94},[88,175,134],{"class":98},[88,177,178],{"class":111},");     ",[88,180,181],{"class":140},"\u002F\u002F one expression\n",[88,183,185,187,190,192,194,196,198,200,202,204,206,209,213,216,218,221,223,225,227],{"class":90,"line":184},3,[88,186,95],{"class":94},[88,188,189],{"class":98}," url",[88,191,102],{"class":94},[88,193,105],{"class":94},[88,195,108],{"class":98},[88,197,73],{"class":111},[88,199,115],{"class":114},[88,201,118],{"class":111},[88,203,121],{"class":98},[88,205,64],{"class":111},[88,207,208],{"class":168},"\"url(",[88,210,212],{"class":211},"sj4cs","\\\"",[88,214,215],{"class":168},"\u002Fhealth",[88,217,212],{"class":211},[88,219,220],{"class":168},")\"",[88,222,64],{"class":111},[88,224,131],{"class":94},[88,226,134],{"class":98},[88,228,229],{"class":111},");\n",[15,231,232,233,73],{},"An expression is evaluated inside the module, so it can call the module's functions and read its properties. See ",[70,234,236],{"href":235},"..\u002F..\u002Fexamples\u002Fexpressions\u002Fmain.zig",[26,237,238],{},"examples\u002Fexpressions",[19,240,242],{"id":241},"typed-values","Typed values",[15,244,245,248],{},[26,246,247],{},"evaluateInto"," evaluates and copies the result into a Zig type:",[79,250,252],{"className":81,"code":251,"language":83,"meta":84,"style":84},"const App = struct {\n    name: []const u8,\n    port: u16,\n    timeout: zig_pkl.convert.Duration,\n    max_upload: zig_pkl.convert.DataSize,\n    tags: []const []const u8,\n    limits: zig_pkl.convert.Map([]const u8, i64),\n    database: struct { host: []const u8, port: u16 = 5432 },\n\n    pub const pkl_names = .{ .max_upload = \"maxUpload\" };\n};\n\nconst app = try evaluator.evaluateInto(App, allocator, source, null, &failure);\ndefer zig_pkl.convert.freeInto(App, allocator, app);\n",[26,253,254,270,286,299,322,343,362,396,436,443,471,477,482,526],{"__ignoreMap":84},[88,255,256,259,262,264,267],{"class":90,"line":91},[88,257,258],{"class":94},"const",[88,260,261],{"class":98}," App",[88,263,102],{"class":94},[88,265,266],{"class":94}," struct",[88,268,269],{"class":111}," {\n",[88,271,272,275,278,280,283],{"class":90,"line":144},[88,273,274],{"class":98},"    name",[88,276,277],{"class":111},": []",[88,279,258],{"class":94},[88,281,282],{"class":94}," u8",[88,284,285],{"class":111},",\n",[88,287,288,291,294,297],{"class":90,"line":184},[88,289,290],{"class":98},"    port",[88,292,293],{"class":111},": ",[88,295,296],{"class":94},"u16",[88,298,285],{"class":111},[88,300,302,305,307,310,312,315,317,320],{"class":90,"line":301},4,[88,303,304],{"class":98},"    timeout",[88,306,293],{"class":111},[88,308,309],{"class":98},"zig_pkl",[88,311,73],{"class":111},[88,313,314],{"class":98},"convert",[88,316,73],{"class":111},[88,318,319],{"class":98},"Duration",[88,321,285],{"class":111},[88,323,325,328,330,332,334,336,338,341],{"class":90,"line":324},5,[88,326,327],{"class":98},"    max_upload",[88,329,293],{"class":111},[88,331,309],{"class":98},[88,333,73],{"class":111},[88,335,314],{"class":98},[88,337,73],{"class":111},[88,339,340],{"class":98},"DataSize",[88,342,285],{"class":111},[88,344,346,349,351,353,356,358,360],{"class":90,"line":345},6,[88,347,348],{"class":98},"    tags",[88,350,277],{"class":111},[88,352,258],{"class":94},[88,354,355],{"class":111}," []",[88,357,258],{"class":94},[88,359,282],{"class":94},[88,361,285],{"class":111},[88,363,365,368,370,372,374,376,378,381,384,386,388,390,393],{"class":90,"line":364},7,[88,366,367],{"class":98},"    limits",[88,369,293],{"class":111},[88,371,309],{"class":98},[88,373,73],{"class":111},[88,375,314],{"class":98},[88,377,73],{"class":111},[88,379,380],{"class":114},"Map",[88,382,383],{"class":111},"([]",[88,385,258],{"class":94},[88,387,282],{"class":94},[88,389,64],{"class":111},[88,391,392],{"class":94},"i64",[88,394,395],{"class":111},"),\n",[88,397,399,402,404,407,410,413,415,417,419,421,424,426,428,430,433],{"class":90,"line":398},8,[88,400,401],{"class":98},"    database",[88,403,293],{"class":111},[88,405,406],{"class":94},"struct",[88,408,409],{"class":111}," { ",[88,411,412],{"class":98},"host",[88,414,277],{"class":111},[88,416,258],{"class":94},[88,418,282],{"class":94},[88,420,64],{"class":111},[88,422,423],{"class":98},"port",[88,425,293],{"class":111},[88,427,296],{"class":94},[88,429,102],{"class":94},[88,431,432],{"class":211}," 5432",[88,434,435],{"class":111}," },\n",[88,437,439],{"class":90,"line":438},9,[88,440,442],{"emptyLinePlaceholder":441},true,"\n",[88,444,446,449,452,455,457,460,463,465,468],{"class":90,"line":445},10,[88,447,448],{"class":94},"    pub",[88,450,451],{"class":94}," const",[88,453,454],{"class":98}," pkl_names",[88,456,102],{"class":94},[88,458,459],{"class":111}," .{ .",[88,461,462],{"class":98},"max_upload",[88,464,102],{"class":94},[88,466,467],{"class":168}," \"maxUpload\"",[88,469,470],{"class":111}," };\n",[88,472,474],{"class":90,"line":473},11,[88,475,476],{"class":111},"};\n",[88,478,480],{"class":90,"line":479},12,[88,481,442],{"emptyLinePlaceholder":441},[88,483,485,487,490,492,494,496,498,500,502,505,507,510,512,514,516,518,520,522,524],{"class":90,"line":484},13,[88,486,258],{"class":94},[88,488,489],{"class":98}," app",[88,491,102],{"class":94},[88,493,105],{"class":94},[88,495,108],{"class":98},[88,497,73],{"class":111},[88,499,247],{"class":114},[88,501,118],{"class":111},[88,503,504],{"class":98},"App",[88,506,64],{"class":111},[88,508,509],{"class":98},"allocator",[88,511,64],{"class":111},[88,513,121],{"class":98},[88,515,64],{"class":111},[88,517,126],{"class":94},[88,519,64],{"class":111},[88,521,131],{"class":94},[88,523,134],{"class":98},[88,525,229],{"class":111},[88,527,529,532,535,537,539,541,544,546,548,550,552,554,557],{"class":90,"line":528},14,[88,530,531],{"class":94},"defer",[88,533,534],{"class":98}," zig_pkl",[88,536,73],{"class":111},[88,538,314],{"class":98},[88,540,73],{"class":111},[88,542,543],{"class":114},"freeInto",[88,545,118],{"class":111},[88,547,504],{"class":98},[88,549,64],{"class":111},[88,551,509],{"class":98},[88,553,64],{"class":111},[88,555,556],{"class":98},"app",[88,558,229],{"class":111},[15,560,561,564,565,568],{},[26,562,563],{},"convert.into"," and ",[26,566,567],{},"convert.from"," do the same conversion on a tree you already have. The supported Zig types are:",[570,571,572,585],"table",{},[573,574,575],"thead",{},[576,577,578,582],"tr",{},[579,580,581],"th",{},"Pkl",[579,583,584],{},"Zig",[586,587,588,601,621,638,650,666,680,692,708,732,741,749,761,769,785],"tbody",{},[576,589,590,596],{},[591,592,593],"td",{},[26,594,595],{},"Boolean",[591,597,598],{},[26,599,600],{},"bool",[576,602,603,615],{},[591,604,605,64,608,611,612],{},[26,606,607],{},"Int",[26,609,610],{},"Int8"," to ",[26,613,614],{},"UInt64",[591,616,617,618],{},"any integer type; out-of-range values fail with ",[26,619,620],{},"error.Overflow",[576,622,623,630],{},[591,624,625,64,628],{},[26,626,627],{},"Float",[26,629,607],{},[591,631,632,64,635],{},[26,633,634],{},"f32",[26,636,637],{},"f64",[576,639,640,645],{},[591,641,642],{},[26,643,644],{},"String",[591,646,647],{},[26,648,649],{},"[]const u8",[576,651,652,663],{},[591,653,654,64,657,64,660],{},[26,655,656],{},"List",[26,658,659],{},"Listing",[26,661,662],{},"Set",[591,664,665],{},"slices",[576,667,668,675],{},[591,669,670,64,672],{},[26,671,380],{},[26,673,674],{},"Mapping",[591,676,677],{},[26,678,679],{},"convert.Map(K, V)",[576,681,682,687],{},[591,683,684],{},[26,685,686],{},"Pair",[591,688,689],{},[26,690,691],{},"convert.Pair(A, B)",[576,693,694,700],{},[591,695,696,64,698],{},[26,697,319],{},[26,699,340],{},[591,701,702,64,705],{},[26,703,704],{},"convert.Duration",[26,706,707],{},"convert.DataSize",[576,709,710,721],{},[591,711,712,64,715,64,718],{},[26,713,714],{},"Regex",[26,716,717],{},"Bytes",[26,719,720],{},"IntSeq",[591,722,723,64,726,64,729],{},[26,724,725],{},"convert.Regex",[26,727,728],{},"convert.Bytes",[26,730,731],{},"convert.IntSeq",[576,733,734,738],{},[591,735,736],{},[26,737,126],{},[591,739,740],{},"optionals",[576,742,743,746],{},[591,744,745],{},"string literal unions",[591,747,748],{},"enums",[576,750,751,758],{},[591,752,753,754,757],{},"classes and ",[26,755,756],{},"Dynamic"," objects",[591,759,760],{},"structs",[576,762,763,766],{},[591,764,765],{},"unions of classes",[591,767,768],{},"tagged unions",[576,770,771,779],{},[591,772,773,64,776],{},[26,774,775],{},"Any",[26,777,778],{},"unknown",[591,780,781,784],{},[26,782,783],{},"convert.Dynamic",", an owned copy of the tree",[576,786,787,793],{},[591,788,789,792],{},[26,790,791],{},"pkl:ref"," references",[591,794,795],{},[26,796,797],{},"convert.Reference(D, T)",[15,799,800,801,803,804,807,808,811,812,815,816,819,820,823,824,830],{},"A ",[26,802,756],{}," object decodes from its properties only, so ",[26,805,806],{},"tags { \"a\"; \"b\" }"," in an untyped module does not fill a slice; write ",[26,809,810],{},"tags = new Listing { \"a\"; \"b\" }"," or declare the property's type. Struct fields match Pkl property names. Declare ",[26,813,814],{},"pkl_names"," for fields named differently, ",[26,817,818],{},"pkl_class"," to tie a struct to a Pkl class, and ",[26,821,822],{},"pkl_subclasses"," for subclasses it also accepts. Fields with defaults may be missing from the value. The ",[70,825,827,829],{"href":826},"..\u002F..\u002Fsrc\u002Fvalue\u002Fconvert.zig",[26,828,314],{}," reference"," lists the rules for picking a union member.",[15,832,833,837,838,844],{},[70,834,836],{"href":835},"..\u002Fcodegen","Code generation"," writes these types for you from the Pkl module. See ",[70,839,841],{"href":840},"..\u002F..\u002Fexamples\u002Ftyped\u002Fmain.zig",[26,842,843],{},"examples\u002Ftyped"," for hand-written types.",[19,846,848],{"id":847},"dynamic-values","Dynamic values",[15,850,851,853,854,857,858,861,862,865,866,64,869,64,872,64,875,64,878,64,881,64,884,64,887,64,890,64,893,64,896,64,899,64,902,64,905,64,908,64,911,64,914,917],{},[26,852,115],{}," returns a ",[26,855,856],{},"value.Tree",". Its ",[26,859,860],{},"root"," is a ",[26,863,864],{},"zig_pkl.Value",", a tagged union with one member per pkl-binary kind: ",[26,867,868],{},"object",[26,870,871],{},"list",[26,873,874],{},"listing",[26,876,877],{},"set",[26,879,880],{},"map",[26,882,883],{},"mapping",[26,885,886],{},"string",[26,888,889],{},"int",[26,891,892],{},"float",[26,894,895],{},"duration",[26,897,898],{},"data_size",[26,900,901],{},"pair",[26,903,904],{},"regex",[26,906,907],{},"bytes",[26,909,910],{},"class",[26,912,913],{},"type_alias",[26,915,916],{},"reference",", and others.",[79,919,921],{"className":81,"code":920,"language":83,"meta":84,"style":84},"var tree = try evaluator.evaluateSource(source, null, &failure);\ndefer tree.deinit();\nconst name = zig_pkl.value.findProperty(tree.root, \"name\").?.string;\nfor (tree.root.object.members) |member| switch (member) {\n    .property => |property| std.debug.print(\"{s}\\n\", .{property.name}),\n    .entry => |entry| _ = entry,\n    .element => |element| _ = element,\n};\n",[26,922,923,955,969,1017,1061,1116,1141,1165],{"__ignoreMap":84},[88,924,925,927,929,931,933,935,937,939,941,943,945,947,949,951,953],{"class":90,"line":91},[88,926,95],{"class":94},[88,928,99],{"class":98},[88,930,102],{"class":94},[88,932,105],{"class":94},[88,934,108],{"class":98},[88,936,73],{"class":111},[88,938,115],{"class":114},[88,940,118],{"class":111},[88,942,121],{"class":98},[88,944,64],{"class":111},[88,946,126],{"class":94},[88,948,64],{"class":111},[88,950,131],{"class":94},[88,952,134],{"class":98},[88,954,229],{"class":111},[88,956,957,959,961,963,966],{"class":90,"line":144},[88,958,531],{"class":94},[88,960,99],{"class":98},[88,962,73],{"class":111},[88,964,965],{"class":114},"deinit",[88,967,968],{"class":111},"();\n",[88,970,971,973,976,978,980,982,985,987,990,992,995,997,999,1001,1004,1007,1010,1012,1014],{"class":90,"line":184},[88,972,258],{"class":94},[88,974,975],{"class":98}," name",[88,977,102],{"class":94},[88,979,534],{"class":98},[88,981,73],{"class":111},[88,983,984],{"class":98},"value",[88,986,73],{"class":111},[88,988,989],{"class":114},"findProperty",[88,991,118],{"class":111},[88,993,994],{"class":98},"tree",[88,996,73],{"class":111},[88,998,860],{"class":98},[88,1000,64],{"class":111},[88,1002,1003],{"class":168},"\"name\"",[88,1005,1006],{"class":111},").",[88,1008,1009],{"class":94},"?",[88,1011,73],{"class":111},[88,1013,886],{"class":98},[88,1015,1016],{"class":111},";\n",[88,1018,1019,1022,1025,1027,1029,1031,1033,1035,1037,1040,1043,1046,1049,1051,1054,1056,1058],{"class":90,"line":301},[88,1020,1021],{"class":94},"for",[88,1023,1024],{"class":111}," (",[88,1026,994],{"class":98},[88,1028,73],{"class":111},[88,1030,860],{"class":98},[88,1032,73],{"class":111},[88,1034,868],{"class":98},[88,1036,73],{"class":111},[88,1038,1039],{"class":98},"members",[88,1041,1042],{"class":111},") ",[88,1044,1045],{"class":94},"|",[88,1047,1048],{"class":98},"member",[88,1050,1045],{"class":94},[88,1052,1053],{"class":94}," switch",[88,1055,1024],{"class":111},[88,1057,1048],{"class":98},[88,1059,1060],{"class":111},") {\n",[88,1062,1063,1066,1069,1072,1075,1077,1079,1082,1084,1087,1089,1092,1094,1097,1100,1103,1106,1108,1110,1113],{"class":90,"line":324},[88,1064,1065],{"class":111},"    .",[88,1067,1068],{"class":98},"property",[88,1070,1071],{"class":94}," =>",[88,1073,1074],{"class":94}," |",[88,1076,1068],{"class":98},[88,1078,1045],{"class":94},[88,1080,1081],{"class":98}," std",[88,1083,73],{"class":111},[88,1085,1086],{"class":98},"debug",[88,1088,73],{"class":111},[88,1090,1091],{"class":114},"print",[88,1093,118],{"class":111},[88,1095,1096],{"class":168},"\"{s}",[88,1098,1099],{"class":211},"\\n",[88,1101,1102],{"class":168},"\"",[88,1104,1105],{"class":111},", .{",[88,1107,1068],{"class":98},[88,1109,73],{"class":111},[88,1111,1112],{"class":98},"name",[88,1114,1115],{"class":111},"}),\n",[88,1117,1118,1120,1123,1125,1127,1129,1131,1134,1136,1139],{"class":90,"line":345},[88,1119,1065],{"class":111},[88,1121,1122],{"class":98},"entry",[88,1124,1071],{"class":94},[88,1126,1074],{"class":94},[88,1128,1122],{"class":98},[88,1130,1045],{"class":94},[88,1132,1133],{"class":98}," _",[88,1135,102],{"class":94},[88,1137,1138],{"class":98}," entry",[88,1140,285],{"class":111},[88,1142,1143,1145,1148,1150,1152,1154,1156,1158,1160,1163],{"class":90,"line":364},[88,1144,1065],{"class":111},[88,1146,1147],{"class":98},"element",[88,1149,1071],{"class":94},[88,1151,1074],{"class":94},[88,1153,1147],{"class":98},[88,1155,1045],{"class":94},[88,1157,1133],{"class":98},[88,1159,102],{"class":94},[88,1161,1162],{"class":98}," element",[88,1164,285],{"class":111},[88,1166,1167],{"class":90,"line":398},[88,1168,476],{"class":111},[15,1170,1171,1172,1174,1175,1178,1179,1181,1182,1185,1186,1189,1190,73],{},"Lists keep their kind: a ",[26,1173,656],{}," arrives as ",[26,1176,1177],{},".list"," and a ",[26,1180,659],{}," as ",[26,1183,1184],{},".listing",", so the distinction survives a round trip through ",[26,1187,1188],{},"value.encode",". See ",[70,1191,1193],{"href":1192},"..\u002F..\u002Fexamples\u002Fdynamic\u002Fmain.zig",[26,1194,1195],{},"examples\u002Fdynamic",[19,1197,1199],{"id":1198},"module-output","Module output",[15,1201,1202,1203,1206],{},"A module renders its output through ",[26,1204,1205],{},"output",". Evaluate the parts you need as expressions:",[79,1208,1210],{"className":81,"code":1209,"language":83,"meta":84,"style":84},"var text = try evaluator.evaluateSource(source, \"output.text\", &failure);\nvar files = try evaluator.evaluateSource(source, \"output.files.toMap().mapValues((_, file) -> file.text)\", &failure);\nvar bytes = try evaluator.evaluateSource(source, \"output.bytes\", &failure); \u002F\u002F Pkl 0.29 and newer\n",[26,1211,1212,1246,1280],{"__ignoreMap":84},[88,1213,1214,1216,1219,1221,1223,1225,1227,1229,1231,1233,1235,1238,1240,1242,1244],{"class":90,"line":91},[88,1215,95],{"class":94},[88,1217,1218],{"class":98}," text",[88,1220,102],{"class":94},[88,1222,105],{"class":94},[88,1224,108],{"class":98},[88,1226,73],{"class":111},[88,1228,115],{"class":114},[88,1230,118],{"class":111},[88,1232,121],{"class":98},[88,1234,64],{"class":111},[88,1236,1237],{"class":168},"\"output.text\"",[88,1239,64],{"class":111},[88,1241,131],{"class":94},[88,1243,134],{"class":98},[88,1245,229],{"class":111},[88,1247,1248,1250,1253,1255,1257,1259,1261,1263,1265,1267,1269,1272,1274,1276,1278],{"class":90,"line":144},[88,1249,95],{"class":94},[88,1251,1252],{"class":98}," files",[88,1254,102],{"class":94},[88,1256,105],{"class":94},[88,1258,108],{"class":98},[88,1260,73],{"class":111},[88,1262,115],{"class":114},[88,1264,118],{"class":111},[88,1266,121],{"class":98},[88,1268,64],{"class":111},[88,1270,1271],{"class":168},"\"output.files.toMap().mapValues((_, file) -> file.text)\"",[88,1273,64],{"class":111},[88,1275,131],{"class":94},[88,1277,134],{"class":98},[88,1279,229],{"class":111},[88,1281,1282,1284,1287,1289,1291,1293,1295,1297,1299,1301,1303,1306,1308,1310,1312,1315],{"class":90,"line":184},[88,1283,95],{"class":94},[88,1285,1286],{"class":98}," bytes",[88,1288,102],{"class":94},[88,1290,105],{"class":94},[88,1292,108],{"class":98},[88,1294,73],{"class":111},[88,1296,115],{"class":114},[88,1298,118],{"class":111},[88,1300,121],{"class":98},[88,1302,64],{"class":111},[88,1304,1305],{"class":168},"\"output.bytes\"",[88,1307,64],{"class":111},[88,1309,131],{"class":94},[88,1311,134],{"class":98},[88,1313,1314],{"class":111},"); ",[88,1316,1317],{"class":140},"\u002F\u002F Pkl 0.29 and newer\n",[15,1319,1320,1321,1324,1325,1328,1329,64,1332,64,1335,64,1338,64,1341,64,1344,64,1347,1350,1351,1354,1355,1357,1358,73],{},"Set ",[26,1322,1323],{},"Options.output_format"," to a ",[26,1326,1327],{},"pkl eval --format"," name such as ",[26,1330,1331],{},"\"json\"",[26,1333,1334],{},"\"yaml\"",[26,1336,1337],{},"\"pcf\"",[26,1339,1340],{},"\"plist\"",[26,1342,1343],{},"\"properties\"",[26,1345,1346],{},"\"textproto\"",[26,1348,1349],{},"\"jsonnet\"",", or ",[26,1352,1353],{},"\"xml\""," to choose the renderer for modules that do not set one, as ",[26,1356,1327],{}," does. See ",[70,1359,1361],{"href":1360},"..\u002F..\u002Fexamples\u002Foutput\u002Fmain.zig",[26,1362,1363],{},"examples\u002Foutput",[1365,1366,1367],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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);}",{"title":84,"searchDepth":144,"depth":144,"links":1369},[1370,1371,1372,1373,1374],{"id":21,"depth":144,"text":22},{"id":76,"depth":144,"text":77},{"id":241,"depth":144,"text":242},{"id":847,"depth":144,"text":848},{"id":1198,"depth":144,"text":1199},"md",{},"\u002Fguides\u002Fevaluation",{"title":6,"description":17},"guides\u002Fevaluation","nqb-yHLkwASsBOkrjAH65CLGnqZi-om82pCuc9_GH6w","docs\u002Fguides\u002Fevaluation.md",[1383,1387,1391,1395,1396,1400,1404,1408,1412,1416,1420,1424,1428],{"title":1384,"path":1385,"stem":1386},"Version compatibility","\u002Fguides\u002Fcompatibility","guides\u002Fcompatibility",{"title":1388,"path":1389,"stem":1390},"Concurrency","\u002Fguides\u002Fconcurrency","guides\u002Fconcurrency",{"title":1392,"path":1393,"stem":1394},"Errors","\u002Fguides\u002Ferrors","guides\u002Ferrors",{"title":6,"path":1377,"stem":1379},{"title":1397,"path":1398,"stem":1399},"External readers","\u002Fguides\u002Fexternal-readers","guides\u002Fexternal-readers",{"title":1401,"path":1402,"stem":1403},"Installation","\u002Fguides\u002Finstallation","guides\u002Finstallation",{"title":1405,"path":1406,"stem":1407},"Logging","\u002Fguides\u002Flogging","guides\u002Flogging",{"title":1409,"path":1410,"stem":1411},"Migrating from pkl-zig","\u002Fguides\u002Fmigration","guides\u002Fmigration",{"title":1413,"path":1414,"stem":1415},"Ownership","\u002Fguides\u002Fownership","guides\u002Fownership",{"title":1417,"path":1418,"stem":1419},"Projects","\u002Fguides\u002Fprojects","guides\u002Fprojects",{"title":1421,"path":1422,"stem":1423},"Quick start","\u002Fguides\u002Fquickstart","guides\u002Fquickstart",{"title":1425,"path":1426,"stem":1427},"Readers","\u002Fguides\u002Freaders","guides\u002Freaders",{"title":1429,"path":1430,"stem":1431},"Security","\u002Fguides\u002Fsecurity","guides\u002Fsecurity",1792908673089]