Releases: bigeasy/cadence
Cadence v4.0.0-alpha.6
- Update
LICENSE
for current year.
Closes #386.
Cadence v4.0.0-alpha.5
- Fix property read of
null
.
Closes #385.
Cadence v4.0.0-alpha.4
- Build with Node.js 16 on GitHub Actions.
- Build with Node.js 16 on Travis CI.
Closes #384.
Cadence v4.0.0-alpha.3
- Fix Thenable misconceptions.
Closes #382.
Cadence v4.0.0-alpha.2
- No longer building with Node.js 10 on CI/CD.
Closes #381.
Cadence v4.0.0-alpha.1
- Caret pin Proof.
- Build with Node.js 14, 15 on GitHub Actions.
- Build with Node.js 14, 15 on Travis CI.
- Update
LICENSE
for 2021.
Closes #380.
Cadence v4.0.0-alpha.0
- Add support for promises. Closes #378.
- Convert
README.md
to Markdown. Closes #372. - Tidy
.gitignore
. See #372. - Update
.travis.yml
for Proof 9.0.2. See #376. - Build with Actions, ship coverage to Codecov. Closes #375. Closes #374.
- Build with Node.js 12 at Travis CI. Closes #377.
- Upgrade
proof
to9.0.2
. Closes #376. - Update
LICENSE
for 2020. Closes #373.
Closes #379.
Cadence 0.0.42.
Object Extensions
If the first argument is an object with a method named step
, invoke the step
method with the step
function and the variadic arguments. This is an extension mechanism. I've create an example event extension method.
Frames Tidy
Only use the frames array where necessary; when invoking the _step
method and when jumping back to the start at the end of a loop.
Callback Creation Tidy
Arrayed or anonymous responses will create a callback from an arrayed creator an invoke it immediately. This is in lieu of using -1
as a special index value that means push to the end. Simplifies the code by eliminating special cases. Complicates the code by creating wrapper functions, but the wrapper functions are built on top of meaningful abstractions, not side-effects.
Reduce the minified and gzipped size of Cadence by converting a the named function createArray
that is called once into an anonymous function.
The counter that determines when a step is finished was duplicated. It has been moved into a sub function.
Loops Always Expect an Array or Terminal
A loop always expects either an array to loop over or a terminal that will stop a count from zero. If the terminal is null
, -1
or Infinity
it will loop forever. The the terminal is some other unreachable nonsense, like an object, it will loop forever.
Catching undefined
Encountered a missing property error triggered when someone throws undefined
. To fix, there must always be an errors array, even at the root caller frame.
- Test that you can catch
undefined
. #218. - Unreachable counter means loop forever. #226.
- Use
frames
stack only where necessary. #244. - Move callback counting into single function. #246.
- Implement arrayed or optional responses without
push
. #235. - Remove
createArray
. #245. - Use
frames
stack only where necessary. #244. - Upgrade Proof to 0.0.48. #243.
- Bouncier trampoline. #242.
- Use
assert
in tests. #240. - Implement event extension. #241.
- Implement extension via objects. #237.
Cadence 0.0.37.
Cadence 0.0.36
Issue by Issue
- Release version 0.0.36. #204.
- Remove unused
fs
from all tests. #203. - Add
.todo.txt
to.gitignore
. #202. - Upgrade Proof to 0.0.42. #201.
- Remove unused
errors
variable. #200. - Test arrayed step property assignment. #199.
- Implement callbacked break out. #198.
- Implement callbacked break up. #197.
- Implement break up. #196.
- Remove
Label
class. #195. - Implement jump out. #194.
- Variable arguments last to counted or each loops. #193.