shadow-dom-selector 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -119,9 +119,9 @@ asyncQuerySelectorAll('article$ div$ p')
119
119
  });
120
120
 
121
121
  // Using async dot notation
122
- import { AsyncSelector } from 'shadow-dom-selector';
122
+ import { buildAsyncSelector } from 'shadow-dom-selector';
123
123
 
124
- const selector = AsyncSelector();
124
+ const selector = buildAsyncSelector();
125
125
 
126
126
  selector.article.$.div.$.element
127
127
  .then((shadowRoot) => {
@@ -184,7 +184,7 @@ ShadowDomSelector.shadowRootQuerySelector;
184
184
  ShadowDomSelector.asyncQuerySelector;
185
185
  ShadowDomSelector.asyncQuerySelectorAll;
186
186
  ShadowDomSelector.asyncShadowRootQuerySelector;
187
- ShadowDomSelector.AsyncSelector;
187
+ ShadowDomSelector.buildAsyncSelector;
188
188
  ```
189
189
 
190
190
  ## API
@@ -330,14 +330,14 @@ asyncShadowRootQuerySelector(root, selectors, asyncParams): Promise<ShadowRoot |
330
330
  }
331
331
  ```
332
332
 
333
- #### AsyncSelector
333
+ #### buildAsyncSelector
334
334
 
335
335
  ```typescript
336
- AsyncSelector(root): AsyncSelectorProxy;
336
+ buildAsyncSelector(root): AsyncSelectorProxy;
337
337
  ```
338
338
 
339
339
  ```typescript
340
- AsyncSelector(root, asyncParams): AsyncSelectorProxy;
340
+ buildAsyncSelector(root, asyncParams): AsyncSelectorProxy;
341
341
  ```
342
342
 
343
343
  | Parameter | Optional | Description |
@@ -366,17 +366,17 @@ This function returns an object with the next properties:
366
366
  }
367
367
  ```
368
368
 
369
- ##### Examples of AsyncSelector
369
+ ##### Examples of buildAsyncSelector
370
370
 
371
371
  ```typescript
372
- const selector = AsyncSelector(); // AsyncSelectorProxy starting in the document with the default asyncParams
372
+ const selector = buildAsyncSelector(); // AsyncSelectorProxy starting in the document with the default asyncParams
373
373
  await selector.element === document;
374
374
  await selector.all; // Empty Node list
375
375
  await selector.$; // null
376
376
  ```
377
377
 
378
378
  ```typescript
379
- const selector = AsyncSelector({
379
+ const selector = buildAsyncSelector({
380
380
  retries: 100,
381
381
  delay: 50
382
382
  }); // AsyncSelectorProxy starting in the document and with custom asyncParams
@@ -25,7 +25,7 @@ declare function asyncQuerySelectorAll<E extends Element = Element>(root: Docume
25
25
  declare function asyncQuerySelectorAll<E extends Element = Element>(selectors: string, asyncParams?: AsyncParams): Promise<NodeListOf<E>>;
26
26
  declare function asyncShadowRootQuerySelector(root: Document | Element, selectors: string, asyncParams?: AsyncParams): Promise<ShadowRoot | null>;
27
27
  declare function asyncShadowRootQuerySelector(selectors: string, asyncParams?: AsyncParams): Promise<ShadowRoot | null>;
28
- declare function AsyncSelector(asyncParams?: AsyncParams): AsyncSelectorProxy;
29
- declare function AsyncSelector(root: Document | Element | ShadowRoot, asyncParams?: AsyncParams): AsyncSelectorProxy;
30
- export { querySelector, querySelectorAll, shadowRootQuerySelector, asyncQuerySelector, asyncQuerySelectorAll, asyncShadowRootQuerySelector, AsyncSelector };
28
+ declare function buildAsyncSelector(asyncParams?: AsyncParams): AsyncSelectorProxy;
29
+ declare function buildAsyncSelector(root: Document | Element | ShadowRoot, asyncParams?: AsyncParams): AsyncSelectorProxy;
30
+ export { querySelector, querySelectorAll, shadowRootQuerySelector, asyncQuerySelector, asyncQuerySelectorAll, asyncShadowRootQuerySelector, buildAsyncSelector };
31
31
  export type { AsyncParams, AsyncSelectorProxy };
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- var n=function(){return n=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++)for(var o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o]);return n},n.apply(this,arguments)};function e(n,e,t,r){return new(t||(t=Promise))((function(o,u){function a(n){try{c(r.next(n))}catch(n){u(n)}}function l(n){try{c(r.throw(n))}catch(n){u(n)}}function c(n){var e;n.done?o(n.value):(e=n.value,e instanceof t?e:new t((function(n){n(e)}))).then(a,l)}c((r=r.apply(n,e||[])).next())}))}function t(n,e){var t,r,o,u,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return u={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function l(l){return function(c){return function(l){if(t)throw new TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=e.call(n,a)}catch(n){l=[6,n],r=0}finally{t=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,c])}}}function r(n,e,t){if(t||2===arguments.length)for(var r,o=0,u=e.length;o<u;o++)!r&&o in e||(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return n.concat(r||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var o,u="$",a=":host",l="invalid selector",c=10,i=10;!function(n){n.ALL="all",n.ELEMENT="element",n.PARAMS="asyncParams"}(o||(o={}));var s=function(n){var e,t=n[0],r=n[1];return(e=t)&&(e instanceof Document||e instanceof Element)&&"string"==typeof r};function f(n,e){return function(n){return n.split(",").map((function(n){return n.trim()}))}(n).map((function(n){var t=function(n){return n.split(u).map((function(n){return n.trim()}))}(n);return e(t)}))}function h(n,e,t,r,o){return void 0===o&&(o=!1),new Promise((function(u){var a=0,c=function(){var i=o?n.querySelectorAll(e):n.querySelector(e);o&&i.length||!o&&null!==i?u(i):++a<t?setTimeout(c,r):u(o?document.querySelectorAll(l):null)};c()}))}function d(n,e,t){return new Promise((function(r){var o=0,u=function(){var a=n.shadowRoot;a?r(a):++o<e?setTimeout(u,t):r(null)};u()}))}function v(n,e){var t=e?" If you want to select a shadowRoot, use ".concat(e," instead."):"";return"".concat(n," cannot be used with a selector ending in a shadowRoot (").concat(u,").").concat(t)}function y(n,e){return"".concat(n," must be used with a selector ending in a shadowRoot (").concat(u,"). If you don't want to select a shadowRoot, use ").concat(e," instead.")}function w(n){return n instanceof Promise?n:Promise.resolve(n)}function m(){return"You can not select a shadowRoot (".concat(u,") of the document.")}function g(n,e){for(var t,r,o=null,u=n.length,l=0;l<u;l++){if(0===l)if(n[l].length)o=e.querySelector(n[l]);else{if(e instanceof Document)throw new SyntaxError(m());o=(null===(t=e.shadowRoot)||void 0===t?void 0:t.querySelector(n[++l]))||null}else o=(null===(r=o.shadowRoot)||void 0===r?void 0:r.querySelector("".concat(a," ").concat(n[l])))||null;if(null===o)return null}return o}function p(n,e){var t,o=r([],n,!0),u=o.pop();return o.length?(null===(t=g(o,e).shadowRoot)||void 0===t?void 0:t.querySelectorAll("".concat(a," ").concat(u)))||null:e.querySelectorAll(u)}function b(n,e){if(1===n.length&&!n[0].length){if(e instanceof Document)throw new SyntaxError(m());return e.shadowRoot}var t=g(n,e);return(null==t?void 0:t.shadowRoot)||null}function S(n,r,o,u){return e(this,void 0,void 0,(function(){var e,l,c,i,s,f;return t(this,(function(t){switch(t.label){case 0:e=null,l=n.length,c=0,t.label=1;case 1:if(!(c<l))return[3,15];if(0!==c)return[3,8];if(n[c].length)return[3,5];if(r instanceof Document)throw new SyntaxError(m());return r.shadowRoot?[4,h(r.shadowRoot,n[++c],o,u)]:[3,3];case 2:return i=t.sent(),[3,4];case 3:i=null,t.label=4;case 4:return e=i,[3,7];case 5:return[4,h(r,n[c],o,u)];case 6:e=t.sent(),t.label=7;case 7:return[3,13];case 8:return[4,d(e,o,u)];case 9:return(s=t.sent())?[4,h(s,"".concat(a," ").concat(n[c]),o,u)]:[3,11];case 10:return f=t.sent(),[3,12];case 11:f=null,t.label=12;case 12:e=f,t.label=13;case 13:if(null===e)return[2,null];t.label=14;case 14:return c++,[3,1];case 15:return[2,e]}}))}))}function P(n,o,u,l){return e(this,void 0,void 0,(function(){var e,c,i,s,f,v;return t(this,(function(t){switch(t.label){case 0:return e=r([],n,!0),c=e.pop(),e.length?[3,2]:[4,h(o,c,u,l,!0)];case 1:return[2,t.sent()];case 2:return[4,S(e,o,u,l)];case 3:return(i=t.sent())?[4,d(i,u,l)]:[3,5];case 4:return f=t.sent(),[3,6];case 5:f=null,t.label=6;case 6:return(s=f)?[4,h(s,"".concat(a," ").concat(c),u,l,!0)]:[3,8];case 7:return v=t.sent(),[3,9];case 8:v=null,t.label=9;case 9:return[2,v]}}))}))}function E(n,r,o,u){return e(this,void 0,void 0,(function(){var e,a;return t(this,(function(t){switch(t.label){case 0:if(1===n.length&&!n[0].length){if(r instanceof Document)throw new SyntaxError(m());return[2,d(r,o,u)]}return[4,S(n,r,o,u)];case 1:return(e=t.sent())?[4,d(e,o,u)]:[3,3];case 2:return a=t.sent(),[3,4];case 3:a=null,t.label=4;case 4:return[2,a]}}))}))}function R(n,e){for(var t=f(n,(function(n){if(!n[n.length-1].length)throw new SyntaxError(v("querySelector","shadowRootQuerySelector"));return n})),r=t.length,o=0;o<r;o++){var u=g(t[o],e);if(u)return u}return null}function x(n,e){for(var t=f(n,(function(n){if(!n[n.length-1].length)throw new SyntaxError(v("querySelectorAll"));return n})),r=t.length,o=0;o<r;o++){var u=p(t[o],e);if(null==u?void 0:u.length)return u}return document.querySelectorAll(l)}function A(n,e){for(var t=f(n,(function(n){if(n.pop().length)throw new SyntaxError(y("shadowRootQuerySelector","querySelector"));return n})),r=t.length,o=0;o<r;o++){var u=b(t[o],e);if(u)return u}return null}function q(n,r,o,u){return e(this,void 0,void 0,(function(){var e,a,l,c;return t(this,(function(t){switch(t.label){case 0:e=f(n,(function(n){if(!n[n.length-1].length)throw new SyntaxError(v("asyncQuerySelector","asyncShadowRootQuerySelector"));return n})),a=e.length,l=0,t.label=1;case 1:return l<a?[4,S(e[l],r,o,u)]:[3,4];case 2:if(c=t.sent())return[2,c];t.label=3;case 3:return l++,[3,1];case 4:return[2,null]}}))}))}function L(n,r,o,u){return e(this,void 0,void 0,(function(){var e,a,c,i;return t(this,(function(t){switch(t.label){case 0:e=f(n,(function(n){if(!n[n.length-1].length)throw new SyntaxError(v("asyncQuerySelectorAll"));return n})),a=e.length,c=0,t.label=1;case 1:return c<a?[4,P(e[c],r,o,u)]:[3,4];case 2:if(null==(i=t.sent())?void 0:i.length)return[2,i];t.label=3;case 3:return c++,[3,1];case 4:return[2,document.querySelectorAll(l)]}}))}))}function N(n,r,o,u){return e(this,void 0,void 0,(function(){var e,a,l,c;return t(this,(function(t){switch(t.label){case 0:e=f(n,(function(n){if(n.pop().length)throw new SyntaxError(y("asyncShadowRootQuerySelector","asyncQuerySelector"));return n})),a=e.length,l=0,t.label=1;case 1:return l<a?[4,E(e[l],r,o,u)]:[3,4];case 2:if(c=t.sent())return[2,c];t.label=3;case 3:return l++,[3,1];case 4:return[2,null]}}))}))}function _(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=n[0],r=n[1];return"string"==typeof t?R(t,document):R(r,t)}function Q(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=n[0],r=n[1];return"string"==typeof t?x(t,document):x(r,t)}function D(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=n[0],r=n[1];return"string"==typeof t?A(t,document):A(r,t)}function T(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e(this,void 0,void 0,(function(){var e,r,o,u,a;return t(this,(function(t){switch(t.label){case 0:return s(n)?(e=n[0],r=n[1],o=n[2],[4,q(r,e,(null==o?void 0:o.retries)||c,(null==o?void 0:o.delay)||i)]):[3,2];case 1:case 3:return[2,t.sent()];case 2:return u=n[0],a=n[1],[4,q(u,document,(null==a?void 0:a.retries)||c,(null==a?void 0:a.delay)||i)]}}))}))}function k(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e(this,void 0,void 0,(function(){var e,r,o,u,a;return t(this,(function(t){switch(t.label){case 0:return s(n)?(e=n[0],r=n[1],o=n[2],[4,L(r,e,(null==o?void 0:o.retries)||c,(null==o?void 0:o.delay)||i)]):[3,2];case 1:return[2,t.sent()];case 2:return u=n[0],a=n[1],[2,L(u,document,(null==a?void 0:a.retries)||c,(null==a?void 0:a.delay)||i)]}}))}))}function M(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e(this,void 0,void 0,(function(){var e,r,o,u,a;return t(this,(function(t){switch(t.label){case 0:return s(n)?(e=n[0],r=n[1],o=n[2],[4,N(r,e,(null==o?void 0:o.retries)||c,(null==o?void 0:o.delay)||i)]):[3,2];case 1:return[2,t.sent()];case 2:return u=n[0],a=n[1],[2,N(u,document,(null==a?void 0:a.retries)||c,(null==a?void 0:a.delay)||i)]}}))}))}function O(e,t){if(e instanceof Node){var r=n({retries:c,delay:i},t||{});return j({_element:e,asyncParams:r})}var o=n({retries:c,delay:i},e||{});return j({_element:document,asyncParams:o})}var j=function(n){return new Proxy(n,{get:function(n,e){if(e===o.PARAMS)return n[e];if(e===o.ELEMENT)return w(n._element).then((function(n){return n instanceof NodeList?n[0]||null:n}));if(e===o.ALL)return w(n._element).then((function(n){return n instanceof NodeList?n:document.querySelectorAll(l)}));if(e===u){var t=w(n._element).then((function(e){return e instanceof ShadowRoot||null===e||e instanceof NodeList&&0===e.length?null:e instanceof NodeList?d(e[0],n.asyncParams.retries,n.asyncParams.delay):d(e,n.asyncParams.retries,n.asyncParams.delay)}));return j({_element:t,asyncParams:n.asyncParams})}var r=w(n._element).then((function(t){return null===t||t instanceof NodeList&&0===t.length?null:t instanceof NodeList?h(t[0],e,n.asyncParams.retries,n.asyncParams.delay,!0):h(t,e,n.asyncParams.retries,n.asyncParams.delay,!0)}));return j({_element:r,asyncParams:n.asyncParams})}})};export{O as AsyncSelector,T as asyncQuerySelector,k as asyncQuerySelectorAll,M as asyncShadowRootQuerySelector,_ as querySelector,Q as querySelectorAll,D as shadowRootQuerySelector};
1
+ var n=function(){return n=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++)for(var o in e=arguments[t])Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o]);return n},n.apply(this,arguments)};function e(n,e,t,r){return new(t||(t=Promise))((function(o,u){function a(n){try{c(r.next(n))}catch(n){u(n)}}function l(n){try{c(r.throw(n))}catch(n){u(n)}}function c(n){var e;n.done?o(n.value):(e=n.value,e instanceof t?e:new t((function(n){n(e)}))).then(a,l)}c((r=r.apply(n,e||[])).next())}))}function t(n,e){var t,r,o,u,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return u={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function l(l){return function(c){return function(l){if(t)throw new TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=e.call(n,a)}catch(n){l=[6,n],r=0}finally{t=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,c])}}}function r(n,e,t){if(t||2===arguments.length)for(var r,o=0,u=e.length;o<u;o++)!r&&o in e||(r||(r=Array.prototype.slice.call(e,0,o)),r[o]=e[o]);return n.concat(r||Array.prototype.slice.call(e))}"function"==typeof SuppressedError&&SuppressedError;var o,u="$",a=":host",l="invalid selector",c=10,i=10;!function(n){n.ALL="all",n.ELEMENT="element",n.PARAMS="asyncParams"}(o||(o={}));var s=function(n){var e,t=n[0],r=n[1];return(e=t)&&(e instanceof Document||e instanceof Element)&&"string"==typeof r};function f(n,e){return function(n){return n.split(",").map((function(n){return n.trim()}))}(n).map((function(n){var t=function(n){return n.split(u).map((function(n){return n.trim()}))}(n);return e(t)}))}function h(n,e,t,r,o){return void 0===o&&(o=!1),new Promise((function(u){var a=0,c=function(){var i=o?n.querySelectorAll(e):n.querySelector(e);o&&i.length||!o&&null!==i?u(i):++a<t?setTimeout(c,r):u(o?document.querySelectorAll(l):null)};c()}))}function d(n,e,t){return new Promise((function(r){var o=0,u=function(){var a=n.shadowRoot;a?r(a):++o<e?setTimeout(u,t):r(null)};u()}))}function v(n,e){var t=e?" If you want to select a shadowRoot, use ".concat(e," instead."):"";return"".concat(n," cannot be used with a selector ending in a shadowRoot (").concat(u,").").concat(t)}function y(n,e){return"".concat(n," must be used with a selector ending in a shadowRoot (").concat(u,"). If you don't want to select a shadowRoot, use ").concat(e," instead.")}function w(n){return n instanceof Promise?n:Promise.resolve(n)}function m(){return"You can not select a shadowRoot (".concat(u,") of the document.")}function g(n,e){for(var t,r,o=null,u=n.length,l=0;l<u;l++){if(0===l)if(n[l].length)o=e.querySelector(n[l]);else{if(e instanceof Document)throw new SyntaxError(m());o=(null===(t=e.shadowRoot)||void 0===t?void 0:t.querySelector(n[++l]))||null}else o=(null===(r=o.shadowRoot)||void 0===r?void 0:r.querySelector("".concat(a," ").concat(n[l])))||null;if(null===o)return null}return o}function p(n,e){var t,o=r([],n,!0),u=o.pop();return o.length?(null===(t=g(o,e).shadowRoot)||void 0===t?void 0:t.querySelectorAll("".concat(a," ").concat(u)))||null:e.querySelectorAll(u)}function b(n,e){if(1===n.length&&!n[0].length){if(e instanceof Document)throw new SyntaxError(m());return e.shadowRoot}var t=g(n,e);return(null==t?void 0:t.shadowRoot)||null}function S(n,r,o,u){return e(this,void 0,void 0,(function(){var e,l,c,i,s,f;return t(this,(function(t){switch(t.label){case 0:e=null,l=n.length,c=0,t.label=1;case 1:if(!(c<l))return[3,15];if(0!==c)return[3,8];if(n[c].length)return[3,5];if(r instanceof Document)throw new SyntaxError(m());return r.shadowRoot?[4,h(r.shadowRoot,n[++c],o,u)]:[3,3];case 2:return i=t.sent(),[3,4];case 3:i=null,t.label=4;case 4:return e=i,[3,7];case 5:return[4,h(r,n[c],o,u)];case 6:e=t.sent(),t.label=7;case 7:return[3,13];case 8:return[4,d(e,o,u)];case 9:return(s=t.sent())?[4,h(s,"".concat(a," ").concat(n[c]),o,u)]:[3,11];case 10:return f=t.sent(),[3,12];case 11:f=null,t.label=12;case 12:e=f,t.label=13;case 13:if(null===e)return[2,null];t.label=14;case 14:return c++,[3,1];case 15:return[2,e]}}))}))}function P(n,o,u,l){return e(this,void 0,void 0,(function(){var e,c,i,s,f,v;return t(this,(function(t){switch(t.label){case 0:return e=r([],n,!0),c=e.pop(),e.length?[3,2]:[4,h(o,c,u,l,!0)];case 1:return[2,t.sent()];case 2:return[4,S(e,o,u,l)];case 3:return(i=t.sent())?[4,d(i,u,l)]:[3,5];case 4:return f=t.sent(),[3,6];case 5:f=null,t.label=6;case 6:return(s=f)?[4,h(s,"".concat(a," ").concat(c),u,l,!0)]:[3,8];case 7:return v=t.sent(),[3,9];case 8:v=null,t.label=9;case 9:return[2,v]}}))}))}function E(n,r,o,u){return e(this,void 0,void 0,(function(){var e,a;return t(this,(function(t){switch(t.label){case 0:if(1===n.length&&!n[0].length){if(r instanceof Document)throw new SyntaxError(m());return[2,d(r,o,u)]}return[4,S(n,r,o,u)];case 1:return(e=t.sent())?[4,d(e,o,u)]:[3,3];case 2:return a=t.sent(),[3,4];case 3:a=null,t.label=4;case 4:return[2,a]}}))}))}function R(n,e){for(var t=f(n,(function(n){if(!n[n.length-1].length)throw new SyntaxError(v("querySelector","shadowRootQuerySelector"));return n})),r=t.length,o=0;o<r;o++){var u=g(t[o],e);if(u)return u}return null}function x(n,e){for(var t=f(n,(function(n){if(!n[n.length-1].length)throw new SyntaxError(v("querySelectorAll"));return n})),r=t.length,o=0;o<r;o++){var u=p(t[o],e);if(null==u?void 0:u.length)return u}return document.querySelectorAll(l)}function A(n,e){for(var t=f(n,(function(n){if(n.pop().length)throw new SyntaxError(y("shadowRootQuerySelector","querySelector"));return n})),r=t.length,o=0;o<r;o++){var u=b(t[o],e);if(u)return u}return null}function q(n,r,o,u){return e(this,void 0,void 0,(function(){var e,a,l,c;return t(this,(function(t){switch(t.label){case 0:e=f(n,(function(n){if(!n[n.length-1].length)throw new SyntaxError(v("asyncQuerySelector","asyncShadowRootQuerySelector"));return n})),a=e.length,l=0,t.label=1;case 1:return l<a?[4,S(e[l],r,o,u)]:[3,4];case 2:if(c=t.sent())return[2,c];t.label=3;case 3:return l++,[3,1];case 4:return[2,null]}}))}))}function L(n,r,o,u){return e(this,void 0,void 0,(function(){var e,a,c,i;return t(this,(function(t){switch(t.label){case 0:e=f(n,(function(n){if(!n[n.length-1].length)throw new SyntaxError(v("asyncQuerySelectorAll"));return n})),a=e.length,c=0,t.label=1;case 1:return c<a?[4,P(e[c],r,o,u)]:[3,4];case 2:if(null==(i=t.sent())?void 0:i.length)return[2,i];t.label=3;case 3:return c++,[3,1];case 4:return[2,document.querySelectorAll(l)]}}))}))}function N(n,r,o,u){return e(this,void 0,void 0,(function(){var e,a,l,c;return t(this,(function(t){switch(t.label){case 0:e=f(n,(function(n){if(n.pop().length)throw new SyntaxError(y("asyncShadowRootQuerySelector","asyncQuerySelector"));return n})),a=e.length,l=0,t.label=1;case 1:return l<a?[4,E(e[l],r,o,u)]:[3,4];case 2:if(c=t.sent())return[2,c];t.label=3;case 3:return l++,[3,1];case 4:return[2,null]}}))}))}function _(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=n[0],r=n[1];return"string"==typeof t?R(t,document):R(r,t)}function Q(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=n[0],r=n[1];return"string"==typeof t?x(t,document):x(r,t)}function D(){for(var n=[],e=0;e<arguments.length;e++)n[e]=arguments[e];var t=n[0],r=n[1];return"string"==typeof t?A(t,document):A(r,t)}function T(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e(this,void 0,void 0,(function(){var e,r,o,u,a;return t(this,(function(t){switch(t.label){case 0:return s(n)?(e=n[0],r=n[1],o=n[2],[4,q(r,e,(null==o?void 0:o.retries)||c,(null==o?void 0:o.delay)||i)]):[3,2];case 1:case 3:return[2,t.sent()];case 2:return u=n[0],a=n[1],[4,q(u,document,(null==a?void 0:a.retries)||c,(null==a?void 0:a.delay)||i)]}}))}))}function k(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e(this,void 0,void 0,(function(){var e,r,o,u,a;return t(this,(function(t){switch(t.label){case 0:return s(n)?(e=n[0],r=n[1],o=n[2],[4,L(r,e,(null==o?void 0:o.retries)||c,(null==o?void 0:o.delay)||i)]):[3,2];case 1:return[2,t.sent()];case 2:return u=n[0],a=n[1],[2,L(u,document,(null==a?void 0:a.retries)||c,(null==a?void 0:a.delay)||i)]}}))}))}function M(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e(this,void 0,void 0,(function(){var e,r,o,u,a;return t(this,(function(t){switch(t.label){case 0:return s(n)?(e=n[0],r=n[1],o=n[2],[4,N(r,e,(null==o?void 0:o.retries)||c,(null==o?void 0:o.delay)||i)]):[3,2];case 1:return[2,t.sent()];case 2:return u=n[0],a=n[1],[2,N(u,document,(null==a?void 0:a.retries)||c,(null==a?void 0:a.delay)||i)]}}))}))}function O(e,t){if(e instanceof Node){var r=n({retries:c,delay:i},t||{});return j({_element:e,asyncParams:r})}var o=n({retries:c,delay:i},e||{});return j({_element:document,asyncParams:o})}var j=function(n){return new Proxy(n,{get:function(n,e){if(e===o.PARAMS)return n[e];if(e===o.ELEMENT)return w(n._element).then((function(n){return n instanceof NodeList?n[0]||null:n}));if(e===o.ALL)return w(n._element).then((function(n){return n instanceof NodeList?n:document.querySelectorAll(l)}));if(e===u){var t=w(n._element).then((function(e){return e instanceof ShadowRoot||null===e||e instanceof NodeList&&0===e.length?null:e instanceof NodeList?d(e[0],n.asyncParams.retries,n.asyncParams.delay):d(e,n.asyncParams.retries,n.asyncParams.delay)}));return j({_element:t,asyncParams:n.asyncParams})}var r=w(n._element).then((function(t){return null===t||t instanceof NodeList&&0===t.length?null:t instanceof NodeList?h(t[0],e,n.asyncParams.retries,n.asyncParams.delay,!0):h(t,e,n.asyncParams.retries,n.asyncParams.delay,!0)}));return j({_element:r,asyncParams:n.asyncParams})}})};export{T as asyncQuerySelector,k as asyncQuerySelectorAll,M as asyncShadowRootQuerySelector,O as buildAsyncSelector,_ as querySelector,Q as querySelectorAll,D as shadowRootQuerySelector};
package/dist/index.d.ts CHANGED
@@ -25,7 +25,7 @@ declare function asyncQuerySelectorAll<E extends Element = Element>(root: Docume
25
25
  declare function asyncQuerySelectorAll<E extends Element = Element>(selectors: string, asyncParams?: AsyncParams): Promise<NodeListOf<E>>;
26
26
  declare function asyncShadowRootQuerySelector(root: Document | Element, selectors: string, asyncParams?: AsyncParams): Promise<ShadowRoot | null>;
27
27
  declare function asyncShadowRootQuerySelector(selectors: string, asyncParams?: AsyncParams): Promise<ShadowRoot | null>;
28
- declare function AsyncSelector(asyncParams?: AsyncParams): AsyncSelectorProxy;
29
- declare function AsyncSelector(root: Document | Element | ShadowRoot, asyncParams?: AsyncParams): AsyncSelectorProxy;
30
- export { querySelector, querySelectorAll, shadowRootQuerySelector, asyncQuerySelector, asyncQuerySelectorAll, asyncShadowRootQuerySelector, AsyncSelector };
28
+ declare function buildAsyncSelector(asyncParams?: AsyncParams): AsyncSelectorProxy;
29
+ declare function buildAsyncSelector(root: Document | Element | ShadowRoot, asyncParams?: AsyncParams): AsyncSelectorProxy;
30
+ export { querySelector, querySelectorAll, shadowRootQuerySelector, asyncQuerySelector, asyncQuerySelectorAll, asyncShadowRootQuerySelector, buildAsyncSelector };
31
31
  export type { AsyncParams, AsyncSelectorProxy };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).ShadowDomSelector={})}(this,(function(e){"use strict";var n=function(){return n=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},n.apply(this,arguments)};function t(e,n,t,r){return new(t||(t=Promise))((function(o,u){function a(e){try{c(r.next(e))}catch(e){u(e)}}function l(e){try{c(r.throw(e))}catch(e){u(e)}}function c(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}c((r=r.apply(e,n||[])).next())}))}function r(e,n){var t,r,o,u,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return u={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function l(l){return function(c){return function(l){if(t)throw new TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=n.call(e,a)}catch(e){l=[6,e],r=0}finally{t=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,c])}}}function o(e,n,t){if(t||2===arguments.length)for(var r,o=0,u=n.length;o<u;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return e.concat(r||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var u,a="$",l=":host",c="invalid selector",i=10,s=10;!function(e){e.ALL="all",e.ELEMENT="element",e.PARAMS="asyncParams"}(u||(u={}));var f=function(e){var n,t=e[0],r=e[1];return(n=t)&&(n instanceof Document||n instanceof Element)&&"string"==typeof r};function h(e,n){return function(e){return e.split(",").map((function(e){return e.trim()}))}(e).map((function(e){var t=function(e){return e.split(a).map((function(e){return e.trim()}))}(e);return n(t)}))}function d(e,n,t,r,o){return void 0===o&&(o=!1),new Promise((function(u){var a=0,l=function(){var i=o?e.querySelectorAll(n):e.querySelector(n);o&&i.length||!o&&null!==i?u(i):++a<t?setTimeout(l,r):u(o?document.querySelectorAll(c):null)};l()}))}function y(e,n,t){return new Promise((function(r){var o=0,u=function(){var a=e.shadowRoot;a?r(a):++o<n?setTimeout(u,t):r(null)};u()}))}function v(e,n){var t=n?" If you want to select a shadowRoot, use ".concat(n," instead."):"";return"".concat(e," cannot be used with a selector ending in a shadowRoot (").concat(a,").").concat(t)}function w(e,n){return"".concat(e," must be used with a selector ending in a shadowRoot (").concat(a,"). If you don't want to select a shadowRoot, use ").concat(n," instead.")}function m(e){return e instanceof Promise?e:Promise.resolve(e)}function p(){return"You can not select a shadowRoot (".concat(a,") of the document.")}function g(e,n){for(var t,r,o=null,u=e.length,a=0;a<u;a++){if(0===a)if(e[a].length)o=n.querySelector(e[a]);else{if(n instanceof Document)throw new SyntaxError(p());o=(null===(t=n.shadowRoot)||void 0===t?void 0:t.querySelector(e[++a]))||null}else o=(null===(r=o.shadowRoot)||void 0===r?void 0:r.querySelector("".concat(l," ").concat(e[a])))||null;if(null===o)return null}return o}function S(e,n){var t,r=o([],e,!0),u=r.pop();return r.length?(null===(t=g(r,n).shadowRoot)||void 0===t?void 0:t.querySelectorAll("".concat(l," ").concat(u)))||null:n.querySelectorAll(u)}function b(e,n){if(1===e.length&&!e[0].length){if(n instanceof Document)throw new SyntaxError(p());return n.shadowRoot}var t=g(e,n);return(null==t?void 0:t.shadowRoot)||null}function P(e,n,o,u){return t(this,void 0,void 0,(function(){var t,a,c,i,s,f;return r(this,(function(r){switch(r.label){case 0:t=null,a=e.length,c=0,r.label=1;case 1:if(!(c<a))return[3,15];if(0!==c)return[3,8];if(e[c].length)return[3,5];if(n instanceof Document)throw new SyntaxError(p());return n.shadowRoot?[4,d(n.shadowRoot,e[++c],o,u)]:[3,3];case 2:return i=r.sent(),[3,4];case 3:i=null,r.label=4;case 4:return t=i,[3,7];case 5:return[4,d(n,e[c],o,u)];case 6:t=r.sent(),r.label=7;case 7:return[3,13];case 8:return[4,y(t,o,u)];case 9:return(s=r.sent())?[4,d(s,"".concat(l," ").concat(e[c]),o,u)]:[3,11];case 10:return f=r.sent(),[3,12];case 11:f=null,r.label=12;case 12:t=f,r.label=13;case 13:if(null===t)return[2,null];r.label=14;case 14:return c++,[3,1];case 15:return[2,t]}}))}))}function R(e,n,u,a){return t(this,void 0,void 0,(function(){var t,c,i,s,f,h;return r(this,(function(r){switch(r.label){case 0:return t=o([],e,!0),c=t.pop(),t.length?[3,2]:[4,d(n,c,u,a,!0)];case 1:return[2,r.sent()];case 2:return[4,P(t,n,u,a)];case 3:return(i=r.sent())?[4,y(i,u,a)]:[3,5];case 4:return f=r.sent(),[3,6];case 5:f=null,r.label=6;case 6:return(s=f)?[4,d(s,"".concat(l," ").concat(c),u,a,!0)]:[3,8];case 7:return h=r.sent(),[3,9];case 8:h=null,r.label=9;case 9:return[2,h]}}))}))}function A(e,n,o,u){return t(this,void 0,void 0,(function(){var t,a;return r(this,(function(r){switch(r.label){case 0:if(1===e.length&&!e[0].length){if(n instanceof Document)throw new SyntaxError(p());return[2,y(n,o,u)]}return[4,P(e,n,o,u)];case 1:return(t=r.sent())?[4,y(t,o,u)]:[3,3];case 2:return a=r.sent(),[3,4];case 3:a=null,r.label=4;case 4:return[2,a]}}))}))}function E(e,n){for(var t=h(e,(function(e){if(!e[e.length-1].length)throw new SyntaxError(v("querySelector","shadowRootQuerySelector"));return e})),r=t.length,o=0;o<r;o++){var u=g(t[o],n);if(u)return u}return null}function x(e,n){for(var t=h(e,(function(e){if(!e[e.length-1].length)throw new SyntaxError(v("querySelectorAll"));return e})),r=t.length,o=0;o<r;o++){var u=S(t[o],n);if(null==u?void 0:u.length)return u}return document.querySelectorAll(c)}function q(e,n){for(var t=h(e,(function(e){if(e.pop().length)throw new SyntaxError(w("shadowRootQuerySelector","querySelector"));return e})),r=t.length,o=0;o<r;o++){var u=b(t[o],n);if(u)return u}return null}function L(e,n,o,u){return t(this,void 0,void 0,(function(){var t,a,l,c;return r(this,(function(r){switch(r.label){case 0:t=h(e,(function(e){if(!e[e.length-1].length)throw new SyntaxError(v("asyncQuerySelector","asyncShadowRootQuerySelector"));return e})),a=t.length,l=0,r.label=1;case 1:return l<a?[4,P(t[l],n,o,u)]:[3,4];case 2:if(c=r.sent())return[2,c];r.label=3;case 3:return l++,[3,1];case 4:return[2,null]}}))}))}function Q(e,n,o,u){return t(this,void 0,void 0,(function(){var t,a,l,i;return r(this,(function(r){switch(r.label){case 0:t=h(e,(function(e){if(!e[e.length-1].length)throw new SyntaxError(v("asyncQuerySelectorAll"));return e})),a=t.length,l=0,r.label=1;case 1:return l<a?[4,R(t[l],n,o,u)]:[3,4];case 2:if(null==(i=r.sent())?void 0:i.length)return[2,i];r.label=3;case 3:return l++,[3,1];case 4:return[2,document.querySelectorAll(c)]}}))}))}function N(e,n,o,u){return t(this,void 0,void 0,(function(){var t,a,l,c;return r(this,(function(r){switch(r.label){case 0:t=h(e,(function(e){if(e.pop().length)throw new SyntaxError(w("asyncShadowRootQuerySelector","asyncQuerySelector"));return e})),a=t.length,l=0,r.label=1;case 1:return l<a?[4,A(t[l],n,o,u)]:[3,4];case 2:if(c=r.sent())return[2,c];r.label=3;case 3:return l++,[3,1];case 4:return[2,null]}}))}))}var _=function(e){return new Proxy(e,{get:function(e,n){if(n===u.PARAMS)return e[n];if(n===u.ELEMENT)return m(e._element).then((function(e){return e instanceof NodeList?e[0]||null:e}));if(n===u.ALL)return m(e._element).then((function(e){return e instanceof NodeList?e:document.querySelectorAll(c)}));if(n===a){var t=m(e._element).then((function(n){return n instanceof ShadowRoot||null===n||n instanceof NodeList&&0===n.length?null:n instanceof NodeList?y(n[0],e.asyncParams.retries,e.asyncParams.delay):y(n,e.asyncParams.retries,e.asyncParams.delay)}));return _({_element:t,asyncParams:e.asyncParams})}var r=m(e._element).then((function(t){return null===t||t instanceof NodeList&&0===t.length?null:t instanceof NodeList?d(t[0],n,e.asyncParams.retries,e.asyncParams.delay,!0):d(t,n,e.asyncParams.retries,e.asyncParams.delay,!0)}));return _({_element:r,asyncParams:e.asyncParams})}})};e.AsyncSelector=function(e,t){if(e instanceof Node){var r=n({retries:i,delay:s},t||{});return _({_element:e,asyncParams:r})}var o=n({retries:i,delay:s},e||{});return _({_element:document,asyncParams:o})},e.asyncQuerySelector=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t(this,void 0,void 0,(function(){var n,t,o,u,a;return r(this,(function(r){switch(r.label){case 0:return f(e)?(n=e[0],t=e[1],o=e[2],[4,L(t,n,(null==o?void 0:o.retries)||i,(null==o?void 0:o.delay)||s)]):[3,2];case 1:case 3:return[2,r.sent()];case 2:return u=e[0],a=e[1],[4,L(u,document,(null==a?void 0:a.retries)||i,(null==a?void 0:a.delay)||s)]}}))}))},e.asyncQuerySelectorAll=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t(this,void 0,void 0,(function(){var n,t,o,u,a;return r(this,(function(r){switch(r.label){case 0:return f(e)?(n=e[0],t=e[1],o=e[2],[4,Q(t,n,(null==o?void 0:o.retries)||i,(null==o?void 0:o.delay)||s)]):[3,2];case 1:return[2,r.sent()];case 2:return u=e[0],a=e[1],[2,Q(u,document,(null==a?void 0:a.retries)||i,(null==a?void 0:a.delay)||s)]}}))}))},e.asyncShadowRootQuerySelector=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t(this,void 0,void 0,(function(){var n,t,o,u,a;return r(this,(function(r){switch(r.label){case 0:return f(e)?(n=e[0],t=e[1],o=e[2],[4,N(t,n,(null==o?void 0:o.retries)||i,(null==o?void 0:o.delay)||s)]):[3,2];case 1:return[2,r.sent()];case 2:return u=e[0],a=e[1],[2,N(u,document,(null==a?void 0:a.retries)||i,(null==a?void 0:a.delay)||s)]}}))}))},e.querySelector=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=e[0],r=e[1];return"string"==typeof t?E(t,document):E(r,t)},e.querySelectorAll=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=e[0],r=e[1];return"string"==typeof t?x(t,document):x(r,t)},e.shadowRootQuerySelector=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=e[0],r=e[1];return"string"==typeof t?q(t,document):q(r,t)}}));
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).ShadowDomSelector={})}(this,(function(e){"use strict";var n=function(){return n=Object.assign||function(e){for(var n,t=1,r=arguments.length;t<r;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o]);return e},n.apply(this,arguments)};function t(e,n,t,r){return new(t||(t=Promise))((function(o,u){function a(e){try{c(r.next(e))}catch(e){u(e)}}function l(e){try{c(r.throw(e))}catch(e){u(e)}}function c(e){var n;e.done?o(e.value):(n=e.value,n instanceof t?n:new t((function(e){e(n)}))).then(a,l)}c((r=r.apply(e,n||[])).next())}))}function r(e,n){var t,r,o,u,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return u={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(u[Symbol.iterator]=function(){return this}),u;function l(l){return function(c){return function(l){if(t)throw new TypeError("Generator is already executing.");for(;u&&(u=0,l[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return a.label++,{value:l[1],done:!1};case 5:a.label++,r=l[1],l=[0];continue;case 7:l=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==l[0]&&2!==l[0])){a=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){a.label=l[1];break}if(6===l[0]&&a.label<o[1]){a.label=o[1],o=l;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(l);break}o[2]&&a.ops.pop(),a.trys.pop();continue}l=n.call(e,a)}catch(e){l=[6,e],r=0}finally{t=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}([l,c])}}}function o(e,n,t){if(t||2===arguments.length)for(var r,o=0,u=n.length;o<u;o++)!r&&o in n||(r||(r=Array.prototype.slice.call(n,0,o)),r[o]=n[o]);return e.concat(r||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var u,a="$",l=":host",c="invalid selector",i=10,s=10;!function(e){e.ALL="all",e.ELEMENT="element",e.PARAMS="asyncParams"}(u||(u={}));var f=function(e){var n,t=e[0],r=e[1];return(n=t)&&(n instanceof Document||n instanceof Element)&&"string"==typeof r};function h(e,n){return function(e){return e.split(",").map((function(e){return e.trim()}))}(e).map((function(e){var t=function(e){return e.split(a).map((function(e){return e.trim()}))}(e);return n(t)}))}function d(e,n,t,r,o){return void 0===o&&(o=!1),new Promise((function(u){var a=0,l=function(){var i=o?e.querySelectorAll(n):e.querySelector(n);o&&i.length||!o&&null!==i?u(i):++a<t?setTimeout(l,r):u(o?document.querySelectorAll(c):null)};l()}))}function y(e,n,t){return new Promise((function(r){var o=0,u=function(){var a=e.shadowRoot;a?r(a):++o<n?setTimeout(u,t):r(null)};u()}))}function v(e,n){var t=n?" If you want to select a shadowRoot, use ".concat(n," instead."):"";return"".concat(e," cannot be used with a selector ending in a shadowRoot (").concat(a,").").concat(t)}function w(e,n){return"".concat(e," must be used with a selector ending in a shadowRoot (").concat(a,"). If you don't want to select a shadowRoot, use ").concat(n," instead.")}function m(e){return e instanceof Promise?e:Promise.resolve(e)}function p(){return"You can not select a shadowRoot (".concat(a,") of the document.")}function g(e,n){for(var t,r,o=null,u=e.length,a=0;a<u;a++){if(0===a)if(e[a].length)o=n.querySelector(e[a]);else{if(n instanceof Document)throw new SyntaxError(p());o=(null===(t=n.shadowRoot)||void 0===t?void 0:t.querySelector(e[++a]))||null}else o=(null===(r=o.shadowRoot)||void 0===r?void 0:r.querySelector("".concat(l," ").concat(e[a])))||null;if(null===o)return null}return o}function S(e,n){var t,r=o([],e,!0),u=r.pop();return r.length?(null===(t=g(r,n).shadowRoot)||void 0===t?void 0:t.querySelectorAll("".concat(l," ").concat(u)))||null:n.querySelectorAll(u)}function b(e,n){if(1===e.length&&!e[0].length){if(n instanceof Document)throw new SyntaxError(p());return n.shadowRoot}var t=g(e,n);return(null==t?void 0:t.shadowRoot)||null}function P(e,n,o,u){return t(this,void 0,void 0,(function(){var t,a,c,i,s,f;return r(this,(function(r){switch(r.label){case 0:t=null,a=e.length,c=0,r.label=1;case 1:if(!(c<a))return[3,15];if(0!==c)return[3,8];if(e[c].length)return[3,5];if(n instanceof Document)throw new SyntaxError(p());return n.shadowRoot?[4,d(n.shadowRoot,e[++c],o,u)]:[3,3];case 2:return i=r.sent(),[3,4];case 3:i=null,r.label=4;case 4:return t=i,[3,7];case 5:return[4,d(n,e[c],o,u)];case 6:t=r.sent(),r.label=7;case 7:return[3,13];case 8:return[4,y(t,o,u)];case 9:return(s=r.sent())?[4,d(s,"".concat(l," ").concat(e[c]),o,u)]:[3,11];case 10:return f=r.sent(),[3,12];case 11:f=null,r.label=12;case 12:t=f,r.label=13;case 13:if(null===t)return[2,null];r.label=14;case 14:return c++,[3,1];case 15:return[2,t]}}))}))}function R(e,n,u,a){return t(this,void 0,void 0,(function(){var t,c,i,s,f,h;return r(this,(function(r){switch(r.label){case 0:return t=o([],e,!0),c=t.pop(),t.length?[3,2]:[4,d(n,c,u,a,!0)];case 1:return[2,r.sent()];case 2:return[4,P(t,n,u,a)];case 3:return(i=r.sent())?[4,y(i,u,a)]:[3,5];case 4:return f=r.sent(),[3,6];case 5:f=null,r.label=6;case 6:return(s=f)?[4,d(s,"".concat(l," ").concat(c),u,a,!0)]:[3,8];case 7:return h=r.sent(),[3,9];case 8:h=null,r.label=9;case 9:return[2,h]}}))}))}function A(e,n,o,u){return t(this,void 0,void 0,(function(){var t,a;return r(this,(function(r){switch(r.label){case 0:if(1===e.length&&!e[0].length){if(n instanceof Document)throw new SyntaxError(p());return[2,y(n,o,u)]}return[4,P(e,n,o,u)];case 1:return(t=r.sent())?[4,y(t,o,u)]:[3,3];case 2:return a=r.sent(),[3,4];case 3:a=null,r.label=4;case 4:return[2,a]}}))}))}function E(e,n){for(var t=h(e,(function(e){if(!e[e.length-1].length)throw new SyntaxError(v("querySelector","shadowRootQuerySelector"));return e})),r=t.length,o=0;o<r;o++){var u=g(t[o],n);if(u)return u}return null}function x(e,n){for(var t=h(e,(function(e){if(!e[e.length-1].length)throw new SyntaxError(v("querySelectorAll"));return e})),r=t.length,o=0;o<r;o++){var u=S(t[o],n);if(null==u?void 0:u.length)return u}return document.querySelectorAll(c)}function q(e,n){for(var t=h(e,(function(e){if(e.pop().length)throw new SyntaxError(w("shadowRootQuerySelector","querySelector"));return e})),r=t.length,o=0;o<r;o++){var u=b(t[o],n);if(u)return u}return null}function L(e,n,o,u){return t(this,void 0,void 0,(function(){var t,a,l,c;return r(this,(function(r){switch(r.label){case 0:t=h(e,(function(e){if(!e[e.length-1].length)throw new SyntaxError(v("asyncQuerySelector","asyncShadowRootQuerySelector"));return e})),a=t.length,l=0,r.label=1;case 1:return l<a?[4,P(t[l],n,o,u)]:[3,4];case 2:if(c=r.sent())return[2,c];r.label=3;case 3:return l++,[3,1];case 4:return[2,null]}}))}))}function Q(e,n,o,u){return t(this,void 0,void 0,(function(){var t,a,l,i;return r(this,(function(r){switch(r.label){case 0:t=h(e,(function(e){if(!e[e.length-1].length)throw new SyntaxError(v("asyncQuerySelectorAll"));return e})),a=t.length,l=0,r.label=1;case 1:return l<a?[4,R(t[l],n,o,u)]:[3,4];case 2:if(null==(i=r.sent())?void 0:i.length)return[2,i];r.label=3;case 3:return l++,[3,1];case 4:return[2,document.querySelectorAll(c)]}}))}))}function N(e,n,o,u){return t(this,void 0,void 0,(function(){var t,a,l,c;return r(this,(function(r){switch(r.label){case 0:t=h(e,(function(e){if(e.pop().length)throw new SyntaxError(w("asyncShadowRootQuerySelector","asyncQuerySelector"));return e})),a=t.length,l=0,r.label=1;case 1:return l<a?[4,A(t[l],n,o,u)]:[3,4];case 2:if(c=r.sent())return[2,c];r.label=3;case 3:return l++,[3,1];case 4:return[2,null]}}))}))}var _=function(e){return new Proxy(e,{get:function(e,n){if(n===u.PARAMS)return e[n];if(n===u.ELEMENT)return m(e._element).then((function(e){return e instanceof NodeList?e[0]||null:e}));if(n===u.ALL)return m(e._element).then((function(e){return e instanceof NodeList?e:document.querySelectorAll(c)}));if(n===a){var t=m(e._element).then((function(n){return n instanceof ShadowRoot||null===n||n instanceof NodeList&&0===n.length?null:n instanceof NodeList?y(n[0],e.asyncParams.retries,e.asyncParams.delay):y(n,e.asyncParams.retries,e.asyncParams.delay)}));return _({_element:t,asyncParams:e.asyncParams})}var r=m(e._element).then((function(t){return null===t||t instanceof NodeList&&0===t.length?null:t instanceof NodeList?d(t[0],n,e.asyncParams.retries,e.asyncParams.delay,!0):d(t,n,e.asyncParams.retries,e.asyncParams.delay,!0)}));return _({_element:r,asyncParams:e.asyncParams})}})};e.asyncQuerySelector=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t(this,void 0,void 0,(function(){var n,t,o,u,a;return r(this,(function(r){switch(r.label){case 0:return f(e)?(n=e[0],t=e[1],o=e[2],[4,L(t,n,(null==o?void 0:o.retries)||i,(null==o?void 0:o.delay)||s)]):[3,2];case 1:case 3:return[2,r.sent()];case 2:return u=e[0],a=e[1],[4,L(u,document,(null==a?void 0:a.retries)||i,(null==a?void 0:a.delay)||s)]}}))}))},e.asyncQuerySelectorAll=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t(this,void 0,void 0,(function(){var n,t,o,u,a;return r(this,(function(r){switch(r.label){case 0:return f(e)?(n=e[0],t=e[1],o=e[2],[4,Q(t,n,(null==o?void 0:o.retries)||i,(null==o?void 0:o.delay)||s)]):[3,2];case 1:return[2,r.sent()];case 2:return u=e[0],a=e[1],[2,Q(u,document,(null==a?void 0:a.retries)||i,(null==a?void 0:a.delay)||s)]}}))}))},e.asyncShadowRootQuerySelector=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return t(this,void 0,void 0,(function(){var n,t,o,u,a;return r(this,(function(r){switch(r.label){case 0:return f(e)?(n=e[0],t=e[1],o=e[2],[4,N(t,n,(null==o?void 0:o.retries)||i,(null==o?void 0:o.delay)||s)]):[3,2];case 1:return[2,r.sent()];case 2:return u=e[0],a=e[1],[2,N(u,document,(null==a?void 0:a.retries)||i,(null==a?void 0:a.delay)||s)]}}))}))},e.buildAsyncSelector=function(e,t){if(e instanceof Node){var r=n({retries:i,delay:s},t||{});return _({_element:e,asyncParams:r})}var o=n({retries:i,delay:s},e||{});return _({_element:document,asyncParams:o})},e.querySelector=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=e[0],r=e[1];return"string"==typeof t?E(t,document):E(r,t)},e.querySelectorAll=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=e[0],r=e[1];return"string"==typeof t?x(t,document):x(r,t)},e.shadowRootQuerySelector=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];var t=e[0],r=e[1];return"string"==typeof t?q(t,document):q(r,t)}}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shadow-dom-selector",
3
- "version": "2.0.1",
3
+ "version": "2.0.2",
4
4
  "description": "A very small JavaScript utility to query DOM elements through the Shadow Dom subtrees in a sync or an async way",
5
5
  "keywords": [
6
6
  "query-selector",