Skip to content

Commit 49ede99

Browse files
committed
Merge tag '0.3.1'
v0.3.1
2 parents 2adefda + 6b7a700 commit 49ede99

File tree

11 files changed

+115
-94
lines changed

11 files changed

+115
-94
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
npm-debug.log
33
node_modules
44
dist
5+
lib

.npmignore

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
.idea
22
npm-debug.log
33
node_modules
4-
example
54
config
65
release.js
7-
src
6+
_config.yml
7+
.npmignore
8+
.gitignore
9+
rollup.config.js

config/helpers.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

config/webpack.common.js

Lines changed: 0 additions & 54 deletions
This file was deleted.

example/adder.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// same example as https://github.com/cujojs/most#simple-example
2+
3+
const { fromEvent, combineLatest } = Servable;
4+
5+
const xInput = document.querySelector('input.x');
6+
const yInput = document.querySelector('input.y');
7+
const resultNode = document.querySelector('.result');
8+
9+
const add = (x, y) => x + y;
10+
11+
const toNumber = e => Number(e.target.value);
12+
13+
const renderResult = result => {
14+
resultNode.textContent = result
15+
};
16+
17+
const main = () => {
18+
// x represents the current value of xInput
19+
const x = fromEvent('input', xInput).map(toNumber);
20+
21+
// y represents the current value of yInput
22+
const y = fromEvent('input', yInput).map(toNumber);
23+
24+
// result is the live current value of adding x and y
25+
const result = combineLatest(x, y, add);
26+
27+
// Observe the result value by rendering it to the resultNode
28+
result.subscribe(renderResult);
29+
};
30+
31+
main();

example/index.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,15 @@ <h3>Observable Example</h3>
1111
<div id="myTextReverse">Type in input</div>
1212
<input id="myInput" value="Type in input" />
1313

14-
<script type="text/javascript" src="../dist/index.js"></script>
14+
<div>
15+
<form>
16+
<h3>Adder</h3>
17+
<input class="x"> + <input class="y"> = <span class="result"></span>
18+
</form>
19+
</div>
20+
21+
<script type="text/javascript" src="../dist/index.min.js"></script>
1522
<script type="text/javascript" src="index.js"></script>
23+
<script type="text/javascript" src="adder.js"></script>
1624
</body>
1725
</html>

package.json

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
{
22
"name": "servable",
3-
"version": "0.2.0",
3+
"version": "0.3.1",
44
"description": "From scratch observable",
5-
"main": "dist/index.js",
5+
"main": "lib/index.js",
6+
"jsnext:main": "src/index.js",
67
"scripts": {
78
"test": "echo \"Error: no test specified\" && exit 0",
8-
"build": "rm -rf dist && webpack --config config/webpack.common.js",
9+
"build": "rimraf lib dist && buba src -o lib && rollup -c && uglifyjs dist/index.js -c \"warnings=false\" --comments -m -o dist/index.min.js --verbose",
10+
"watch": "rollup -c -w",
911
"release": "node release.js"
1012
},
1113
"repository": {
@@ -19,13 +21,17 @@
1921
},
2022
"homepage": "https://github.com/maniator/servable#readme",
2123
"devDependencies": {
22-
"babel-core": "^6.24.1",
23-
"babel-loader": "^7.0.0",
24-
"babel-preset-es2015": "^6.24.1",
25-
"babel-preset-stage-0": "^6.24.1",
24+
"buba": "^4.0.2",
2625
"inquirer": "^3.0.6",
26+
"rimraf": "^2.6.1",
27+
"rollup": "^0.41.6",
28+
"rollup-plugin-buble": "^0.15.0",
29+
"rollup-plugin-license": "^0.3.0",
30+
"rollup-plugin-node-resolve": "^3.0.0",
31+
"rollup-plugin-sizes": "^0.3.0",
32+
"rollup-watch": "^3.2.2",
2733
"semver": "^5.3.0",
2834
"shelljs": "^0.7.7",
29-
"webpack": "^2.4.1"
35+
"uglify-js": "^3.0.3"
3036
}
3137
}

rollup.config.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import buble from 'rollup-plugin-buble';
2+
import nodeResolve from 'rollup-plugin-node-resolve';
3+
import sizes from 'rollup-plugin-sizes';
4+
import license from 'rollup-plugin-license';
5+
6+
const pkg = require('./package.json');
7+
8+
const banner = `servable v${pkg.version}
9+
${pkg.homepage}
10+
@author ${pkg.author}
11+
@preserve`;
12+
13+
export default {
14+
entry: 'src/index.js',
15+
dest: 'dist/index.js',
16+
format: 'umd',
17+
moduleName: 'Servable',
18+
sourceMap: true,
19+
plugins: [
20+
buble(),
21+
sizes(),
22+
license({
23+
banner,
24+
}),
25+
nodeResolve({
26+
jsnext: true
27+
})
28+
]
29+
}

src/index.js

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,11 @@ export * from './Observable';
33
export * from './Subject';
44
export * from './Observer';
55

6+
export * from './utilities';
67
export * from './utilities/makeHot';
78

89
// add on operators
9-
export * from './operators/map';
10-
export * from './operators/filter';
11-
export * from './operators/delay';
12-
export * from './operators/do';
13-
export * from './operators/debounceTime';
14-
export * from './operators/take';
15-
export * from './operators/first';
16-
export * from './operators/toPromise';
17-
export * from './operators/flatMap';
18-
export * from './operators/switchMap';
19-
export * from './operators/scan';
20-
export * from './operators/reduce';
21-
export * from './operators/concat';
22-
export * from './operators/combineLatest';
23-
export * from './operators/count';
24-
export * from './operators/sum';
25-
export * from './operators/max';
26-
export * from './operators/min';
27-
export * from './operators/average';
10+
export * from './operators';
2811

2912
// add on observable types
30-
export * from './observables/fromEvent';
31-
export * from './observables/fromPromise';
32-
export * from './observables/range';
33-
export * from './observables/interval';
34-
export * from './observables/of';
13+
export * from './observables';

src/observables.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export * from './observables/fromEvent';
2+
export * from './observables/fromPromise';
3+
export * from './observables/range';
4+
export * from './observables/interval';
5+
export * from './observables/of';

src/operators.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
export * from './operators/map';
2+
export * from './operators/filter';
3+
export * from './operators/delay';
4+
export * from './operators/do';
5+
export * from './operators/debounceTime';
6+
export * from './operators/take';
7+
export * from './operators/first';
8+
export * from './operators/toPromise';
9+
export * from './operators/flatMap';
10+
export * from './operators/switchMap';
11+
export * from './operators/scan';
12+
export * from './operators/reduce';
13+
export * from './operators/concat';
14+
export * from './operators/combineLatest';
15+
export * from './operators/count';
16+
export * from './operators/sum';
17+
export * from './operators/max';
18+
export * from './operators/min';
19+
export * from './operators/average';

0 commit comments

Comments
 (0)