@github/browser-support 1.0.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 (150) hide show
  1. package/README.md +51 -0
  2. package/lib/abortsignal-abort.d.ts +10 -0
  3. package/lib/abortsignal-abort.d.ts.map +1 -0
  4. package/lib/abortsignal-abort.js +23 -0
  5. package/lib/abortsignal-abort.js.map +1 -0
  6. package/lib/abortsignal-timeout.d.ts +10 -0
  7. package/lib/abortsignal-timeout.d.ts.map +1 -0
  8. package/lib/abortsignal-timeout.js +23 -0
  9. package/lib/abortsignal-timeout.js.map +1 -0
  10. package/lib/aggregateerror.d.ts +11 -0
  11. package/lib/aggregateerror.d.ts.map +1 -0
  12. package/lib/aggregateerror.js +33 -0
  13. package/lib/aggregateerror.js.map +1 -0
  14. package/lib/arraylike-at.d.ts +5 -0
  15. package/lib/arraylike-at.d.ts.map +1 -0
  16. package/lib/arraylike-at.js +30 -0
  17. package/lib/arraylike-at.js.map +1 -0
  18. package/lib/capable-browser.d.ts +2 -0
  19. package/lib/capable-browser.d.ts.map +1 -0
  20. package/lib/capable-browser.js +23 -0
  21. package/lib/capable-browser.js.map +1 -0
  22. package/lib/capable-without-polyfills.d.ts +2 -0
  23. package/lib/capable-without-polyfills.d.ts.map +1 -0
  24. package/lib/capable-without-polyfills.js +2 -0
  25. package/lib/capable-without-polyfills.js.map +1 -0
  26. package/lib/checks/is-abortcontroller-supported.d.ts +2 -0
  27. package/lib/checks/is-abortcontroller-supported.d.ts.map +1 -0
  28. package/lib/checks/is-abortcontroller-supported.js +4 -0
  29. package/lib/checks/is-abortcontroller-supported.js.map +1 -0
  30. package/lib/checks/is-abortsignal-abort-supported.d.ts +3 -0
  31. package/lib/checks/is-abortsignal-abort-supported.d.ts.map +1 -0
  32. package/lib/checks/is-abortsignal-abort-supported.js +8 -0
  33. package/lib/checks/is-abortsignal-abort-supported.js.map +1 -0
  34. package/lib/checks/is-abortsignal-timeout-supported.d.ts +3 -0
  35. package/lib/checks/is-abortsignal-timeout-supported.d.ts.map +1 -0
  36. package/lib/checks/is-abortsignal-timeout-supported.js +8 -0
  37. package/lib/checks/is-abortsignal-timeout-supported.js.map +1 -0
  38. package/lib/checks/is-crypto-randomuuid-supported.d.ts +3 -0
  39. package/lib/checks/is-crypto-randomuuid-supported.d.ts.map +1 -0
  40. package/lib/checks/is-crypto-randomuuid-supported.js +8 -0
  41. package/lib/checks/is-crypto-randomuuid-supported.js.map +1 -0
  42. package/lib/checks/is-event-abortsignal-supported.d.ts +3 -0
  43. package/lib/checks/is-event-abortsignal-supported.d.ts.map +1 -0
  44. package/lib/checks/is-event-abortsignal-supported.js +29 -0
  45. package/lib/checks/is-event-abortsignal-supported.js.map +1 -0
  46. package/lib/checks/is-hasown-supported.d.ts +3 -0
  47. package/lib/checks/is-hasown-supported.d.ts.map +1 -0
  48. package/lib/checks/is-hasown-supported.js +8 -0
  49. package/lib/checks/is-hasown-supported.js.map +1 -0
  50. package/lib/checks/is-native-function.d.ts +2 -0
  51. package/lib/checks/is-native-function.d.ts.map +1 -0
  52. package/lib/checks/is-native-function.js +7 -0
  53. package/lib/checks/is-native-function.js.map +1 -0
  54. package/lib/checks/is-object-hasown-supported.d.ts +3 -0
  55. package/lib/checks/is-object-hasown-supported.d.ts.map +1 -0
  56. package/lib/checks/is-object-hasown-supported.js +8 -0
  57. package/lib/checks/is-object-hasown-supported.js.map +1 -0
  58. package/lib/checks/is-requestidlecallback-supported.d.ts +3 -0
  59. package/lib/checks/is-requestidlecallback-supported.d.ts.map +1 -0
  60. package/lib/checks/is-requestidlecallback-supported.js +8 -0
  61. package/lib/checks/is-requestidlecallback-supported.js.map +1 -0
  62. package/lib/checks/is-supported-without-polyfills.d.ts +2 -0
  63. package/lib/checks/is-supported-without-polyfills.d.ts.map +1 -0
  64. package/lib/checks/is-supported-without-polyfills.js +14 -0
  65. package/lib/checks/is-supported-without-polyfills.js.map +1 -0
  66. package/lib/checks/is-supported.d.ts +3 -0
  67. package/lib/checks/is-supported.d.ts.map +1 -0
  68. package/lib/checks/is-supported.js +38 -0
  69. package/lib/checks/is-supported.js.map +1 -0
  70. package/lib/crypto-randomuuid.d.ts +10 -0
  71. package/lib/crypto-randomuuid.d.ts.map +1 -0
  72. package/lib/crypto-randomuuid.js +25 -0
  73. package/lib/crypto-randomuuid.js.map +1 -0
  74. package/lib/event-abortsignal.d.ts +10 -0
  75. package/lib/event-abortsignal.d.ts.map +1 -0
  76. package/lib/event-abortsignal.js +37 -0
  77. package/lib/event-abortsignal.js.map +1 -0
  78. package/lib/index.d.ts +4 -0
  79. package/lib/index.d.ts.map +1 -0
  80. package/lib/index.js +75 -0
  81. package/lib/index.js.map +1 -0
  82. package/lib/object-hasown.d.ts +10 -0
  83. package/lib/object-hasown.d.ts.map +1 -0
  84. package/lib/object-hasown.js +25 -0
  85. package/lib/object-hasown.js.map +1 -0
  86. package/lib/polyfills/abortsignal-abort.d.ts +7 -0
  87. package/lib/polyfills/abortsignal-abort.d.ts.map +1 -0
  88. package/lib/polyfills/abortsignal-abort.js +6 -0
  89. package/lib/polyfills/abortsignal-abort.js.map +1 -0
  90. package/lib/polyfills/abortsignal-timeout.d.ts +7 -0
  91. package/lib/polyfills/abortsignal-timeout.d.ts.map +1 -0
  92. package/lib/polyfills/abortsignal-timeout.js +6 -0
  93. package/lib/polyfills/abortsignal-timeout.js.map +1 -0
  94. package/lib/polyfills/crypto-uuid.d.ts +7 -0
  95. package/lib/polyfills/crypto-uuid.d.ts.map +1 -0
  96. package/lib/polyfills/crypto-uuid.js +13 -0
  97. package/lib/polyfills/crypto-uuid.js.map +1 -0
  98. package/lib/polyfills/event-abortsignal.d.ts +12 -0
  99. package/lib/polyfills/event-abortsignal.d.ts.map +1 -0
  100. package/lib/polyfills/event-abortsignal.js +11 -0
  101. package/lib/polyfills/event-abortsignal.js.map +1 -0
  102. package/lib/polyfills/object-hasown.d.ts +7 -0
  103. package/lib/polyfills/object-hasown.d.ts.map +1 -0
  104. package/lib/polyfills/object-hasown.js +8 -0
  105. package/lib/polyfills/object-hasown.js.map +1 -0
  106. package/lib/polyfills/requestidlecallback.d.ts +3 -0
  107. package/lib/polyfills/requestidlecallback.d.ts.map +1 -0
  108. package/lib/polyfills/requestidlecallback.js +32 -0
  109. package/lib/polyfills/requestidlecallback.js.map +1 -0
  110. package/lib/promise-any.d.ts +12 -0
  111. package/lib/promise-any.d.ts.map +1 -0
  112. package/lib/promise-any.js +37 -0
  113. package/lib/promise-any.js.map +1 -0
  114. package/lib/register-polyfills/abortsignal-abort.d.ts +2 -0
  115. package/lib/register-polyfills/abortsignal-abort.d.ts.map +1 -0
  116. package/lib/register-polyfills/abortsignal-abort.js +6 -0
  117. package/lib/register-polyfills/abortsignal-abort.js.map +1 -0
  118. package/lib/register-polyfills/abortsignal-timeout.d.ts +2 -0
  119. package/lib/register-polyfills/abortsignal-timeout.d.ts.map +1 -0
  120. package/lib/register-polyfills/abortsignal-timeout.js +6 -0
  121. package/lib/register-polyfills/abortsignal-timeout.js.map +1 -0
  122. package/lib/register-polyfills/crypto-uuid.d.ts +2 -0
  123. package/lib/register-polyfills/crypto-uuid.d.ts.map +1 -0
  124. package/lib/register-polyfills/crypto-uuid.js +6 -0
  125. package/lib/register-polyfills/crypto-uuid.js.map +1 -0
  126. package/lib/register-polyfills/event-abortsignal.d.ts +2 -0
  127. package/lib/register-polyfills/event-abortsignal.d.ts.map +1 -0
  128. package/lib/register-polyfills/event-abortsignal.js +7 -0
  129. package/lib/register-polyfills/event-abortsignal.js.map +1 -0
  130. package/lib/register-polyfills/index.d.ts +7 -0
  131. package/lib/register-polyfills/index.d.ts.map +1 -0
  132. package/lib/register-polyfills/index.js +7 -0
  133. package/lib/register-polyfills/index.js.map +1 -0
  134. package/lib/register-polyfills/object-hasown.d.ts +2 -0
  135. package/lib/register-polyfills/object-hasown.d.ts.map +1 -0
  136. package/lib/register-polyfills/object-hasown.js +10 -0
  137. package/lib/register-polyfills/object-hasown.js.map +1 -0
  138. package/lib/register-polyfills/requestidlecallback.d.ts +2 -0
  139. package/lib/register-polyfills/requestidlecallback.d.ts.map +1 -0
  140. package/lib/register-polyfills/requestidlecallback.js +6 -0
  141. package/lib/register-polyfills/requestidlecallback.js.map +1 -0
  142. package/lib/register.d.ts +2 -0
  143. package/lib/register.d.ts.map +1 -0
  144. package/lib/register.js +2 -0
  145. package/lib/register.js.map +1 -0
  146. package/lib/requestidlecallback.d.ts +6 -0
  147. package/lib/requestidlecallback.d.ts.map +1 -0
  148. package/lib/requestidlecallback.js +41 -0
  149. package/lib/requestidlecallback.js.map +1 -0
  150. package/package.json +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestidlecallback.d.ts","sourceRoot":"","sources":["../../src/register-polyfills/requestidlecallback.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import {cancelIdleCallback, requestIdleCallback} from 'src/polyfills/requestidlecallback'
