aboutsummaryrefslogtreecommitdiff
path: root/src/react-refresh.js
diff options
context:
space:
mode:
authorGravatar Colin McDonnell <colinmcd94@gmail.com> 2022-11-09 15:40:40 -0800
committerGravatar GitHub <noreply@github.com> 2022-11-09 15:40:40 -0800
commitf7f1b604443c030afe29d1059b90f72c69afe081 (patch)
tree8f2397447b2a84dab02850007264b72cc565f5d6 /src/react-refresh.js
parentda257336b0b70df8c31da647496899cf70670000 (diff)
downloadbun-f7f1b604443c030afe29d1059b90f72c69afe081.tar.gz
bun-f7f1b604443c030afe29d1059b90f72c69afe081.tar.zst
bun-f7f1b604443c030afe29d1059b90f72c69afe081.zip
Add bun-types, add typechecking, add `child_process` types (#1475)
* Add bun-types to packages * Improve typing * Fix types in tests * Fix dts tests * Run formatter * Fix all type errors * Add strict mode, fix type errors * Add ffi changes * Move workflows to root * Add workflows * Remove labeler * Add child_process types * Fix synthetic defaults issue * Remove docs * Move scripts * Run prettier * Include examples in typechecking * captureStackTrace types * moved captureStackTrace types to globals * Address reviews Co-authored-by: Colin McDonnell <colinmcd@alum.mit.edu> Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
Diffstat (limited to 'src/react-refresh.js')
-rw-r--r--src/react-refresh.js343
1 files changed, 341 insertions, 2 deletions
diff --git a/src/react-refresh.js b/src/react-refresh.js
index 65c44002f..d3453d591 100644
--- a/src/react-refresh.js
+++ b/src/react-refresh.js
@@ -4,6 +4,345 @@
// - inlined REACT_MEMO_TYPE & REACT_FORWARD_REF_TYPE
// - minified
-const F="for"in Symbol?Symbol.for("react.forward_ref"):60112,C="for"in Symbol?Symbol.for("react.memo"):60115,O=typeof WeakMap=="function"?WeakMap:Map,T=new Map,k=new O,m=new O,M=new O;let g=[];const b=new Map,w=new Map,c=new Set,p=new Set,R=typeof WeakMap=="function"?new WeakMap:null;let S=!1;function _(e){if(e.fullKey!==null)return e.fullKey;let t=e.ownKey,n;try{n=e.getCustomHooks()}catch{return e.forceReset=!0,e.fullKey=t,t}for(let o=0;o<n.length;o++){const l=n[o];if(typeof l!="function")return e.forceReset=!0,e.fullKey=t,t;const s=m.get(l);if(s===void 0)continue;const r=_(s);s.forceReset&&(e.forceReset=!0),t+=`
+const F = "for" in Symbol ? Symbol.for("react.forward_ref") : 60112,
+ C = "for" in Symbol ? Symbol.for("react.memo") : 60115,
+ O = typeof WeakMap == "function" ? WeakMap : Map,
+ T = new Map(),
+ k = new O(),
+ m = new O(),
+ M = new O();
+let g = [];
+const b = new Map(),
+ w = new Map(),
+ c = new Set(),
+ p = new Set(),
+ R = typeof WeakMap == "function" ? new WeakMap() : null;
+let S = !1;
+function _(e) {
+ if (e.fullKey !== null) return e.fullKey;
+ let t = e.ownKey,
+ n;
+ try {
+ n = e.getCustomHooks();
+ } catch {
+ return (e.forceReset = !0), (e.fullKey = t), t;
+ }
+ for (let o = 0; o < n.length; o++) {
+ const l = n[o];
+ if (typeof l != "function") return (e.forceReset = !0), (e.fullKey = t), t;
+ const s = m.get(l);
+ if (s === void 0) continue;
+ const r = _(s);
+ s.forceReset && (e.forceReset = !0),
+ (t +=
+ `
---
-`+r}return e.fullKey=t,t}function D(e,t){const n=m.get(e),o=m.get(t);return n===void 0&&o===void 0?!0:!(n===void 0||o===void 0||_(n)!==_(o)||o.forceReset)}function B(e){return e.prototype&&e.prototype.isReactComponent}function v(e,t){return B(e)||B(t)?!1:!!D(e,t)}function I(e){return M.get(e)}function P(e){const t=new Map;return e.forEach((n,o)=>{t.set(o,n)}),t}function L(e){const t=new Set;return e.forEach(n=>{t.add(n)}),t}function H(e,t){try{return e[t]}catch{return}}function j(){if(g.length===0||S)return null;S=!0;try{const e=new Set,t=new Set,n=g;g=[],n.forEach(f=>{let[i,u]=f;const a=i.current;M.set(a,i),M.set(u,i),i.current=u,v(a,u)?t.add(i):e.add(i)});const o={updatedFamilies:t,staleFamilies:e};b.forEach(f=>{f.setRefreshHandler(I)});let l=!1,s=null;const r=L(p),h=L(c),d=P(w);if(r.forEach(f=>{const i=d.get(f);if(i===void 0)throw new Error("Could not find helpers for a root. This is a bug in React Refresh.");if(!p.has(f),R===null||!R.has(f))return;const u=R.get(f);try{i.scheduleRoot(f,u)}catch(a){l||(l=!0,s=a)}}),h.forEach(f=>{const i=d.get(f);if(i===void 0)throw new Error("Could not find helpers for a root. This is a bug in React Refresh.");!c.has(f);try{i.scheduleRefresh(f,o)}catch(u){l||(l=!0,s=u)}}),l)throw s;return o}finally{S=!1}}function K(e,t){if(e===null||typeof e!="function"&&typeof e!="object"||k.has(e))return;let n=T.get(t);if(n===void 0?(n={current:e},T.set(t,n)):g.push([n,e]),k.set(e,n),typeof e=="object"&&e!==null)switch(H(e,"$$typeof")){case F:K(e.render,t+"$render");break;case C:K(e.type,t+"$type");break}}function E(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=arguments.length>3?arguments[3]:void 0;if(m.has(e)||m.set(e,{forceReset:n,ownKey:t,fullKey:null,getCustomHooks:o||(()=>[])}),typeof e=="object"&&e!==null)switch(H(e,"$$typeof")){case F:E(e.render,t,n,o);break;case C:E(e.type,t,n,o);break}}function A(e){const t=m.get(e);t!==void 0&&_(t)}function $(e){return T.get(e)}function W(e){return k.get(e)}function x(e){const t=new Set;return c.forEach(n=>{const o=w.get(n);if(o===void 0)throw new Error("Could not find helpers for a root. This is a bug in React Refresh.");o.findHostInstancesForRefresh(n,e).forEach(s=>{t.add(s)})}),t}function z(e){let t=e.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t===void 0){let s=0;e.__REACT_DEVTOOLS_GLOBAL_HOOK__=t={renderers:new Map,supportsFiber:!0,inject(r){return s++},onScheduleFiberRoot(r,h,d){},onCommitFiberRoot(r,h,d,f){},onCommitFiberUnmount(){}}}if(t.isDisabled){console.warn("Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). Fast Refresh is not compatible with this shim and will be disabled.");return}const n=t.inject;t.inject=function(s){const r=n.apply(this,arguments);return typeof s.scheduleRefresh=="function"&&typeof s.setRefreshHandler=="function"&&b.set(r,s),r},t.renderers.forEach((s,r)=>{typeof s.scheduleRefresh=="function"&&typeof s.setRefreshHandler=="function"&&b.set(r,s)});const o=t.onCommitFiberRoot,l=t.onScheduleFiberRoot||(()=>{});t.onScheduleFiberRoot=function(s,r,h){return S||(p.delete(r),R!==null&&R.set(r,h)),l.apply(this,arguments)},t.onCommitFiberRoot=function(s,r,h,d){const f=b.get(s);if(f!==void 0){w.set(r,f);const i=r.current,u=i.alternate;if(u!==null){const a=u.memoizedState!=null&&u.memoizedState.element!=null&&c.has(r),y=i.memoizedState!=null&&i.memoizedState.element!=null;!a&&y?(c.add(r),p.delete(r)):a&&y||(a&&!y?(c.delete(r),d?p.add(r):w.delete(r)):!a&&!y&&d&&p.add(r))}else c.add(r)}return o.apply(this,arguments)}}function G(){return!1}function N(){return c.size}function U(){let e,t,n=!1;return function(o,l,s,r){if(typeof l=="string")return e||(e=o,t=typeof r=="function"),o!=null&&(typeof o=="function"||typeof o=="object")&&E(o,l,s,r),o;!n&&t&&(n=!0,A(e))}}function V(e){switch(typeof e){case"function":{if(e.prototype!=null){if(e.prototype.isReactComponent)return!0;const n=Object.getOwnPropertyNames(e.prototype);if(n.length>1||n[0]!=="constructor"||e.prototype.__proto__!==Object.prototype)return!1}const t=e.name||e.displayName;return typeof t=="string"&&/^[A-Z]/.test(t)}case"object":{if(e!=null)switch(H(e,"$$typeof")){case F:case C:return!0;default:return!1}return!1}default:return!1}}export{N as _getMountedRootCount,A as collectCustomHooksForSignature,U as createSignatureFunctionForTransform,x as findAffectedHostInstances,$ as getFamilyByID,W as getFamilyByType,G as hasUnrecoverableErrors,z as injectIntoGlobalHook,V as isLikelyComponentType,j as performReactRefresh,K as register,E as setSignature};
+` + r);
+ }
+ return (e.fullKey = t), t;
+}
+function D(e, t) {
+ const n = m.get(e),
+ o = m.get(t);
+ return n === void 0 && o === void 0
+ ? !0
+ : !(n === void 0 || o === void 0 || _(n) !== _(o) || o.forceReset);
+}
+function B(e) {
+ return e.prototype && e.prototype.isReactComponent;
+}
+function v(e, t) {
+ return B(e) || B(t) ? !1 : !!D(e, t);
+}
+function I(e) {
+ return M.get(e);
+}
+function P(e) {
+ const t = new Map();
+ return (
+ e.forEach((n, o) => {
+ t.set(o, n);
+ }),
+ t
+ );
+}
+function L(e) {
+ const t = new Set();
+ return (
+ e.forEach((n) => {
+ t.add(n);
+ }),
+ t
+ );
+}
+function H(e, t) {
+ try {
+ return e[t];
+ } catch {
+ return;
+ }
+}
+function j() {
+ if (g.length === 0 || S) return null;
+ S = !0;
+ try {
+ const e = new Set(),
+ t = new Set(),
+ n = g;
+ (g = []),
+ n.forEach((f) => {
+ let [i, u] = f;
+ const a = i.current;
+ M.set(a, i),
+ M.set(u, i),
+ (i.current = u),
+ v(a, u) ? t.add(i) : e.add(i);
+ });
+ const o = { updatedFamilies: t, staleFamilies: e };
+ b.forEach((f) => {
+ f.setRefreshHandler(I);
+ });
+ let l = !1,
+ s = null;
+ const r = L(p),
+ h = L(c),
+ d = P(w);
+ if (
+ (r.forEach((f) => {
+ const i = d.get(f);
+ if (i === void 0)
+ throw new Error(
+ "Could not find helpers for a root. This is a bug in React Refresh.",
+ );
+ if ((!p.has(f), R === null || !R.has(f))) return;
+ const u = R.get(f);
+ try {
+ i.scheduleRoot(f, u);
+ } catch (a) {
+ l || ((l = !0), (s = a));
+ }
+ }),
+ h.forEach((f) => {
+ const i = d.get(f);
+ if (i === void 0)
+ throw new Error(
+ "Could not find helpers for a root. This is a bug in React Refresh.",
+ );
+ !c.has(f);
+ try {
+ i.scheduleRefresh(f, o);
+ } catch (u) {
+ l || ((l = !0), (s = u));
+ }
+ }),
+ l)
+ )
+ throw s;
+ return o;
+ } finally {
+ S = !1;
+ }
+}
+function K(e, t) {
+ if (
+ e === null ||
+ (typeof e != "function" && typeof e != "object") ||
+ k.has(e)
+ )
+ return;
+ let n = T.get(t);
+ if (
+ (n === void 0 ? ((n = { current: e }), T.set(t, n)) : g.push([n, e]),
+ k.set(e, n),
+ typeof e == "object" && e !== null)
+ )
+ switch (H(e, "$$typeof")) {
+ case F:
+ K(e.render, t + "$render");
+ break;
+ case C:
+ K(e.type, t + "$type");
+ break;
+ }
+}
+function E(e, t) {
+ let n = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : !1,
+ o = arguments.length > 3 ? arguments[3] : void 0;
+ if (
+ (m.has(e) ||
+ m.set(e, {
+ forceReset: n,
+ ownKey: t,
+ fullKey: null,
+ getCustomHooks: o || (() => []),
+ }),
+ typeof e == "object" && e !== null)
+ )
+ switch (H(e, "$$typeof")) {
+ case F:
+ E(e.render, t, n, o);
+ break;
+ case C:
+ E(e.type, t, n, o);
+ break;
+ }
+}
+function A(e) {
+ const t = m.get(e);
+ t !== void 0 && _(t);
+}
+function $(e) {
+ return T.get(e);
+}
+function W(e) {
+ return k.get(e);
+}
+function x(e) {
+ const t = new Set();
+ return (
+ c.forEach((n) => {
+ const o = w.get(n);
+ if (o === void 0)
+ throw new Error(
+ "Could not find helpers for a root. This is a bug in React Refresh.",
+ );
+ o.findHostInstancesForRefresh(n, e).forEach((s) => {
+ t.add(s);
+ });
+ }),
+ t
+ );
+}
+function z(e) {
+ let t = e.__REACT_DEVTOOLS_GLOBAL_HOOK__;
+ if (t === void 0) {
+ let s = 0;
+ e.__REACT_DEVTOOLS_GLOBAL_HOOK__ = t = {
+ renderers: new Map(),
+ supportsFiber: !0,
+ inject(r) {
+ return s++;
+ },
+ onScheduleFiberRoot(r, h, d) {},
+ onCommitFiberRoot(r, h, d, f) {},
+ onCommitFiberUnmount() {},
+ };
+ }
+ if (t.isDisabled) {
+ console.warn(
+ "Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). Fast Refresh is not compatible with this shim and will be disabled.",
+ );
+ return;
+ }
+ const n = t.inject;
+ (t.inject = function (s) {
+ const r = n.apply(this, arguments);
+ return (
+ typeof s.scheduleRefresh == "function" &&
+ typeof s.setRefreshHandler == "function" &&
+ b.set(r, s),
+ r
+ );
+ }),
+ t.renderers.forEach((s, r) => {
+ typeof s.scheduleRefresh == "function" &&
+ typeof s.setRefreshHandler == "function" &&
+ b.set(r, s);
+ });
+ const o = t.onCommitFiberRoot,
+ l = t.onScheduleFiberRoot || (() => {});
+ (t.onScheduleFiberRoot = function (s, r, h) {
+ return (
+ S || (p.delete(r), R !== null && R.set(r, h)), l.apply(this, arguments)
+ );
+ }),
+ (t.onCommitFiberRoot = function (s, r, h, d) {
+ const f = b.get(s);
+ if (f !== void 0) {
+ w.set(r, f);
+ const i = r.current,
+ u = i.alternate;
+ if (u !== null) {
+ const a =
+ u.memoizedState != null &&
+ u.memoizedState.element != null &&
+ c.has(r),
+ y = i.memoizedState != null && i.memoizedState.element != null;
+ !a && y
+ ? (c.add(r), p.delete(r))
+ : (a && y) ||
+ (a && !y
+ ? (c.delete(r), d ? p.add(r) : w.delete(r))
+ : !a && !y && d && p.add(r));
+ } else c.add(r);
+ }
+ return o.apply(this, arguments);
+ });
+}
+function G() {
+ return !1;
+}
+function N() {
+ return c.size;
+}
+function U() {
+ let e,
+ t,
+ n = !1;
+ return function (o, l, s, r) {
+ if (typeof l == "string")
+ return (
+ e || ((e = o), (t = typeof r == "function")),
+ o != null &&
+ (typeof o == "function" || typeof o == "object") &&
+ E(o, l, s, r),
+ o
+ );
+ !n && t && ((n = !0), A(e));
+ };
+}
+function V(e) {
+ switch (typeof e) {
+ case "function": {
+ if (e.prototype != null) {
+ if (e.prototype.isReactComponent) return !0;
+ const n = Object.getOwnPropertyNames(e.prototype);
+ if (
+ n.length > 1 ||
+ n[0] !== "constructor" ||
+ e.prototype.__proto__ !== Object.prototype
+ )
+ return !1;
+ }
+ const t = e.name || e.displayName;
+ return typeof t == "string" && /^[A-Z]/.test(t);
+ }
+ case "object": {
+ if (e != null)
+ switch (H(e, "$$typeof")) {
+ case F:
+ case C:
+ return !0;
+ default:
+ return !1;
+ }
+ return !1;
+ }
+ default:
+ return !1;
+ }
+}
+export {
+ N as _getMountedRootCount,
+ A as collectCustomHooksForSignature,
+ U as createSignatureFunctionForTransform,
+ x as findAffectedHostInstances,
+ $ as getFamilyByID,
+ W as getFamilyByType,
+ G as hasUnrecoverableErrors,
+ z as injectIntoGlobalHook,
+ V as isLikelyComponentType,
+ j as performReactRefresh,
+ K as register,
+ E as setSignature,
+};