{"version":1,"pages":[{"id":"-Lfi8zcrAmgHzlOdzW4g","title":"Introduction","pathname":"/elm-cookbook","siteSpaceId":"sitesp_EjjbM","description":""},{"id":"-LfiBXh6ZhCBDFiQYuFn","title":"Structure of the book","pathname":"/elm-cookbook/frequently-asked-questions","siteSpaceId":"sitesp_EjjbM","description":""},{"id":"-Li40SLkcFt2LTe4jX15","title":"How can different types share data?","pathname":"/elm-cookbook/frequently-asked-questions-1/how-can-different-types-share-data","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Frequently asked questions"}]},{"id":"-LhufocVka_TEtoMYo2h","title":"How to break Dependency Cycles?","pathname":"/elm-cookbook/frequently-asked-questions-1/how-to-break-dependency-cycles","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Frequently asked questions"}]},{"id":"-Lg83DQ0QtnCv5RCxef-","title":"How to structure an Elm project?","pathname":"/elm-cookbook/frequently-asked-questions-1/how-to-structure-an-elm-project","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Frequently asked questions"}]},{"id":"-LfjlvMDLZN79UMfspmv","title":"How to turn a Msg into a Cmd Msg?","pathname":"/elm-cookbook/frequently-asked-questions-1/how-to-turn-a-msg-into-a-cmd-msg","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Frequently asked questions"}]},{"id":"-LfjzZezJpK8X5o2nSG3","title":"How to update nested Records?","pathname":"/elm-cookbook/frequently-asked-questions-1/how-to-update-nested-records","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Frequently asked questions"}]},{"id":"-LgCRhMVAUW7VqgH9aTR","title":"What are comparable types?","pathname":"/elm-cookbook/frequently-asked-questions-1/what-does-comparable-type","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Frequently asked questions"}]},{"id":"-LfpOExEKAGfCrqw5m-l","title":"Why are Booleans bad?","pathname":"/elm-cookbook/frequently-asked-questions-1/why-are-booleans-bad","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Frequently asked questions"}]},{"id":"-LfjZPIuLTd0amajXF_-","title":"Future topics","pathname":"/elm-cookbook/frequently-asked-questions-1/future-topics","siteSpaceId":"sitesp_EjjbM","emoji":"1f51c","description":"","breadcrumbs":[{"label":"Frequently asked questions"}]},{"id":"-Lg82GreIJkyYxIBcREJ","title":"Writing a Single Page Application","pathname":"/elm-cookbook/recipes-1/writing-a-single-page-application","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Recipes"}]},{"id":"-LvEPpfMmy_VJpalkn-E","title":"Share state across pages","pathname":"/elm-cookbook/recipes-1/writing-a-single-page-application/share-state-across-pages","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Recipes"},{"label":"Writing a Single Page Application"}]},{"id":"-LhhnVjvLSMxPUxR6H18","title":"Debounced Validation","pathname":"/elm-cookbook/recipes-1/writing-a-single-page-application/debounced-validation","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Recipes"},{"label":"Writing a Single Page Application"}]},{"id":"-LgDOygheoVfzd5yZX6K","title":"Reusable views","pathname":"/elm-cookbook/recipes-1/writing-a-single-page-application/reusable-views","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Recipes"},{"label":"Writing a Single Page Application"}]},{"id":"-LfkZRjBz2f4TQ4djneB","title":"Making impossible states Impossible","pathname":"/elm-cookbook/recipes-1/making-impossible-states-impossible","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Recipes"}]},{"id":"-Lfp1qXbo3oTZDma3CxJ","title":"Non empty lists using Zippers","pathname":"/elm-cookbook/recipes-1/making-impossible-states-impossible/non-empty-lists-using-zippers","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Recipes"},{"label":"Making impossible states Impossible"}]},{"id":"-Lfmg7XgNAISgGcZ-dT2","title":"Restrict records using Opaque Types","pathname":"/elm-cookbook/recipes-1/making-impossible-states-impossible/restrict-records-using-opaque-types","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Recipes"},{"label":"Making impossible states Impossible"}]},{"id":"-LfpEnZtxgrBkQFP8Ygw","title":"Write safer functions using Phantom Types","pathname":"/elm-cookbook/recipes-1/making-impossible-states-impossible/write-safer-functions-using-phantom-types","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Recipes"},{"label":"Making impossible states Impossible"}]},{"id":"-LfnKbzf8Pilq5i8Q_Yu","title":"Designing Elm package APIs","pathname":"/elm-cookbook/recipes-1/designing-a-api","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Recipes"}]},{"id":"-LfnLJy8ICRR20HZorqJ","title":"Create upwards compatible APIs","pathname":"/elm-cookbook/recipes-1/designing-a-api/create-upwards-compatible-apis","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Recipes"},{"label":"Designing Elm package APIs"}]},{"id":"-LfjZwAmCBbraLRQiqDp","title":"Future topics","pathname":"/elm-cookbook/recipes-1/future-topics","siteSpaceId":"sitesp_EjjbM","emoji":"1f51c","description":"","breadcrumbs":[{"label":"Recipes"}]},{"id":"-LgCs3GDcs3MoIik71ii","title":"elm/parser","pathname":"/elm-cookbook/frameworks-1/elm-parser","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Frameworks and packages"}]},{"id":"-LfodC0wD_b--HtZs0sV","title":"mdgriffith/elm-ui","pathname":"/elm-cookbook/frameworks-1/elm-ui-1","siteSpaceId":"sitesp_EjjbM","description":"","breadcrumbs":[{"label":"Frameworks and packages"}]},{"id":"-LfiLZAex5Y-6ry1Vbmz","title":"Future topics","pathname":"/elm-cookbook/frameworks-1/elm-ui","siteSpaceId":"sitesp_EjjbM","emoji":"1f51c","description":"","breadcrumbs":[{"label":"Frameworks and packages"}]}]}