Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for Deno #84

Open
raycharius opened this issue Dec 19, 2021 · 1 comment
Open

Support for Deno #84

raycharius opened this issue Dec 19, 2021 · 1 comment
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@raycharius
Copy link
Owner

raycharius commented Dec 19, 2021

Is your feature request related to a problem? Please describe.
Slack recently announced a new platform, currently in closed beta. It is built on top of Deno.

Describe the solution you'd like
The library needs to work with Deno. Currently, since all of the builder classes are created using mixins, transpiling to a mod.js file does not work as expected – Deno does not recognize the setter methods.

This basically means that need to do away with mixins and declare all of the methods explicitly on the builder classes.

One issue here is that there is no concrete hierarchy for the objects per Slack's API, so inheritance will probably introduce a lot of complexity, without much benefit. For setter and appending methods, they each use a set() and append() methods from the Builder class. Need to move implementation of the configuration methods to the parent class, too, so that the implementation of a certain method is nothing more than a single call of an inherited method, as to not repeat a bunch of implementation details.

The JSDoc annotations can still be managed in a single place, using TypeScript interfaces.

Once that has been done, the first step will be transpiling the library to a single mod.js file. From there, need to figure out a way to natively support Deno without having to port the entire repo.

@raycharius raycharius added the enhancement New feature or request label Dec 19, 2021
@raycharius raycharius added this to the Version 3.0.0 milestone Dec 19, 2021
@raycharius raycharius self-assigned this Dec 19, 2021
@frankyanwang
Copy link

Does this wonderful library currently support the deno and next gen Slack platform? Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants