Skip to content

Instantly share code, notes, and snippets.

@FeliciousX
Last active October 24, 2016 08:18
Show Gist options
  • Save FeliciousX/e1096f2cef08629c1367142ef80e08a3 to your computer and use it in GitHub Desktop.
Save FeliciousX/e1096f2cef08629c1367142ef80e08a3 to your computer and use it in GitHub Desktop.
CycleJS Snippets
import {makeHTTPDriver} from '@cycle/http';
function makeCustomHTTPDriver( options ) {
const HTTPDriver = makeHTTPDriver( options );
const token = document.querySelector('meta[name=csrf-token]').getAttribute('content');
return function customHTTPDriver( sink$, streamAdapter ) {
const csrf_request$ = sink$.map(request => ({
...request,
headers: { 'X-CSRF-Token' : token }
}));
const source = HTTPDriver( csrf_request$, streamAdapter );
return source;
};
}
export default makeCustomHTTPDriver;
import xs from 'xstream'
export default function makeLogDriver(prepend = 'DEBUG:') {
return function logDriver(msg$) {
msg$.addListener({
next: function log( msg ) {
console.log(prepend, msg)
}
})
return xs.never()
}
}
import xs from 'xstream'
export default function makePreventDefaultDriver() {
return function preventDefaultDriver(event$) {
event$.addListener({
next: function preventDefault( e ) {
e.preventDefault();
}
})
return xs.never()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment