Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@tanstack/react-query-devtools

Package Overview
Dependencies
Maintainers
2
Versions
559
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tanstack/react-query-devtools - npm Package Compare versions

Comparing version
5.0.0-alpha.23
to
5.0.0-alpha.24
+1
build/lib/__tests__/devtools.test.d.ts.map
{"version":3,"file":"devtools.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/devtools.test.tsx"],"names":[],"mappings":"AAEA,OAAO,2BAA2B,CAAA"}
{"version":3,"file":"Explorer.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/Explorer.test.tsx"],"names":[],"mappings":""}
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,EACL,WAAW,EAEX,UAAU,EACX,MAAM,uBAAuB,CAAA;AAE9B,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,EAAE,EAAE,KAAK,CAAC,YAAY,EACtB,eAAe,GAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAM,EACnE,aAAa,CAAC,EAAE,aAAa,GAC5B,UAAU,CAAC,OAAO,MAAM,CAAC,CAkB3B;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpD;AAED;;;;;;;GAOG;AAEH,aAAK,eAAe,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,KAAK,OAAO,CAAA;AAE5E,eAAO,MAAM,gBAAgB,gBACb,MAAM,KAAG,eAatB,CAAA;AAEH,UAAU,yBAAyB;IACjC,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;CACvB;AAED,eAAO,MAAM,iBAAiB,QAAO,yBAWpC,CAAA"}
{"version":3,"file":"ActiveQuery.d.ts","sourceRoot":"","sources":["../../../src/CachePanel/ActiveQuery.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAWpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAMjD;;;;;GAKG;AACH,QAAA,MAAM,WAAW;;oBAMH,UAAU;yBACL,MAAM;qBACV,WAAW;oBACZ,iBAAiB,EAAE;;;CA8VhC,CAAA;AAID,eAAe,WAAW,CAAA"}
{"version":3,"file":"CachePanel.d.ts","sourceRoot":"","sources":["../../../src/CachePanel/CachePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AASxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAKjD,UAAU,oBAAoB;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,KAAK,IAAI,CAAA;IACtE;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf;;OAEG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAA;IACvC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAA;CACjC;AAED,eAAO,MAAM,uBAAuB,6FA4WlC,CAAA;AAIF,eAAe,uBAAuB,CAAA"}
{"version":3,"file":"QueryStatusCount.d.ts","sourceRoot":"","sources":["../../../../src/CachePanel/Header/QueryStatusCount.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAOvD;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,UAAU,GACX,EAAE;IACD,UAAU,EAAE,UAAU,CAAA;CACvB,eA6EA"}
{"version":3,"file":"QueryRow.d.ts","sourceRoot":"","sources":["../../../src/CachePanel/QueryRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,IAAI,YAAY,EACzB,MAAM,uBAAuB,CAAA;AAQ9B,UAAU,aAAa;IACrB,QAAQ,EAAE,YAAY,CAAA;IACtB,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;CACvB;AAED;;GAEG;AACH,QAAA,MAAM,QAAQ,6FAMT,aAAa,wBA4FjB,CAAA;AAID,eAAe,QAAQ,CAAA"}
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../src/devtools.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAUxD,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAK3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAGhD,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAE5E,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;IAClD;;OAEG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IAC3D;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAA;IAC5D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,IAAI,CAAA;IACpB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IAC/B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAA;CACjC;AAED,wBAAgB,kBAAkB,CAAC,EACjC,aAAa,EACb,UAAe,EACf,gBAAqB,EACrB,iBAAsB,EACtB,QAAwB,EACxB,gBAAgB,EAAE,SAAmB,EACrC,WAAW,EACX,UAAU,EACV,aAAa,EAAE,oBAA+B,EAC9C,UAAe,GAChB,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAsQ7C"}
{"version":3,"file":"Explorer.d.ts","sourceRoot":"","sources":["../../src/Explorer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,eAAO,MAAM,KAAK,6GAMhB,CAAA;AAEF,eAAO,MAAM,KAAK,+GAEhB,CAAA;AAEF,eAAO,MAAM,WAAW,wOAGtB,CAAA;AAEF,eAAO,MAAM,YAAY,wOAQvB,CAAA;AAIF,eAAO,MAAM,UAAU;WAAwB,OAAO;iBA6CrD,CAAA;AAED,eAAO,MAAM,KAAK,+GAEf,CAAA;AAEH,eAAO,MAAM,UAAU,6GAIrB,CAAA;AAEF,eAAO,MAAM,IAAI,+GAGf,CAAA;AAEF,aAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,OAAO,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CAC5B,CAAA;AAED,eAAO,MAAM,QAAQ,wBAA8B,aAAa,gBAW/D,CAAA;AAwED,aAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,aAAK,aAAa,GAAG;IACnB,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,GAAG,CAAC,OAAO,CAAA;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,SAAS,EAAE,CAAA;IACvB,aAAa,EAAE,SAAS,EAAE,EAAE,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,CAS7D;AAED,aAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC,OAAO,CAAA;AAErD,eAAO,MAAM,eAAe,EAAE,QA+D7B,CAAA;AAED,aAAK,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG;IAC5C,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,eAAe,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAYD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,KAAK,EACL,eAAe,EACf,QAA0B,EAC1B,QAAc,EACd,QAAgB,EAChB,GAAG,IAAI,EACR,EAAE,aAAa,eAwEf"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AAEtC,eAAO,MAAM,kBAAkB,EAAE,CAAC,OAAO,QAAQ,CAAC,CAAC,oBAAoB,CAKtC,CAAA;AAEjC,eAAO,MAAM,uBAAuB,EAAE,CAAC,OAAO,QAAQ,CAAC,CAAC,yBAAyB,CAK3C,CAAA"}
{"version":3,"file":"Logo.d.ts","sourceRoot":"","sources":["../../src/Logo.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,GAAG,eA6BtC"}
{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../../src/noop.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,SAEjC;AAED,wBAAgB,uBAAuB,SAEtC"}
{"version":3,"file":"screenreader.d.ts","sourceRoot":"","sources":["../../src/screenreader.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,eAa9D"}
{"version":3,"file":"styledComponents.d.ts","sourceRoot":"","sources":["../../src/styledComponents.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,2IAkBjB,CAAA;AAID,eAAO,MAAM,gBAAgB,2IAc5B,CAAA;AAID,eAAO,MAAM,MAAM,0RAWhB,CAAA;AAIH,eAAO,MAAM,SAAS,6IAKpB,CAAA;AAIF,eAAO,MAAM,QAAQ,6IAOnB,CAAA;AAIF,eAAO,MAAM,IAAI,qIAIf,CAAA;AAIF,eAAO,MAAM,KAAK,oRAQf,CAAA;AAIH,eAAO,MAAM,MAAM,0RA0BlB,CAAA"}
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/theme.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAaf,CAAA;AAEV,oBAAY,KAAK,GAAG,OAAO,YAAY,CAAA;AACvC,UAAU,aAAa;IACrB,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAID,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,aAAa,eAE9D;AAED,wBAAgB,QAAQ;;;;;;;;;;;;;EAEvB"}
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEhE,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,YAAY,CAAA;CAC5C"}
{"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../src/useLocalStorage.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,CAAC,EACvC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,GAAG,SAAS,GAC1B,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAkC5D"}
{"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../src/useMediaQuery.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CA+BxE"}
{"version":3,"file":"useSubscribeToQueryCache.d.ts","sourceRoot":"","sources":["../../src/useSubscribeToQueryCache.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAGvD,QAAA,MAAM,wBAAwB,kBAChB,UAAU,+BAEhB,OAAO,MAgBd,CAAA;AAED,eAAe,wBAAwB,CAAA"}
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAGlD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAIpC,aAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,GACxC,KAAK,CAAC,iBAAiB,CACrB,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,iBAAiB,CAClB,GACD,CAAC,SAAS,OAAO,GACjB,KAAK,CAAC,iBAAiB,CACrB,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,gBAAgB,CACjB,GACD,CAAC,SAAS,QAAQ,GAClB,KAAK,CAAC,iBAAiB,CACrB,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,iBAAiB,CAClB,GACD,CAAC,SAAS,MAAM,qBAAqB,GACrC,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,GAC9C,KAAK,CAAA;AAET,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,aAAa,EACb,OAAO,EACP,KAAK,GACN,EAAE;IACD,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,CAAA;CACb,6DAUA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,0DAU/C;AAED,aAAK,MAAM,GACP,KAAK,CAAC,aAAa,GACnB,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,aAAa,CAAC,CAAA;AAEvE,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,qBAAqB,EAC1D,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,8HAgCrC;AAED,wBAAgB,YAAY,kBAY3B;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,UAAW,OAAO,aAAY,OAAO,WAI7D,CAAA;AAGD,aAAK,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,KAAK,MAAM,CAAA;AAwB5C,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI1C,CAAA;AAED,eAAO,MAAM,YAAY,KAAK,CAAA;AAC9B,eAAO,MAAM,gBAAgB,MAAM,CAAA;AACnC,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAKpC,CAAA;AAED,oBAAY,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAA;AAC9E,oBAAY,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;AACtD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,WAExC;AACD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAEhD;AACD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,uDAIjE;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,aAAa,EAAE,KAAK,CAAA;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;CACjC;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAmB,EACnB,MAAM,EACN,KAAK,EACL,aAAa,EACb,MAAM,EACN,UAAU,EACV,UAAU,GACX,EAAE,qBAAqB,GAAG,KAAK,CAAC,aAAa,CAwD7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,IAAe,GACxB,KAAK,CAAC,aAAa,CAsBrB"}
+1
-0
import '@testing-library/jest-dom';
//# sourceMappingURL=devtools.test.d.ts.map
export {};
//# sourceMappingURL=Explorer.test.d.ts.map

@@ -23,1 +23,2 @@ import { render, type RenderOptions } from '@testing-library/react';

export {};
//# sourceMappingURL=utils.d.ts.map

@@ -19,1 +19,2 @@ import type { QueryCache, QueryClient } from '@tanstack/react-query';

export default ActiveQuery;
//# sourceMappingURL=ActiveQuery.d.ts.map

@@ -69,3 +69,4 @@ import React__default from 'react';

const restoreQueryAfterLoadingOrError = () => {
activeQuery.fetch(activeQuery.state.fetchMeta.__previousQueryOptions, {
var _activeQuery$state$fe;
activeQuery.fetch((_activeQuery$state$fe = activeQuery.state.fetchMeta) == null ? void 0 : _activeQuery$state$fe.__previousQueryOptions, {
// Make sure this fetch will cancel the previous one

@@ -176,2 +177,7 @@ cancelRefetch: true

onClick: () => {
var _activeQuery$state$fe2;
// Return early if the query is already restoring
if (activeQuery.state.fetchStatus === 'fetching' && typeof ((_activeQuery$state$fe2 = activeQuery.state.fetchMeta) == null ? void 0 : _activeQuery$state$fe2.__previousQueryOptions) === 'undefined') {
return;
}
if (activeQuery.state.data === undefined) {

@@ -178,0 +184,0 @@ restoreQueryAfterLoadingOrError();

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"ActiveQuery.esm.js","sources":["../../../src/CachePanel/ActiveQuery.tsx"],"sourcesContent":["import React from 'react'\nimport type { QueryCache, QueryClient } from '@tanstack/react-query'\n\nimport useSubscribeToQueryCache from '../useSubscribeToQueryCache'\nimport { Button, Code, Select, ActiveQueryPanel } from '../styledComponents'\n\nimport {\n getQueryStatusLabel,\n getQueryStatusColor,\n displayValue,\n} from '../utils'\nimport Explorer from '../Explorer'\nimport type { DevToolsErrorType } from '../types'\nimport { defaultTheme as theme } from '../theme'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n\n/**\n * Panel for the query currently being inspected\n *\n * It displays query details (key, observers...), query actions,\n * the data explorer and the query explorer\n */\nconst ActiveQuery = ({\n queryCache,\n activeQueryHash,\n queryClient,\n errorTypes,\n}: {\n queryCache: QueryCache\n activeQueryHash: string\n queryClient: QueryClient\n errorTypes: DevToolsErrorType[]\n}) => {\n const activeQuery = useSubscribeToQueryCache(queryCache, () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash),\n )\n\n const activeQueryState = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash)\n ?.state,\n )\n\n const isStale =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.isStale(),\n ) ?? false\n\n const observerCount =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.getObserversCount(),\n ) ?? 0\n\n const handleRefetch = () => {\n const promise = activeQuery?.fetch()\n promise?.catch(noop)\n }\n\n const currentErrorTypeName = React.useMemo(() => {\n if (activeQuery && activeQueryState?.error) {\n const errorType = errorTypes.find(\n (type) =>\n type.initializer(activeQuery).toString() ===\n activeQueryState.error?.toString(),\n )\n return errorType?.name\n }\n return undefined\n }, [activeQuery, activeQueryState?.error, errorTypes])\n\n if (!activeQuery || !activeQueryState) {\n return null\n }\n\n const triggerError = (errorType?: DevToolsErrorType) => {\n const error =\n errorType?.initializer(activeQuery) ??\n new Error('Unknown error from devtools')\n\n const __previousQueryOptions = activeQuery.options\n\n activeQuery.setState({\n status: 'error',\n error,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n\n const restoreQueryAfterLoadingOrError = () => {\n activeQuery.fetch(\n (activeQuery.state.fetchMeta as any).__previousQueryOptions,\n {\n // Make sure this fetch will cancel the previous one\n cancelRefetch: true,\n },\n )\n }\n\n return (\n <ActiveQueryPanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Details\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n }}\n >\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n <pre\n style={{\n margin: 0,\n padding: 0,\n overflow: 'auto',\n }}\n >\n {displayValue(activeQuery.queryKey, true)}\n </pre>\n </Code>\n <span\n style={{\n padding: '0.3em .6em',\n borderRadius: '0.4em',\n fontWeight: 'bold',\n textShadow: '0 2px 10px black',\n background: getQueryStatusColor({\n queryState: activeQueryState,\n isStale: isStale,\n observerCount: observerCount,\n theme,\n }),\n flexShrink: 0,\n }}\n >\n {getQueryStatusLabel(activeQuery)}\n </span>\n </div>\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Observers: <Code>{observerCount}</Code>\n </div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Last Updated:{' '}\n <Code>\n {new Date(activeQueryState.dataUpdatedAt).toLocaleTimeString()}\n </Code>\n </div>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Actions\n </div>\n <div\n style={{\n padding: '0.5em',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '0.5em',\n alignItems: 'flex-end',\n }}\n >\n <Button\n type=\"button\"\n onClick={handleRefetch}\n disabled={activeQueryState.fetchStatus === 'fetching'}\n style={{\n background: theme.active,\n }}\n >\n Refetch\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.invalidateQueries(activeQuery)}\n style={{\n background: theme.warning,\n color: theme.inputTextColor,\n }}\n >\n Invalidate\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.resetQueries(activeQuery)}\n style={{\n background: theme.gray,\n }}\n >\n Reset\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.removeQueries(activeQuery)}\n style={{\n background: theme.danger,\n }}\n >\n Remove\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => {\n if (activeQuery.state.data === undefined) {\n restoreQueryAfterLoadingOrError()\n } else {\n const __previousQueryOptions = activeQuery.options\n // Trigger a fetch in order to trigger suspense as well.\n activeQuery.fetch({\n ...__previousQueryOptions,\n queryFn: () => {\n return new Promise(() => {\n // Never resolve\n })\n },\n gcTime: -1,\n })\n activeQuery.setState({\n data: undefined,\n status: 'pending',\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n }}\n style={{\n background: theme.paused,\n }}\n >\n {activeQuery.state.status === 'pending' ? 'Restore' : 'Trigger'}{' '}\n loading\n </Button>{' '}\n {errorTypes.length === 0 || activeQuery.state.status === 'error' ? (\n <Button\n type=\"button\"\n onClick={() => {\n if (!activeQuery.state.error) {\n triggerError()\n } else {\n queryClient.resetQueries(activeQuery)\n }\n }}\n style={{\n background: theme.danger,\n }}\n >\n {activeQuery.state.status === 'error' ? 'Restore' : 'Trigger'} error\n </Button>\n ) : (\n <label>\n Trigger error:\n <Select\n value={currentErrorTypeName ?? ''}\n style={{ marginInlineStart: '.5em' }}\n onChange={(e) => {\n const errorType = errorTypes.find(\n (t) => t.name === e.target.value,\n )\n\n triggerError(errorType)\n }}\n >\n <option key=\"\" value=\"\" />\n {errorTypes.map((errorType) => (\n <option key={errorType.name} value={errorType.name}>\n {errorType.name}\n </option>\n ))}\n </Select>\n </label>\n )}\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Data Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Data\"\n value={activeQueryState.data}\n defaultExpanded={{}}\n copyable\n />\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Query\"\n value={activeQuery}\n defaultExpanded={{\n queryKey: true,\n }}\n />\n </div>\n </ActiveQueryPanel>\n )\n}\n\nActiveQuery.displayName = 'ActiveQuery'\n\nexport default ActiveQuery\n"],"names":["noop","ActiveQuery","queryCache","activeQueryHash","queryClient","errorTypes","activeQuery","useSubscribeToQueryCache","getAll","find","query","queryHash","activeQueryState","state","isStale","observerCount","getObserversCount","handleRefetch","promise","fetch","catch","currentErrorTypeName","React","useMemo","error","errorType","type","initializer","toString","name","undefined","triggerError","Error","__previousQueryOptions","options","setState","status","fetchMeta","restoreQueryAfterLoadingOrError","cancelRefetch","padding","background","theme","backgroundAlt","position","top","zIndex","marginBottom","display","alignItems","justifyContent","lineHeight","margin","overflow","displayValue","queryKey","borderRadius","fontWeight","textShadow","getQueryStatusColor","queryState","flexShrink","getQueryStatusLabel","Date","dataUpdatedAt","toLocaleTimeString","flexWrap","gap","fetchStatus","active","invalidateQueries","warning","color","inputTextColor","resetQueries","gray","removeQueries","danger","data","queryFn","Promise","gcTime","paused","length","marginInlineStart","e","t","target","value","map","displayName"],"mappings":"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"}
{"version":3,"file":"ActiveQuery.esm.js","sources":["../../../src/CachePanel/ActiveQuery.tsx"],"sourcesContent":["import React from 'react'\nimport type { QueryCache, QueryClient } from '@tanstack/react-query'\n\nimport useSubscribeToQueryCache from '../useSubscribeToQueryCache'\nimport { Button, Code, Select, ActiveQueryPanel } from '../styledComponents'\n\nimport {\n getQueryStatusLabel,\n getQueryStatusColor,\n displayValue,\n} from '../utils'\nimport Explorer from '../Explorer'\nimport type { DevToolsErrorType } from '../types'\nimport { defaultTheme as theme } from '../theme'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n\n/**\n * Panel for the query currently being inspected\n *\n * It displays query details (key, observers...), query actions,\n * the data explorer and the query explorer\n */\nconst ActiveQuery = ({\n queryCache,\n activeQueryHash,\n queryClient,\n errorTypes,\n}: {\n queryCache: QueryCache\n activeQueryHash: string\n queryClient: QueryClient\n errorTypes: DevToolsErrorType[]\n}) => {\n const activeQuery = useSubscribeToQueryCache(queryCache, () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash),\n )\n\n const activeQueryState = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash)\n ?.state,\n )\n\n const isStale =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.isStale(),\n ) ?? false\n\n const observerCount =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.getObserversCount(),\n ) ?? 0\n\n const handleRefetch = () => {\n const promise = activeQuery?.fetch()\n promise?.catch(noop)\n }\n\n const currentErrorTypeName = React.useMemo(() => {\n if (activeQuery && activeQueryState?.error) {\n const errorType = errorTypes.find(\n (type) =>\n type.initializer(activeQuery).toString() ===\n activeQueryState.error?.toString(),\n )\n return errorType?.name\n }\n return undefined\n }, [activeQuery, activeQueryState?.error, errorTypes])\n\n if (!activeQuery || !activeQueryState) {\n return null\n }\n\n const triggerError = (errorType?: DevToolsErrorType) => {\n const error =\n errorType?.initializer(activeQuery) ??\n new Error('Unknown error from devtools')\n\n const __previousQueryOptions = activeQuery.options\n\n activeQuery.setState({\n status: 'error',\n error,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n\n const restoreQueryAfterLoadingOrError = () => {\n activeQuery.fetch(\n (activeQuery.state.fetchMeta as any)?.__previousQueryOptions,\n {\n // Make sure this fetch will cancel the previous one\n cancelRefetch: true,\n },\n )\n }\n\n return (\n <ActiveQueryPanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Details\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n }}\n >\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n <pre\n style={{\n margin: 0,\n padding: 0,\n overflow: 'auto',\n }}\n >\n {displayValue(activeQuery.queryKey, true)}\n </pre>\n </Code>\n <span\n style={{\n padding: '0.3em .6em',\n borderRadius: '0.4em',\n fontWeight: 'bold',\n textShadow: '0 2px 10px black',\n background: getQueryStatusColor({\n queryState: activeQueryState,\n isStale: isStale,\n observerCount: observerCount,\n theme,\n }),\n flexShrink: 0,\n }}\n >\n {getQueryStatusLabel(activeQuery)}\n </span>\n </div>\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Observers: <Code>{observerCount}</Code>\n </div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Last Updated:{' '}\n <Code>\n {new Date(activeQueryState.dataUpdatedAt).toLocaleTimeString()}\n </Code>\n </div>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Actions\n </div>\n <div\n style={{\n padding: '0.5em',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '0.5em',\n alignItems: 'flex-end',\n }}\n >\n <Button\n type=\"button\"\n onClick={handleRefetch}\n disabled={activeQueryState.fetchStatus === 'fetching'}\n style={{\n background: theme.active,\n }}\n >\n Refetch\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.invalidateQueries(activeQuery)}\n style={{\n background: theme.warning,\n color: theme.inputTextColor,\n }}\n >\n Invalidate\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.resetQueries(activeQuery)}\n style={{\n background: theme.gray,\n }}\n >\n Reset\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.removeQueries(activeQuery)}\n style={{\n background: theme.danger,\n }}\n >\n Remove\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => {\n // Return early if the query is already restoring\n if (\n activeQuery.state.fetchStatus === 'fetching' &&\n typeof (activeQuery.state.fetchMeta as any)\n ?.__previousQueryOptions === 'undefined'\n ) {\n return\n }\n if (activeQuery.state.data === undefined) {\n restoreQueryAfterLoadingOrError()\n } else {\n const __previousQueryOptions = activeQuery.options\n // Trigger a fetch in order to trigger suspense as well.\n activeQuery.fetch({\n ...__previousQueryOptions,\n queryFn: () => {\n return new Promise(() => {\n // Never resolve\n })\n },\n gcTime: -1,\n })\n activeQuery.setState({\n data: undefined,\n status: 'pending',\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n }}\n style={{\n background: theme.paused,\n }}\n >\n {activeQuery.state.status === 'pending' ? 'Restore' : 'Trigger'}{' '}\n loading\n </Button>{' '}\n {errorTypes.length === 0 || activeQuery.state.status === 'error' ? (\n <Button\n type=\"button\"\n onClick={() => {\n if (!activeQuery.state.error) {\n triggerError()\n } else {\n queryClient.resetQueries(activeQuery)\n }\n }}\n style={{\n background: theme.danger,\n }}\n >\n {activeQuery.state.status === 'error' ? 'Restore' : 'Trigger'} error\n </Button>\n ) : (\n <label>\n Trigger error:\n <Select\n value={currentErrorTypeName ?? ''}\n style={{ marginInlineStart: '.5em' }}\n onChange={(e) => {\n const errorType = errorTypes.find(\n (t) => t.name === e.target.value,\n )\n\n triggerError(errorType)\n }}\n >\n <option key=\"\" value=\"\" />\n {errorTypes.map((errorType) => (\n <option key={errorType.name} value={errorType.name}>\n {errorType.name}\n </option>\n ))}\n </Select>\n </label>\n )}\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Data Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Data\"\n value={activeQueryState.data}\n defaultExpanded={{}}\n copyable\n />\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Query\"\n value={activeQuery}\n defaultExpanded={{\n queryKey: true,\n }}\n />\n </div>\n </ActiveQueryPanel>\n )\n}\n\nActiveQuery.displayName = 'ActiveQuery'\n\nexport default ActiveQuery\n"],"names":["noop","ActiveQuery","queryCache","activeQueryHash","queryClient","errorTypes","activeQuery","useSubscribeToQueryCache","getAll","find","query","queryHash","activeQueryState","state","isStale","observerCount","getObserversCount","handleRefetch","promise","fetch","catch","currentErrorTypeName","React","useMemo","error","errorType","type","initializer","toString","name","undefined","triggerError","Error","__previousQueryOptions","options","setState","status","fetchMeta","restoreQueryAfterLoadingOrError","cancelRefetch","padding","background","theme","backgroundAlt","position","top","zIndex","marginBottom","display","alignItems","justifyContent","lineHeight","margin","overflow","displayValue","queryKey","borderRadius","fontWeight","textShadow","getQueryStatusColor","queryState","flexShrink","getQueryStatusLabel","Date","dataUpdatedAt","toLocaleTimeString","flexWrap","gap","fetchStatus","active","invalidateQueries","warning","color","inputTextColor","resetQueries","gray","removeQueries","danger","data","queryFn","Promise","gcTime","paused","length","marginInlineStart","e","t","target","value","map","displayName"],"mappings":"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"}

@@ -73,3 +73,4 @@ 'use strict';

const restoreQueryAfterLoadingOrError = () => {
activeQuery.fetch(activeQuery.state.fetchMeta.__previousQueryOptions, {
var _activeQuery$state$fe;
activeQuery.fetch((_activeQuery$state$fe = activeQuery.state.fetchMeta) == null ? void 0 : _activeQuery$state$fe.__previousQueryOptions, {
// Make sure this fetch will cancel the previous one

@@ -180,2 +181,7 @@ cancelRefetch: true

onClick: () => {
var _activeQuery$state$fe2;
// Return early if the query is already restoring
if (activeQuery.state.fetchStatus === 'fetching' && typeof ((_activeQuery$state$fe2 = activeQuery.state.fetchMeta) == null ? void 0 : _activeQuery$state$fe2.__previousQueryOptions) === 'undefined') {
return;
}
if (activeQuery.state.data === undefined) {

@@ -182,0 +188,0 @@ restoreQueryAfterLoadingOrError();

@@ -1,1 +0,1 @@

{"version":3,"file":"ActiveQuery.js","sources":["../../../src/CachePanel/ActiveQuery.tsx"],"sourcesContent":["import React from 'react'\nimport type { QueryCache, QueryClient } from '@tanstack/react-query'\n\nimport useSubscribeToQueryCache from '../useSubscribeToQueryCache'\nimport { Button, Code, Select, ActiveQueryPanel } from '../styledComponents'\n\nimport {\n getQueryStatusLabel,\n getQueryStatusColor,\n displayValue,\n} from '../utils'\nimport Explorer from '../Explorer'\nimport type { DevToolsErrorType } from '../types'\nimport { defaultTheme as theme } from '../theme'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n\n/**\n * Panel for the query currently being inspected\n *\n * It displays query details (key, observers...), query actions,\n * the data explorer and the query explorer\n */\nconst ActiveQuery = ({\n queryCache,\n activeQueryHash,\n queryClient,\n errorTypes,\n}: {\n queryCache: QueryCache\n activeQueryHash: string\n queryClient: QueryClient\n errorTypes: DevToolsErrorType[]\n}) => {\n const activeQuery = useSubscribeToQueryCache(queryCache, () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash),\n )\n\n const activeQueryState = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash)\n ?.state,\n )\n\n const isStale =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.isStale(),\n ) ?? false\n\n const observerCount =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.getObserversCount(),\n ) ?? 0\n\n const handleRefetch = () => {\n const promise = activeQuery?.fetch()\n promise?.catch(noop)\n }\n\n const currentErrorTypeName = React.useMemo(() => {\n if (activeQuery && activeQueryState?.error) {\n const errorType = errorTypes.find(\n (type) =>\n type.initializer(activeQuery).toString() ===\n activeQueryState.error?.toString(),\n )\n return errorType?.name\n }\n return undefined\n }, [activeQuery, activeQueryState?.error, errorTypes])\n\n if (!activeQuery || !activeQueryState) {\n return null\n }\n\n const triggerError = (errorType?: DevToolsErrorType) => {\n const error =\n errorType?.initializer(activeQuery) ??\n new Error('Unknown error from devtools')\n\n const __previousQueryOptions = activeQuery.options\n\n activeQuery.setState({\n status: 'error',\n error,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n\n const restoreQueryAfterLoadingOrError = () => {\n activeQuery.fetch(\n (activeQuery.state.fetchMeta as any).__previousQueryOptions,\n {\n // Make sure this fetch will cancel the previous one\n cancelRefetch: true,\n },\n )\n }\n\n return (\n <ActiveQueryPanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Details\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n }}\n >\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n <pre\n style={{\n margin: 0,\n padding: 0,\n overflow: 'auto',\n }}\n >\n {displayValue(activeQuery.queryKey, true)}\n </pre>\n </Code>\n <span\n style={{\n padding: '0.3em .6em',\n borderRadius: '0.4em',\n fontWeight: 'bold',\n textShadow: '0 2px 10px black',\n background: getQueryStatusColor({\n queryState: activeQueryState,\n isStale: isStale,\n observerCount: observerCount,\n theme,\n }),\n flexShrink: 0,\n }}\n >\n {getQueryStatusLabel(activeQuery)}\n </span>\n </div>\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Observers: <Code>{observerCount}</Code>\n </div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Last Updated:{' '}\n <Code>\n {new Date(activeQueryState.dataUpdatedAt).toLocaleTimeString()}\n </Code>\n </div>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Actions\n </div>\n <div\n style={{\n padding: '0.5em',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '0.5em',\n alignItems: 'flex-end',\n }}\n >\n <Button\n type=\"button\"\n onClick={handleRefetch}\n disabled={activeQueryState.fetchStatus === 'fetching'}\n style={{\n background: theme.active,\n }}\n >\n Refetch\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.invalidateQueries(activeQuery)}\n style={{\n background: theme.warning,\n color: theme.inputTextColor,\n }}\n >\n Invalidate\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.resetQueries(activeQuery)}\n style={{\n background: theme.gray,\n }}\n >\n Reset\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.removeQueries(activeQuery)}\n style={{\n background: theme.danger,\n }}\n >\n Remove\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => {\n if (activeQuery.state.data === undefined) {\n restoreQueryAfterLoadingOrError()\n } else {\n const __previousQueryOptions = activeQuery.options\n // Trigger a fetch in order to trigger suspense as well.\n activeQuery.fetch({\n ...__previousQueryOptions,\n queryFn: () => {\n return new Promise(() => {\n // Never resolve\n })\n },\n gcTime: -1,\n })\n activeQuery.setState({\n data: undefined,\n status: 'pending',\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n }}\n style={{\n background: theme.paused,\n }}\n >\n {activeQuery.state.status === 'pending' ? 'Restore' : 'Trigger'}{' '}\n loading\n </Button>{' '}\n {errorTypes.length === 0 || activeQuery.state.status === 'error' ? (\n <Button\n type=\"button\"\n onClick={() => {\n if (!activeQuery.state.error) {\n triggerError()\n } else {\n queryClient.resetQueries(activeQuery)\n }\n }}\n style={{\n background: theme.danger,\n }}\n >\n {activeQuery.state.status === 'error' ? 'Restore' : 'Trigger'} error\n </Button>\n ) : (\n <label>\n Trigger error:\n <Select\n value={currentErrorTypeName ?? ''}\n style={{ marginInlineStart: '.5em' }}\n onChange={(e) => {\n const errorType = errorTypes.find(\n (t) => t.name === e.target.value,\n )\n\n triggerError(errorType)\n }}\n >\n <option key=\"\" value=\"\" />\n {errorTypes.map((errorType) => (\n <option key={errorType.name} value={errorType.name}>\n {errorType.name}\n </option>\n ))}\n </Select>\n </label>\n )}\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Data Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Data\"\n value={activeQueryState.data}\n defaultExpanded={{}}\n copyable\n />\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Query\"\n value={activeQuery}\n defaultExpanded={{\n queryKey: true,\n }}\n />\n </div>\n </ActiveQueryPanel>\n )\n}\n\nActiveQuery.displayName = 'ActiveQuery'\n\nexport default ActiveQuery\n"],"names":["noop","ActiveQuery","queryCache","activeQueryHash","queryClient","errorTypes","activeQuery","useSubscribeToQueryCache","getAll","find","query","queryHash","activeQueryState","state","isStale","observerCount","getObserversCount","handleRefetch","promise","fetch","catch","currentErrorTypeName","React","useMemo","error","errorType","type","initializer","toString","name","undefined","triggerError","Error","__previousQueryOptions","options","setState","status","fetchMeta","restoreQueryAfterLoadingOrError","cancelRefetch","ActiveQueryPanel","padding","background","theme","backgroundAlt","position","top","zIndex","marginBottom","display","alignItems","justifyContent","Code","lineHeight","margin","overflow","displayValue","queryKey","borderRadius","fontWeight","textShadow","getQueryStatusColor","queryState","flexShrink","getQueryStatusLabel","Date","dataUpdatedAt","toLocaleTimeString","flexWrap","gap","Button","fetchStatus","active","invalidateQueries","warning","color","inputTextColor","resetQueries","gray","removeQueries","danger","data","queryFn","Promise","gcTime","paused","length","Select","marginInlineStart","e","t","target","value","map","Explorer","displayName"],"mappings":"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"}
{"version":3,"file":"ActiveQuery.js","sources":["../../../src/CachePanel/ActiveQuery.tsx"],"sourcesContent":["import React from 'react'\nimport type { QueryCache, QueryClient } from '@tanstack/react-query'\n\nimport useSubscribeToQueryCache from '../useSubscribeToQueryCache'\nimport { Button, Code, Select, ActiveQueryPanel } from '../styledComponents'\n\nimport {\n getQueryStatusLabel,\n getQueryStatusColor,\n displayValue,\n} from '../utils'\nimport Explorer from '../Explorer'\nimport type { DevToolsErrorType } from '../types'\nimport { defaultTheme as theme } from '../theme'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n\n/**\n * Panel for the query currently being inspected\n *\n * It displays query details (key, observers...), query actions,\n * the data explorer and the query explorer\n */\nconst ActiveQuery = ({\n queryCache,\n activeQueryHash,\n queryClient,\n errorTypes,\n}: {\n queryCache: QueryCache\n activeQueryHash: string\n queryClient: QueryClient\n errorTypes: DevToolsErrorType[]\n}) => {\n const activeQuery = useSubscribeToQueryCache(queryCache, () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash),\n )\n\n const activeQueryState = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash)\n ?.state,\n )\n\n const isStale =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.isStale(),\n ) ?? false\n\n const observerCount =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.getObserversCount(),\n ) ?? 0\n\n const handleRefetch = () => {\n const promise = activeQuery?.fetch()\n promise?.catch(noop)\n }\n\n const currentErrorTypeName = React.useMemo(() => {\n if (activeQuery && activeQueryState?.error) {\n const errorType = errorTypes.find(\n (type) =>\n type.initializer(activeQuery).toString() ===\n activeQueryState.error?.toString(),\n )\n return errorType?.name\n }\n return undefined\n }, [activeQuery, activeQueryState?.error, errorTypes])\n\n if (!activeQuery || !activeQueryState) {\n return null\n }\n\n const triggerError = (errorType?: DevToolsErrorType) => {\n const error =\n errorType?.initializer(activeQuery) ??\n new Error('Unknown error from devtools')\n\n const __previousQueryOptions = activeQuery.options\n\n activeQuery.setState({\n status: 'error',\n error,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n\n const restoreQueryAfterLoadingOrError = () => {\n activeQuery.fetch(\n (activeQuery.state.fetchMeta as any)?.__previousQueryOptions,\n {\n // Make sure this fetch will cancel the previous one\n cancelRefetch: true,\n },\n )\n }\n\n return (\n <ActiveQueryPanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Details\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n }}\n >\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n <pre\n style={{\n margin: 0,\n padding: 0,\n overflow: 'auto',\n }}\n >\n {displayValue(activeQuery.queryKey, true)}\n </pre>\n </Code>\n <span\n style={{\n padding: '0.3em .6em',\n borderRadius: '0.4em',\n fontWeight: 'bold',\n textShadow: '0 2px 10px black',\n background: getQueryStatusColor({\n queryState: activeQueryState,\n isStale: isStale,\n observerCount: observerCount,\n theme,\n }),\n flexShrink: 0,\n }}\n >\n {getQueryStatusLabel(activeQuery)}\n </span>\n </div>\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Observers: <Code>{observerCount}</Code>\n </div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Last Updated:{' '}\n <Code>\n {new Date(activeQueryState.dataUpdatedAt).toLocaleTimeString()}\n </Code>\n </div>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Actions\n </div>\n <div\n style={{\n padding: '0.5em',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '0.5em',\n alignItems: 'flex-end',\n }}\n >\n <Button\n type=\"button\"\n onClick={handleRefetch}\n disabled={activeQueryState.fetchStatus === 'fetching'}\n style={{\n background: theme.active,\n }}\n >\n Refetch\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.invalidateQueries(activeQuery)}\n style={{\n background: theme.warning,\n color: theme.inputTextColor,\n }}\n >\n Invalidate\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.resetQueries(activeQuery)}\n style={{\n background: theme.gray,\n }}\n >\n Reset\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.removeQueries(activeQuery)}\n style={{\n background: theme.danger,\n }}\n >\n Remove\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => {\n // Return early if the query is already restoring\n if (\n activeQuery.state.fetchStatus === 'fetching' &&\n typeof (activeQuery.state.fetchMeta as any)\n ?.__previousQueryOptions === 'undefined'\n ) {\n return\n }\n if (activeQuery.state.data === undefined) {\n restoreQueryAfterLoadingOrError()\n } else {\n const __previousQueryOptions = activeQuery.options\n // Trigger a fetch in order to trigger suspense as well.\n activeQuery.fetch({\n ...__previousQueryOptions,\n queryFn: () => {\n return new Promise(() => {\n // Never resolve\n })\n },\n gcTime: -1,\n })\n activeQuery.setState({\n data: undefined,\n status: 'pending',\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n }}\n style={{\n background: theme.paused,\n }}\n >\n {activeQuery.state.status === 'pending' ? 'Restore' : 'Trigger'}{' '}\n loading\n </Button>{' '}\n {errorTypes.length === 0 || activeQuery.state.status === 'error' ? (\n <Button\n type=\"button\"\n onClick={() => {\n if (!activeQuery.state.error) {\n triggerError()\n } else {\n queryClient.resetQueries(activeQuery)\n }\n }}\n style={{\n background: theme.danger,\n }}\n >\n {activeQuery.state.status === 'error' ? 'Restore' : 'Trigger'} error\n </Button>\n ) : (\n <label>\n Trigger error:\n <Select\n value={currentErrorTypeName ?? ''}\n style={{ marginInlineStart: '.5em' }}\n onChange={(e) => {\n const errorType = errorTypes.find(\n (t) => t.name === e.target.value,\n )\n\n triggerError(errorType)\n }}\n >\n <option key=\"\" value=\"\" />\n {errorTypes.map((errorType) => (\n <option key={errorType.name} value={errorType.name}>\n {errorType.name}\n </option>\n ))}\n </Select>\n </label>\n )}\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Data Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Data\"\n value={activeQueryState.data}\n defaultExpanded={{}}\n copyable\n />\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Query\"\n value={activeQuery}\n defaultExpanded={{\n queryKey: true,\n }}\n />\n </div>\n </ActiveQueryPanel>\n )\n}\n\nActiveQuery.displayName = 'ActiveQuery'\n\nexport default ActiveQuery\n"],"names":["noop","ActiveQuery","queryCache","activeQueryHash","queryClient","errorTypes","activeQuery","useSubscribeToQueryCache","getAll","find","query","queryHash","activeQueryState","state","isStale","observerCount","getObserversCount","handleRefetch","promise","fetch","catch","currentErrorTypeName","React","useMemo","error","errorType","type","initializer","toString","name","undefined","triggerError","Error","__previousQueryOptions","options","setState","status","fetchMeta","restoreQueryAfterLoadingOrError","cancelRefetch","ActiveQueryPanel","padding","background","theme","backgroundAlt","position","top","zIndex","marginBottom","display","alignItems","justifyContent","Code","lineHeight","margin","overflow","displayValue","queryKey","borderRadius","fontWeight","textShadow","getQueryStatusColor","queryState","flexShrink","getQueryStatusLabel","Date","dataUpdatedAt","toLocaleTimeString","flexWrap","gap","Button","fetchStatus","active","invalidateQueries","warning","color","inputTextColor","resetQueries","gray","removeQueries","danger","data","queryFn","Promise","gcTime","paused","length","Select","marginInlineStart","e","t","target","value","map","Explorer","displayName"],"mappings":"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"}

@@ -55,3 +55,3 @@ import React__default from 'react';

const restoreQueryAfterLoadingOrError = () => {
activeQuery.fetch(activeQuery.state.fetchMeta.__previousQueryOptions, {
activeQuery.fetch(activeQuery.state.fetchMeta?.__previousQueryOptions, {
// Make sure this fetch will cancel the previous one

@@ -162,2 +162,6 @@ cancelRefetch: true

onClick: () => {
// Return early if the query is already restoring
if (activeQuery.state.fetchStatus === 'fetching' && typeof activeQuery.state.fetchMeta?.__previousQueryOptions === 'undefined') {
return;
}
if (activeQuery.state.data === undefined) {

@@ -164,0 +168,0 @@ restoreQueryAfterLoadingOrError();

@@ -1,1 +0,1 @@

{"version":3,"file":"ActiveQuery.mjs","sources":["../../../src/CachePanel/ActiveQuery.tsx"],"sourcesContent":["import React from 'react'\nimport type { QueryCache, QueryClient } from '@tanstack/react-query'\n\nimport useSubscribeToQueryCache from '../useSubscribeToQueryCache'\nimport { Button, Code, Select, ActiveQueryPanel } from '../styledComponents'\n\nimport {\n getQueryStatusLabel,\n getQueryStatusColor,\n displayValue,\n} from '../utils'\nimport Explorer from '../Explorer'\nimport type { DevToolsErrorType } from '../types'\nimport { defaultTheme as theme } from '../theme'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n\n/**\n * Panel for the query currently being inspected\n *\n * It displays query details (key, observers...), query actions,\n * the data explorer and the query explorer\n */\nconst ActiveQuery = ({\n queryCache,\n activeQueryHash,\n queryClient,\n errorTypes,\n}: {\n queryCache: QueryCache\n activeQueryHash: string\n queryClient: QueryClient\n errorTypes: DevToolsErrorType[]\n}) => {\n const activeQuery = useSubscribeToQueryCache(queryCache, () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash),\n )\n\n const activeQueryState = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash)\n ?.state,\n )\n\n const isStale =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.isStale(),\n ) ?? false\n\n const observerCount =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.getObserversCount(),\n ) ?? 0\n\n const handleRefetch = () => {\n const promise = activeQuery?.fetch()\n promise?.catch(noop)\n }\n\n const currentErrorTypeName = React.useMemo(() => {\n if (activeQuery && activeQueryState?.error) {\n const errorType = errorTypes.find(\n (type) =>\n type.initializer(activeQuery).toString() ===\n activeQueryState.error?.toString(),\n )\n return errorType?.name\n }\n return undefined\n }, [activeQuery, activeQueryState?.error, errorTypes])\n\n if (!activeQuery || !activeQueryState) {\n return null\n }\n\n const triggerError = (errorType?: DevToolsErrorType) => {\n const error =\n errorType?.initializer(activeQuery) ??\n new Error('Unknown error from devtools')\n\n const __previousQueryOptions = activeQuery.options\n\n activeQuery.setState({\n status: 'error',\n error,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n\n const restoreQueryAfterLoadingOrError = () => {\n activeQuery.fetch(\n (activeQuery.state.fetchMeta as any).__previousQueryOptions,\n {\n // Make sure this fetch will cancel the previous one\n cancelRefetch: true,\n },\n )\n }\n\n return (\n <ActiveQueryPanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Details\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n }}\n >\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n <pre\n style={{\n margin: 0,\n padding: 0,\n overflow: 'auto',\n }}\n >\n {displayValue(activeQuery.queryKey, true)}\n </pre>\n </Code>\n <span\n style={{\n padding: '0.3em .6em',\n borderRadius: '0.4em',\n fontWeight: 'bold',\n textShadow: '0 2px 10px black',\n background: getQueryStatusColor({\n queryState: activeQueryState,\n isStale: isStale,\n observerCount: observerCount,\n theme,\n }),\n flexShrink: 0,\n }}\n >\n {getQueryStatusLabel(activeQuery)}\n </span>\n </div>\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Observers: <Code>{observerCount}</Code>\n </div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Last Updated:{' '}\n <Code>\n {new Date(activeQueryState.dataUpdatedAt).toLocaleTimeString()}\n </Code>\n </div>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Actions\n </div>\n <div\n style={{\n padding: '0.5em',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '0.5em',\n alignItems: 'flex-end',\n }}\n >\n <Button\n type=\"button\"\n onClick={handleRefetch}\n disabled={activeQueryState.fetchStatus === 'fetching'}\n style={{\n background: theme.active,\n }}\n >\n Refetch\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.invalidateQueries(activeQuery)}\n style={{\n background: theme.warning,\n color: theme.inputTextColor,\n }}\n >\n Invalidate\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.resetQueries(activeQuery)}\n style={{\n background: theme.gray,\n }}\n >\n Reset\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.removeQueries(activeQuery)}\n style={{\n background: theme.danger,\n }}\n >\n Remove\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => {\n if (activeQuery.state.data === undefined) {\n restoreQueryAfterLoadingOrError()\n } else {\n const __previousQueryOptions = activeQuery.options\n // Trigger a fetch in order to trigger suspense as well.\n activeQuery.fetch({\n ...__previousQueryOptions,\n queryFn: () => {\n return new Promise(() => {\n // Never resolve\n })\n },\n gcTime: -1,\n })\n activeQuery.setState({\n data: undefined,\n status: 'pending',\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n }}\n style={{\n background: theme.paused,\n }}\n >\n {activeQuery.state.status === 'pending' ? 'Restore' : 'Trigger'}{' '}\n loading\n </Button>{' '}\n {errorTypes.length === 0 || activeQuery.state.status === 'error' ? (\n <Button\n type=\"button\"\n onClick={() => {\n if (!activeQuery.state.error) {\n triggerError()\n } else {\n queryClient.resetQueries(activeQuery)\n }\n }}\n style={{\n background: theme.danger,\n }}\n >\n {activeQuery.state.status === 'error' ? 'Restore' : 'Trigger'} error\n </Button>\n ) : (\n <label>\n Trigger error:\n <Select\n value={currentErrorTypeName ?? ''}\n style={{ marginInlineStart: '.5em' }}\n onChange={(e) => {\n const errorType = errorTypes.find(\n (t) => t.name === e.target.value,\n )\n\n triggerError(errorType)\n }}\n >\n <option key=\"\" value=\"\" />\n {errorTypes.map((errorType) => (\n <option key={errorType.name} value={errorType.name}>\n {errorType.name}\n </option>\n ))}\n </Select>\n </label>\n )}\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Data Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Data\"\n value={activeQueryState.data}\n defaultExpanded={{}}\n copyable\n />\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Query\"\n value={activeQuery}\n defaultExpanded={{\n queryKey: true,\n }}\n />\n </div>\n </ActiveQueryPanel>\n )\n}\n\nActiveQuery.displayName = 'ActiveQuery'\n\nexport default ActiveQuery\n"],"names":["noop","ActiveQuery","queryCache","activeQueryHash","queryClient","errorTypes","activeQuery","useSubscribeToQueryCache","getAll","find","query","queryHash","activeQueryState","state","isStale","observerCount","getObserversCount","handleRefetch","promise","fetch","catch","currentErrorTypeName","React","useMemo","error","errorType","type","initializer","toString","name","undefined","triggerError","Error","__previousQueryOptions","options","setState","status","fetchMeta","restoreQueryAfterLoadingOrError","cancelRefetch","padding","background","theme","backgroundAlt","position","top","zIndex","marginBottom","display","alignItems","justifyContent","lineHeight","margin","overflow","displayValue","queryKey","borderRadius","fontWeight","textShadow","getQueryStatusColor","queryState","flexShrink","getQueryStatusLabel","Date","dataUpdatedAt","toLocaleTimeString","flexWrap","gap","fetchStatus","active","invalidateQueries","warning","color","inputTextColor","resetQueries","gray","removeQueries","danger","data","queryFn","Promise","gcTime","paused","length","marginInlineStart","e","t","target","value","map","displayName"],"mappings":"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"}
{"version":3,"file":"ActiveQuery.mjs","sources":["../../../src/CachePanel/ActiveQuery.tsx"],"sourcesContent":["import React from 'react'\nimport type { QueryCache, QueryClient } from '@tanstack/react-query'\n\nimport useSubscribeToQueryCache from '../useSubscribeToQueryCache'\nimport { Button, Code, Select, ActiveQueryPanel } from '../styledComponents'\n\nimport {\n getQueryStatusLabel,\n getQueryStatusColor,\n displayValue,\n} from '../utils'\nimport Explorer from '../Explorer'\nimport type { DevToolsErrorType } from '../types'\nimport { defaultTheme as theme } from '../theme'\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nfunction noop() {}\n\n/**\n * Panel for the query currently being inspected\n *\n * It displays query details (key, observers...), query actions,\n * the data explorer and the query explorer\n */\nconst ActiveQuery = ({\n queryCache,\n activeQueryHash,\n queryClient,\n errorTypes,\n}: {\n queryCache: QueryCache\n activeQueryHash: string\n queryClient: QueryClient\n errorTypes: DevToolsErrorType[]\n}) => {\n const activeQuery = useSubscribeToQueryCache(queryCache, () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash),\n )\n\n const activeQueryState = useSubscribeToQueryCache(\n queryCache,\n () =>\n queryCache.getAll().find((query) => query.queryHash === activeQueryHash)\n ?.state,\n )\n\n const isStale =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.isStale(),\n ) ?? false\n\n const observerCount =\n useSubscribeToQueryCache(queryCache, () =>\n queryCache\n .getAll()\n .find((query) => query.queryHash === activeQueryHash)\n ?.getObserversCount(),\n ) ?? 0\n\n const handleRefetch = () => {\n const promise = activeQuery?.fetch()\n promise?.catch(noop)\n }\n\n const currentErrorTypeName = React.useMemo(() => {\n if (activeQuery && activeQueryState?.error) {\n const errorType = errorTypes.find(\n (type) =>\n type.initializer(activeQuery).toString() ===\n activeQueryState.error?.toString(),\n )\n return errorType?.name\n }\n return undefined\n }, [activeQuery, activeQueryState?.error, errorTypes])\n\n if (!activeQuery || !activeQueryState) {\n return null\n }\n\n const triggerError = (errorType?: DevToolsErrorType) => {\n const error =\n errorType?.initializer(activeQuery) ??\n new Error('Unknown error from devtools')\n\n const __previousQueryOptions = activeQuery.options\n\n activeQuery.setState({\n status: 'error',\n error,\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n\n const restoreQueryAfterLoadingOrError = () => {\n activeQuery.fetch(\n (activeQuery.state.fetchMeta as any)?.__previousQueryOptions,\n {\n // Make sure this fetch will cancel the previous one\n cancelRefetch: true,\n },\n )\n }\n\n return (\n <ActiveQueryPanel>\n <div\n style={{\n padding: '.5em',\n background: theme.backgroundAlt,\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Details\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n }}\n >\n <Code\n style={{\n lineHeight: '1.8em',\n }}\n >\n <pre\n style={{\n margin: 0,\n padding: 0,\n overflow: 'auto',\n }}\n >\n {displayValue(activeQuery.queryKey, true)}\n </pre>\n </Code>\n <span\n style={{\n padding: '0.3em .6em',\n borderRadius: '0.4em',\n fontWeight: 'bold',\n textShadow: '0 2px 10px black',\n background: getQueryStatusColor({\n queryState: activeQueryState,\n isStale: isStale,\n observerCount: observerCount,\n theme,\n }),\n flexShrink: 0,\n }}\n >\n {getQueryStatusLabel(activeQuery)}\n </span>\n </div>\n <div\n style={{\n marginBottom: '.5em',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Observers: <Code>{observerCount}</Code>\n </div>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n }}\n >\n Last Updated:{' '}\n <Code>\n {new Date(activeQueryState.dataUpdatedAt).toLocaleTimeString()}\n </Code>\n </div>\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Actions\n </div>\n <div\n style={{\n padding: '0.5em',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '0.5em',\n alignItems: 'flex-end',\n }}\n >\n <Button\n type=\"button\"\n onClick={handleRefetch}\n disabled={activeQueryState.fetchStatus === 'fetching'}\n style={{\n background: theme.active,\n }}\n >\n Refetch\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.invalidateQueries(activeQuery)}\n style={{\n background: theme.warning,\n color: theme.inputTextColor,\n }}\n >\n Invalidate\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.resetQueries(activeQuery)}\n style={{\n background: theme.gray,\n }}\n >\n Reset\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => queryClient.removeQueries(activeQuery)}\n style={{\n background: theme.danger,\n }}\n >\n Remove\n </Button>{' '}\n <Button\n type=\"button\"\n onClick={() => {\n // Return early if the query is already restoring\n if (\n activeQuery.state.fetchStatus === 'fetching' &&\n typeof (activeQuery.state.fetchMeta as any)\n ?.__previousQueryOptions === 'undefined'\n ) {\n return\n }\n if (activeQuery.state.data === undefined) {\n restoreQueryAfterLoadingOrError()\n } else {\n const __previousQueryOptions = activeQuery.options\n // Trigger a fetch in order to trigger suspense as well.\n activeQuery.fetch({\n ...__previousQueryOptions,\n queryFn: () => {\n return new Promise(() => {\n // Never resolve\n })\n },\n gcTime: -1,\n })\n activeQuery.setState({\n data: undefined,\n status: 'pending',\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n fetchMeta: {\n ...activeQuery.state.fetchMeta,\n __previousQueryOptions,\n } as any,\n })\n }\n }}\n style={{\n background: theme.paused,\n }}\n >\n {activeQuery.state.status === 'pending' ? 'Restore' : 'Trigger'}{' '}\n loading\n </Button>{' '}\n {errorTypes.length === 0 || activeQuery.state.status === 'error' ? (\n <Button\n type=\"button\"\n onClick={() => {\n if (!activeQuery.state.error) {\n triggerError()\n } else {\n queryClient.resetQueries(activeQuery)\n }\n }}\n style={{\n background: theme.danger,\n }}\n >\n {activeQuery.state.status === 'error' ? 'Restore' : 'Trigger'} error\n </Button>\n ) : (\n <label>\n Trigger error:\n <Select\n value={currentErrorTypeName ?? ''}\n style={{ marginInlineStart: '.5em' }}\n onChange={(e) => {\n const errorType = errorTypes.find(\n (t) => t.name === e.target.value,\n )\n\n triggerError(errorType)\n }}\n >\n <option key=\"\" value=\"\" />\n {errorTypes.map((errorType) => (\n <option key={errorType.name} value={errorType.name}>\n {errorType.name}\n </option>\n ))}\n </Select>\n </label>\n )}\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Data Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Data\"\n value={activeQueryState.data}\n defaultExpanded={{}}\n copyable\n />\n </div>\n <div\n style={{\n background: theme.backgroundAlt,\n padding: '.5em',\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }}\n >\n Query Explorer\n </div>\n <div\n style={{\n padding: '.5em',\n }}\n >\n <Explorer\n label=\"Query\"\n value={activeQuery}\n defaultExpanded={{\n queryKey: true,\n }}\n />\n </div>\n </ActiveQueryPanel>\n )\n}\n\nActiveQuery.displayName = 'ActiveQuery'\n\nexport default ActiveQuery\n"],"names":["noop","ActiveQuery","queryCache","activeQueryHash","queryClient","errorTypes","activeQuery","useSubscribeToQueryCache","getAll","find","query","queryHash","activeQueryState","state","isStale","observerCount","getObserversCount","handleRefetch","promise","fetch","catch","currentErrorTypeName","React","useMemo","error","errorType","type","initializer","toString","name","undefined","triggerError","Error","__previousQueryOptions","options","setState","status","fetchMeta","restoreQueryAfterLoadingOrError","cancelRefetch","padding","background","theme","backgroundAlt","position","top","zIndex","marginBottom","display","alignItems","justifyContent","lineHeight","margin","overflow","displayValue","queryKey","borderRadius","fontWeight","textShadow","getQueryStatusColor","queryState","flexShrink","getQueryStatusLabel","Date","dataUpdatedAt","toLocaleTimeString","flexWrap","gap","fetchStatus","active","invalidateQueries","warning","color","inputTextColor","resetQueries","gray","removeQueries","danger","data","queryFn","Promise","gcTime","paused","length","marginInlineStart","e","t","target","value","map","displayName"],"mappings":"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"}

@@ -58,1 +58,2 @@ import React from 'react';

export default ReactQueryDevtoolsPanel;
//# sourceMappingURL=CachePanel.d.ts.map

@@ -8,1 +8,2 @@ import type { QueryCache } from '@tanstack/react-query';

}): JSX.Element;
//# sourceMappingURL=QueryStatusCount.d.ts.map

@@ -14,1 +14,2 @@ import React from 'react';

export default QueryRow;
//# sourceMappingURL=QueryRow.d.ts.map

@@ -53,1 +53,2 @@ import * as React from 'react';

export declare function ReactQueryDevtools({ initialIsOpen, panelProps, closeButtonProps, toggleButtonProps, position, containerElement: Container, queryClient, styleNonce, panelPosition: initialPanelPosition, errorTypes, }: DevtoolsOptions): React.ReactElement | null;
//# sourceMappingURL=devtools.d.ts.map

@@ -51,1 +51,2 @@ import * as React from 'react';

export {};
//# sourceMappingURL=Explorer.d.ts.map
import * as devtools from './devtools';
export declare const ReactQueryDevtools: (typeof devtools)['ReactQueryDevtools'];
export declare const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'];
//# sourceMappingURL=index.d.ts.map
import * as devtools from './devtools';
export declare const ReactQueryDevtools: (typeof devtools)['ReactQueryDevtools'];
export declare const ReactQueryDevtoolsPanel: (typeof devtools)['ReactQueryDevtoolsPanel'];
//# sourceMappingURL=index.d.ts.map

@@ -881,3 +881,4 @@ import * as React from 'react';

const restoreQueryAfterLoadingOrError = () => {
activeQuery.fetch(activeQuery.state.fetchMeta.__previousQueryOptions, {
var _activeQuery$state$fe;
activeQuery.fetch((_activeQuery$state$fe = activeQuery.state.fetchMeta) == null ? void 0 : _activeQuery$state$fe.__previousQueryOptions, {
// Make sure this fetch will cancel the previous one

@@ -988,2 +989,7 @@ cancelRefetch: true

onClick: () => {
var _activeQuery$state$fe2;
// Return early if the query is already restoring
if (activeQuery.state.fetchStatus === 'fetching' && typeof ((_activeQuery$state$fe2 = activeQuery.state.fetchMeta) == null ? void 0 : _activeQuery$state$fe2.__previousQueryOptions) === 'undefined') {
return;
}
if (activeQuery.state.data === undefined) {

@@ -990,0 +996,0 @@ restoreQueryAfterLoadingOrError();

@@ -901,3 +901,4 @@ 'use strict';

const restoreQueryAfterLoadingOrError = () => {
activeQuery.fetch(activeQuery.state.fetchMeta.__previousQueryOptions, {
var _activeQuery$state$fe;
activeQuery.fetch((_activeQuery$state$fe = activeQuery.state.fetchMeta) == null ? void 0 : _activeQuery$state$fe.__previousQueryOptions, {
// Make sure this fetch will cancel the previous one

@@ -1008,2 +1009,7 @@ cancelRefetch: true

onClick: () => {
var _activeQuery$state$fe2;
// Return early if the query is already restoring
if (activeQuery.state.fetchStatus === 'fetching' && typeof ((_activeQuery$state$fe2 = activeQuery.state.fetchMeta) == null ? void 0 : _activeQuery$state$fe2.__previousQueryOptions) === 'undefined') {
return;
}
if (activeQuery.state.data === undefined) {

@@ -1010,0 +1016,0 @@ restoreQueryAfterLoadingOrError();

@@ -851,3 +851,3 @@ import * as React from 'react';

const restoreQueryAfterLoadingOrError = () => {
activeQuery.fetch(activeQuery.state.fetchMeta.__previousQueryOptions, {
activeQuery.fetch(activeQuery.state.fetchMeta?.__previousQueryOptions, {
// Make sure this fetch will cancel the previous one

@@ -958,2 +958,6 @@ cancelRefetch: true

onClick: () => {
// Return early if the query is already restoring
if (activeQuery.state.fetchStatus === 'fetching' && typeof activeQuery.state.fetchMeta?.__previousQueryOptions === 'undefined') {
return;
}
if (activeQuery.state.data === undefined) {

@@ -960,0 +964,0 @@ restoreQueryAfterLoadingOrError();

export default function Logo(props: any): JSX.Element;
//# sourceMappingURL=Logo.d.ts.map
export declare function ReactQueryDevtools(): null;
export declare function ReactQueryDevtoolsPanel(): null;
//# sourceMappingURL=noop.d.ts.map
export default function ScreenReader({ text }: {
text: string;
}): JSX.Element;
//# sourceMappingURL=screenreader.d.ts.map

@@ -9,1 +9,2 @@ export declare const Panel: import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<HTMLDivElement>>;

export declare const Select: import("react").ForwardRefExoticComponent<Pick<import("react").DetailedHTMLProps<import("react").SelectHTMLAttributes<HTMLSelectElement>, HTMLSelectElement>, "key" | keyof import("react").SelectHTMLAttributes<HTMLSelectElement>> & import("react").RefAttributes<HTMLSelectElement>>;
//# sourceMappingURL=styledComponents.d.ts.map

@@ -37,1 +37,2 @@ import * as React from 'react';

export {};
//# sourceMappingURL=theme.d.ts.map

@@ -12,1 +12,2 @@ import type { Query, DefaultError } from '@tanstack/react-query';

}
//# sourceMappingURL=types.d.ts.map
export default function useLocalStorage<T>(key: string, defaultValue: T | undefined): [T | undefined, (newVal: T | ((prevVal: T) => T)) => void];
//# sourceMappingURL=useLocalStorage.d.ts.map
export default function useMediaQuery(query: string): boolean | undefined;
//# sourceMappingURL=useMediaQuery.d.ts.map
import type { QueryCache } from '@tanstack/react-query';
declare const useSubscribeToQueryCache: <T>(queryCache: QueryCache, getSnapshot: () => T, skip?: boolean) => T;
export default useSubscribeToQueryCache;
//# sourceMappingURL=useSubscribeToQueryCache.d.ts.map

@@ -80,1 +80,2 @@ import * as React from 'react';

export {};
//# sourceMappingURL=utils.d.ts.map
{
"name": "@tanstack/react-query-devtools",
"version": "5.0.0-alpha.23",
"version": "5.0.0-alpha.24",
"description": "Developer tools to interact with and visualize the TanStack/react-query cache",

@@ -46,3 +46,3 @@ "author": "tannerlinsley",

"react-error-boundary": "^3.1.4",
"@tanstack/react-query": "5.0.0-alpha.23"
"@tanstack/react-query": "5.0.0-alpha.24"
},

@@ -56,3 +56,3 @@ "dependencies": {

"react-dom": "^18.0.0",
"@tanstack/react-query": "5.0.0-alpha.23"
"@tanstack/react-query": "5.0.0-alpha.24"
},

@@ -59,0 +59,0 @@ "scripts": {

@@ -1084,2 +1084,57 @@ import * as React from 'react'

})
it('should not refetch when already restoring a query', async () => {
const { queryClient } = createQueryClient()
let count = 0
let resolvePromise: (value: unknown) => void = () => undefined
function App() {
const { data } = useQuery({
queryKey: ['key'],
queryFn: () => {
count++
// Resolve the promise immediately when
// the query is fetched for the first time
if (count === 1) {
return Promise.resolve('test')
}
return new Promise((resolve) => {
// Do not resolve immediately and store the
// resolve function to resolve the promise later
resolvePromise = resolve
})
},
})
return (
<div>
<h1>{typeof data === 'string' ? data : 'No data'}</h1>
</div>
)
}
renderWithClient(queryClient, <App />, {
initialIsOpen: true,
})
const loadingButton = await screen.findByRole('button', {
name: 'Trigger loading',
})
fireEvent.click(loadingButton)
await waitFor(() => {
expect(screen.getByText('Restore loading')).toBeInTheDocument()
})
// Click the restore loading button twice and only resolve query promise
// after the second click.
fireEvent.click(screen.getByRole('button', { name: /restore loading/i }))
fireEvent.click(screen.getByRole('button', { name: /restore loading/i }))
resolvePromise('test')
expect(count).toBe(2)
})
})

@@ -104,3 +104,3 @@ import React from 'react'

activeQuery.fetch(
(activeQuery.state.fetchMeta as any).__previousQueryOptions,
(activeQuery.state.fetchMeta as any)?.__previousQueryOptions,
{

@@ -256,2 +256,10 @@ // Make sure this fetch will cancel the previous one

onClick={() => {
// Return early if the query is already restoring
if (
activeQuery.state.fetchStatus === 'fetching' &&
typeof (activeQuery.state.fetchMeta as any)
?.__previousQueryOptions === 'undefined'
) {
return
}
if (activeQuery.state.data === undefined) {

@@ -258,0 +266,0 @@ restoreQueryAfterLoadingOrError()

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display