@aurelia/platform-browser
Version:
[](https://opensource.org/licenses/MIT) [](http://www.typescriptlang.org/) [ • 1.5 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var platform = require('@aurelia/platform');
class BrowserPlatform extends platform.Platform {
static getOrCreate(g, overrides = {}) {
let platform = BrowserPlatform._lookup.get(g);
if (platform === void 0) {
BrowserPlatform._lookup.set(g, platform = new BrowserPlatform(g, overrides));
}
return platform;
}
static set(g, platform) {
BrowserPlatform._lookup.set(g, platform);
}
constructor(g, overrides = {}) {
super(g, overrides);
const notImplemented = (name) => () => {
// TODO: link to docs describing how to fix this issue
throw new Error(`The PLATFORM did not receive a valid reference to the global function '${name}'.`);
};
('Node Element HTMLElement CustomEvent CSSStyleSheet ShadowRoot MutationObserver '
+ 'window document customElements')
.split(' ')
// eslint-disable-next-line
.forEach(prop => this[prop] = prop in overrides ? overrides[prop] : g[prop]);
'fetch requestAnimationFrame cancelAnimationFrame'.split(' ').forEach(prop =>
// eslint-disable-next-line
this[prop] = prop in overrides ? overrides[prop] : (g[prop]?.bind(g) ?? notImplemented(prop)));
}
}
/** @internal */
BrowserPlatform._lookup = new WeakMap();
exports.BrowserPlatform = BrowserPlatform;
//# sourceMappingURL=index.dev.cjs.map