@stencil/core 2.9.0 → 2.12.0

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.
Files changed (70) hide show
  1. package/cli/index.cjs +16 -5
  2. package/cli/index.js +16 -5
  3. package/cli/package.json +1 -1
  4. package/compiler/lib.dom.d.ts +263 -648
  5. package/compiler/lib.dom.iterable.d.ts +1 -5
  6. package/compiler/lib.es2015.core.d.ts +2 -2
  7. package/compiler/lib.es2015.iterable.d.ts +1 -1
  8. package/compiler/lib.es2015.symbol.wellknown.d.ts +10 -10
  9. package/compiler/lib.es2018.asynciterable.d.ts +1 -1
  10. package/compiler/lib.es2020.bigint.d.ts +1 -1
  11. package/compiler/lib.es2020.intl.d.ts +6 -7
  12. package/compiler/lib.es2020.symbol.wellknown.d.ts +1 -1
  13. package/compiler/lib.es2021.d.ts +24 -0
  14. package/compiler/lib.es2021.full.d.ts +25 -0
  15. package/compiler/lib.es2021.promise.d.ts +43 -0
  16. package/compiler/lib.es2021.string.d.ts +35 -0
  17. package/compiler/lib.es2021.weakref.d.ts +75 -0
  18. package/compiler/lib.es5.d.ts +9 -9
  19. package/compiler/lib.esnext.d.ts +1 -4
  20. package/compiler/lib.esnext.promise.d.ts +26 -26
  21. package/compiler/lib.esnext.string.d.ts +18 -18
  22. package/compiler/lib.esnext.weakref.d.ts +58 -58
  23. package/compiler/lib.webworker.d.ts +98 -153
  24. package/compiler/lib.webworker.iterable.d.ts +1 -1
  25. package/compiler/package.json +1 -1
  26. package/compiler/stencil.js +497 -725
  27. package/compiler/stencil.min.js +2 -2
  28. package/dependencies.json +6 -1
  29. package/dev-server/client/index.js +1 -1
  30. package/dev-server/client/package.json +1 -1
  31. package/dev-server/connector.html +2 -2
  32. package/dev-server/index.js +1 -1
  33. package/dev-server/package.json +1 -1
  34. package/dev-server/server-process.js +2 -2
  35. package/internal/app-data/package.json +1 -1
  36. package/internal/client/css-shim.js +1 -1
  37. package/internal/client/dom.js +1 -1
  38. package/internal/client/index.js +119 -102
  39. package/internal/client/package.json +1 -1
  40. package/internal/client/patch-browser.js +1 -1
  41. package/internal/client/patch-esm.js +1 -1
  42. package/internal/client/shadow-css.js +9 -10
  43. package/internal/hydrate/index.js +44 -40
  44. package/internal/hydrate/package.json +1 -1
  45. package/internal/hydrate/shadow-css.js +59 -62
  46. package/internal/index.js +1 -0
  47. package/internal/package.json +1 -1
  48. package/internal/stencil-public-compiler.d.ts +1 -1
  49. package/internal/testing/index.js +54 -47
  50. package/internal/testing/package.json +1 -1
  51. package/internal/testing/shadow-css.js +54 -57
  52. package/mock-doc/index.cjs +5 -2
  53. package/mock-doc/index.d.ts +6 -6
  54. package/mock-doc/index.js +5 -2
  55. package/mock-doc/package.json +1 -1
  56. package/package.json +17 -9
  57. package/screenshot/index.js +1 -1
  58. package/screenshot/package.json +1 -1
  59. package/sys/node/autoprefixer.js +2 -2
  60. package/sys/node/index.js +1 -1
  61. package/sys/node/package.json +1 -1
  62. package/sys/node/worker.js +1 -1
  63. package/testing/index.js +84 -73
  64. package/testing/jest/jest-environment.d.ts +1 -0
  65. package/testing/jest/jest-preprocessor.d.ts +56 -8
  66. package/testing/jest-preset.js +5 -0
  67. package/testing/mocks.d.ts +1 -5
  68. package/testing/package.json +1 -1
  69. package/testing/testing-sys.d.ts +6 -1
  70. package/screenshot/index.js.map +0 -1
@@ -382,11 +382,6 @@ interface PushPermissionDescriptor extends PermissionDescriptor {
382
382
  userVisibleOnly?: boolean;
383
383
  }
384
384
 
