h&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDE  Safe-Inferred "%&05 aeson-typescriptType variable gathering aeson-typescriptConvenience typeclass class you can use to "attach" a set of Aeson encoding options to a type. aeson-typescriptTODO: docstrings hereaeson-typescriptPrefix every declaration with the "export" keyword (suitable for putting in a TypeScripe module)aeson-typescript3No exporting (suitable for putting in a .d.ts file)aeson-typescript+How many spaces to indent TypeScript blocksaeson-typescript-Function applied to generated interface namesaeson-typescript(Function applied to generated type namesaeson-typescript5Whether to include the export keyword in declarationsaeson-typescriptHow to format the declaration of the alternatives when multiple constructors exist+aeson-typescript3An existential wrapper for any TypeScript instance..aeson-typescriptThe typeclass that defines how a type is turned into TypeScript.The / method describes the top-level declarations that are needed for a type, while 0 describes how references to the type should be translated. The 2 method exists purely so that F+ types can be encoded with a question mark.Instances for common types are built-in and are usually very simple; for example, instance TypeScript Bool where getTypeScriptType _ = "boolean" Most of the time you should not need to write instances by hand; in fact, the   constructors are deliberately opaque. However, you may occasionally need to specify the type of something. For example, since UTCTime is encoded to a JSON string and is not built-in to this library: import Data.Time.Clock (UTCTime) instance TypeScript UTCTime where getTypeScriptType _ = "string" If you need to write a definition for a higher-order type, it may depend on a type parameter. For example, a Set2 is encoded to a JSON list of the underlying type: instance (TypeScript a) => TypeScript (Set a) where getTypeScriptType _ = getTypeScriptType (Proxy :: Proxy a) <> "[]"; /aeson-typescript,Get the declaration(s) needed for this type.0aeson-typescriptGet the type as a string.2aeson-typescript6Get a flag representing whether this type is optional.3aeson-typescriptGet the types that this type depends on. This is useful for generating transitive closures of necessary types.4aeson-typescriptSpecial flag to indicate whether this type corresponds to a template variable.GHIJKLMNOPQRSTUVWXYZ[\]^_` abc )('&%$*"!#+-,.4321/05def6 Safe-Inferred"%&'(0 ghi Safe-Inferred  #!"*$%&'() #!"*$%&'() Safe-Inferred "%& / Safe-Inferred"%&'(0 :7aeson-typescript Generates a .7 declaration for a closed type family as a lookup type.7aeson-typescriptName of a type family.aeson-typescript"Name of the declaration to derive.7jk Safe-Inferred"%&'(0laeson-typescriptSearch the given type for type families. For each one found, emit a declaration for a new corresponding concrete type and a TypeScript instance for it which emits a lookup type. Then, replace all occurrences of the given type family with the concrete type in the return value. Thus the type becomes "de-family-ified".l  Safe-Inferred "%&'{8aeson-typescriptSame as :&, but uses default formatting options.9aeson-typescriptFormat a single TypeScript declaration. This version accepts a FormattingOptions object in case you want more control over the output.:aeson-typescriptFormat a list of TypeScript declarations into a string, suitable for putting directly into a .d.ts file.89m:nop  Safe-Inferred"%&'(0qaeson-typescript9Helper to apply a type constructor to a list of type argsraeson-typescript)Helper to apply a function a list of argssaeson-typescriptGet the type of a tuple of constructor fields, as when we're packing a record-less constructor into a list tuvwxyz{|}~qrs(c) 2022 Tom McLaughlinBSD3 experimentalportable Safe-Inferred"%&'(0;aeson-typescript Generates a .. instance declaration for the given data type.aeson-typescriptReturn a string to go in the top-level type declaration, plus an optional expression containing a declaration<aeson-typescript!Convenience function to generate , , and . instances simultaneously, so the instances are guaranteed to be in sync.This function is given mainly as an illustration. If you want some other permutation of instances, such as  and    only, just take a look at the source and write your own version.>aeson-typescript Generates a .. instance declaration for the given data type.;aeson-typescriptEncoding options.aeson-typescript)Name of the type for which to generate a . instance declaration.aeson-typescript+Extra options to control advanced features.<aeson-typescriptEncoding options.aeson-typescript'Name of the type for which to generate , , and . instance declarations.=aeson-typescriptEncoding options.aeson-typescript'Name of the type for which to generate , , and . instance declarations.aeson-typescript+Extra options to control advanced features.>aeson-typescriptEncoding options.aeson-typescript)Name of the type for which to generate a . instance declaration.1  #+,-.0/123456789:;<=>1>;7.0/1234+,- #8:95 6 <=  Safe-Inferred"%&'(0?@ABCDE?@ABCDE  Safe-Inferred !"#$$%&'()*+,-./012334 56789:;<= > ? @ABCDEFGHIJKLMNOPQRRSTUVWXYYZZ[[\\]]^^__`a`bcdefghij k l m n o p q r s t u v w x y z { | } ~                        /aeson-typescript-0.4.2.0-H16PuCTrSQG3aNr1XgBdy7Data.Aeson.TypeScript.THData.Aeson.TypeScript.InternalData.Aeson.TypeScript.RecursiveData.Aeson.TypeScript.Types&Data.Aeson.TypeScript.TypeManipulationData.Aeson.TypeScript.InstancesData.Aeson.TypeScript.LookupData.Aeson.TypeScript.Transform Data.Aeson.TypeScript.FormattingData.Aeson.TypeScript.UtilA TypeScriptPaths_aeson_typescriptExtraTypeScriptOptionstypeFamiliesToMapToTypeScriptkeyTypeT3T2T1THasJSONOptionsgetJSONOptions SumTypeFormat TypeAliasEnum EnumWithType ExportMode ExportEach ExportNoneFormattingOptionsnumIndentSpacesinterfaceNameModifiertypeNameModifier exportModetypeAlternativesFormatTSField fieldOptional fieldName fieldType TSDeclarationTSInterfaceDeclarationTSTypeAlternativesTSRawDeclaration interfaceNameinterfaceGenericVariablesinterfaceMemberstypeNametypeGenericVariablesalternativeTypestextTSTypeunTSTypegetTypeScriptDeclarationsgetTypeScriptTypegetTypeScriptKeyTypegetTypeScriptOptionalgetParentTypesisGenericVariabledefaultFormattingOptionsdefaultExtraTypeScriptOptionsderiveTypeScriptLookupTypeformatTSDeclarationsformatTSDeclarationformatTSDeclarations'deriveTypeScript'deriveJSONAndTypeScriptderiveJSONAndTypeScript'deriveTypeScriptgetTransitiveClosure$getTypeScriptDeclarationsRecursively.recursivelyDeriveMissingTypeScriptInstancesFor$recursivelyDeriveMissingInstancesForderiveInstanceIfNecessarydoesTypeScriptInstanceExistgetAllParentTypesbase GHC.MaybeMaybeGenericInfoExtra TypeFamilyKey NormalStar GenericInfoExtraDeclOrGenericInfoExtraParentTypeExtraConstraintExtraTopLevelDecs ExtraGeneric ExtraDeclT10T9T8T7T6T5T4TSStringunpackTSStringallStarConstructorsallStarConstructors'allStarConstructors''searchForConstraintshasFreeTypeVariableunifyGenericVariable getClosedTypeFamilyInterfaceDeclgetClosedTypeFamilyImagetransformTypeFamilies exportPrefixvalidateFormattingOptions formatTSFieldgetGenericBrackets applyToArgsT applyToArgsEcontentsTupleTypeVarSuffixgetDataTypeVarscoveredByDataTypeVarssetDataTypeVarsdropLeadingIFromInterfaceNamelastNameComponentlastNameComponent' getTypeNameallConstructorsAreNullaryisConstructorNullarygetDatatypePredicategetTypeAsStringExpgetOptionalAsBoolExpgetTagSingleConstructorsassertExtensionsTurnedOnisObjectWithSingleFieldisTwoElemArrayisUntaggedValue mkInstance namesAndTypesconstructorNameToUsecontentsTupleTypeSubstitutedmapType tryPromotegetBracketsExpression%getBracketsExpressionAllTypesNoSuffixgenericVariablesListExpr isStarTypehandleConstructor#aeson-2.1.1.0-3oVJQ6k21EwIYMuCcSPLyData.Aeson.Types.ToJSONToJSONData.Aeson.Types.FromJSONFromJSONversiongetDataFileName getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDir