package atd
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  - 2.10.0 (2022-08-09)
- 2.9.1 (2022-06-10)
- 2.8.0 (2022-06-06)
- 2.7.0 (2022-05-17)
- 2.6.0 (2022-05-03)
- 2.5.0 (2022-04-23)
- 2.4.1 (2022-03-25)
- 2.4.0 (2022-03-24)
- 2.3.3 (2022-03-16)
- 2.3.2 (2022-03-11)
- 2.3.1 (2022-03-10)
- 2.3.0 (2022-03-10)
- 2.2.0 (2020-09-03)
- 2.1.0 (2019-12-3)
- 2.0.0 (2018-05-31)
- 1.13.0 (2018-03-27)
  Parser for the ATD data format description language
Install
    
    dune-project
 Dependency
Authors
- 
  
    
    MMartin Jambon <martin@mjambon.com>
- 
  
    
    RRudi Grinberg <rudi.grinberg@gmail.com>
- 
  
    
    MMartin Jambon <martin@r2c.dev>
- 
  
    
    MMartin Jambon <github@mjambon.com>
- 
  
    
    IIvan Jager <aij+git@mrph.org>
- 
  
    
    Ooleksiy <oleksiy.golovko@ahrefs.com>
- 
  
    
    DDavid Sheets <sheets@alum.mit.edu>
- 
  
    
    RRudi Grinberg <me@rgrinberg.com>
- 
  
    
    MMartin Jambon <martin@esper.com>
- 
  
    
    JJeff Meister <nanaki@gmail.com>
- 
  
    
    CCaio Wakamatsu <caio.wakamatsu@ahrefs.com>
- 
  
    
    CCarmelo Piccione <carmelo.piccione@gmail.com>
- 
  
    
    DDaniel Weil <danweil68@gmail.com>
- 
  
    
    EEgor Chemokhonenko <egor.chemohonenko@ahrefs.com>
- 
  
    
    Gabriel Scherer
- 
  
    
    RRaman Varabets <roman.vorobets@gmail.com>
- 
  
    
    Ttzm <frank@boldsolutions.de>
- 
  
    
    MMathieu Baudet <mathieubaudet@fb.com>
- 
  
    
    OOleksiy Golovko <alexei.golovko@gmail.com>
- 
  
    
    RRauan Mayemir <rauan@mayemir.io>
- 
  
    
    CCarmelo Piccione <cep1@solvuu.com>
- 
  
    
    JJohn Billings <john@monkeynut.org>
- 
  
    
    LLouis Roché <louis@louisroche.net>
- 
  
    
    BBrendan Long <self@brendanlong.com>
- 
  
    
    CChris Yocum <cyocum@gmail.com>
- 
  
    
    LLouis Roché (Ahrefs) <louis.roche@ahrefs.com>
- 
  
    
    LLouis Roché <louis.roche@ahrefs.com>
- 
  
    
    PPavel Antoshkin <pavel.antoshkin@ahrefs.com>
- 
  
    
    PPierre Boutillier <pierre.boutillier@laposte.net>
- 
  
    
    SShon Feder <shon.feder@key.me>
- 
  
    
    AAnurag Soni <anuragsoni.13@gmail.com>
- 
  
    
    AArjun Ravi Narayan <arjunravinarayan@gmail.com>
- 
  
    
    AAsya-kawai <kawai-toshiki@aintek.xyz>
- 
  
    
    CChristophe Troestler <christophe.Troestler@umons.ac.be>
- 
  
    
    Damien Doligez
- 
  
    
    DDaniel M <dan.mntg@gmail.com>
- 
  
    
    DDing Xiang Fei <dingxiangfei2009@protonmail.ch>
- 
  
    
    FFrançois Pottier <francois.pottier@inria.fr>
- 
  
    
    JJavier Chavarri <javier.chavarri@gmail.com>
- 
  
    
    KKate <kit.ty.kate@disroot.org>
- 
  
    
    LLouis <louis.roche@ahrefs.com>
- 
  
    
    LLouis Roché <louis@cryptosense.com>
- 
  
    
    RRaman Varabets <raman+git@ahrefs.com>
- 
  
    
    SStephane Legrand <slegrand45@gmail.com>
- 
  
    
    VVincent Bernardoff <vb@luminar.eu.org>
- 
  
    
    Hhaoyang <haoyang@esper.co>
- 
  
    
    Ppmundkur <prashanth.mundkur@gmail.com>
- 
  
    
    Yygrek <ygrek@autistici.org>
Maintainers
Sources
  
    
      atdts-2.11.0.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=4d34ee4b134ac9d3e64e6ced51aa4ba319ed048ac0a3c69660827f1b97289356
    
    
  sha512=920e608696f4e90a2aa5c7861b4c98f2070862a2a3297bb4c808e02d773ad8a03d55f4e32071b370547f018042e9b701cf8e112d32b0f8c6c592baef4bf5c992
    
    
  doc/CHANGES.html
