- Add
Signal#bufferWith
method - Fix
Signal.zip
method - Add window combinator
- Add zipLatestWith combinator
- Fix
Signal.merge
function - Only complete
zipWith
signal after all signals have completed - Allow
withCallback
to handle an unmount function - Fix concat combinator
- Fix take combinator
- Fix takeWhile combinator
- Fix
Signal.concat
function - Add typescript types
- Add
Signal#tap
method
- Refactor combinators to fix cyclical dependency warnings
- Add dev dependency on Fkit
- Export classes in separate files to help with bundle sizes
- Rename
value
->next
to match the observable proposal - Remove runtime dependency on Fkit
- Mark subscriptions as closed when an observer unsubscribes
- Allow
Signal.of
to take multiple arguments - Don't allow functions which take multiple arguments to an array (use the array spread syntax instead)
- Rename fromArray -> from
- Fix peer dependencies for bulb-input
- Add
Bus
class
- Add
Signal#all
method - Add
Signal#any
method
- Fix issue with array arguments passed to
startWith
,endWith
,append
, andprepend
methods
- Add
Signal#startWith
andSignal#endWith
methods
- Remove
Signal.sequential
static method - Change
Signal.periodic
to emit sequential numbers - Add
Signal#first
method - Add
Signal#last
method - Add index to
map
,filter
,fold
, andscan
methods - Add
Signal.merge
static method - Add
Signal.zip
static method - Add
Signal.zipWith
static method - Remove combinator functions from exports
- Extract keyboard and mouse signals into
bulb-input
package
- Add
apply
function - Add
Signal.throwError
static method - Add
catchError
function - Add
Signal#catchError
method
- Add
buffer
function - Add
Signal#buffer
method
- Add
switchMap
function - Add
Signal#switchMap
method - Fix an issue where
concatMap
wouldn't wait for signals to complete - Add missing combinators to exports
- Add
concat
function - Add
Signal#concat
method - Add
always
function - Add
cycle
function - Add
sequential
function - Add
prepend
function - Add
append
function - Add
Signal#prepend
method - Add
Signal#append
method - Fix an issue where exceptions were being swallowed when mounting
- Add
takeUntil
function - Add
dropUntil
function - Add
Signal#takeUntil
method - Add
Signal#dropUntil
method - Reorder the arguments for
Signal#sample
andSignal#hold
- Add
Signal#cycle
method - Add
Signal#sequential
method - Deprecate
Signal.sequential
method (useSignal.periodic(1000).sequential([1, 2, 3])
instead) - Remove
setTimeout
inSignal.fromArray
method - Remove
setTimeout
inscan
function - Unmount signals when they have completed
- Add
take
function - Add
takeWhile
function - Add
drop
function - Add
dropWhile
function - Add
Signal#take
method - Add
Signal#takeWhile
method - Add
Signal#drop
method - Add
Signal#dropWhile
method
- Rename
emit.next
->emit.value
- Move keyboard and mouse methods to separate functions (e.g.
keyboardKeys
,keyboardState
,mouseButtons
,mousePosition
, andmouseState
) - Extract all functions to separate files
- Change to documentation.js for API docs
- Switch to jest for tests
- Update readme
- Fix issue where some signals weren't being unmounted properly
- Fix issue with initial value scheduling
- Add watch task
- Fix param documentation for curried functions
- Update readme
- Add book search example
- Fix an issue with Signal.fromEvent
- Update documentation
- Rename bulb.js -> index.js
- Rename combinator -> combinators
- Update rollup to 0.53.2
- Update jsdoc-react to 1.0.0
- Update fkit to 1.1.0
- Update mocha to 4.1.0
- Update documentation
- Refactor keyboard and mouse modules
- Add Signal#throttle and Signal#debounce
- Add throttle function
- Add debounce function
- Curry the combinator functions
- Extract combinators into modules
- Update zipWith function to buffer values
- Rename license to licence
- Remove sampleWith and holdWith functions
- Ensure signal combinators are unsubscribed
- Add Signal#encode
- Add Signal#switch
- Allow Signal#merge to receieve signals as an array
- Update copyright in license
- Don't export default from main module
- Rename observer -> emit
- Refactor subscribe calls to use object reset spread
- Fix rollup packaging
- Allow merge to take many arguments
- Refactor stateMachine to take observer argument
- Store keyboard state in a set
- Add Signal#startWith function
- Don't generate duplicate keyboard events
- Handle no transform function result in Signal#stateMachine
- Add Signal#stateMachine function
- First cut of the API
- Initial import