2
+ if (!requestIdleCallback) {
3
+ globalThis.requestIdleCallback = requestIdleCallback
4
+ globalThis.cancelIdleCallback = cancelIdleCallback
5
+ }
6
+ //# sourceMappingURL=requestidlecallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestidlecallback.js","sourceRoot":"","sources":["../../src/register-polyfills/requestidlecallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE5F,IAAI,CAAC,mBAAmB,EAAE;IACxB,UAAU,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;IACpD,UAAU,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;CACnD"}
@@ -0,0 +1,2 @@
1
+ export declare function apply(): void
2
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAMA,wBAAgB,KAAK,SAEpB"}
@@ -0,0 +1,2 @@
1
+ export function apply() {}
2
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,KAAK;AAErB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function requestIdleCallback(callback: IdleRequestCallback, options?: IdleRequestOptions): number;
2
+ export declare function cancelIdleCallback(id: number): void;
3
+ export declare function isSupported(): boolean;
4
+ export declare function isPolyfilled(): boolean;
5
+ export declare function apply(): void;
6
+ //# sourceMappingURL=requestidlecallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestidlecallback.d.ts","sourceRoot":"","sources":["../src/requestidlecallback.ts"],"names":[],"mappings":"AAOA,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAoB3G;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEnD;AAGD,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED,wBAAgB,KAAK,IAAI,IAAI,CAK5B"}
@@ -0,0 +1,41 @@
1
+ // https://w3c.github.io/requestidlecallback/#why50
2
+ // "Capping idle deadlines to 50ms means that even if the user input occurs
3
+ // immediately after the idle task has begun, the user agent still has a
4
+ // remaining 50ms in which to respond to the user input without producing user
5
+ // perceptible lag"
6
+ const maxDeadline = 50;
7
+ export function requestIdleCallback(callback, options = {}) {
8
+ const start = Date.now();
9
+ const timeout = options.timeout || 0;
10
+ const deadline = Object.defineProperty({
11
+ didTimeout: false,
12
+ timeRemaining() {
13
+ return Math.max(0, maxDeadline - (Date.now() - start));
14
+ }
15
+ }, 'didTimeout', {
16
+ get() {
17
+ return Date.now() - start > timeout;
18
+ }
19
+ });
20
+ return window.setTimeout(() => {
21
+ callback(deadline);
22
+ });
23
+ }
24
+ export function cancelIdleCallback(id) {
25
+ clearTimeout(id);
26
+ }
27
+ /*#__PURE__*/
28
+ export function isSupported() {
29
+ return typeof requestIdleCallback === 'function';
30
+ }
31
+ /*#__PURE__*/
32
+ export function isPolyfilled() {
33
+ return globalThis.requestIdleCallback === requestIdleCallback && globalThis.cancelIdleCallback === cancelIdleCallback;
34
+ }
35
+ export function apply() {
36
+ if (!isSupported()) {
37
+ globalThis.requestIdleCallback = requestIdleCallback;
38
+ globalThis.cancelIdleCallback = cancelIdleCallback;
39
+ }
40
+ }
41
+ //# sourceMappingURL=requestidlecallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestidlecallback.js","sourceRoot":"","sources":["../src/requestidlecallback.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,2EAA2E;AAC3E,wEAAwE;AACxE,8EAA8E;AAC9E,mBAAmB;AACnB,MAAM,WAAW,GAAG,EAAE,CAAA;AAEtB,MAAM,UAAU,mBAAmB,CAAC,QAA6B,EAAE,UAA8B,EAAE;IACjG,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACxB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAiB,MAAM,CAAC,cAAc,CAClD;QACE,UAAU,EAAE,KAAK;QACjB,aAAa;YACX,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;QACxD,CAAC;KACF,EACD,YAAY,EACZ;QACE,GAAG;YACD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,OAAO,CAAA;QACrC,CAAC;KACF,CACF,CAAA;IACD,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;QAC5B,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,YAAY,CAAC,EAAE,CAAC,CAAA;AAClB,CAAC;AAED,aAAa;AACb,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,mBAAmB,KAAK,UAAU,CAAA;AAClD,CAAC;AAED,aAAa;AACb,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC,mBAAmB,KAAK,mBAAmB,IAAI,UAAU,CAAC,kBAAkB,KAAK,kBAAkB,CAAA;AACvH,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,IAAI,CAAC,WAAW,EAAE,EAAE;QAClB,UAAU,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QACpD,UAAU,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;KACnD;AACH,CAAC"}
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "@github/browser-support",
3
+ "version": "1.0.0",
4
+ "description": "Polyfills and Capable Browser detection",
5
+ "homepage": "https://github.github.io/browser-support",
6
+ "bugs": {
7
+ "url": "https://github.com/github/browser-support/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/github/browser-support.git"
12
+ },
13
+ "license": "MIT",
14
+ "author": "GitHub Inc.",
15
+ "contributors": [
16
+ "Keith Cirkel (https://keithcirkel.co.uk/)",
17
+ "Kristján Oddsson <koddsson@gmail.com>"
18
+ ],
19
+ "type": "module",
20
+ "main": "lib/index.js",
21
+ "module": "lib/index.js",
22
+ "files": [
23
+ "lib"
24
+ ],
25
+ "scripts": {
26
+ "build": "tsc --build",
27
+ "lint": "eslint . --ignore-path .gitignore",
28
+ "pretest": "npm run build",
29
+ "test": "npm run lint && karma start test/karma.config.cjs",
30
+ "postpublish": "npm publish --ignore-scripts --@github:registry='https://npm.pkg.github.com'"
31
+ },
32
+ "prettier": "@github/prettier-config",
33
+ "devDependencies": {
34
+ "@github/prettier-config": "^0.0.4",
35
+ "@typescript-eslint/eslint-plugin": "^5.11.0",
36
+ "@typescript-eslint/parser": "^5.11.0",
37
+ "chai": "^4.3.0",
38
+ "chromium": "^3.0.3",
39
+ "eslint": "^8.8.0",
40
+ "eslint-plugin-github": "^4.1.1",
41
+ "karma": "^6.1.1",
42
+ "karma-chai": "^0.1.0",
43
+ "karma-chai-spies": "^0.1.4",
44
+ "karma-chrome-launcher": "^3.1.0",
45
+ "karma-mocha": "^2.0.1",
46
+ "karma-mocha-reporter": "^2.2.5",
47
+ "mocha": "^9.2.0",
48
+ "tslib": "^2.1.0",
49
+ "typescript": "^4.2.2"
50
+ }
51
+ }