Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
In murat-dogan#40 enums had `const` added to them. [const enums](https://www.typescriptlang.org/docs/handbook/enums.html#const-enums) are removed at compile time and replaced with numbers. Here we require strings to be passed to `libdatachannel`, so in murat-dogan#259 we exported objects with values that correspond to the enums so consuming code can import something they can use in `PeerConnection` method invocations, e.g.: ```js import { DescriptionType, PeerConnection } from 'node-datachannel' const pc = new PeerConnection() pc.setLocalDescription(DescriptionType.Offer, { // ... }) ``` In murat-dogan#278 the codebase was converted to TypeScript and a non-const enum crept back in. Now all the enums live in `types.ts` and since Rollup was introduced as part of murat-dogan#278, but if you check the `esm` and `cjs` output dirs, `tests.ts` is not being transpiled to `tests.js` (`types/lib/types.d.ts` is present though, so `tsc` is doing it's job) and the re-export of the exports from `tests.ts` is being removed so enums are broken again at runtime. The fix here is to give up on enums since they are a constant source of pain for consumers and change them to be types: ```js import { PeerConnection } from 'node-datachannel' const pc = new PeerConnection() pc.setLocalDescription('offer', { // ... }) ```
- Loading branch information