[{"data":1,"prerenderedAt":1072},["ShallowReactive",2],{"docs-nav:en":3,"docs:\u002Fdocs\u002Fschema\u002Fstandard-schema":186},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,16,20,24,28,50,75,120,145],{"title":10,"path":6,"stem":11},"What is Fougere","docs\u002Findex",{"title":13,"path":14,"stem":15},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F01.getting-started",{"title":17,"path":18,"stem":19},"An app you already have","\u002Fdocs\u002Fexisting-app","docs\u002F02.existing-app",{"title":21,"path":22,"stem":23},"Bring your schema","\u002Fdocs\u002Fbring-your-schema","docs\u002F03.bring-your-schema",{"title":25,"path":26,"stem":27},"The CLI","\u002Fdocs\u002Fcli","docs\u002F04.cli",{"title":29,"path":30,"stem":31,"children":32,"page":49},"Concepts","\u002Fdocs\u002Fconcepts","docs\u002F2.concepts",[33,37,41,45],{"title":34,"path":35,"stem":36},"Philosophy","\u002Fdocs\u002Fconcepts\u002Fphilosophy","docs\u002F2.concepts\u002F1.philosophy",{"title":38,"path":39,"stem":40},"The Frond","\u002Fdocs\u002Fconcepts\u002Ffrond","docs\u002F2.concepts\u002F2.frond",{"title":42,"path":43,"stem":44},"The shortest path","\u002Fdocs\u002Fconcepts\u002Fshortest-path","docs\u002F2.concepts\u002F3.shortest-path",{"title":46,"path":47,"stem":48},"The base","\u002Fdocs\u002Fconcepts\u002Fthe-base","docs\u002F2.concepts\u002F4.the-base",false,{"title":51,"path":52,"stem":53,"children":54,"page":49},"Schema","\u002Fdocs\u002Fschema","docs\u002F3.schema",[55,59,63,67,71],{"title":56,"path":57,"stem":58},"Entities","\u002Fdocs\u002Fschema\u002Fentities","docs\u002F3.schema\u002F1.entities",{"title":60,"path":61,"stem":62},"Views","\u002Fdocs\u002Fschema\u002Fviews","docs\u002F3.schema\u002F2.views",{"title":64,"path":65,"stem":66},"The identity card","\u002Fdocs\u002Fschema\u002Fcard","docs\u002F3.schema\u002F3.card",{"title":68,"path":69,"stem":70},"Standard Schema","\u002Fdocs\u002Fschema\u002Fstandard-schema","docs\u002F3.schema\u002F4.standard-schema",{"title":72,"path":73,"stem":74},"How a schema moves","\u002Fdocs\u002Fschema\u002Fevolution","docs\u002F3.schema\u002F5.evolution",{"title":76,"path":77,"stem":78,"children":79,"page":49},"Business","\u002Fdocs\u002Fbusiness","docs\u002F4.business",[80,84,88,92,96,100,104,108,112,116],{"title":81,"path":82,"stem":83},"Handlers","\u002Fdocs\u002Fbusiness\u002Fhandlers","docs\u002F4.business\u002F1.handlers",{"title":85,"path":86,"stem":87},"Ports","\u002Fdocs\u002Fbusiness\u002Fports","docs\u002F4.business\u002F10.ports",{"title":89,"path":90,"stem":91},"Presenters","\u002Fdocs\u002Fbusiness\u002Fpresenters","docs\u002F4.business\u002F2.presenters",{"title":93,"path":94,"stem":95},"Collectors","\u002Fdocs\u002Fbusiness\u002Fcollectors","docs\u002F4.business\u002F3.collectors",{"title":97,"path":98,"stem":99},"Errors","\u002Fdocs\u002Fbusiness\u002Ferrors","docs\u002F4.business\u002F4.errors",{"title":101,"path":102,"stem":103},"Seeds","\u002Fdocs\u002Fbusiness\u002Fseeds","docs\u002F4.business\u002F5.seeds",{"title":105,"path":106,"stem":107},"Facts","\u002Fdocs\u002Fbusiness\u002Ffacts","docs\u002F4.business\u002F6.facts",{"title":109,"path":110,"stem":111},"Storage","\u002Fdocs\u002Fbusiness\u002Fstorage","docs\u002F4.business\u002F7.storage",{"title":113,"path":114,"stem":115},"Writes that stand or fall as one","\u002Fdocs\u002Fbusiness\u002Ftogether","docs\u002F4.business\u002F8.together",{"title":117,"path":118,"stem":119},"Repositories","\u002Fdocs\u002Fbusiness\u002Frepositories","docs\u002F4.business\u002F9.repositories",{"title":121,"path":122,"stem":123,"children":124,"page":49},"Client","\u002Fdocs\u002Fclient","docs\u002F5.client",[125,129,133,137,141],{"title":126,"path":127,"stem":128},"Queries & commands","\u002Fdocs\u002Fclient\u002Fqueries-commands","docs\u002F5.client\u002F1.queries-commands",{"title":130,"path":131,"stem":132},"Forms","\u002Fdocs\u002Fclient\u002Fforms","docs\u002F5.client\u002F2.forms",{"title":134,"path":135,"stem":136},"Session","\u002Fdocs\u002Fclient\u002Fsession","docs\u002F5.client\u002F3.session",{"title":138,"path":139,"stem":140},"invoke","\u002Fdocs\u002Fclient\u002Finvoke","docs\u002F5.client\u002F4.invoke",{"title":142,"path":143,"stem":144},"Back-office","\u002Fdocs\u002Fclient\u002Fadmin","docs\u002F5.client\u002F5.admin",{"title":146,"path":147,"stem":148,"children":149,"page":49},"Infrastructure","\u002Fdocs\u002Finfra","docs\u002F6.infra",[150,154,158,162,166,170,174,178,182],{"title":151,"path":152,"stem":153},"The gradient","\u002Fdocs\u002Finfra\u002Fgradient","docs\u002F6.infra\u002F1.gradient",{"title":155,"path":156,"stem":157},"Surfaces — REST & GraphQL","\u002Fdocs\u002Finfra\u002Fsurfaces","docs\u002F6.infra\u002F2.surfaces",{"title":159,"path":160,"stem":161},"Deployment","\u002Fdocs\u002Finfra\u002Fdeployment","docs\u002F6.infra\u002F3.deployment",{"title":163,"path":164,"stem":165},"Hosts","\u002Fdocs\u002Finfra\u002Fhosts","docs\u002F6.infra\u002F4.hosts",{"title":167,"path":168,"stem":169},"Sources","\u002Fdocs\u002Finfra\u002Fsources","docs\u002F6.infra\u002F5.sources",{"title":171,"path":172,"stem":173},"Lifecycle","\u002Fdocs\u002Finfra\u002Flifecycle","docs\u002F6.infra\u002F6.lifecycle",{"title":175,"path":176,"stem":177},"Identity across Fronds","\u002Fdocs\u002Finfra\u002Fidentity","docs\u002F6.infra\u002F7.identity",{"title":179,"path":180,"stem":181},"Observability","\u002Fdocs\u002Finfra\u002Fobservability","docs\u002F6.infra\u002F8.observability",{"title":183,"path":184,"stem":185},"Testing","\u002Fdocs\u002Finfra\u002Ftesting","docs\u002F6.infra\u002F9.testing",{"id":187,"title":68,"body":188,"description":1067,"extension":1068,"meta":1069,"navigation":274,"path":69,"seo":1070,"stem":70,"__hash__":1071},"docs_en\u002Fdocs\u002F3.schema\u002F4.standard-schema.md",{"type":189,"value":190,"toc":1061},"minimark",[191,195,206,434,443,448,463,466,590,604,608,616,780,800,822,826,829,912,926,933,937,948,1030,1037,1051,1057],[192,193,68],"h1",{"id":194},"standard-schema",[196,197,198,199,205],"p",{},"An entity is a ",[200,201,68],"a",{"href":202,"rel":203},"https:\u002F\u002Fstandardschema.dev\u002F",[204],"nofollow",". It is the smallest way to\nuse Fougere: one package, one class, inside the framework you already have.",[207,208,213],"pre",{"className":209,"code":210,"language":211,"meta":212,"style":212},"language-ts shiki shiki-themes material-theme-lighter github-light github-dark","import { entity, primary, text, bool } from '@fougere\u002Fschema';\n\nexport default class Post extends entity({\n  id: primary(),\n  title: text({ min: 1, max: 200 }),\n  draft: bool({ default: false }),\n}) {}\n\nPost['~standard'];\n\u002F\u002F → { version: 1, vendor: 'fougere', validate }\n","ts","",[214,215,216,269,276,305,323,364,392,404,409,427],"code",{"__ignoreMap":212},[217,218,221,225,229,233,236,239,241,244,246,249,252,255,259,263,266],"span",{"class":219,"line":220},"line",1,[217,222,224],{"class":223},"sVHd0","import",[217,226,228],{"class":227},"sP7_E"," {",[217,230,232],{"class":231},"su5hD"," entity",[217,234,235],{"class":227},",",[217,237,238],{"class":231}," primary",[217,240,235],{"class":227},[217,242,243],{"class":231}," text",[217,245,235],{"class":227},[217,247,248],{"class":231}," bool",[217,250,251],{"class":227}," }",[217,253,254],{"class":223}," from",[217,256,258],{"class":257},"sjJ54"," '",[217,260,262],{"class":261},"s_sjI","@fougere\u002Fschema",[217,264,265],{"class":257},"'",[217,267,268],{"class":227},";\n",[217,270,272],{"class":219,"line":271},2,[217,273,275],{"emptyLinePlaceholder":274},true,"\n",[217,277,279,282,285,289,293,296,299,302],{"class":219,"line":278},3,[217,280,281],{"class":223},"export",[217,283,284],{"class":223}," default",[217,286,288],{"class":287},"sbsja"," class",[217,290,292],{"class":291},"sbgvK"," Post",[217,294,295],{"class":287}," extends",[217,297,232],{"class":298},"sGLFI",[217,300,301],{"class":231},"(",[217,303,304],{"class":227},"{\n",[217,306,308,312,315,317,320],{"class":219,"line":307},4,[217,309,311],{"class":310},"skxfh","  id",[217,313,314],{"class":227},":",[217,316,238],{"class":298},[217,318,319],{"class":231},"()",[217,321,322],{"class":227},",\n",[217,324,326,329,331,333,335,338,341,343,347,349,352,354,357,359,362],{"class":219,"line":325},5,[217,327,328],{"class":310},"  title",[217,330,314],{"class":227},[217,332,243],{"class":298},[217,334,301],{"class":231},[217,336,337],{"class":227},"{",[217,339,340],{"class":310}," min",[217,342,314],{"class":227},[217,344,346],{"class":345},"srdBf"," 1",[217,348,235],{"class":227},[217,350,351],{"class":310}," max",[217,353,314],{"class":227},[217,355,356],{"class":345}," 200",[217,358,251],{"class":227},[217,360,361],{"class":231},")",[217,363,322],{"class":227},[217,365,367,370,372,374,376,378,380,382,386,388,390],{"class":219,"line":366},6,[217,368,369],{"class":310},"  draft",[217,371,314],{"class":227},[217,373,248],{"class":298},[217,375,301],{"class":231},[217,377,337],{"class":227},[217,379,284],{"class":310},[217,381,314],{"class":227},[217,383,385],{"class":384},"syTEX"," false",[217,387,251],{"class":227},[217,389,361],{"class":231},[217,391,322],{"class":227},[217,393,395,398,401],{"class":219,"line":394},7,[217,396,397],{"class":227},"}",[217,399,400],{"class":231},") ",[217,402,403],{"class":227},"{}\n",[217,405,407],{"class":219,"line":406},8,[217,408,275],{"emptyLinePlaceholder":274},[217,410,412,415,417,420,422,425],{"class":219,"line":411},9,[217,413,414],{"class":231},"Post[",[217,416,265],{"class":257},[217,418,419],{"class":261},"~standard",[217,421,265],{"class":257},[217,423,424],{"class":231},"]",[217,426,268],{"class":227},[217,428,430],{"class":219,"line":429},10,[217,431,433],{"class":432},"sutJx","\u002F\u002F → { version: 1, vendor: 'fougere', validate }\n",[196,435,436,438,439,442],{},[214,437,419],{}," is a static getter on the class, so ",[214,440,441],{},"Post"," itself is the schema — there is\nnothing to wrap and no adapter package to install.",[444,445,447],"h2",{"id":446},"where-it-is-accepted","Where it is accepted",[196,449,450,451,454,455,458,459,462],{},"Any library that reads the spec takes an entity directly: tRPC, Hono, TanStack Form, and\n— announced for NestJS 12 — a Standard Schema in ",[214,452,453],{},"@Body",", ",[214,456,457],{},"@Query"," and ",[214,460,461],{},"@Param",", as the\nsuccessor to class-validator.",[196,464,465],{},"Derivations carry the interface too, which is what makes it useful at a route boundary —\nthe shape a caller may propose is rarely the whole row:",[207,467,469],{"className":209,"code":468,"language":211,"meta":212,"style":212},"export class PostDraft extends Post.pick('title') {}\nexport class PostPatch extends Post.omit('id').partial() {}\n\nPostDraft['~standard'].validate({ title: 'Hello' });  \u002F\u002F → { value: { title: 'Hello' } }\n",[214,470,471,503,542,546],{"__ignoreMap":212},[217,472,473,475,477,480,482,484,487,490,492,494,497,499,501],{"class":219,"line":220},[217,474,281],{"class":223},[217,476,288],{"class":287},[217,478,479],{"class":291}," PostDraft",[217,481,295],{"class":287},[217,483,292],{"class":231},[217,485,486],{"class":227},".",[217,488,489],{"class":298},"pick",[217,491,301],{"class":231},[217,493,265],{"class":257},[217,495,496],{"class":261},"title",[217,498,265],{"class":257},[217,500,400],{"class":231},[217,502,403],{"class":227},[217,504,505,507,509,512,514,516,518,521,523,525,528,530,532,534,537,540],{"class":219,"line":271},[217,506,281],{"class":223},[217,508,288],{"class":287},[217,510,511],{"class":291}," PostPatch",[217,513,295],{"class":287},[217,515,292],{"class":231},[217,517,486],{"class":227},[217,519,520],{"class":298},"omit",[217,522,301],{"class":231},[217,524,265],{"class":257},[217,526,527],{"class":261},"id",[217,529,265],{"class":257},[217,531,361],{"class":231},[217,533,486],{"class":227},[217,535,536],{"class":298},"partial",[217,538,539],{"class":231},"() ",[217,541,403],{"class":227},[217,543,544],{"class":219,"line":278},[217,545,275],{"emptyLinePlaceholder":274},[217,547,548,551,553,555,557,559,561,564,566,568,571,573,575,578,580,582,584,587],{"class":219,"line":307},[217,549,550],{"class":231},"PostDraft[",[217,552,265],{"class":257},[217,554,419],{"class":261},[217,556,265],{"class":257},[217,558,424],{"class":231},[217,560,486],{"class":227},[217,562,563],{"class":298},"validate",[217,565,301],{"class":231},[217,567,337],{"class":227},[217,569,570],{"class":310}," title",[217,572,314],{"class":227},[217,574,258],{"class":257},[217,576,577],{"class":261},"Hello",[217,579,265],{"class":257},[217,581,251],{"class":227},[217,583,361],{"class":231},[217,585,586],{"class":227},";",[217,588,589],{"class":432},"  \u002F\u002F → { value: { title: 'Hello' } }\n",[196,591,592,454,594,454,596,458,598,601,602,486],{},[214,593,489],{},[214,595,520],{},[214,597,536],{},[214,599,600],{},"extend"," all produce a class that is itself a Standard\nSchema. See ",[200,603,60],{"href":61},[444,605,607],{"id":606},"the-result-shape","The result shape",[196,609,610,611,615],{},"Validation is ",[612,613,614],"strong",{},"synchronous"," — the spec allows a promise, this vendor never returns one.",[207,617,619],{"className":209,"code":618,"language":211,"meta":212,"style":212},"const result = Post['~standard'].validate({ id: 'abc', title: '' });\n\nif (result.issues) {\n  result.issues[0].message;  \u002F\u002F 'String is too short (0 \u003C 1).'\n  result.issues[0].path;     \u002F\u002F [{ key: 'title' }]\n} else {\n  result.value;              \u002F\u002F the judged, decoded row\n}\n",[214,620,621,680,684,699,727,751,761,775],{"__ignoreMap":212},[217,622,623,626,630,634,637,639,641,643,645,647,649,651,653,656,658,660,663,665,667,669,671,674,676,678],{"class":219,"line":220},[217,624,625],{"class":287},"const",[217,627,629],{"class":628},"s_hVV"," result",[217,631,633],{"class":632},"smGrS"," =",[217,635,636],{"class":231}," Post[",[217,638,265],{"class":257},[217,640,419],{"class":261},[217,642,265],{"class":257},[217,644,424],{"class":231},[217,646,486],{"class":227},[217,648,563],{"class":298},[217,650,301],{"class":231},[217,652,337],{"class":227},[217,654,655],{"class":310}," id",[217,657,314],{"class":227},[217,659,258],{"class":257},[217,661,662],{"class":261},"abc",[217,664,265],{"class":257},[217,666,235],{"class":227},[217,668,570],{"class":310},[217,670,314],{"class":227},[217,672,673],{"class":257}," ''",[217,675,251],{"class":227},[217,677,361],{"class":231},[217,679,268],{"class":227},[217,681,682],{"class":219,"line":271},[217,683,275],{"emptyLinePlaceholder":274},[217,685,686,689,692,694,697],{"class":219,"line":278},[217,687,688],{"class":223},"if",[217,690,691],{"class":231}," (result",[217,693,486],{"class":227},[217,695,696],{"class":231},"issues) ",[217,698,304],{"class":227},[217,700,701,704,706,709,712,715,717,719,722,724],{"class":219,"line":307},[217,702,703],{"class":231},"  result",[217,705,486],{"class":227},[217,707,708],{"class":231},"issues",[217,710,711],{"class":310},"[",[217,713,714],{"class":345},"0",[217,716,424],{"class":310},[217,718,486],{"class":227},[217,720,721],{"class":231},"message",[217,723,586],{"class":227},[217,725,726],{"class":432},"  \u002F\u002F 'String is too short (0 \u003C 1).'\n",[217,728,729,731,733,735,737,739,741,743,746,748],{"class":219,"line":325},[217,730,703],{"class":231},[217,732,486],{"class":227},[217,734,708],{"class":231},[217,736,711],{"class":310},[217,738,714],{"class":345},[217,740,424],{"class":310},[217,742,486],{"class":227},[217,744,745],{"class":231},"path",[217,747,586],{"class":227},[217,749,750],{"class":432},"     \u002F\u002F [{ key: 'title' }]\n",[217,752,753,755,758],{"class":219,"line":366},[217,754,397],{"class":227},[217,756,757],{"class":223}," else",[217,759,760],{"class":227}," {\n",[217,762,763,765,767,770,772],{"class":219,"line":394},[217,764,703],{"class":231},[217,766,486],{"class":227},[217,768,769],{"class":231},"value",[217,771,586],{"class":227},[217,773,774],{"class":432},"              \u002F\u002F the judged, decoded row\n",[217,776,777],{"class":219,"line":406},[217,778,779],{"class":227},"}\n",[196,781,782,784,785,788,789,792,793,796,797,799],{},[214,783,745],{}," is a list of ",[214,786,787],{},"{ key }"," segments, per the spec. An error about the input as a whole\n— a ",[214,790,791],{},"null",", a non-object — carries ",[612,794,795],{},"no"," ",[214,798,745],{}," at all, rather than an empty one.",[196,801,802,803,805,806,810,811,814,815,817,818,821],{},"The ",[214,804,769],{}," is the ",[807,808,809],"em",{},"decoded"," row, not the raw input: a field declaring a ",[214,812,813],{},"Date"," comes\nback as a ",[214,816,813],{},", because the ",[200,819,820],{"href":57},"boundary axis"," runs its inbound\nconversion as part of the judgement.",[444,823,825],{"id":824},"defaults-are-not-filled","Defaults are not filled",[196,827,828],{},"One behaviour differs from most vendors, and it is the doctrine rather than an omission.",[207,830,832],{"className":209,"code":831,"language":211,"meta":212,"style":212},"const { value } = Post['~standard'].validate({ id: 'abc', title: 'Hello' });\n'draft' in value;  \u002F\u002F false — even though draft declares { default: false }\n",[214,833,834,893],{"__ignoreMap":212},[217,835,836,838,840,843,845,847,849,851,853,855,857,859,861,863,865,867,869,871,873,875,877,879,881,883,885,887,889,891],{"class":219,"line":220},[217,837,625],{"class":287},[217,839,228],{"class":227},[217,841,842],{"class":628}," value",[217,844,251],{"class":227},[217,846,633],{"class":632},[217,848,636],{"class":231},[217,850,265],{"class":257},[217,852,419],{"class":261},[217,854,265],{"class":257},[217,856,424],{"class":231},[217,858,486],{"class":227},[217,860,563],{"class":298},[217,862,301],{"class":231},[217,864,337],{"class":227},[217,866,655],{"class":310},[217,868,314],{"class":227},[217,870,258],{"class":257},[217,872,662],{"class":261},[217,874,265],{"class":257},[217,876,235],{"class":227},[217,878,570],{"class":310},[217,880,314],{"class":227},[217,882,258],{"class":257},[217,884,577],{"class":261},[217,886,265],{"class":257},[217,888,251],{"class":227},[217,890,361],{"class":231},[217,892,268],{"class":227},[217,894,895,897,900,902,905,907,909],{"class":219,"line":271},[217,896,265],{"class":257},[217,898,899],{"class":261},"draft",[217,901,265],{"class":257},[217,903,904],{"class":632}," in",[217,906,842],{"class":231},[217,908,586],{"class":227},[217,910,911],{"class":432},"  \u002F\u002F false — even though draft declares { default: false }\n",[196,913,914,915,917,918,921,922,925],{},"The judge decides whether an absent ",[214,916,899],{}," is ",[807,919,920],{},"legal",". It is, so the input passes. But\n",[612,923,924],{},"filling"," the hole belongs to the storage, at the point of persistence — a value that\nwould appear from nowhere during validation is a value the caller never sent and cannot\nbe held to. Judge and realize stay separate, so the same input judged twice never gains a\nfield on the way through.",[196,927,928,929,932],{},"If you are replacing a Zod schema whose ",[214,930,931],{},".default()"," you relied on at the route, that\nline has to move to wherever the row is written.",[444,934,936],{"id":935},"what-does-not-cross","What does not cross",[196,938,939,940,943,944,947],{},"Standard Schema is one function: ",[214,941,942],{},"validate(value) → value | issues",". It carries the\n",[612,945,946],{},"shape"," axis and nothing else.",[949,950,951,968],"table",{},[952,953,954],"thead",{},[955,956,957,960,965],"tr",{},[958,959],"th",{},[958,961,962,963],{},"crosses ",[214,964,419],{},[958,966,967],{},"stays home",[969,970,971,984,997,1010],"tbody",{},[955,972,973,979,982],{},[974,975,976,978],"td",{},[214,977,946],{}," — the JSON Schema keywords",[974,980,981],{},"✅",[974,983],{},[955,985,986,992,994],{},[974,987,988,991],{},[214,989,990],{},"role"," — primary, relations, unique",[974,993],{},[974,995,996],{},"the DDL, the GraphQL type",[955,998,999,1005,1007],{},[974,1000,1001,1004],{},[214,1002,1003],{},"lifecycle"," — who writes, and when",[974,1006],{},[974,1008,1009],{},"the storage that stamps it",[955,1011,1012,1018,1021],{},[974,1013,1014,1017],{},[214,1015,1016],{},"boundary"," — direction, conversions",[974,1019,1020],{},"partly — inbound decode runs",[974,1022,1023,1026,1027],{},[214,1024,1025],{},"Visibility.input"," \u002F ",[214,1028,1029],{},"Visibility.output",[196,1031,1032,1033,1036],{},"So a consumer outside Fougere gets the judge, in the browser or on its server, with the\nsame rules the façade applies. It does not get the table, the surfaces or the form\ncontract — those read ",[214,1034,1035],{},"Post.getFields()",", which is a Fougere call.",[196,1038,1039,1040,1043,1044,1047,1048,486],{},"For the serializable form of the same declaration — the one that crosses a ",[807,1041,1042],{},"process"," or\na ",[807,1045,1046],{},"language"," rather than a library boundary — see ",[200,1049,1050],{"href":65},"the identity card",[196,1052,1053,1054,1056],{},"Next: ",[200,1055,81],{"href":82}," — operations, binding rules, output scoping.",[1058,1059,1060],"style",{},"html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}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 .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":212,"searchDepth":271,"depth":271,"links":1062},[1063,1064,1065,1066],{"id":446,"depth":271,"text":447},{"id":606,"depth":271,"text":607},{"id":824,"depth":271,"text":825},{"id":935,"depth":271,"text":936},"Every entity implements Standard Schema v1, so it is accepted outside Fougere with no adapter.","md",{},{"title":68,"description":1067},"r1sjiaTZn6DGxYUQcEAvITjj1keOdgKLMiiZaHW4YYo",1788560230181]