From 9af485a584e47fd503ed5c62b9f6482574715f1e Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 10 Oct 2016 03:50:11 +0200 Subject: Squashed 'thirdparty/systemjs/' content from commit 5ed69b6 git-subtree-dir: thirdparty/systemjs git-subtree-split: 5ed69b6344e8fc1cd43bf758350b2236f57e1499 --- docs/system-api.md | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 docs/system-api.md (limited to 'docs/system-api.md') diff --git a/docs/system-api.md b/docs/system-api.md new file mode 100644 index 000000000..803d688fc --- /dev/null +++ b/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 `