<commit_before>AWS SDK for elm
===============

[![npm](https://img.shields.io/npm/v/aws-sdk-elm.svg)](https://www.npmjs.com/package/aws-sdk-elm)
[![CircleCI](https://img.shields.io/circleci/project/github/ktonon/aws-sdk-elm.svg)](https://circleci.com/gh/ktonon/aws-sdk-elm)

__Experimental: Work in progress__

This repo contains scripts which read and translate the AWS SDK [apis/*.json][] files into elm packages.

[apis/*.json]:https://github.com/aws/aws-sdk-js/tree/master/apis
[AWS SDK for JavaScript]:https://github.com/aws/aws-sdk-js
<commit_msg>Added goals and todo checklist<commit_after>AWS SDK for elm
===============

[![CircleCI](https://img.shields.io/circleci/project/github/ktonon/aws-sdk-elm.svg)](https://circleci.com/gh/ktonon/aws-sdk-elm)

__Experimental: Work in progress__

This repo contains scripts which read and translate the AWS SDK [apis/*.json][] files into an elm package. Eventually I will publish the generated code to the elm package repository.

## Goals

Not sure about the feasibility of the following, but these are my goals:

* Make this a pure elm implementation of the AWS SDK (no falling back to JavaScript AWS SDK)
* Fully generated. No patching after the generation script is run.

## Todo

* [x] parse [apis/*.json][] files to get list of AWS APIs
* [x] generate one elm module per AWS API
  * [x] module documentation
* [ ] generate AWS operations as elm functions
  * [x] function name
  * [x] function documentation
  * [ ] function signature
  * [ ] function implementation
* [ ] generate AWS shapes as elm unions and records
  * [ ] type name
  * [ ] type documentation
  * [ ] type signature
* [ ] not sure yet what else is involved...
  * [ ] share common shapes as types between modules?
  * [ ] integration tests?

[apis/*.json]:https://github.com/aws/aws-sdk-js/tree/master/apis
[AWS SDK for JavaScript]:https://github.com/aws/aws-sdk-js

{'fraction_non_alphanumeric': 0.14315900686740624, 'fraction_numerical': 0.0, 'mean_word_length': 4.091397849462366, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 10, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '581865', 'n_tokens_mistral': 614, 'n_tokens_neox': 587, 'n_words': 187}