385
- interface PushSubscriptionChangeEventInit extends ExtendableEventInit {
386
- newSubscription?: PushSubscription;
387
- oldSubscription?: PushSubscription;
388
- }
389
-
390
385
  interface PushSubscriptionJSON {
391
386
  endpoint?: string;
392
387
  expirationTime?: number | null;
@@ -406,7 +401,7 @@ interface QueuingStrategy<T = any> {
406
401
  interface QueuingStrategyInit {
407
402
  /**
408
403
  * Creates a new ByteLengthQueuingStrategy with the provided high water mark.
409
- *
404
+ *
410
405
  * Note that the provided high water mark will not be validated ahead of time. Instead, if it is negative, NaN, or not a number, the resulting ByteLengthQueuingStrategy will cause the corresponding stream constructor to throw.
411
406
  */
412
407
  highWaterMark: number;
@@ -426,7 +421,7 @@ interface ReadableWritablePair<R = any, W = any> {
426
421
  readable: ReadableStream<R>;
427
422
  /**
428
423
  * Provides a convenient, chainable way of piping this readable stream through a transform stream (or any other { writable, readable } pair). It simply pipes the stream into the writable side of the supplied pair, and returns the readable side for further use.
429
- *
424
+ *
430
425
  * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.
431
426
  */
432
427
  writable: WritableStream<W>;
@@ -536,19 +531,19 @@ interface StreamPipeOptions {
536
531
  preventCancel?: boolean;
537
532
  /**
538
533
  * Pipes this readable stream to a given writable stream destination. The way in which the piping process behaves under various error conditions can be customized with a number of passed options. It returns a promise that fulfills when the piping process completes successfully, or rejects if any errors were encountered.
539
- *
534
+ *
540
535
  * Piping a stream will lock it for the duration of the pipe, preventing any other consumer from acquiring a reader.
541
- *
536
+ *
542
537
  * Errors and closures of the source and destination streams propagate as follows:
543
- *
538
+ *
544
539
  * An error in this source readable stream will abort destination, unless preventAbort is truthy. The returned promise will be rejected with the source's error, or with any error that occurs during aborting the destination.
545
- *
540
+ *
546
541
  * An error in destination will cancel this source readable stream, unless preventCancel is truthy. The returned promise will be rejected with the destination's error, or with any error that occurs during canceling the source.
547
- *
542
+ *
548
543
  * When this source readable stream closes, destination will be closed, unless preventClose is truthy. The returned promise will be fulfilled once this process completes, unless an error is encountered while closing the destination, in which case it will be rejected with that error.
549
- *
544
+ *
550
545
  * If destination starts out closed or closing, this source readable stream will be canceled, unless preventCancel is true. The returned promise will be rejected with an error indicating piping to a closed stream failed, or with any error that occurs during canceling the source.
551
- *
546
+ *
552
547
  * The signal option can be set to an AbortSignal to allow aborting an ongoing pipe operation via the corresponding AbortController. In this case, this source readable stream will be canceled, and destination aborted, unless the respective options preventCancel or preventAbort are set.
553
548
  */
554
549
  preventClose?: boolean;
@@ -833,7 +828,7 @@ interface CanvasFilters {
833
828
  interface CanvasGradient {
834
829
  /**
835
830
  * Adds a color stop with the given color to the gradient at the given offset. 0.0 is the offset at one end of the gradient, 1.0 is the offset at the other end.
836
- *
831
+ *
837
832
  * Throws an "IndexSizeError" DOMException if the offset is out of range. Throws a "SyntaxError" DOMException if the color cannot be parsed.
838
833
  */
839
834
  addColorStop(offset: number, color: string): void;
@@ -1515,15 +1510,15 @@ declare var EventSource: {
1515
1510
  interface EventTarget {
1516
1511
  /**
1517
1512
  * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
1518
- *
1513
+ *
1519
1514
  * The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
1520
- *
1515
+ *
1521
1516
  * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
1522
- *
1517
+ *
1523
1518
  * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
1524
- *
1519
+ *
1525
1520
  * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
1526
- *
1521
+ *
1527
1522
  * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
1528
1523
  */
1529
1524
  addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void;
@@ -1570,7 +1565,6 @@ declare var ExtendableMessageEvent: {
1570
1565
  interface FetchEvent extends ExtendableEvent {
1571
1566
  readonly clientId: string;
1572
1567
  readonly preloadResponse: Promise<any>;
1573
- readonly replacesClientId: string;
1574
1568
  readonly request: Request;
1575
1569
  readonly resultingClientId: string;
1576
1570
  respondWith(r: Response | Promise<Response>): void;
@@ -1730,15 +1724,15 @@ interface IDBCursor {
1730
1724
  continuePrimaryKey(key: IDBValidKey, primaryKey: IDBValidKey): void;
1731
1725
  /**
1732
1726
  * Delete the record pointed at by the cursor with a new value.
1733
- *
1727
+ *
1734
1728
  * If successful, request's result will be undefined.
1735
1729
  */
1736
1730
  delete(): IDBRequest<undefined>;
1737
1731
  /**
1738
1732
  * Updated the record pointed at by the cursor with a new value.
1739
- *
1733
+ *
1740
1734
  * Throws a "DataError" DOMException if the effective object store uses in-line keys and the key would have changed.
1741
- *
1735
+ *
1742
1736
  * If successful, request's result will be the record's key.
1743
1737
  */
1744
1738
  update(value: any): IDBRequest<IDBValidKey>;
@@ -1793,13 +1787,13 @@ interface IDBDatabase extends EventTarget {
1793
1787
  close(): void;
1794
1788
  /**
1795
1789
  * Creates a new object store with the given name and options and returns a new IDBObjectStore.
1796
- *
1790
+ *
1797
1791
  * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction.
1798
1792
  */
1799
1793
  createObjectStore(name: string, options?: IDBObjectStoreParameters): IDBObjectStore;
1800
1794
  /**
1801
1795
  * Deletes the object store with the given name.
1802
- *
1796
+ *
1803
1797
  * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction.
1804
1798
  */
1805
1799
  deleteObjectStore(name: string): void;
@@ -1822,7 +1816,7 @@ declare var IDBDatabase: {
1822
1816
  interface IDBFactory {
1823
1817
  /**
1824
1818
  * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if the keys are equal.
1825
- *
1819
+ *
1826
1820
  * Throws a "DataError" DOMException if either input is not a valid key.
1827
1821
  */
1828
1822
  cmp(first: any, second: any): number;
@@ -1856,43 +1850,43 @@ interface IDBIndex {
1856
1850
  readonly unique: boolean;
1857
1851
  /**
1858
1852
  * Retrieves the number of records matching the given key or key range in query.
1859
- *
1853
+ *
1860
1854
  * If successful, request's result will be the count.
1861
1855
  */
1862
1856
  count(key?: IDBValidKey | IDBKeyRange): IDBRequest<number>;
1863
1857
  /**
1864
1858
  * Retrieves the value of the first record matching the given key or key range in query.
1865
- *
1859
+ *
1866
1860
  * If successful, request's result will be the value, or undefined if there was no matching record.
1867
1861
  */
1868
1862
  get(key: IDBValidKey | IDBKeyRange): IDBRequest<any | undefined>;
1869
1863
  /**
1870
1864
  * Retrieves the values of the records matching the given key or key range in query (up to count if given).
1871
- *
1865
+ *
1872
1866
  * If successful, request's result will be an Array of the values.
1873
1867
  */
1874
1868
  getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;
1875
1869
  /**
1876
1870
  * Retrieves the keys of records matching the given key or key range in query (up to count if given).
1877
- *
1871
+ *
1878
1872
  * If successful, request's result will be an Array of the keys.
1879
1873
  */
1880
1874
  getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;
1881
1875
  /**
1882
1876
  * Retrieves the key of the first record matching the given key or key range in query.
1883
- *
1877
+ *
1884
1878
  * If successful, request's result will be the key, or undefined if there was no matching record.
1885
1879
  */
1886
1880
  getKey(key: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;
1887
1881
  /**
1888
1882
  * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in index are matched.
1889
- *
1883
+ *
1890
1884
  * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records.
1891
1885
  */
1892
1886
  openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;
1893
1887
  /**
1894
1888
  * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched.
1895
- *
1889
+ *
1896
1890
  * If successful, request's result will be an IDBCursor, or null if there were no matching records.
1897
1891
  */
1898
1892
  openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;
@@ -1972,88 +1966,88 @@ interface IDBObjectStore {
1972
1966
  readonly transaction: IDBTransaction;
1973
1967
  /**
1974
1968
  * Adds or updates a record in store with the given value and key.
1975
- *
1969
+ *
1976
1970
  * If the store uses in-line keys and key is specified a "DataError" DOMException will be thrown.
1977
- *
1971
+ *
1978
1972
  * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a "ConstraintError" DOMException.
1979
- *
1973
+ *
1980
1974
  * If successful, request's result will be the record's key.
1981
1975
  */
1982
1976
  add(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;
1983
1977
  /**
1984
1978
  * Deletes all records in store.
1985
- *
1979
+ *
1986
1980
  * If successful, request's result will be undefined.
1987
1981
  */
1988
1982
  clear(): IDBRequest<undefined>;
1989
1983
  /**
1990
1984
  * Retrieves the number of records matching the given key or key range in query.
1991
- *
1985
+ *
1992
1986
  * If successful, request's result will be the count.
1993
1987
  */
1994
1988
  count(key?: IDBValidKey | IDBKeyRange): IDBRequest<number>;
1995
1989
  /**
1996
1990
  * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a "ConstraintError" DOMException.
1997
- *
1991
+ *
1998
1992
  * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction.
1999
1993
  */
2000
1994
  createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex;
2001
1995
  /**
2002
1996
  * Deletes records in store with the given key or in the given key range in query.
2003
- *
1997
+ *
2004
1998
  * If successful, request's result will be undefined.
2005
1999
  */
2006
2000
  delete(key: IDBValidKey | IDBKeyRange): IDBRequest<undefined>;
2007
2001
  /**
2008
2002
  * Deletes the index in store with the given name.
2009
- *
2003
+ *
2010
2004
  * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction.
2011
2005
  */
2012
2006
  deleteIndex(name: string): void;
2013
2007
  /**
2014
2008
  * Retrieves the value of the first record matching the given key or key range in query.
2015
- *
2009
+ *
2016
2010
  * If successful, request's result will be the value, or undefined if there was no matching record.
2017
2011
  */
2018
2012
  get(query: IDBValidKey | IDBKeyRange): IDBRequest<any | undefined>;
2019
2013
  /**
2020
2014
  * Retrieves the values of the records matching the given key or key range in query (up to count if given).
2021
- *
2015
+ *
2022
2016
  * If successful, request's result will be an Array of the values.
2023
2017
  */
2024
2018
  getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<any[]>;
2025
2019
  /**
2026
2020
  * Retrieves the keys of records matching the given key or key range in query (up to count if given).
2027
- *
2021
+ *
2028
2022
  * If successful, request's result will be an Array of the keys.
2029
2023
  */
2030
2024
  getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest<IDBValidKey[]>;
2031
2025
  /**
2032
2026
  * Retrieves the key of the first record matching the given key or key range in query.
2033
- *
2027
+ *
2034
2028
  * If successful, request's result will be the key, or undefined if there was no matching record.
2035
2029
  */
2036
2030
  getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;
2037
2031
  index(name: string): IDBIndex;
2038
2032
  /**
2039
2033
  * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in store are matched.
2040
- *
2034
+ *
2041
2035
  * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records.
2042
2036
  */
2043
2037
  openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursorWithValue | null>;
2044
2038
  /**
2045
2039
  * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched.
2046
- *
2040
+ *
2047
2041
  * If successful, request's result will be an IDBCursor pointing at the first matching record, or null if there were no matching records.
2048
2042
  */
2049
2043
  openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest<IDBCursor | null>;
2050
2044
  /**
2051
2045
  * Adds or updates a record in store with the given value and key.
2052
- *
2046
+ *
2053
2047
  * If the store uses in-line keys and key is specified a "DataError" DOMException will be thrown.
2054
- *
2048
+ *
2055
2049
  * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a "ConstraintError" DOMException.
2056
- *
2050
+ *
2057
2051
  * If successful, request's result will be the record's key.
2058
2052
  */
2059
2053
  put(value: any, key?: IDBValidKey): IDBRequest<IDBValidKey>;
@@ -2299,7 +2293,7 @@ interface MessagePort extends EventTarget {
2299
2293
  close(): void;
2300
2294
  /**
2301
2295
  * Posts a message through the channel. Objects listed in transfer are transferred, not just cloned, meaning that they are no longer usable on the sending side.
2302
- *
2296
+ *
2303
2297
  * Throws a "DataCloneError" DOMException if transfer contains duplicate objects or port, or if message could not be cloned.
2304
2298
  */
2305
2299
  postMessage(message: any, transfer: Transferable[]): void;
@@ -2447,27 +2441,27 @@ interface OES_vertex_array_object {
2447
2441
  interface OffscreenCanvas extends EventTarget {
2448
2442
  /**
2449
2443
  * These attributes return the dimensions of the OffscreenCanvas object's bitmap.
2450
- *
2444
+ *
2451
2445
  * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).
2452
2446
  */
2453
2447
  height: number;
2454
2448
  /**
2455
2449
  * These attributes return the dimensions of the OffscreenCanvas object's bitmap.
2456
- *
2450
+ *
2457
2451
  * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it).
2458
2452
  */
2459
2453
  width: number;
2460
2454
  /**
2461
2455
  * Returns a promise that will fulfill with a new Blob object representing a file containing the image in the OffscreenCanvas object.
2462
- *
2456
+ *
2463
2457
  * The argument, if provided, is a dictionary that controls the encoding options of the image file to be created. The type field specifies the file format and has a default value of "image/png"; that type is also used if the requested type isn't supported. If the image format supports variable quality (such as "image/jpeg"), then the quality field is a number in the range 0.0 to 1.0 inclusive indicating the desired quality level for the resulting image.
2464
2458
  */
2465
2459
  convertToBlob(options?: ImageEncodeOptions): Promise<Blob>;
2466
2460
  /**
2467
2461
  * Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API.
2468
- *
2462
+ *
2469
2463
  * This specification defines the "2d" context below, which is similar but distinct from the "2d" context that is created from a canvas element. The WebGL specifications define the "webgl" and "webgl2" contexts. [WEBGL]
2470
- *
2464
+ *
2471
2465
  * Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "2d" context after getting a "webgl" context).
2472
2466
  */
2473
2467
  getContext(contextId: "2d", options?: CanvasRenderingContext2DSettings): OffscreenCanvasRenderingContext2D | null;
@@ -2722,16 +2716,6 @@ declare var PushSubscription: {
2722
2716
  new(): PushSubscription;
2723
2717
  };
2724
2718
 
2725
- interface PushSubscriptionChangeEvent extends ExtendableEvent {
2726
- readonly newSubscription: PushSubscription | null;
2727
- readonly oldSubscription: PushSubscription | null;
2728
- }
2729
-
2730
- declare var PushSubscriptionChangeEvent: {
2731
- prototype: PushSubscriptionChangeEvent;
2732
- new(type: string, eventInitDict?: PushSubscriptionChangeEventInit): PushSubscriptionChangeEvent;
2733
- };
2734
-
2735
2719
  interface PushSubscriptionOptions {
2736
2720
  readonly applicationServerKey: ArrayBuffer | null;
2737
2721
  readonly userVisibleOnly: boolean;
@@ -2933,7 +2917,6 @@ interface ServiceWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap {
2933
2917
  "notificationclick": NotificationEvent;
2934
2918
  "notificationclose": NotificationEvent;
2935
2919
  "push": PushEvent;
2936
- "pushsubscriptionchange": PushSubscriptionChangeEvent;
2937
2920
  "sync": SyncEvent;
2938
2921
  }
2939
2922
 
@@ -2948,7 +2931,6 @@ interface ServiceWorkerGlobalScope extends WorkerGlobalScope {
2948
2931
  onnotificationclick: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null;
2949
2932
  onnotificationclose: ((this: ServiceWorkerGlobalScope, ev: NotificationEvent) => any) | null;
2950
2933
  onpush: ((this: ServiceWorkerGlobalScope, ev: PushEvent) => any) | null;
2951
- onpushsubscriptionchange: ((this: ServiceWorkerGlobalScope, ev: PushSubscriptionChangeEvent) => any) | null;
2952
2934
  onsync: ((this: ServiceWorkerGlobalScope, ev: SyncEvent) => any) | null;
2953
2935
  readonly registration: ServiceWorkerRegistration;
2954
2936
  readonly serviceWorker: ServiceWorker;
@@ -3098,7 +3080,7 @@ declare var SyncManager: {
3098
3080
  interface TextDecoder extends TextDecoderCommon {
3099
3081
  /**
3100
3082
  * Returns the result of running encoding's decoder. The method can be invoked zero or more times with options's stream set to true, and then once without options's stream (or set to false), to process a fragmented input. If the invocation without options's stream (or set to false) has no input, it's clearest to omit both arguments.
3101
- *
3083
+ *
3102
3084
  * ```
3103
3085
  * var string = "", decoder = new TextDecoder(encoding), buffer;
3104
3086
  * while(buffer = next_chunk()) {
@@ -3106,7 +3088,7 @@ interface TextDecoder extends TextDecoderCommon {
3106
3088
  * }
3107
3089
  * string += decoder.decode(); // end-of-queue
3108
3090
  * ```
3109
- *
3091
+ *
3110
3092
  * If the error mode is "fatal" and encoding's decoder returns error, throws a TypeError.
3111
3093
  */
3112
3094
  decode(input?: BufferSource, options?: TextDecodeOptions): string;
@@ -3194,34 +3176,6 @@ interface TextMetrics {
3194
3176
  * Returns the measurement described below.
3195
3177
  */
3196
3178
  readonly actualBoundingBoxRight: number;
3197
- /**
3198
- * Returns the measurement described below.
3199
- */
3200
- readonly alphabeticBaseline: number;
3201
- /**
3202
- * Returns the measurement described below.
3203
- */
3204
- readonly emHeightAscent: number;
3205
- /**
3206
- * Returns the measurement described below.
3207
- */
3208
- readonly emHeightDescent: number;
3209
- /**
3210
- * Returns the measurement described below.
3211
- */
3212
- readonly fontBoundingBoxAscent: number;
3213
- /**
3214
- * Returns the measurement described below.
3215
- */
3216
- readonly fontBoundingBoxDescent: number;
3217
- /**
3218
- * Returns the measurement described below.
3219
- */
3220
- readonly hangingBaseline: number;
3221
- /**
3222
- * Returns the measurement described below.
3223
- */
3224
- readonly ideographicBaseline: number;
3225
3179
  /**
3226
3180
  * Returns the measurement described below.
3227
3181
  */
@@ -4407,7 +4361,7 @@ declare var WebGLActiveInfo: {
4407
4361
  };
4408
4362
 
4409
4363
  /** Part of the WebGL API and represents an opaque buffer object storing data such as vertices or colors. */
4410
- interface WebGLBuffer extends WebGLObject {
4364
+ interface WebGLBuffer {
4411
4365
  }
4412
4366
 
4413
4367
  declare var WebGLBuffer: {
@@ -4426,7 +4380,7 @@ declare var WebGLContextEvent: {
4426
4380
  };
4427
4381
 
4428
4382
  /** Part of the WebGL API and represents a collection of buffers that serve as a rendering destination. */
4429
- interface WebGLFramebuffer extends WebGLObject {
4383
+ interface WebGLFramebuffer {
4430
4384
  }
4431
4385
 
4432
4386
  declare var WebGLFramebuffer: {
@@ -4434,16 +4388,8 @@ declare var WebGLFramebuffer: {
4434
4388
  new(): WebGLFramebuffer;
4435
4389
  };
4436
4390
 
4437
- interface WebGLObject {
4438
- }
4439
-
4440
- declare var WebGLObject: {
4441
- prototype: WebGLObject;
4442
- new(): WebGLObject;
4443
- };
4444
-
4445
4391
  /** The WebGLProgram is part of the WebGL API and is a combination of two compiled WebGLShaders consisting of a vertex shader and a fragment shader (both written in GLSL). */
4446
- interface WebGLProgram extends WebGLObject {
4392
+ interface WebGLProgram {
4447
4393
  }
4448
4394
 
4449
4395
  declare var WebGLProgram: {
@@ -4451,7 +4397,7 @@ declare var WebGLProgram: {
4451
4397
  new(): WebGLProgram;
4452
4398
  };
4453
4399
 
4454
- interface WebGLQuery extends WebGLObject {
4400
+ interface WebGLQuery {
4455
4401
  }
4456
4402
 
4457
4403
  declare var WebGLQuery: {
@@ -4460,7 +4406,7 @@ declare var WebGLQuery: {
4460
4406
  };
4461
4407
 
4462
4408
  /** Part of the WebGL API and represents a buffer that can contain an image, or can be source or target of an rendering operation. */
4463
- interface WebGLRenderbuffer extends WebGLObject {
4409
+ interface WebGLRenderbuffer {
4464
4410
  }
4465
4411
 
4466
4412
  declare var WebGLRenderbuffer: {
@@ -5239,7 +5185,7 @@ interface WebGLRenderingContextOverloads {
5239
5185
  uniformMatrix4fv(location: WebGLUniformLocation | null, transpose: GLboolean, value: Float32List): void;
5240
5186
  }
5241
5187
 
5242
- interface WebGLSampler extends WebGLObject {
5188
+ interface WebGLSampler {
5243
5189
  }
5244
5190
 
5245
5191
  declare var WebGLSampler: {
@@ -5248,7 +5194,7 @@ declare var WebGLSampler: {
5248
5194
  };
5249
5195
 
5250
5196
  /** The WebGLShader is part of the WebGL API and can either be a vertex or a fragment shader. A WebGLProgram requires both types of shaders. */
5251
- interface WebGLShader extends WebGLObject {
5197
+ interface WebGLShader {
5252
5198
  }
5253
5199
 
5254
5200
  declare var WebGLShader: {
@@ -5268,7 +5214,7 @@ declare var WebGLShaderPrecisionFormat: {
5268
5214
  new(): WebGLShaderPrecisionFormat;
5269
5215
  };
5270
5216
 
5271
- interface WebGLSync extends WebGLObject {
5217
+ interface WebGLSync {
5272
5218
  }
5273
5219
 
5274
5220
  declare var WebGLSync: {
@@ -5277,7 +5223,7 @@ declare var WebGLSync: {
5277
5223
  };
5278
5224
 
5279
5225
  /** Part of the WebGL API and represents an opaque texture object providing storage and state for texturing operations. */
5280
- interface WebGLTexture extends WebGLObject {
5226
+ interface WebGLTexture {
5281
5227
  }
5282
5228
 
5283
5229
  declare var WebGLTexture: {
@@ -5285,7 +5231,7 @@ declare var WebGLTexture: {
5285
5231
  new(): WebGLTexture;
5286
5232
  };
5287
5233
 
5288
- interface WebGLTransformFeedback extends WebGLObject {
5234
+ interface WebGLTransformFeedback {
5289
5235
  }
5290
5236
 
5291
5237
  declare var WebGLTransformFeedback: {
@@ -5302,7 +5248,7 @@ declare var WebGLUniformLocation: {
5302
5248
  new(): WebGLUniformLocation;
5303
5249
  };
5304
5250
 
5305
- interface WebGLVertexArrayObject extends WebGLObject {
5251
+ interface WebGLVertexArrayObject {
5306
5252
  }
5307
5253
 
5308
5254
  declare var WebGLVertexArrayObject: {
@@ -5310,7 +5256,7 @@ declare var WebGLVertexArrayObject: {
5310
5256
  new(): WebGLVertexArrayObject;
5311
5257
  };
5312
5258
 
5313
- interface WebGLVertexArrayObjectOES extends WebGLObject {
5259
+ interface WebGLVertexArrayObjectOES {
5314
5260
  }
5315
5261
 
5316
5262
  interface WebSocketEventMap {
@@ -5324,13 +5270,13 @@ interface WebSocketEventMap {
5324
5270
  interface WebSocket extends EventTarget {
5325
5271
  /**
5326
5272
  * Returns a string that indicates how binary data from the WebSocket object is exposed to scripts:
5327
- *
5273
+ *
5328
5274
  * Can be set, to change how binary data is returned. The default is "blob".
5329
5275
  */
5330
5276
  binaryType: BinaryType;
5331
5277
  /**
5332
5278
  * Returns the number of bytes of application data (UTF-8 text and binary data) that have been queued using send() but not yet been transmitted to the network.
5333
- *
5279
+ *
5334
5280
  * If the WebSocket connection is closed, this attribute's value will only increase with each call to the send() method. (The number does not reset to zero once the connection closes.)
5335
5281
  */
5336
5282
  readonly bufferedAmount: number;
@@ -5383,7 +5329,6 @@ declare var WebSocket: {
5383
5329
 
5384
5330
  /** This ServiceWorker API interface represents the scope of a service worker client that is a document in a browser context, controlled by an active worker. The service worker client independently selects and uses a service worker for its own loading and sub-resources. */
5385
5331
  interface WindowClient extends Client {
5386
- readonly ancestorOrigins: ReadonlyArray<string>;
5387
5332
  readonly focused: boolean;
5388
5333
  readonly visibilityState: VisibilityState;
5389
5334
  focus(): Promise<WindowClient>;
@@ -5506,7 +5451,6 @@ declare var WorkerLocation: {
5506
5451
  /** A subset of the Navigator interface allowed to be accessed from a Worker. Such an object is initialized for each worker and is available via the WorkerGlobalScope.navigator property obtained by calling window.self.navigator. */
5507
5452
  interface WorkerNavigator extends NavigatorConcurrentHardware, NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorStorage {
5508
5453
  readonly permissions: Permissions;
5509
- readonly serviceWorker: ServiceWorkerContainer;
5510
5454
  }
5511
5455
 
5512
5456
  declare var WorkerNavigator: {
@@ -5569,19 +5513,19 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget {
5569
5513
  readonly response: any;
5570
5514
  /**
5571
5515
  * Returns the text response.
5572
- *
5516
+ *
5573
5517
  * Throws an "InvalidStateError" DOMException if responseType is not the empty string or "text".
5574
5518
  */
5575
5519
  readonly responseText: string;
5576
5520
  /**
5577
5521
  * Returns the response type.
5578
- *
5522
+ *
5579
5523
  * Can be set to change the response type. Values are: the empty string (default), "arraybuffer", "blob", "document", "json", and "text".
5580
- *
5524
+ *
5581
5525
  * When set: setting to "document" is ignored if current global object is not a Window object.
5582
- *
5526
+ *
5583
5527
  * When set: throws an "InvalidStateError" DOMException if state is loading or done.
5584
- *
5528
+ *
5585
5529
  * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object.
5586
5530
  */
5587
5531
  responseType: XMLHttpRequestResponseType;
@@ -5590,7 +5534,7 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget {
5590
5534
  readonly statusText: string;
5591
5535
  /**
5592
5536
  * Can be set to a time in milliseconds. When set to a non-zero value will cause fetching to terminate after the given time has passed. When the time has passed, the request has not yet completed, and the synchronous flag is unset, a timeout event will then be dispatched, or a "TimeoutError" DOMException will be thrown otherwise (for the send() method).
5593
- *
5537
+ *
5594
5538
  * When set: throws an "InvalidAccessError" DOMException if the synchronous flag is set and current global object is a Window object.
5595
5539
  */
5596
5540
  timeout: number;
@@ -5600,7 +5544,7 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget {
5600
5544
  readonly upload: XMLHttpRequestUpload;
5601
5545
  /**
5602
5546
  * True when credentials are to be included in a cross-origin request. False when they are to be excluded in a cross-origin request and when cookies are to be ignored in its response. Initially false.
5603
- *
5547
+ *
5604
5548
  * When set: throws an "InvalidStateError" DOMException if state is not unsent or opened, or if the send() flag is set.
5605
5549
  */
5606
5550
  withCredentials: boolean;
@@ -5612,32 +5556,32 @@ interface XMLHttpRequest extends XMLHttpRequestEventTarget {
5612
5556
  getResponseHeader(name: string): string | null;
5613
5557
  /**
5614
5558
  * Sets the request method, request URL, and synchronous flag.
5615
- *
5559
+ *
5616
5560
  * Throws a "SyntaxError" DOMException if either method is not a valid HTTP method or url cannot be parsed.
5617
- *
5561
+ *
5618
5562
  * Throws a "SecurityError" DOMException if method is a case-insensitive match for `CONNECT`, `TRACE`, or `TRACK`.
5619
- *
5563
+ *
5620
5564
  * Throws an "InvalidAccessError" DOMException if async is false, current global object is a Window object, and the timeout attribute is not zero or the responseType attribute is not the empty string.
5621
5565
  */
5622
5566
  open(method: string, url: string): void;
5623
5567
  open(method: string, url: string, async: boolean, username?: string | null, password?: string | null): void;
5624
5568
  /**
5625
5569
  * Acts as if the `Content-Type` header value for response is mime. (It does not actually change the header though.)
5626
- *
5570
+ *
5627
5571
  * Throws an "InvalidStateError" DOMException if state is loading or done.
5628
5572
  */
5629
5573
  overrideMimeType(mime: string): void;
5630
5574
  /**
5631
5575
  * Initiates the request. The body argument provides the request body, if any, and is ignored if the request method is GET or HEAD.
5632
- *
5576
+ *
5633
5577
  * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set.
5634
5578
  */
5635
5579
  send(body?: BodyInit | null): void;
5636
5580
  /**
5637
5581
  * Combines a header in author request headers.
5638
- *
5582
+ *
5639
5583
  * Throws an "InvalidStateError" DOMException if either state is not opened or the send() flag is set.
5640
- *
5584
+ *
5641
5585
  * Throws a "SyntaxError" DOMException if name is not a header name or if value is not a header value.
5642
5586
  */
5643
5587
  setRequestHeader(name: string, value: string): void;
@@ -5737,34 +5681,34 @@ declare namespace WebAssembly {
5737
5681
  value: any;
5738
5682
  valueOf(): any;
5739
5683
  }
5740
-
5684
+
5741
5685
  var Global: {
5742
5686
  prototype: Global;
5743
5687
  new(descriptor: GlobalDescriptor, v?: any): Global;
5744
5688
  };
5745
-
5689
+
5746
5690
  interface Instance {
5747
5691
  readonly exports: Exports;
5748
5692
  }
5749
-
5693
+
5750
5694
  var Instance: {
5751
5695
  prototype: Instance;
5752
5696
  new(module: Module, importObject?: Imports): Instance;
5753
5697
  };
5754
-
5698
+
5755
5699
  interface Memory {
5756
5700
  readonly buffer: ArrayBuffer;
5757
5701
  grow(delta: number): number;
5758
5702
  }
5759
-
5703
+
5760
5704
  var Memory: {
5761
5705
  prototype: Memory;
5762
5706
  new(descriptor: MemoryDescriptor): Memory;
5763
5707
  };
5764
-
5708
+
5765
5709
  interface Module {
5766
5710
  }
5767
-
5711
+
5768
5712
  var Module: {
5769
5713
  prototype: Module;
5770
5714
  new(bytes: BufferSource): Module;
@@ -5772,51 +5716,52 @@ declare namespace WebAssembly {
5772
5716
  exports(moduleObject: Module): ModuleExportDescriptor[];
5773
5717
  imports(moduleObject: Module): ModuleImportDescriptor[];
5774
5718
  };
5775
-
5719
+
5776
5720
  interface Table {
5777
5721
  readonly length: number;
5778
5722
  get(index: number): Function | null;
5779
5723
  grow(delta: number): number;
5780
5724
  set(index: number, value: Function | null): void;
5781
5725
  }
5782
-
5726
+
5783
5727
  var Table: {
5784
5728
  prototype: Table;
5785
5729
  new(descriptor: TableDescriptor): Table;
5786
5730
  };
5787
-
5731
+
5788
5732
  interface GlobalDescriptor {
5789
5733
  mutable?: boolean;
5790
5734
  value: ValueType;
5791
5735
  }
5792
-
5736
+
5793
5737
  interface MemoryDescriptor {
5794
5738
  initial: number;
5795
5739
  maximum?: number;
5740
+ shared?: boolean;
5796
5741
  }
5797
-
5742
+
5798
5743
  interface ModuleExportDescriptor {
5799
5744
  kind: ImportExportKind;
5800
5745
  name: string;
5801
5746
  }
5802
-
5747
+
5803
5748
  interface ModuleImportDescriptor {
5804
5749
  kind: ImportExportKind;
5805
5750
  module: string;
5806
5751
  name: string;
5807
5752
  }
5808
-
5753
+
5809
5754
  interface TableDescriptor {
5810
5755
  element: TableKind;
5811
5756
  initial: number;
5812
5757
  maximum?: number;
5813
5758
  }
5814
-
5759
+
5815
5760
  interface WebAssemblyInstantiatedSource {
5816
5761
  instance: Instance;
5817
5762
  module: Module;
5818
5763
  }
5819
-
5764
+
5820
5765
  type ImportExportKind = "function" | "global" | "memory" | "table";
5821
5766
  type TableKind = "anyfunc";
5822
5767
  type ValueType = "f32" | "f64" | "i32" | "i64";