[{"data":1,"prerenderedAt":707},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-installation":197,"-getting-started-installation-surround":702},[4,30,169,189,193],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"/getting-started","1.getting-started",[10,14,18,22,26],{"title":11,"path":12,"stem":13},"Why Zema?","/getting-started/why-zema","1.getting-started/1.why-zema",{"title":15,"path":16,"stem":17},"Installation","/getting-started/installation","1.getting-started/2.installation",{"title":19,"path":20,"stem":21},"Quick Start","/getting-started/quick-start","1.getting-started/3.quick-start",{"title":23,"path":24,"stem":25},"Core Concepts","/getting-started/core-concepts","1.getting-started/4.core-concepts",{"title":27,"path":28,"stem":29},"Coming from Zod","/getting-started/coming-from-zod","1.getting-started/5.coming-from-zod",{"title":31,"path":32,"stem":33,"children":34,"page":6},"Core","/core","2.core",[35,39,76,97,118,135,152],{"title":36,"path":37,"stem":38},"Overview","/core/overview","2.core/1.overview",{"title":40,"path":41,"stem":42,"children":43,"page":6},"Schemas","/core/schemas","2.core/2.schemas",[44,48,52,56,60,64,68,72],{"title":45,"path":46,"stem":47},"Primitives","/core/schemas/primitives","2.core/2.schemas/1.primitives",{"title":49,"path":50,"stem":51},"Arrays","/core/schemas/arrays","2.core/2.schemas/2.arrays",{"title":53,"path":54,"stem":55},"Objects","/core/schemas/objects","2.core/2.schemas/3.objects",{"title":57,"path":58,"stem":59},"Map","/core/schemas/map","2.core/2.schemas/4.map",{"title":61,"path":62,"stem":63},"Union & Literal","/core/schemas/union-literal","2.core/2.schemas/5.union-literal",{"title":65,"path":66,"stem":67},"Refinements","/core/schemas/refinements","2.core/2.schemas/6.refinements",{"title":69,"path":70,"stem":71},"Modifiers","/core/schemas/modifiers","2.core/2.schemas/7.modifiers",{"title":73,"path":74,"stem":75},"Custom Types","/core/schemas/custom-types","2.core/2.schemas/9.custom-types",{"title":77,"path":78,"stem":79,"children":80,"page":6},"Validations","/core/validation","2.core/3.validation",[81,85,89,93],{"title":82,"path":83,"stem":84},"Basic Validation","/core/validation/basic-validation","2.core/3.validation/1.basic-validation",{"title":86,"path":87,"stem":88},"Async Validation","/core/validation/async-validation","2.core/3.validation/2.async-validation",{"title":90,"path":91,"stem":92},"Custom Validators","/core/validation/custom-validators","2.core/3.validation/3.custom-validators",{"title":94,"path":95,"stem":96},"Error Handling","/core/validation/error-handling","2.core/3.validation/4.error-handling",{"title":98,"path":99,"stem":100,"children":101,"page":6},"Extension Types","/core/extension-types","2.core/4.extension-types",[102,106,110,114],{"title":103,"path":104,"stem":105},"What are Extension Types?","/core/extension-types/what-are-extension-types","2.core/4.extension-types/1.what-are-extension-types",{"title":107,"path":108,"stem":109},"Creating Extension Types","/core/extension-types/creating-extension-types","2.core/4.extension-types/2.creating-extension-types",{"title":111,"path":112,"stem":113},"Extension Types vs Classes","/core/extension-types/vs-classes","2.core/4.extension-types/3.vs-classes",{"title":115,"path":116,"stem":117},"Extension Type Best Practices","/core/extension-types/best-practices","2.core/4.extension-types/4.best-practices",{"title":119,"path":120,"stem":121,"children":122,"page":6},"Transformations","/core/transformations","2.core/5.transformations",[123,127,131],{"title":124,"path":125,"stem":126},"Transforms","/core/transformations/transforms","2.core/5.transformations/1.transforms",{"title":128,"path":129,"stem":130},"Preprocess","/core/transformations/preprocess","2.core/5.transformations/2.preprocess",{"title":132,"path":133,"stem":134},"Coercion","/core/transformations/coercion","2.core/5.transformations/3.coercion",{"title":136,"path":137,"stem":138,"children":139,"page":6},"Composition","/core/composition","2.core/6.composition",[140,144,148],{"title":141,"path":142,"stem":143},"Merging and Extending Schemas","/core/composition/merging-schemas","2.core/6.composition/1.merging-schemas",{"title":145,"path":146,"stem":147},"Picking and Omitting Fields","/core/composition/picking-omitting","2.core/6.composition/2.picking-omitting",{"title":149,"path":150,"stem":151},"Discriminated Unions","/core/composition/discriminated-unions","2.core/6.composition/3.discriminated-unions",{"title":153,"path":154,"stem":155,"children":156,"page":6},"Advanced","/core/advanced","2.core/7.advanced",[157,161,165],{"title":158,"path":159,"stem":160},"Lazy Schema","/core/advanced/lazy-schemas","2.core/7.advanced/1.lazy-schemas",{"title":162,"path":163,"stem":164},"Branded Types","/core/advanced/branded-types","2.core/7.advanced/2.branded-types",{"title":166,"path":167,"stem":168},"Performance","/core/advanced/performance","2.core/7.advanced/3.performance",{"title":170,"path":171,"stem":172,"children":173,"page":6},"Plugins","/plugins","3.plugins",[174,177,181,185],{"title":36,"path":175,"stem":176},"/plugins/overview","3.plugins/1.overview",{"title":178,"path":179,"stem":180},"zema_forms","/plugins/zema_forms","3.plugins/2.zema_forms",{"title":182,"path":183,"stem":184},"zema_firestore","/plugins/zema_firestore","3.plugins/3.zema_firestore",{"title":186,"path":187,"stem":188},"zema_hive","/plugins/zema_hive","3.plugins/4.zema_hive",{"title":190,"path":191,"stem":192},"FAQ","/faq","faq",{"title":194,"path":195,"stem":196},"Troubleshooting","/troubleshooting","troubleshooting",{"id":198,"title":15,"body":199,"description":695,"extension":696,"links":697,"meta":698,"navigation":297,"path":16,"seo":699,"stem":17,"__hash__":701},"docs/1.getting-started/2.installation.md",{"type":200,"value":201,"toc":688},"minimark",[202,207,219,222,226,263,267,315,317,321,575,595,597,600,603,616,619,665,667,671,684],[203,204,206],"h2",{"id":205},"requirements","Requirements",[208,209,210],"ul",{},[211,212,213,214,218],"li",{},"Dart SDK ",[215,216,217],"strong",{},"3.5.0"," or higher.",[220,221],"hr",{},[203,223,225],{"id":224},"add-the-dependency","Add the Dependency",[227,228,234],"pre",{"className":229,"code":230,"language":231,"meta":232,"style":233},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","dependencies:\n  zema: ^1.0.0\n","yaml","title=\"pubspec.yaml\"","",[235,236,237,250],"code",{"__ignoreMap":233},[238,239,242,246],"span",{"class":240,"line":241},"line",1,[238,243,245],{"class":244},"swJcz","dependencies",[238,247,249],{"class":248},"sMK4o",":\n",[238,251,253,256,259],{"class":240,"line":252},2,[238,254,255],{"class":244},"  zema",[238,257,258],{"class":248},":",[238,260,262],{"class":261},"sfazB"," ^1.0.0\n",[264,265,266],"p",{},"Install:",[227,268,272],{"className":269,"code":270,"language":271,"meta":233,"style":233},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Dart\ndart pub get\n\n# Flutter\nflutter pub get\n","bash",[235,273,274,280,292,299,305],{"__ignoreMap":233},[238,275,276],{"class":240,"line":241},[238,277,279],{"class":278},"sHwdD","# Dart\n",[238,281,282,286,289],{"class":240,"line":252},[238,283,285],{"class":284},"sBMFI","dart",[238,287,288],{"class":261}," pub",[238,290,291],{"class":261}," get\n",[238,293,295],{"class":240,"line":294},3,[238,296,298],{"emptyLinePlaceholder":297},true,"\n",[238,300,302],{"class":240,"line":301},4,[238,303,304],{"class":278},"# Flutter\n",[238,306,308,311,313],{"class":240,"line":307},5,[238,309,310],{"class":284},"flutter",[238,312,288],{"class":261},[238,314,291],{"class":261},[220,316],{},[203,318,320],{"id":319},"verify-the-installation","Verify the Installation",[227,322,326],{"className":323,"code":324,"language":285,"meta":325,"style":233},"language-dart shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import 'package:zema/zema.dart';\n\nvoid main() {\n  final schema = z.object({\n    'name': z.string().min(2),\n    'age': z.integer().gte(0),\n  });\n\n  final result = schema.safeParse({\n    'name': 'Alice',\n    'age': 30,\n  });\n\n  if (result.isSuccess) {\n    print('Installation verified. Value: ${result.value}');\n  }\n}\n","title=\"verify_zema.dart\"",[235,327,328,340,344,358,381,415,446,454,459,479,491,503,510,515,530,563,569],{"__ignoreMap":233},[238,329,330,334,337],{"class":240,"line":241},[238,331,333],{"class":332},"sbssI","import",[238,335,336],{"class":261}," 'package:zema/zema.dart'",[238,338,339],{"class":248},";\n",[238,341,342],{"class":240,"line":252},[238,343,298],{"emptyLinePlaceholder":297},[238,345,346,350,354],{"class":240,"line":294},[238,347,349],{"class":348},"spNyl","void",[238,351,353],{"class":352},"s2Zo4"," main",[238,355,357],{"class":356},"sTEyZ","() {\n",[238,359,360,363,366,369,372,375,378],{"class":240,"line":301},[238,361,362],{"class":348},"  final",[238,364,365],{"class":356}," schema ",[238,367,368],{"class":248},"=",[238,370,371],{"class":356}," z",[238,373,374],{"class":248},".",[238,376,377],{"class":352},"object",[238,379,380],{"class":356},"({\n",[238,382,383,386,388,390,392,395,398,400,403,406,409,412],{"class":240,"line":307},[238,384,385],{"class":261},"    'name'",[238,387,258],{"class":248},[238,389,371],{"class":356},[238,391,374],{"class":248},[238,393,394],{"class":352},"string",[238,396,397],{"class":356},"()",[238,399,374],{"class":248},[238,401,402],{"class":352},"min",[238,404,405],{"class":356},"(",[238,407,408],{"class":332},"2",[238,410,411],{"class":356},")",[238,413,414],{"class":248},",\n",[238,416,418,421,423,425,427,430,432,434,437,439,442,444],{"class":240,"line":417},6,[238,419,420],{"class":261},"    'age'",[238,422,258],{"class":248},[238,424,371],{"class":356},[238,426,374],{"class":248},[238,428,429],{"class":352},"integer",[238,431,397],{"class":356},[238,433,374],{"class":248},[238,435,436],{"class":352},"gte",[238,438,405],{"class":356},[238,440,441],{"class":332},"0",[238,443,411],{"class":356},[238,445,414],{"class":248},[238,447,449,452],{"class":240,"line":448},7,[238,450,451],{"class":356},"  })",[238,453,339],{"class":248},[238,455,457],{"class":240,"line":456},8,[238,458,298],{"emptyLinePlaceholder":297},[238,460,462,464,467,469,472,474,477],{"class":240,"line":461},9,[238,463,362],{"class":348},[238,465,466],{"class":356}," result ",[238,468,368],{"class":248},[238,470,471],{"class":356}," schema",[238,473,374],{"class":248},[238,475,476],{"class":352},"safeParse",[238,478,380],{"class":356},[238,480,482,484,486,489],{"class":240,"line":481},10,[238,483,385],{"class":261},[238,485,258],{"class":248},[238,487,488],{"class":261}," 'Alice'",[238,490,414],{"class":248},[238,492,494,496,498,501],{"class":240,"line":493},11,[238,495,420],{"class":261},[238,497,258],{"class":248},[238,499,500],{"class":332}," 30",[238,502,414],{"class":248},[238,504,506,508],{"class":240,"line":505},12,[238,507,451],{"class":356},[238,509,339],{"class":248},[238,511,513],{"class":240,"line":512},13,[238,514,298],{"emptyLinePlaceholder":297},[238,516,518,522,525,527],{"class":240,"line":517},14,[238,519,521],{"class":520},"s7zQu","  if",[238,523,524],{"class":356}," (result",[238,526,374],{"class":248},[238,528,529],{"class":356},"isSuccess) {\n",[238,531,533,536,538,541,544,548,550,553,556,559,561],{"class":240,"line":532},15,[238,534,535],{"class":352},"    print",[238,537,405],{"class":356},[238,539,540],{"class":261},"'Installation verified. Value: ",[238,542,543],{"class":356},"${",[238,545,547],{"class":546},"sHdIc","result",[238,549,374],{"class":356},[238,551,552],{"class":546},"value",[238,554,555],{"class":356},"}",[238,557,558],{"class":261},"'",[238,560,411],{"class":356},[238,562,339],{"class":248},[238,564,566],{"class":240,"line":565},16,[238,567,568],{"class":356},"  }\n",[238,570,572],{"class":240,"line":571},17,[238,573,574],{"class":356},"}\n",[227,576,578],{"className":269,"code":577,"language":271,"meta":233,"style":233},"dart run verify_zema.dart\n# Installation verified. Value: {name: Alice, age: 30}\n",[235,579,580,590],{"__ignoreMap":233},[238,581,582,584,587],{"class":240,"line":241},[238,583,285],{"class":284},[238,585,586],{"class":261}," run",[238,588,589],{"class":261}," verify_zema.dart\n",[238,591,592],{"class":240,"line":252},[238,593,594],{"class":278},"# Installation verified. Value: {name: Alice, age: 30}\n",[220,596],{},[203,598,599],{"id":333},"Import",[264,601,602],{},"All public types are available from a single import:",[227,604,606],{"className":323,"code":605,"language":285,"meta":233,"style":233},"import 'package:zema/zema.dart';\n",[235,607,608],{"__ignoreMap":233},[238,609,610,612,614],{"class":240,"line":241},[238,611,333],{"class":332},[238,613,336],{"class":261},[238,615,339],{"class":248},[264,617,618],{},"This exposes:",[208,620,621,631,647,656],{},[211,622,623,626,627,630],{},[235,624,625],{},"z"," and ",[235,628,629],{},"zema",": the schema factory singleton.",[211,632,633,636,637,636,640,636,643,646],{},[235,634,635],{},"ZemaSchema",", ",[235,638,639],{},"ZemaResult",[235,641,642],{},"ZemaSuccess",[235,644,645],{},"ZemaFailure",": core types.",[211,648,649,636,652,655],{},[235,650,651],{},"ZemaIssue",[235,653,654],{},"ZemaException",": error types.",[211,657,658,636,661,664],{},[235,659,660],{},"ZemaErrorMap",[235,662,663],{},"ZemaI18n",": error customisation and localisation.",[220,666],{},[203,668,670],{"id":669},"next-steps","Next Steps",[208,672,673,679],{},[211,674,675],{},[676,677,19],"a",{"href":678},"./quick-start",[211,680,681],{},[676,682,23],{"href":683},"./core-concepts",[685,686,687],"style",{},"html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}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 .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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 .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 .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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":233,"searchDepth":252,"depth":252,"links":689},[690,691,692,693,694],{"id":205,"depth":252,"text":206},{"id":224,"depth":252,"text":225},{"id":319,"depth":252,"text":320},{"id":333,"depth":252,"text":599},{"id":669,"depth":252,"text":670},"Requirements and setup instructions for the Zema package in Dart and Flutter projects.","md",null,{},{"title":15,"description":700},"Add Zema to a Dart or Flutter project. Minimum SDK version and setup verification.","Cg5QzmHsSyW3szvOe8J8QxBNeuPY5cI0L-hi0pBG-Hc",[703,705],{"title":11,"path":12,"stem":13,"description":704,"children":-1},"Zema is a runtime validation library for Dart. This page defines the problem it solves and its position relative to the existing Dart ecosystem.",{"title":19,"path":20,"stem":21,"description":706,"children":-1},"Define a schema, validate data, and handle the result. This guide covers the three foundational operations.",1774152282663]