MCPcopy Index your code
hub / github.com/glideapps/quicktype

github.com/glideapps/quicktype @v7.0.0

repository ↗ · DeepWiki ↗ · release v7.0.0 ↗ · Ask this repo → · + Follow
739 symbols 1,529 edges 52 files 1 documented · 0% 12 cross-repo links updated 2d ago★ 13,779526 open issues
README

npm version Build Status Join us in Slack

Synopsis

$ quicktype [--lang cs|go|c++|java|ts|swift|elm|schema|types] FILE|URL ... 

Description

Given JSON sample data, quicktype outputs code for working with that data in
C#, Go, C++, Java, TypeScript, Swift, Elm, JSON Schema, Simple Types.

Options

  -o, --out FILE                                       The output file. Determines --lang and --top-level
  -t, --top-level NAME                                 The name for the top level type.            
  -l, --lang cs|go|c++|java|ts|swift|elm|schema|types  The target language.                        
  -s, --src-lang json|schema                           The source language (default is json).      
  --src FILE|URL|DIRECTORY                              The file, url, or data directory to type.   
  --src-urls FILE                                       Tracery grammar describing URLs to crawl.   
  --no-combine-classes                                  Don't combine similar classes.              
  --no-maps                                             Don't infer maps, always use classes.       
  --no-enums                                            Don't infer enums, always use strings.      
  --quiet                                               Don't show issues in the generated code.    
  -h, --help                                           Get some help.                              

Options for C

  --namespace NAME                                 Generated namespace 
  --csharp-version 6|5                             C# version          
  --density normal|dense                           Property density    
  --array-type array|list                          Use T[] or List<T>  
  --features complete|attributes-only|just-types   Output features     

Options for Go

  --package NAME   Generated package name 

Options for C++

  --namespace NAME                                                                  Name of the     
                                                                                    generated       
                                                                                    namespace       
  --type-style pascal-case|underscore-case|camel-case|upper-underscore-case         Naming style    
                                                                                    for types       
  --member-style underscore-case|pascal-case|camel-case|upper-underscore-case       Naming style    
                                                                                    for members     
  --enumerator-style upper-underscore-case|underscore-case|pascal-case|camel-case   Naming style    
                                                                                    for enumerators 
  --unions containment|indirection                                                  Use containment 
                                                                                    or indirection  
                                                                                    for unions      

Options for Java

  --package NAME   Generated package name 
  --just-types     Plain types only       

Options for TypeScript

  --just-types           Interfaces only                      
  --explicit-unions      Explicitly name unions               
  --runtime-typecheck    Assert JSON.parse results at runtime 

Options for Swift

  --just-types                     Plain types only            
  --struct-or-class struct|class   Generate structs or classes 

Options for Elm

  --module NAME             Generated module name 
  --array-type array|list   Use Array or List     

Options for Simple Types

  --declare-unions    Declare unions as named types 

Examples

Generate C# to parse a Bitcoin API

  $ quicktype -o LatestBlock.cs https://blockchain.info/latestblock             

Generate Go code from a directory of samples containing:

  - Foo.json                                                                    
  + Bar                                                                         
  - bar-sample-1.json                                                           
  - bar-sample-2.json                                                           
  - Baz.url 
  $ quicktype -l go samples                                                     

Generate JSON Schema, then TypeScript

  $ quicktype -o schema.json https://blockchain.info/latestblock                
  $ quicktype -o bitcoin.ts --src-lang schema schema.json                       

Learn more at quicktype.io

Extension points exported contracts — how you extend this code

GQLSchema (Interface)
(no doc) [1 implementers]
src/GraphQL.ts
Language (Interface)
(no doc)
test/languages.ts
Sample (Interface)
(no doc)
test/utils.ts
ParallelArgs (Interface)
(no doc)
test/lib/multicore.ts
OptionDefinition (Interface)
(no doc)
src/RendererOptions.ts
JSONTypeSource (Interface)
(no doc)
src/index.ts
TextSource (Interface)
(no doc)
src/Source.ts
CLIOptions (Interface)
(no doc)
src/cli.ts

Core symbols most depended-on inside this repo

defined
called by 83
src/Support.ts
panic
called by 81
src/Support.ts
map
called by 77
test/lib/multicore.ts
assert
called by 49
src/Support.ts
singleWord
called by 25
src/Language/Elm.ts
nullableFromUnion
called by 19
src/Type.ts
add
called by 18
src/Naming.ts
removeNullFromUnion
called by 15
src/Type.ts

Shape

Function 323
Method 272
Class 111
Interface 29
Enum 4

Languages

TypeScript97%
Python3%
Java1%
Go1%

Modules by API surface

src/Type.ts80 symbols
src/Naming.ts55 symbols
src/Strings.ts43 symbols
test/fixtures.ts41 symbols
src/Language/CSharp.ts33 symbols
src/TypeBuilder.ts29 symbols
src/Language/Elm.ts29 symbols
src/JSONSchemaInput.ts28 symbols
src/Language/Java.ts25 symbols
src/Source.ts24 symbols
src/ConvenienceRenderer.ts24 symbols
src/Language/Swift.ts22 symbols

Dependencies from manifests, versioned

@types/graphql0.11.7 · 1×
@types/lodash4.14.72 · 1×
@types/node8.0.19 · 1×
@types/pluralize0.0.28 · 1×
@types/shelljs0.7.6 · 1×
@types/string-hash1.1.1 · 1×
ajv5.2.2 · 1×
chalk2.1.0 · 1×
command-line-args4.0.6 · 1×
command-line-usage4.0.0 · 1×
compare-versions3.1.0 · 1×
deep-equal1.0.1 · 1×

For agents

$ claude mcp add quicktype \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact