vike-solid-query
Advanced tools
Comparing version
@@ -0,1 +1,2 @@ | ||
import type { QueryClientConfig } from "@tanstack/solid-query"; | ||
import "vike-solid/config"; | ||
@@ -25,1 +26,8 @@ declare const _default: { | ||
export default _default; | ||
declare global { | ||
namespace Vike { | ||
interface Config { | ||
queryClientConfig?: QueryClientConfig; | ||
} | ||
} | ||
} |
@@ -5,3 +5,3 @@ import "vike-solid/config"; // Needed for declaration merging of Config | ||
require: { | ||
"vike-solid": ">=0.7.3", | ||
"vike-solid": ">=0.7.4", | ||
}, | ||
@@ -8,0 +8,0 @@ Wrapper: "import:vike-solid-query/__internal/integration/Wrapper:default", |
@@ -1,4 +0,4 @@ | ||
import { type JSX } from "solid-js"; | ||
import type { JSX } from "solid-js"; | ||
export default function Wrapper(props: { | ||
children?: JSX.Element; | ||
}): JSX.Element; |
@@ -1,1 +0,29 @@ | ||
export { QueryBoundary } from "./QueryBoundary"; | ||
import { CreateQueryResult } from '@tanstack/solid-query'; | ||
import { JSX } from 'solid-js'; | ||
interface QueryBoundaryProps<T = unknown> { | ||
query: CreateQueryResult<T, Error>; | ||
/** | ||
* Triggered when the data is initially loading. | ||
*/ | ||
loadingFallback?: JSX.Element; | ||
/** | ||
* Triggered when fetching is complete, but the returned data was falsey. | ||
*/ | ||
notFoundFallback?: JSX.Element; | ||
/** | ||
* Triggered when the query results in an error. | ||
*/ | ||
errorFallback?: JSX.Element | ((err: any, reset: () => void) => JSX.Element); | ||
/** | ||
* Triggered when fetching is complete, and the returned data is not falsey. | ||
*/ | ||
children: (data: Exclude<T, null | false | undefined>) => JSX.Element; | ||
} | ||
/** | ||
* Convenience wrapper that handles suspense and errors for queries. Makes the results of query.data available to | ||
* children (as a render prop) in a type-safe way. | ||
*/ | ||
declare function QueryBoundary<T>(props: QueryBoundaryProps<T>): JSX.Element; | ||
export { QueryBoundary, type QueryBoundaryProps }; |
@@ -1,1 +0,66 @@ | ||
export { QueryBoundary } from "./QueryBoundary"; | ||
import { delegateEvents, createComponent, getNextElement, insert, runHydrationEvents, memo, template } from 'solid-js/web'; | ||
import { ErrorBoundary, Suspense, Switch, Match } from 'solid-js'; | ||
var _tmpl$ = /*#__PURE__*/template(`<div><div class=query-boundary-error></div><button>Retry`), | ||
_tmpl$2 = /*#__PURE__*/template(`<div>Not Found,`), | ||
_tmpl$3 = /*#__PURE__*/template(`<button>Refetch`); | ||
/** | ||
* Convenience wrapper that handles suspense and errors for queries. Makes the results of query.data available to | ||
* children (as a render prop) in a type-safe way. | ||
*/ | ||
function QueryBoundary(props) { | ||
return createComponent(ErrorBoundary, { | ||
get fallback() { | ||
return props.errorFallback ? props.errorFallback : (err, reset) => (() => { | ||
var _el$ = getNextElement(_tmpl$), | ||
_el$2 = _el$.firstChild, | ||
_el$3 = _el$2.nextSibling; | ||
insert(_el$2, () => err.toString()); | ||
_el$3.$$click = async () => { | ||
reset(); | ||
await props.query.refetch(); | ||
}; | ||
runHydrationEvents(); | ||
return _el$; | ||
})(); | ||
}, | ||
get children() { | ||
return createComponent(Suspense, { | ||
get fallback() { | ||
return props.loadingFallback; | ||
}, | ||
get children() { | ||
return createComponent(Switch, { | ||
get children() { | ||
return [createComponent(Match, { | ||
get when() { | ||
return !props.query.isFetching && !props.query.data; | ||
}, | ||
get children() { | ||
return memo(() => !!props.notFoundFallback)() ? props.notFoundFallback : [getNextElement(_tmpl$2), (() => { | ||
var _el$5 = getNextElement(_tmpl$3); | ||
_el$5.$$click = async () => { | ||
await props.query.refetch(); | ||
}; | ||
runHydrationEvents(); | ||
return _el$5; | ||
})()]; | ||
} | ||
}), createComponent(Match, { | ||
get when() { | ||
return props.query.data; | ||
}, | ||
get children() { | ||
return props.children(props.query.data); | ||
} | ||
})]; | ||
} | ||
}); | ||
} | ||
}); | ||
} | ||
}); | ||
} | ||
delegateEvents(["click"]); | ||
export { QueryBoundary }; |
{ | ||
"name": "vike-solid-query", | ||
"version": "0.0.1-commit-429fd54", | ||
"version": "0.0.1-commit-483edf8", | ||
"type": "module", | ||
"main": "dist/src/index.js", | ||
"typings": "dist/src/index.js", | ||
"main": "./dist/src/server.js", | ||
"typings": "dist/src/index.d.ts", | ||
"module": "./dist/src/server.js", | ||
"types": "./dist/src/index.d.ts", | ||
"browser": { | ||
"./dist/src/server.js": "./dist/src/index.js" | ||
}, | ||
"exports": { | ||
".": "./dist/src/index.js", | ||
".": { | ||
"browser": "./dist/src/index.js", | ||
"node": "./dist/src/server.js", | ||
"default": "./dist/src/index.js", | ||
"types": "./dist/src/index.d.ts" | ||
}, | ||
"./config": "./dist/integration/+config.js", | ||
"./__internal/integration/Wrapper": "./dist/integration/Wrapper.js" | ||
"./__internal/integration/Wrapper": "./dist/integration/Wrapper.jsx" | ||
}, | ||
@@ -15,12 +25,16 @@ "peerDependencies": { | ||
"solid-js": "^1.8.7", | ||
"vike-solid": ">=0.7.4" | ||
"vike-solid": "0.7.4" | ||
}, | ||
"devDependencies": { | ||
"@brillout/release-me": "^0.4.1", | ||
"@brillout/release-me": "^0.4.2", | ||
"@rollup/plugin-babel": "^6.0.4", | ||
"@rollup/plugin-node-resolve": "^15.2.4", | ||
"@tanstack/solid-query": "^5.56.2", | ||
"rimraf": "^6.0.1", | ||
"rollup": "^4.22.4", | ||
"rollup-plugin-dts": "^6.1.1", | ||
"solid-js": "^1.8.22", | ||
"typescript": "^5.6.2", | ||
"vike": "^0.4.195", | ||
"vike-solid": "^0.7.5" | ||
"vike": "^0.4.196", | ||
"vike-solid": "0.7.5" | ||
}, | ||
@@ -38,3 +52,3 @@ "typesVersions": { | ||
"files": [ | ||
"dist" | ||
"dist/" | ||
], | ||
@@ -44,5 +58,5 @@ "repository": "github:vikejs/vike-solid", | ||
"scripts": { | ||
"dev": "tsc --watch", | ||
"dev": "rollup -c rollup.config.js --watch", | ||
"dev:typecheck": "tsc --noEmit --watch", | ||
"build": "rimraf dist/ && tsc", | ||
"build": "rollup -c rollup.config.js && tsc", | ||
"release": "LANG=en_US release-me patch", | ||
@@ -49,0 +63,0 @@ "release:minor": "LANG=en_US release-me minor", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
14978
27.44%202
59.06%11
57.14%10
-9.09%1
Infinity%