1. 23 Apr, 2022 3 commits
    • Konrad Mohrfeldt's avatar
      feat: allow API store consumers to use traditional flow-control · 180ba939
      Konrad Mohrfeldt authored
      The currently prevalent API response handling is based on a callback
      pattern. This has at least two major drawbacks:
      
      1. More broadly it facilitates the use of nested callbacks, which make
         the code harder to read and clutter stack traces.
      2. Our specific callback solution does not follow the traditional node
         callback pattern that looks like `function (err, data) { ... }`.
         Instead we have `callback` and `callbackCancel`, none of which are
         meant to handle actual error/exception objects.
      
      The latter makes it hard to write code that is executed irrespective of
      the specific code path, like in a try-finally clause. In practice it’s
      also a violation of the separation-of-concerns design principle as it
      forces error handling to happen in the store function instead of the
      caller that is best suited to handle error states.
      
      This change attempts to facilitate a gradual migration to a
      Promise-based result handling by it to co-exist with the currently used
      callback pattern. Callers that don’t provide any callback functions are
      assumed to handle promises whereas callers that do provide callback
      functions will see no change in behaviour.
      
      This allows us to transition one API-call at a time instead of doing one
      large and time-consuming refactoring.
      
      refs #55
      180ba939
    • Konrad Mohrfeldt's avatar
      feat: add has helper-function · d82c8719
      Konrad Mohrfeldt authored
      d82c8719
    • Konrad Mohrfeldt's avatar
      chore: simplify choice generation · 771415e2
      Konrad Mohrfeldt authored
      771415e2
  2. 22 Apr, 2022 3 commits
  3. 21 Apr, 2022 1 commit
  4. 29 Mar, 2022 4 commits
  5. 28 Mar, 2022 5 commits
  6. 25 Mar, 2022 7 commits
  7. 18 Mar, 2022 4 commits
  8. 17 Mar, 2022 1 commit
  9. 14 Jan, 2022 6 commits
  10. 09 Dec, 2021 1 commit
  11. 03 Dec, 2021 3 commits
  12. 25 Nov, 2021 1 commit
  13. 19 Nov, 2021 1 commit