@github/browser-support 1.1.1 → 1.1.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/lib/arraylike-at.d.ts.map +1 -1
- package/lib/arraylike-at.js +9 -5
- package/lib/arraylike-at.js.map +1 -1
- package/lib/index.d.ts +27 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +17 -7
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arraylike-at.d.ts","sourceRoot":"","sources":["../src/arraylike-at.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAKtE;AAGD,wBAAgB,WAAW,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"arraylike-at.d.ts","sourceRoot":"","sources":["../src/arraylike-at.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAKtE;AAGD,wBAAgB,WAAW,IAAI,OAAO,CAUrC;AAGD,wBAAgB,YAAY,IAAI,OAAO,CAOtC;AAED,wBAAgB,KAAK,IAAI,IAAI,CAO5B"}
|
package/lib/arraylike-at.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const TypedArray = Reflect.getPrototypeOf(Int8Array);
|
|
2
2
|
export function arrayLikeAt(i) {
|
|
3
3
|
const l = this.length;
|
|
4
4
|
i = Math.trunc(i) || 0;
|
|
@@ -12,19 +12,23 @@ export function isSupported() {
|
|
|
12
12
|
typeof Array.prototype.at === 'function' &&
|
|
13
13
|
'at' in String.prototype &&
|
|
14
14
|
typeof String.prototype.at === 'function' &&
|
|
15
|
-
'
|
|
16
|
-
|
|
15
|
+
typeof TypedArray === 'function' &&
|
|
16
|
+
'at' in TypedArray.prototype &&
|
|
17
|
+
typeof TypedArray.prototype.at === 'function');
|
|
17
18
|
}
|
|
18
19
|
/*#__PURE__*/
|
|
19
20
|
export function isPolyfilled() {
|
|
20
|
-
return Array.prototype.at === arrayLikeAt &&
|
|
21
|
+
return (Array.prototype.at === arrayLikeAt &&
|
|
22
|
+
String.prototype.at === arrayLikeAt &&
|
|
23
|
+
typeof TypedArray === 'function' &&
|
|
24
|
+
TypedArray.prototype.at === arrayLikeAt);
|
|
21
25
|
}
|
|
22
26
|
export function apply() {
|
|
23
27
|
if (!isSupported()) {
|
|
24
28
|
const defn = { value: arrayLikeAt, writable: true, configurable: true };
|
|
25
29
|
Object.defineProperty(Array.prototype, 'at', defn);
|
|
26
30
|
Object.defineProperty(String.prototype, 'at', defn);
|
|
27
|
-
Object.defineProperty(
|
|
31
|
+
Object.defineProperty(TypedArray, 'at', defn);
|
|
28
32
|
}
|
|
29
33
|
}
|
|
30
34
|
//# sourceMappingURL=arraylike-at.js.map
|
package/lib/arraylike-at.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arraylike-at.js","sourceRoot":"","sources":["../src/arraylike-at.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"arraylike-at.js","sourceRoot":"","sources":["../src/arraylike-at.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAgC,CAAA;AAEnF,MAAM,UAAU,WAAW,CAAwB,CAAS;IAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;IACrB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,CAAC,GAAG,CAAC;QAAE,CAAC,IAAI,CAAC,CAAA;IACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAC9C,CAAC;AAED,aAAa;AACb,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,IAAI,IAAI,KAAK,CAAC,SAAS;QACvB,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU;QACxC,IAAI,IAAI,MAAM,CAAC,SAAS;QACxB,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU;QACzC,OAAO,UAAU,KAAK,UAAU;QAChC,IAAI,IAAI,UAAU,CAAC,SAAS;QAC5B,OAAO,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK,UAAU,CAC9C,CAAA;AACH,CAAC;AAED,aAAa;AACb,MAAM,UAAU,YAAY;IAC1B,OAAO,CACL,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,WAAW;QAClC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,WAAW;QACnC,OAAO,UAAU,KAAK,UAAU;QAChC,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK,WAAW,CACxC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,IAAI,CAAC,WAAW,EAAE,EAAE;QAClB,MAAM,IAAI,GAAG,EAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAC,CAAA;QACrE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAClD,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACnD,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;KAC9C;AACH,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
import * as abortSignalAbort from './abortsignal-abort.js';
|
|
2
|
+
import * as abortSignalTimeout from './abortsignal-timeout.js';
|
|
3
|
+
import * as aggregateError from './aggregateerror.js';
|
|
4
|
+
import * as arrayAt from './arraylike-at.js';
|
|
5
|
+
import * as cryptoRandomUUID from './crypto-randomuuid.js';
|
|
6
|
+
import * as elementReplaceChildren from './element-replacechildren.js';
|
|
7
|
+
import * as eventAbortSignal from './event-abortsignal.js';
|
|
8
|
+
import * as objectHasOwn from './object-hasown.js';
|
|
9
|
+
import * as promiseAllSettled from './promise-allsettled.js';
|
|
10
|
+
import * as promiseAny from './promise-any.js';
|
|
11
|
+
import * as requestIdleCallback from './requestidlecallback.js';
|
|
12
|
+
import * as stringReplaceAll from './string-replaceall.js';
|
|
13
|
+
export declare const baseSupport: boolean;
|
|
14
|
+
export declare const polyfills: {
|
|
15
|
+
abortSignalAbort: typeof abortSignalAbort;
|
|
16
|
+
abortSignalTimeout: typeof abortSignalTimeout;
|
|
17
|
+
aggregateError: typeof aggregateError;
|
|
18
|
+
arrayAt: typeof arrayAt;
|
|
19
|
+
cryptoRandomUUID: typeof cryptoRandomUUID;
|
|
20
|
+
elementReplaceChildren: typeof elementReplaceChildren;
|
|
21
|
+
eventAbortSignal: typeof eventAbortSignal;
|
|
22
|
+
objectHasOwn: typeof objectHasOwn;
|
|
23
|
+
promiseAllSettled: typeof promiseAllSettled;
|
|
24
|
+
promiseAny: typeof promiseAny;
|
|
25
|
+
requestIdleCallback: typeof requestIdleCallback;
|
|
26
|
+
stringReplaceAll: typeof stringReplaceAll;
|
|
27
|
+
};
|
|
1
28
|
export declare function isSupported(): boolean;
|
|
2
29
|
export declare function isPolyfilled(): boolean;
|
|
3
30
|
export declare function apply(): void;
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,sBAAsB,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAE1D,eAAO,MAAM,WAAW,SAuClB,CAAA;AAEN,eAAO,MAAM,SAAS;;;;;;;;;;;;;CAarB,CAAA;AAED,wBAAgB,WAAW,YAO1B;AAED,wBAAgB,YAAY,YAI3B;AAED,wBAAgB,KAAK,SAIpB"}
|
package/lib/index.js
CHANGED
|
@@ -9,7 +9,8 @@ import * as objectHasOwn from './object-hasown.js';
|
|
|
9
9
|
import * as promiseAllSettled from './promise-allsettled.js';
|
|
10
10
|
import * as promiseAny from './promise-any.js';
|
|
11
11
|
import * as requestIdleCallback from './requestidlecallback.js';
|
|
12
|
-
|
|
12
|
+
import * as stringReplaceAll from './string-replaceall.js';
|
|
13
|
+
export const baseSupport = typeof Blob === 'function' &&
|
|
13
14
|
typeof PerformanceObserver === 'function' &&
|
|
14
15
|
typeof Intl === 'object' &&
|
|
15
16
|
typeof MutationObserver === 'function' &&
|
|
@@ -39,8 +40,16 @@ const baseSupport = typeof Blob === 'function' &&
|
|
|
39
40
|
// ES2022
|
|
40
41
|
// 'at' in String.prototype && // Polyfilled
|
|
41
42
|
// 'at' in Array.prototype && // Polyfilled
|
|
43
|
+
// 'hasOwn' in Object && // Polyfilled
|
|
44
|
+
// ESNext
|
|
45
|
+
// 'abort' in AbortSignal && // Polyfilled
|
|
46
|
+
// 'timeout' in AbortSignal && // Polyfilled
|
|
47
|
+
// typeof AggregateError === 'function' && // Polyfilled
|
|
48
|
+
// 'randomUUID' in crypto && // Polyfilled
|
|
49
|
+
// 'replaceChildren' in Element.prototype && // Polyfilled
|
|
50
|
+
// 'requestIdleCallback' in window && // Polyfilled
|
|
42
51
|
true;
|
|
43
|
-
const polyfills =
|
|
52
|
+
export const polyfills = {
|
|
44
53
|
abortSignalAbort,
|
|
45
54
|
abortSignalTimeout,
|
|
46
55
|
aggregateError,
|
|
@@ -51,21 +60,22 @@ const polyfills = [
|
|
|
51
60
|
objectHasOwn,
|
|
52
61
|
promiseAllSettled,
|
|
53
62
|
promiseAny,
|
|
54
|
-
requestIdleCallback
|
|
55
|
-
|
|
63
|
+
requestIdleCallback,
|
|
64
|
+
stringReplaceAll
|
|
65
|
+
};
|
|
56
66
|
export function isSupported() {
|
|
57
67
|
return (baseSupport &&
|
|
58
|
-
polyfills.every(polyfill => {
|
|
68
|
+
Object.values(polyfills).every(polyfill => {
|
|
59
69
|
polyfill.isSupported();
|
|
60
70
|
}));
|
|
61
71
|
}
|
|
62
72
|
export function isPolyfilled() {
|
|
63
|
-
return polyfills.every(polyfill => {
|
|
73
|
+
return Object.values(polyfills).every(polyfill => {
|
|
64
74
|
polyfill.isPolyfilled();
|
|
65
75
|
});
|
|
66
76
|
}
|
|
67
77
|
export function apply() {
|
|
68
|
-
for (const polyfill of polyfills) {
|
|
78
|
+
for (const polyfill of Object.values(polyfills)) {
|
|
69
79
|
polyfill.apply();
|
|
70
80
|
}
|
|
71
81
|
}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,sBAAsB,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,kBAAkB,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,sBAAsB,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAA;AAC5D,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAE1D,MAAM,CAAC,MAAM,WAAW,GACtB,OAAO,IAAI,KAAK,UAAU;IAC1B,OAAO,mBAAmB,KAAK,UAAU;IACzC,OAAO,IAAI,KAAK,QAAQ;IACxB,OAAO,gBAAgB,KAAK,UAAU;IACtC,OAAO,eAAe,KAAK,UAAU;IACrC,OAAO,SAAS,KAAK,UAAU;IAC/B,OAAO,oBAAoB,KAAK,UAAU;IAC1C,OAAO,cAAc,KAAK,UAAU;IACpC,OAAO,WAAW,KAAK,UAAU;IACjC,OAAO,WAAW,KAAK,UAAU;IACjC,OAAO,cAAc,KAAK,QAAQ;IAClC,OAAO,kBAAkB,KAAK,UAAU;IACxC,OAAO,eAAe,KAAK,UAAU;IACrC,OAAO,WAAW,KAAK,UAAU;IACjC,OAAO,UAAU,KAAK,QAAQ;IAC9B,SAAS,IAAI,QAAQ,CAAC,SAAS;IAC/B,iBAAiB,IAAI,OAAO,CAAC,SAAS;IACtC,SAAS;IACT,aAAa,IAAI,MAAM;IACvB,SAAS,IAAI,KAAK,CAAC,SAAS;IAC5B,SAAS,IAAI,MAAM,CAAC,SAAS;IAC7B,SAAS;IACT,0CAA0C;IAC1C,UAAU,IAAI,MAAM,CAAC,SAAS;IAC9B,SAAS;IACT,mDAAmD;IACnD,oCAAoC;IACpC,SAAS;IACT,4CAA4C;IAC5C,2CAA2C;IAC3C,sCAAsC;IACtC,SAAS;IACT,0CAA0C;IAC1C,4CAA4C;IAC5C,wDAAwD;IACxD,0CAA0C;IAC1C,0DAA0D;IAC1D,mDAAmD;IACnD,IAAI,CAAA;AAEN,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;IACd,OAAO;IACP,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,YAAY;IACZ,iBAAiB;IACjB,UAAU;IACV,mBAAmB;IACnB,gBAAgB;CACjB,CAAA;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,WAAW;QACX,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACxC,QAAQ,CAAC,WAAW,EAAE,CAAA;QACxB,CAAC,CAAC,CACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QAC/C,QAAQ,CAAC,YAAY,EAAE,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC/C,QAAQ,CAAC,KAAK,EAAE,CAAA;KACjB;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@github/browser-support",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Polyfills and Capable Browser detection",
|
|
5
5
|
"homepage": "https://github.github.io/browser-support",
|
|
6
6
|
"bugs": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"lint": "eslint . --ignore-path .gitignore",
|
|
28
28
|
"pretest": "npm run build",
|
|
29
29
|
"test": "npm run lint && karma start test/karma.config.cjs",
|
|
30
|
-
"
|
|
30
|
+
"prepack": "npm run build",
|
|
31
31
|
"postpublish": "npm publish --ignore-scripts --@github:registry='https://npm.pkg.github.com'"
|
|
32
32
|
},
|
|
33
33
|
"prettier": "@github/prettier-config",
|