本文整理汇总了TypeScript中@cycle/rxjs-run.setup函数的典型用法代码示例。如果您正苦于以下问题:TypeScript setup函数的具体用法?TypeScript setup怎么用?TypeScript setup使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了setup函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it('should create a location from PushHistoryInput', done => {
function main(_sources: {history: Observable<Location>}) {
return {
history: of<PushHistoryInput>({type: 'push', pathname: '/test'}),
};
}
const {sources, run} = setup(main, {
history: makeServerHistoryDriver(),
});
sources.history.pipe(skip(1)).subscribe({
next(location: Location) {
assert.strictEqual(location.pathname, '/test');
done();
},
error: done,
complete: () => {
done('complete should not be called');
},
});
run();
});
示例2: it
it('should not auto-execute lazy request without listening to response stream', function(
done,
) {
function main(sources: {HTTP: HTTPSource}) {
return {
HTTP: Rx.Observable.of({
url: uri + '/pet',
method: 'POST',
send: {name: 'Woof', species: 'Dog'},
lazy: true,
}),
};
}
const {sources, run} = Cycle.setup(main, {HTTP: makeHTTPDriver()});
globalSandbox.petPOSTResponse = null;
run();
setTimeout(function() {
assert.strictEqual(globalSandbox.petPOSTResponse, null);
done();
}, 250);
});
示例3: it
it('should allow going back/forwards with `go`, `goBack`, `goForward`', function(done) {
function main(_sources: {history: Observable<Location>}) {
return {
history: Observable.interval(100)
.take(6)
.map(
i =>
[
'/test',
'/other',
{type: 'go', amount: -1},
{type: 'go', amount: +1},
{type: 'goBack'},
{type: 'goForward'},
][i]
),
};
}
const {sources, run} = setup(main, {history: makeHistoryDriver()});
const expected = ['/test', '/other', '/test', '/other', '/test', '/other'];
sources.history.skip(1).subscribe({
next(location: Location) {
assert.strictEqual(location.pathname, expected.shift());
if (expected.length === 0) {
done();
}
},
error: done,
complete: () => {
done('complete should not be called');
},
});
dispose = run();
});
示例4: it
it('should add request options object to each response', function(done) {
function main(_sources: {HTTP: HTTPSource}) {
return {
HTTP: Rx.Observable.of({
url: uri + '/pet',
method: 'POST',
send: {name: 'Woof', species: 'Dog'},
_id: 'petRequest',
}),
};
}
const {sources, run} = Cycle.setup(main, {HTTP: makeHTTPDriver()});
sources.HTTP.select()
.mergeAll()
.subscribe(function(r: any) {
assert.ok(r.request);
assert.strictEqual(r.request._id, 'petRequest');
done();
});
run();
});
示例5: it
it('should return binary response when responseType option is blob', function(done) {
function main(_sources: {HTTP: HTTPSource}) {
return {
HTTP: Rx.Observable.of({
url: uri + '/binary',
method: 'GET',
responseType: 'blob',
}),
};
}
const {sources, run} = Cycle.setup(main, {HTTP: makeHTTPDriver()});
const response$$ = sources.HTTP.select();
response$$.subscribe(function(response$) {
assert.strictEqual(response$.request.url, uri + '/binary');
assert.strictEqual(response$.request.method, 'GET');
assert.strictEqual(response$.request.responseType, 'blob');
response$.subscribe(function(response) {
assert.strictEqual(response.status, 200);
const fr = new FileReader();
fr.onload = ev => {
assert.deepStrictEqual(
new Uint8Array(fr.result),
new Uint8Array([1, 2, 3])
);
done();
};
fr.onerror = ev => {
done('should not be called');
};
fr.readAsArrayBuffer(response.body);
});
});
run();
});