[{"name":"KeyValueStoreGen","comment":" Generate an Elm module for saving and loading data to an external key-value data source.\n\nFor guidance on how to wire the generated code to work with JavaScript through ports, take a look at the\n[examples in the package Github repo](https://github.com/joeybright/key-value-store-gen/tree/main/examples/).\n\n@docs Store\n\n\n# Configuration\n\n@docs init, withDictSupport\n\n\n# Generating a Store\n\n@docs generate\n\n","unions":[{"name":"Store","comment":" Represents information about and configuration of the store you want to create. This type\ndoes not have its constructor exposed and must be created using the [`init`](#init) function.\n","args":[],"cases":[]}],"aliases":[],"values":[{"name":"generate","comment":" Generates an Elm file from a passed `Store` (which you can create with the [`init`](#init)\nfunction) and some JSON (as a `Json.Decode.Value`).\n\nIf the passed Json cannot be decoded, the generated code will be for managing arbitrary key\nvalue pairs with the store. No decoding or encoding will be generated. While this may still\nbe useful, it's less useful than getting all your serialization for free!\n\nThe generated code has its behavior documented. If you'd like to understand how your store is\nworking internally, generate some code and read the comments!\n\n","type":"Json.Decode.Value -> KeyValueStoreGen.Store -> Elm.File"},{"name":"init","comment":" Create a new store. You can pass this to the [`generate`](#generate) function to generate\ncode with elm-codegen.\n","type":"List.List String.String -> KeyValueStoreGen.Store"},{"name":"withDictSupport","comment":" Adds support for generating encoding and decoding for `Dict` values. Any key in the\n`Json.Decode.Value` passed to the [`generate`](#generate) function ending in a `_` character\nwill have its value recognize as a `Dict`.\n\nFor example, when a `Store` that has this option enabled is run on some JSON with the following shape:\n\n    { \"people_\" :\n        {\n            name : \"\",\n            age : 0\n        }\n    }\n\nThe generated code will treat that as a `Dict String { name : String, age: Int }` rather than\n`{ name : String, age: Int }`, which would be the default behavior.\n\n","type":"KeyValueStoreGen.Store -> KeyValueStoreGen.Store"}],"binops":[]}]