2.11.0 (2023-02-08)
- atdpy: Support parametrized type definitions (#303)
- atdpy: Support options approximately by treating them as nullables (#320)
- atdts: Support parametrized type definitions (#303)
- atdts: Fix incorrect type for TypeScript readers/writers generated for type abstract.
- atdts: Fix incorrect type for TypeScript writers of optional fields. It was working only in special cases such as foo?: int.
- atdts: Eliminate the type alias type Int = numbersince it was more confusing than helpful. Occurrences ofIntare replaced bynumber /*int*/.
- atdts: Disable all tslint and eslint rules in generated code so as to play well with all tslint and eslint configurations.
2.10.0 (2022-08-09)
- atdgen: use Yojson 2.0 API (#299)
- atdpy: Support recursive definitions (#315)
- atdts: fix nullable object field writer (#312)
2.9.1 (2022-06-10)
- atdgen: update abstracttype validation to accept all input by default (#301)
- atdts: fix reader for case type (#302)
2.8.0 (2022-06-06)
- atdgen: use odoc syntax to disambiguate clashing names (#296)
- atdpy: propagate decorators on sum types to all constructor classes (#298)
2.7.0 (2022-05-17)
- Add ability to specify JSON/OCaml adapter with the arbitrary code using <json adapter.to_ocaml="..." adapter.from_ocaml="...">(#184).
- atdcat: add option -jsonschema-no-additional-propertiesfor JSON Schema output to specify that JSON objects may not have extra properties (#293, #294).
- atdcat: add titlefield to JSON Schema output containing the name of root type (#294).
- atdcat: add command-line option to choose the version of JSON Schema to target. Options are the latest version "Draft 2020-12" and the previous version "Draft 2019-09" (#294).
- ATD language: the abstractbuilt-in can now be used like any other type to hold untyped data, if the implementation supports it. The supported targets so far are OCaml/JSON (atdgen), Python (atdpy), TypeScript (atdts), JSON Schema (atdcat) (#295).
2.6.0 (2022-05-03)
- atdcat: add option -jsonschemato translate from ATD to JSON Schema (#284)
2.5.0 (2022-04-23)
- atdpy: make atdpy --versionprint the version of atdpy itself rather than the version of theatdlibrary (#270)
- atdpy: fix handling of nullableand improve error message onoptiontypes used without optional fields (#277)
- Add TypeScript backend called atdts (#274)
2.4.1 (2022-03-25)
- atdpy: don't apply the @dataclassdecorator twice if explicitly added by the user via an ATD annotation such as<python decorator="dataclass(frozen=True)">(#267)
2.4.0 (2022-03-24)
- atdpy: allow custom imports and class decorators to be added to the generated Python code.
2.3.3 (2022-03-16)
- Prevent incorrect validation errors for annotations of the form <ocaml field_prefix=...>and a few others (#258)
2.3.2 (2022-03-11)
- Fix package dependencies (#257)
2.3.1 (2022-03-10)
- Ensure that atdgen reports its own version rather than the version of the atd library.
- Fix version constraint on cmdliner.
2.3.0 (2022-03-10)
- Allow single-quoted strings as an alternative to double-quoted strings in ATD files (#239)
- Add Python backend called atdpy (#235)
- Add detection of misplaced annotations and misspelled annotation field names for atdgen targets and atdpy (#204, #227)
- atdpy: Downcase Python output files (#251)
- atdpy: Disable flake8 checks on generated code via a special comment (#252)
- atdgen: Add support for ppx attributes on individual type definitions (#238)
- (BREAKING) atdgen: change encoding of int64 values to string (#231)
- other enhancement and fixes (see git log)
2.2.0 (2020-09-03)
- Add support for merging double annotations (<ocaml from="ProtoA"><ocaml predef>)
- Add tests for annotation merging and target-specific annotations
2.1.0 (2019-12-3)
- Fix bug preventing generated code from compiling when using json adapters on recursive types.
- Improve automatic error messages shown in case of failed validation. Now include the validator's name or code.
- Add support for json adapters in the bucklescript backend. (#153)
2.0.0 (2018-05-31)
- Add support for json adapters in OCaml (<json adapter.ocaml=...>)
- Add support for json enums with a catch-all case (<json open_enum>)
- Remove <json tag_field=...>and<json untyped>
1.13.0 (2018-03-27)
- Introduce atdgen-runtimepackage. This package contains the runtime dependency introduced by theatdgencode generator. The old runtime library is deprecated
- Add atdjto set of released packages.atdjis a java code generator for .atd files.
- Improve generated code to emit ppx attributes to ignore harmless warnings
- Ag_versionsubmodule has been replaced with- Version.
- Transition atdaliases using the(wrapped true)mode of jbuilder. This is a breaking change for all of those who useatdthe library. All modules are now accessible under theAtd.entry module.
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page
  - 2.10.0 (2022-08-09)
- 2.9.1 (2022-06-10)
- 2.8.0 (2022-06-06)
- 2.7.0 (2022-05-17)
- 2.6.0 (2022-05-03)
- 2.5.0 (2022-04-23)
- 2.4.1 (2022-03-25)
- 2.4.0 (2022-03-24)
- 2.3.3 (2022-03-16)
- 2.3.2 (2022-03-11)
- 2.3.1 (2022-03-10)
- 2.3.0 (2022-03-10)
- 2.2.0 (2020-09-03)
- 2.1.0 (2019-12-3)
- 2.0.0 (2018-05-31)
- 1.13.0 (2018-03-27)