-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathloader.mjs
53 lines (52 loc) · 1.77 KB
/
loader.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import * as stdlib_ETH from './ETH.mjs';
import * as stdlib_ALGO from './ALGO.mjs';
import { getConnectorMode, canonicalizeConnectorMode, getConnector } from './ConnectorMode.mjs';
import { process, window, updateProcessEnv, } from './shim.mjs';
import { doStdlibLoad } from './registry.mjs';
export { unsafeAllowMultipleStdlibs } from './registry.mjs';
export { getConnectorMode, getConnector };
function extractMode(x) {
if (!x) {
return extractMode(process.env);
}
if (typeof x === 'string') {
return extractMode({ REACH_CONNECTOR_MODE: x });
}
updateProcessEnv(x);
var g = process.env['REACH_CONNECTOR_MODE'];
if (!g) {
console.log("WARNING: `REACH_CONNECTOR_MODE` defaulting behavior is deprecated as of" +
" version 0.1.6; please update your code to set this value explicitly.");
return 'ETH';
} else {
return g;
}
};
// The connectorMode arg is optional;
// It will use REACH_CONNECTOR_MODE if 0 args.
export function loadStdlib(connectorModeOrEnv) {
var connectorModeStr = extractMode(connectorModeOrEnv);
var connectorMode = canonicalizeConnectorMode(connectorModeStr);
var connector = getConnector(connectorMode);
// Remember the connector to prevent users from accidentally using multiple stdlibs
doStdlibLoad(connector);
var stdlib_x;
switch (connector) {
case 'ETH':
stdlib_x = stdlib_ETH;
break;
case 'ALGO':
stdlib_x = stdlib_ALGO;
break;
default:
throw Error("impossible: unknown connector ".concat(connector));
}
var stdlib = stdlib_x.load();
// also just inject ourselves into the window for ease of use
window.reach = stdlib;
return stdlib;
}
export function Reach(connectorModeOrEnv) {
Object.assign(this, loadStdlib(connectorModeOrEnv));
}
//# sourceMappingURL=loader.js.map