diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-10-10 03:50:11 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-10-10 03:50:11 +0200 |
commit | de4628b3a7e7618681a76c01d00c1632a96688cf (patch) | |
tree | 49d4d97cf1c591b8567c83aa2469522f7fa57d27 /thirdparty/systemjs/docs/system-api.md | |
parent | 7989859ed6520d4e8d18f48545e5998bf66e253c (diff) | |
parent | 9af485a584e47fd503ed5c62b9f6482574715f1e (diff) | |
download | wallet-core-de4628b3a7e7618681a76c01d00c1632a96688cf.tar.xz |
Merge commit '9af485a584e47fd503ed5c62b9f6482574715f1e' as 'thirdparty/systemjs'
Diffstat (limited to 'thirdparty/systemjs/docs/system-api.md')
-rw-r--r-- | thirdparty/systemjs/docs/system-api.md | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/thirdparty/systemjs/docs/system-api.md b/thirdparty/systemjs/docs/system-api.md new file mode 100644 index 000000000..803d688fc --- /dev/null +++ b/thirdparty/systemjs/docs/system-api.md @@ -0,0 +1,141 @@ +## SystemJS API + +For setting SystemJS configuration see the [Configuration API](config-api.md) page. + +#### System.amdDefine +Type: `Function` + +For backwards-compatibility with AMD environments, set `window.define = System.amdDefine`. + +#### System.amdRequire +Type: `Function` + +For backwards-compatibility with AMD environments, set `window.require = System.amdRequire`. + +#### System.config +Type: `Function` + +SystemJS configuration helper function. See the [Configuration API](config-api.md). + +#### System.constructor +Type: `Function` + +This represents the System base class, which can be extended or reinstantiated to create a custom System instance. + +Example: + +```javascript + var clonedSystem = new System.constructor(); + clonedSystem.baseURL = System.baseURL; + clonedSystem.import('x'); // imports in a custom context +``` + +#### System.delete(moduleName) +Type: `Function` + +Deletes a module from the registry by normalized name. + +```javascript +System.delete('http://site.com/normalized/module/name.js'); +``` + +#### System.get(moduleName) -> Module +Type: `Function` + +Returns a module from the registry by normalized name. + +```javascript +System.get('http://site.com/normalized/module/name.js').exportedFunction(); +``` + +#### System.has(moduleName) -> Boolean +Type: `Function` + +Returns whether a given module exists in the registry by normalized module name. + +```javascript +if (System.has('http://site.com/normalized/module/name.js')) { + // ... +} +``` + +#### System.import(moduleName [, normalizedParentName]) -> Promise(Module) +Type: `Function` + +Loads a module by name taking an optional normalized parent name argument. + +Promise resolves to the module value. + +For loading relative to the current module, ES Modules define a `__moduleName` binding, so that: + +```javascript +System.import('./local', __moduleName); +``` + +In CommonJS modules the above would be `module.id` instead. + +This is non-standard, but coverse a use case that will be provided by the spec. + +#### System.newModule(Object) -> Module +Type: `Function` + +Given a plain JavaScript object, return an equivalent `Module` object. + +Useful when writing a custom `instantiate` hook or using `System.set`. + +#### System.register([name ,] deps, declare) +Type: `Function` + +Declaration function for defining modules of the `System.register` polyfill module format. + +[Read more on the format at the loader polyfill page](https://github.com/ModuleLoader/es6-module-loader/blob/v0.17.0/docs/system-register.md) + +#### System.registerDynamic([name ,] deps, executingRequire, declare) +Type: `Function` + +Companion module format to `System.register` for non-ES6 modules. + +Provides a `<script>`-injection-compatible module format that any CommonJS or Global module can be converted into for CSP compatibility. + +Output created by [SystemJS Builder](https://github.com/systemjs/builder) when creating bundles or self-executing bundles. + +For example, the following CommonJS module: + +```javascript +module.exports = require('pkg/module'); +``` + +Can be written: + +```javascript +System.registerDynamic(['pkg/module'], true, function(require, exports, module) { + module.exports = require('pkg/module'); +}); +``` + +`executingRequire` indicates that the dependencies are executed synchronously only when using the `require` function, and not before execution. + +* `require` is a standard CommonJS-style require +* `exports` the CommonJS exports object, which is assigned to the `default` export of the module, with its own properties available as named exports. +* `module` represents the CommonJS module object, with `export`, `id` and `url` properties set. + +#### System.set(moduleName, Module) +Type: `Function` + +Sets a module into the registry directly and synchronously. + +Typically used along with `System.newModule` to create a valid `Module` object: + +```javascript +System.set('custom-module', System.newModule({ prop: 'value' })); +``` + +> Note SystemJS stores all module names in the registry as normalized URLs. To be able to properly use the registry with `System.set` it is usually necessary to run `System.set(System.normalizeSync('custom-module'), System.newModule({ prop: 'value' }));` to ensure that `System.import` behaves correctly. + +#### System._nodeRequire +Type: `Function` + +In CommonJS environments, SystemJS will substitute the global `require` as needed by the module format being loaded to ensure +the correct detection paths in loaded code. + +The CommonJS require can be recovered within these modules from `System._nodeRequire`. |