Cannot use with new version of RxJS (7.8.0 vs 5.5.12, for new Angular projects)

Open
#435 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
angular, typescript
Domain
api, web-dev

Research direction

Start by reviewing how botframework-directlinejs 0.15.5 declares RxJS and how the activity$ entry point is typed. Reproduce the Angular project example with RxJS 7.8.0 and the map operator, then determine whether the dependency declaration or the RxJS compatibility needs changing. Done means the library can be used with the newer RxJS types without manual subscriptions.

Written by the indexing model from the issue text.

Description

When trying to use this library you cannot use new RxJS operators, even simple ones like map.
Because the type of Observable does not match.

This forces many manual subscribes that could have been pipeline operators.

Image

Minimal snippet (on new angular project with RxJS 7.8.0 and botframework-directlinejs 0.15.5):

return this.directLine.activity$.filter(x => x.type === 'message').pipe(map((x: Message): string => ''));

Possible solutions including making RxJS a peer dependency or upgrading it to a new version.

Dominant language
TypeScript
Stars
199
Forks
133
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/BotFramework-DirectLineJS

All issues in microsoft/BotFramework-DirectLineJS

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.