UNPKG

sai-library

Version:

Runtime library for sai-language compiled scripts.

130 lines (63 loc) 3.11 kB
## Changelog ### 1.0.21 - Fixed `create_op` to work with both constructors and bare prototypes. - Added `in_op` for querying collections for multiple values - Added `find_op` for queriyng collections for a single value forwards & backwards ### 1.0.20 - Bug in `kviterate_op` also bug in test suite i guess - Also bug in `sum_op` so embarassing - added `environment` to give running modules access to the information about their SAI context ### 1.0.19 - `reduce_op_fast` is now `sum_op` - `reduce_op` is now a true reduce that expects functions to take two items and produce one; if there is only one item, the function is NOT called. ### 1.0.18 - additional declarations of `unbound` for performance ### 1.0.17 - new `l_op` logical operator; calculates boolean results on collections ### 1.0.16 - removed tab characters in source file - fixed `expects_op` to use `hasOwnProperty` like it should have all along - minor functionality change in `overlay_op`, regularizing how a leftside static and rightside iterator work in comparison to `update_op`. - new `reduce_op_fast` is similar to `reduce_op` but does not take special action on an `undefined` start value. SAI is moving to this new approach as _pipers_ are integrated. - syntax changes for alteration to new _pipers_ system in SAI. ### 1.0.15 - refactoring for construct reformatting - altered `clone_op` to copy undefined values as well (not sure why I had it ignoring undefined values before) ### 1.0.14 - `assert_op` now returns the value we tested with - `assert_op` also now actually prints the error message (cool, eh) ### 1.0.13 - several utility functions declared as `unbound` ### 1.0.12 - eliminate redundant use of `@` for this attributes. ### 1.0.11 - Using hasOwnProperty to test for contract fulfillment ### 1.0.10 - Javascript based loader now strips out `#!` from "created" objects to avoid compile errors. ### 1.0.9 - enhanced error checking in `slice_op` - cleaned up some undefined variables ### 1.0.8 - fixed problem with `expects` - slice a.k.a. `limit` now operates on characters in strings as well as arrays, and generators. ### 1.0.7 - sailib is now written in the language it supports. - change to `select` now returning `undefined` values when trying to select beyond the end of an iterator rather than bailing on the selection. - src and lib directory structure ### 1.0.6 - changes to `create` to fix issues with compiled projects ### 1.0.5 - removed spurious coverage indicator - added new function `singleton` for creating singleton objects ### 1.0.4 - new function `kviterator` for the use of the `every` keyword. ### 1.0.3 - for `map`, `filter`, `audit`, and `reduce`, when operating over an iterator, pass in the row count as the key. - added `drain` function to drain iterators ### 1.0.2 - removed redundant code path in .iterate, full coverage tested ### 1.0.1 - Moved prototype definition to library - Added runtime .create method for instantiation of SAI objects. ### 1.0.0 - Initial release