You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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()
andappend()
methods from theBuilder
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.The text was updated successfully, but these errors were encountered: