Proposal for typescript definition file #265
Merged
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.
I finally found a solution to have our typescript definition file work both in module and no-module environments. Practically this means that
tsc
will validate both of those code snippets:As a example the first one might be written inside WoT scripts (which may not support a module system) and the latter for runtimes who want to use node-wot as a library.
Since I had to format the file it is quite difficult to undestand the change. Essentially I changed the declaration of the namespace from
export as namespace WoT;
to:Finally I exposed every field in the namespace as a module with the following:
I created a PR since I think this is the final solution.
Fixes #215 .