[Typescript] Add RouterSource typings and remove typing dependency to switch-path #65
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello,
I tried to setup a Cycle project using Typescript and Cyclic-router but I ran into two issues:
makeRouterDriver's typings referencesRouterSource's, that in turn referencesswitch-path's that aren't included in the build. Thus a typescript app that includesmakeRouterDrivercannot compile, which is a problem.RouterSourcetypings aren't exposed to consumers, so they can't type theirSourcesobjects. They can be accessed "manually" though, but they're incomplete because they have to work with multiple stream libraires.With this PR, I attempt to solve these two issues:
interfaces.tsfiles and moved there the two interfaces that were previously inswitch-path's typings, so that the resulted.d.tsfiles do not depend onswitch-path. Ideally, adding typings toswitch-pathcould also have solved the problem, but in the meantime we have a solution that doesn't depend on that..d.tsfiles containing typings forRouterSourcefor all supported stream librairies, exactly like@cycle/domdoes.