Skip to content
Snippets Groups Projects
  1. Oct 22, 2020
  2. May 05, 2020
  3. Oct 16, 2019
  4. Jul 17, 2019
  5. Jul 16, 2019
  6. Jul 12, 2019
  7. Oct 06, 2017
  8. Sep 19, 2017
  9. Jul 17, 2017
  10. May 23, 2017
  11. May 11, 2017
  12. May 10, 2017
  13. Apr 17, 2017
  14. Apr 03, 2017
  15. Mar 13, 2017
  16. Feb 08, 2017
  17. Jan 27, 2017
  18. Jan 26, 2017
    • adcpm's avatar
      Build · 32da5c84
      adcpm authored
      32da5c84
  19. Jan 25, 2017
  20. Jan 23, 2017
  21. Dec 26, 2016
  22. Oct 05, 2016
  23. Sep 30, 2016
  24. Sep 16, 2016
    • yamadapc's avatar
      Initial implementation of API method codegen · 4019a816
      yamadapc authored
      Doesn't mess with the exported API. Adds a `lib/api-from-methods` module
      exporting all API methods that use the
      `this.send(apiName, options, callback)` scheme.
      
      The generated functions work as follows. For every method in
      `methods.json`, two functions are generated:
      
      - `camelCaseMethodWith`
      - `camelCaseMethod`
      
      The usages are:
      
      ```javascript
      api.camelCaseMethodWith(options, callback);
      ```
      
      And:
      ```javascript
      api.camelCaseMethod(param1, param2, callback);
      ```
      
      `options` currently holds parameters with their names generated from the
      source `lib/api.js` variable names. For example:
      
      ```javascript
      api.getBlockWith({
        blockNum: 1, // <- because `lib/api.js` called the variable `blockNum`
      }, function (err, operation) {
        console.log(err, operation);
      });
      
      api.getBlock(1, function (err, operation) {
        console.log(err, operation);
      });
      ```
      
      Further improvements could be made to the method data and generated code. Namely:
      - It'll require a `json-loader` or way to require `.json` files on
        browser bundlers
      - It doesn't handle #22
      - When there's no error but the `data.id` mismatches the iterator, the
        callback isn't called; this is a weird design decision
      
      This closes #23.
      4019a816
Loading