mirror of
https://github.com/Polymer/polymer.git
synced 2025-02-25 18:55:30 -06:00
* Ensure `wrap` falls back to using `ShadyDOM.patch` when `noPatch` is not in use so that `className` can be used. * Ensure `Polymer.dom` uses `patch` when `noPatch` is not in use so that `className` can be used.
25 lines
1.1 KiB
JavaScript
25 lines
1.1 KiB
JavaScript
/**
|
|
@license
|
|
Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
|
|
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
|
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
|
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
|
Code distributed by Google as part of the polymer project is also
|
|
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
|
*/
|
|
|
|
/* eslint-disable valid-jsdoc */
|
|
/**
|
|
* Node wrapper to ensure ShadowDOM safe operation regardless of polyfill
|
|
* presence or mode. Note that with the introduction of `ShadyDOM.noPatch`,
|
|
* a node wrapper must be used to access ShadowDOM API.
|
|
* This is similar to using `Polymer.dom` but relies exclusively
|
|
* on the presence of the ShadyDOM polyfill rather than requiring the loading
|
|
* of legacy (Polymer.dom) API.
|
|
* @type {function(Node):Node}
|
|
*/
|
|
export const wrap = (window['ShadyDOM'] && window['ShadyDOM']['noPatch'] && window['ShadyDOM']['wrap']) ?
|
|
window['ShadyDOM']['wrap'] :
|
|
(window['ShadyDOM'] ? (n) => ShadyDOM['patch'](n) : (n) => n);
|
|
|