Commit graph

21 commits

Author SHA1 Message Date
Isiah Meadows
9f0dc2ab46
Runtime-deprecate ospec, change change-log to changelog, fix a few assorted bugs (#2578) 2020-09-29 13:27:07 -07:00
Isiah Meadows
31d1df5caa
Fix #2601 (#2603)
Fix issue where ending a stream in the middle of a stream callback would result in erroneous parent stream state for the rest of that emit.
2020-06-16 08:36:40 -07:00
Isiah Meadows
d4551f49f5
Add streams to releases again, include minified bundle, drop in… (#2539)
* Minify stream, add stream stuff to releases again

* Kill off a lot of tech debt, drop internal utilities from npm

1. Kill `module/`, internalize `bundler/`, privatize `test-utils/`

We've been telling people to move elsewhere from these for a while, and
it's about time we just pull the plug here and finally remove them.

- We officially removed the bundler from the public API in v2.0, and
  that was the only one of these that was ever publicly documented.
  Usage should be low enough by now it shouldn't break anyone- I'm not
  seeing bundler bugs being reported anymore, either.
- The `module/` utility was so narrow and caveat-filled that I'm not
  sure anyone really used it (even us core Mithril devs never really
  used it), and we only had it documented in the repo folder it lived
  in. I think only one bug was ever filed, and it's because it somehow
  ended up completely non-functional without any of us realizing it.
- The test utilities were meant to be internal from day 1, but people
  started using it despite us core developers constantly telling people
  to look elsewhere and even the docs recommending specific alternatives
  without mention of our internal mocks. (Now if people would RTFM,
  that'd be nice...)

2. Add dedicated HTML test files to verify ospec and the promise
   polyfill, and ensure the promise tests are in pure ES5.

These are made specially for those and should be much easier to just run
now.

3. Fix the benchmark script to use the real DOM in browsers and to not
   require as many dependencies to create. Also, tweak them to be much
   more effective and precise on what's being tested.

Previously, it was rendering to the HTML file itself, while now it's
rendering to the `body`. This means in browsers, it's triggering layout
and everything, benchmarking how well Mithril optimizes for style and
layout recalcs, too. It also puts some pressure on the hyperscript
parser attribute application, so that can be noticed as well.

* Update dependencies
2019-10-03 04:58:14 -04:00
Ivan Kupalov
7eea1b1e62 Fix Stream.end() (#2369) 2019-02-07 03:44:31 -05:00
Isiah Meadows
08feb1795e Fix linter error 2019-02-05 11:27:54 -05:00
Isiah Meadows
2a9b3964ca Fix the Stream.HALT warning's condition
Previously, it warned on all *but* the first use, which is obviously
wrong. This corrects it to correctly fire on only the first use.
2019-02-05 11:03:50 -05:00
Adam Gamble
23fe0a5ab1 Fixed scan with skip (#2357)
* Fixed bad test for scan

The previous test didn't catch the fact that the accumulator had been
broke, it's value became the special value `SKIP`.

* Fixed Stream.scan() to accept SKIP value

* Update stream/stream.js

Dropped unnecessary ternary as suggested by @isiahmeadows

Co-Authored-By: gamb <adam@gamb.co>
2019-01-09 23:10:02 -05:00
Rasmus Porsager
58c86f7546 Rewrite stream (#2207)
* Rewrite stream

* Rename HALT to SKIP

* Rename HALT to SKIP

* Remove valueOf and toString

* Update docs for HALT to SKIP

* Rename halt to skip in test

* Add test for combining nested streams atomically

* Update change-log.md

* Test basic SKIP

* Add deprecated HALT

* Combine continues with ended streams

* Fix fantasy-land/of to match spec

* Don't use arrow function

* Improve scan description

* Fix merge artifact
2018-11-27 15:11:24 -05:00
spacejack
76e585c523 Add Stream.lift (#1950)
* Add stream.lift and tests

* Add docs

* Add to change-log
2018-11-13 18:55:45 -05:00
Rasmus Porsager
d64e0a950f Fix #1714 conditionally halting stream (#2200)
* Fix #1714 conditionally halting stream

* Add note in changelog
2018-08-08 15:06:21 +01:00
Barney Carroll
e1a50890e9 stream: Removed valueOf & toString methods (fixes #2150) (#2151)
* stream: Removed `valueOf` & `toString` methods (fixes #2150)

* Update stream documentation
2018-05-16 00:01:30 +02:00
Adam Gamble
fb3c344055 Scan with halt (#1957)
* HALT if scan reducer doesn't change value

* Updated docs to reflect new scan behaviour with HALT
2018-05-03 16:52:33 +01:00
magikstm
e64a322bcf Correct test scripts 2017-12-30 04:44:00 -05:00
Pierre-Yves Gerardy
f22f884b1e Unregister the end streams after their dependents have run fix #1736 2017-03-24 22:29:43 +01:00
eladzlot
3578d0ffb3 added test for stream.end.map
Tests for issue #1736

Any maps set to the end stream do not get called.
In fact, for some reason adding a map to and end stream throws an error:

```
Cannot read property '_state' of undefined
    at updateDependency (/Users/eladzlot/www/mithril.js/stream/stream.js:46:20)
```
2017-03-24 11:53:54 +03:00
spacejack
683d85a952 refactor: Move scan and scanMerge to stream module (#1718) 2017-03-15 17:22:06 -07:00
Gyandeep Singh
daf5a64697 Chore: Fix lint issues and add indent with tabs 2017-03-11 15:54:41 -06:00
Isiah Meadows
1cc5fa5ba7 "use strict" and other linty fixes 2017-03-03 18:24:38 -05:00
Leo Horie
439cf95673 expose promise polyfill in a way that won't need code migration later 2016-11-16 21:15:23 -05:00
Leo Horie
6ce2a384ec simplify streams, lint docs 2016-11-15 23:13:38 -05:00
Zach Dahl
db445a899d add stream folder with scan and scan-merge 2016-10-29 00:38:28 -05:00