úÎ#´}ĒĢw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o pqrstuvSafeÛw json-autotypeTWrite a comment with urrently running command (for documentation of generated code.)wNoneČ json-autotypeMultiline source stringSafe Ú json-autotype+Make the first letter of a Text upper case. json-autotype+Make the first letter of a Text lower case.None%17X XNone=?@Aöx json-autotypeCHelper function for generating Arbitrary and Series instances for Data.HashMap.Strict.Map from lists of pairs.y json-autotype&Transformation to shrink top level of Value, doesn't consider nested sub-Values.z json-autotypeGenerator for compound Values  json-autotype1Arbitrary JSON (must start with Object or Array.)  None27=?@A Č json-autotypeUnion types for JSON values. json-autotype%Dictionary of types indexed by names.{ json-autotypeType alias for HashMap! json-autotype2Make operation on a map to an operation on a Dict." json-autotypeTake all keys from dictionary.# json-autotype Empty type$ json-autotype&Lookup the Type within the dictionary.% json-autotype Size of the  term.& json-autotypexCheck if this is nullable (Maybe) type, or not. Nullable type will always accept TNull or missing key that contains it.' json-autotype"Null-ish" types( json-autotype:Convert any type into union type (even if just singleton).) json-autotype$Is the top-level constructor a TObj?* json-autotype#Is it a simple (non-compound) Type?| json-autotype&Is the top-level constructor a TUnion?+ json-autotypeSIs the top-level constructor a TArray? | Check if the given type has non-top TObj., json-autotype)Check if the given type has non-top TObj.- json-autotype9Check if the given type has TObj on top or within array.. !"#$%&'()*+,-% "$!#*+)(,-&'None'ã} json-autotypeDescription of a subtype~ json-autotype2Code that is different for different type families json-autotype,Show type reference with a given name prefix€ json-autotypeShow type declaration json-autotypeOperations that  SubtypPlugin must implement.‚ json-autotype9Check whether a set of values belongs to this type familyƒ json-autotype'Hmm... this should be existential type? }„…~†€‡ˆ‚None< ; json-autotypeéCompute total number of nodes (and leaves) within the value tree. Each simple JavaScript type (including String) is counted as of size 1, whereas both Array or object types are counted as 1+sum of the sizes of their member values.< json-autotype&Compute total size of the type of the ValueØ. For: * simple types it is always 1, * for arrays it is just 1+_maximum_ size of the (single) element type, * for objects it is _sum_ of the sizes of fields (since each field type is assumed to be different.)= json-autotype‹Compute total depth of the value. For: * simple types it is 1 * for either Array or Object, it is 1 + maximum of depths of their members> json-autotype<Check if a number is integral, or floating point | Extract Type from the JSON Value2. Unifying types of array elements, if necessary.? json-autotype+Type check the value with the derived type.@ json-autotype"Standard unification procedure on Types, with inclusion of Type unions.‰ json-autotype;Unify sets of types (sets are union types of alternatives).Š json-autotype"Smart constructor for union types.‹ json-autotype•Simplify TUnion's so there is no TUnion directly inside TUnion. If there is only one element of the set, then return this single element as a type. #;<=>?@;<= #>@?SafeC<A json-autotypešGeneric function for opening file if the filename is not empty nor "-", or using given handle otherwise (probably stdout, stderr, or stdin). TODO: Should it become utility function?B json-autotypeBGeneric function for choosing either file with given name or stdinstdout as inputgoutput. It accepts the function that takes the corresponding handle. Stdin/stdout is selected by "-".ABABNone %7>XO>Œ json-autotypeīExplanatory type alias for making declarations First element of the triple is original JSON identifier, second element of the triple is the mapped identifier name in Haskell. third element of the triple shows the type in a formatted wayD json-autotypegSplits initial type with a given label, into a mapping of object type names and object type structures.E json-autotypeOTopological sorting of splitted types so that it is accepted declaration order. json-autotype4Computes all type labels referenced by a given type.F json-autotypeJFor a given splitted types, it returns candidates for extra unifications.G json-autotype(Unifies candidates on a give input list.Ž json-autotype"Remaps type labels according to a .DEFGDFGE None %7>XkP  json-autotypeīExplanatory type alias for making declarations First element of the triple is original JSON identifier, second element of the triple is the mapped identifier name in Haskell. third element of the triple shows the type in a formatted way‘ json-autotypeWrap a type alias.’ json-autotypeWrap a data type declaration“ json-autotype¯Make ToJSON declaration, given identifier (object name in Haskell) and mapping of its keys from JSON to Haskell identifiers *in the same order* as in *data type declaration*.” json-autotype Make ToJSON declaration, given identifier (object name in Haskell) and mapping of its keys from JSON to Haskell identifiers in the same order as in declaration• json-autotype Makes a generic identifier name.– json-autotype!Add new type alias for Array typeL json-autotypeģConvert a JSON key name given by second argument, from within a dictionary keyed with first argument, into a name of Haskell record field (hopefully distinct from other such selectors.)M json-autotypekFormat the type within DeclM monad, that records the separate declarations on which this one is dependent.— json-autotypegSplits initial type with a given label, into a mapping of object type names and object type structures.N json-autotype.Display an environment of types split by name.O json-autotype˙[Normalize type name by: 1. Treating all characters that are not acceptable in Haskell variable name as end of word. 2. Capitalizing each word, but a first (camelCase). 3. Adding underscore if first character is non-alphabetic. 4. Escaping Haskell keywords if the whole identifier is such keyword. 5. If identifier is empty, then substituting  JsonEmptyKey for its name.˜ json-autotype4Computes all type labels referenced by a given type.LMNONOLM NonezŊ P json-autotype>Alias for indicating that this is item in module imports list.Q json-autotypeŽDefault output filname is used, when there is no explicit output file path, or it is "-" (stdout). Default module name is consistent with it.™ json-autotypeGenerate module headerR json-autotype.Given a list of imports, generate source code.S json-autotypeJList of packages required by modules below. Keep and maintain together.T json-autotypeList of modules to importš json-autotypeEpilogue for generated code:(function to use parser to get data from ›main function in case we use runghc for testing parser immediatelyU json-autotype7Write a Haskell module to an output file, or stdout if œ filename is given.V json-autotypeFunction to run Haskell module0FIXME: just rely on `run-haskell-module` exports json-autotype.Options to be used when running Haskell moduleW json-autotypeIRun Haskell module with strict warning options (each warning is an error)PQRSTUVWUVWQTSRP None7=?†€Y json-autotype]Generated code reference and its requirements Content to embed in an autogenerated module:name of the referencedeclarations to describe it6module imports necessary for declarations to work[ json-autotype0Code fragment to be inserted in generated module\ json-autotypeToplevel type name to refer to] json-autotype&List of clauses to add to imports list^ json-autotype9List of packages to add to generated package dependenciesa json-autotype3List of modules imported for Autotyped declarationsb json-autotypecGiven intended type name, and a list of text fields with JSON, return either an error, or an EndpointResponseD that allows to declare and use this type in generated module. PRXYZ[\]^_`ab aRbYZ[\]^`XP_ None %7>Xĸĸž json-autotypeīExplanatory type alias for making declarations First element of the triple is original JSON identifier, second element of the triple is the mapped identifier name in Haskell. third element of the triple shows the type in a formatted wayŸ json-autotypeWrap a type alias.  json-autotypeWrap a data type declarationĄ json-autotype°Make Decoder declaration, given identifier (object name in Haskell) and mapping of its keys from JSON to Haskell identifiers *in the same order* as in *data type declaration*.ĸ json-autotypeĄMake Encoder declaration, given identifier (object name in Haskell) and mapping of its keys from JSON to Haskell identifiers in the same order as in declarationŖ json-autotype"Join text with other as separator.¤ json-autotype Makes a generic identifier name.Ĩ json-autotype!Add new type alias for Array typeĻ json-autotypeģConvert a JSON key name given by second argument, from within a dictionary keyed with first argument, into a name of Haskell record field (hopefully distinct from other such selectors.)§ json-autotypekFormat the type within DeclM monad, that records the separate declarations on which this one is dependent.k json-autotype.Display an environment of types split by name.l json-autotype˙[Normalize type name by: 1. Treating all characters that are not acceptable in Haskell variable name as end of word. 2. Capitalizing each word, but a first (camelCase). 3. Adding underscore if first character is non-alphabetic. 4. Escaping Haskell keywords if the whole identifier is such keyword. 5. If identifier is empty, then substituting  JsonEmptyKey for its name.¨ json-autotype4Computes all type labels referenced by a given type.Š json-autotype"Remaps type labels according to a Ē.klkl None¤hn json-autotype7Write a Haskell module to an output file, or stdout if œ filename is given.mnomnoNoneĒp json-autotypeAvailable output languages.t json-autotypeŽDefault output filname is used, when there is no explicit output file path, or it is "-" (stdout). Default module name is consistent with it.u json-autotype7Write a Haskell module to an output file, or stdout if œ filename is given.v json-autotypeRun module in a given language.pqsrtuvpqsruvtSafedžĢŦ­Ž¯°ą˛ŗ !"#$%&'()*+,-./00123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWX Y Z [ \ ] ^ _ ` a b c d e f g h i j j k l m n o p q r s t u v Y Z [ \ _ ` w x yz{|}~€‚ƒ„…†‡ˆ‰Š‹Œ‡Ž‹‘’“”•–… ” — ˜ ™ š › œ U •  žŸ ĄĸŖ¤ Ĩ ” — ˜ Ļ § ¨ › œ ] ^ • – …ŠĒĢŦ­Ž¯°ąjson-autotype-3.1.2-inplace#Data.Aeson.AutoType.CodeGen.GenericData.Aeson.AutoType.FormatData.Aeson.AutoType.PrettyData.Aeson.AutoType.TestData.Aeson.AutoType.TypeData.Aeson.AutoType.ExtractData.Aeson.AutoType.UtilData.Aeson.AutoType.Split)Data.Aeson.AutoType.CodeGen.HaskellFormat#Data.Aeson.AutoType.CodeGen.HaskellData.Aeson.AutoType.Nested%Data.Aeson.AutoType.CodeGen.ElmFormatData.Aeson.AutoType.CodeGen.ElmData.Aeson.AutoType.CodeGen"Data.Aeson.AutoType.CodeGen.Common"Data.Aeson.AutoType.Plugin.SubtypePaths_json_autotypesrc capitalize uncapitalize $fOutText $fOutHashMap$fOutSet $fOutValue $fOutVector$fOutScientificarbitraryTopValue$fSerialmValue$fSerialmHashMap$fSerialmVector$fSerialmScientific $fSerialmText$fArbitraryValue$fArbitraryScientific$fArbitraryHashMap$fArbitraryVector$fArbitraryTextTypeTNullTBoolTStringTIntTDoubleTUnionTLabelTObjTArrayDictunDictwithDictkeys emptyTypegettypeSize isNullable emptySetLikes typeAsSetisObjectisSimpleisArray hasNonTopTObjhasTObj$fUniplateType $fOutType $fOrdDict $fShowDict $fOutDict $fShowType$fEqType $fOrdType $fDataType $fGenericType$fEqDict $fDataDict $fGenericDict valueSize valueTypeSize valueDepth extractType typeCheck unifyTypeswithFileOrHandlewithFileOrDefaultHandle $fHashableSetsplitTypeByLabeltoposortunificationCandidatesunifyCandidates $fEqDeclState$fShowDeclState$fOrdDeclState$fGenericDeclStatenormalizeFieldName formatTypedisplaySplitTypesnormalizeTypeName ModuleImportdefaultHaskellFilenamegenerateModuleImportsrequiredPackagesimportedModuleswriteHaskellModulerunHaskellModulerunHaskellModuleStrictTypeFragCodeFrag codeFragCode codeFragNamecodeFragImportscodeFragPackages PackageNameTypeNamedefaultImportedModules inferType$fDefaultCodeFrag $fEqCodeFrag$fShowCodeFrag$fGenericCodeFragdefaultElmFilenamewriteElmModule runElmModuleLangHaskell HaskellStrictElmdefaultOutputFilename writeModule runModulewriteRunningCommandCommentmakeMap simpleShrink complexGensMapisUnion SubtypeDesc subtypeClassdeclaretypeInfo SubtypePluginunifyTypeDesc subtypeName referencedetect unifyUnionunion simplifyUnion MappedKey allLabels remapLabels wrapAliaswrapDecl makeFromJSON makeToJSONgenericIdentifiernewAliasheaderepilogue text-1.2.4.0Data.Text.InternalTextbaseGHC.Num-defaultHaskellOpts makeDecoder makeEncoderjoinWithversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName