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

Reply via email to