On 1. 3. 2019 12:04, Michał Wadas wrote:
Syntax:
try import fs from 'fs'
else import fs from 'fs-polyfill'
else import fs from 'another-fs-polyfill'
else do nothing; // Not sure about syntax
try import {watchDirectory} from 'fs'
else import {watchDirectory} from 'fs-polyfill'
else if(process.os === 'ExoticSystem') import {watchDirectory} from
'another-fs-polyfill'
else throw Error('Your OS doesn\'t support watching directories');
I am not an expert, but afaict ES module system was created to be
statically analysable and this bring uncertainity.
For that probably dynamic import() is there; and your usage should await
for a promise that tries to load one then the other etc.
Herby
Usages:
* Optional dependencies
* Polyfills
Problems:
* This can prevent loading modules before execution if presence of
modules can't be proved statically
* else-if requires execution before loading module - can be dropped
I don't have enough time and knowledge about modules to write actual
proposal.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss