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

@tanstack/solid-start-client

Package Overview
Dependencies
Maintainers
2
Versions
445
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@tanstack/solid-start-client - npm Package Compare versions

Comparing version
1.121.20
to
1.121.21
+54
dist/cjs/index.cjs
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const startClientCore = require("@tanstack/start-client-core");
const Meta = require("./Meta.cjs");
const Scripts = require("./Scripts.cjs");
const StartClient = require("./StartClient.cjs");
const renderRSC = require("./renderRSC.cjs");
const useServerFn = require("./useServerFn.cjs");
Object.defineProperty(exports, "clientOnly", {
enumerable: true,
get: () => startClientCore.clientOnly
});
Object.defineProperty(exports, "createIsomorphicFn", {
enumerable: true,
get: () => startClientCore.createIsomorphicFn
});
Object.defineProperty(exports, "createMiddleware", {
enumerable: true,
get: () => startClientCore.createMiddleware
});
Object.defineProperty(exports, "createServerFn", {
enumerable: true,
get: () => startClientCore.createServerFn
});
Object.defineProperty(exports, "globalMiddleware", {
enumerable: true,
get: () => startClientCore.globalMiddleware
});
Object.defineProperty(exports, "json", {
enumerable: true,
get: () => startClientCore.json
});
Object.defineProperty(exports, "mergeHeaders", {
enumerable: true,
get: () => startClientCore.mergeHeaders
});
Object.defineProperty(exports, "registerGlobalMiddleware", {
enumerable: true,
get: () => startClientCore.registerGlobalMiddleware
});
Object.defineProperty(exports, "serverOnly", {
enumerable: true,
get: () => startClientCore.serverOnly
});
Object.defineProperty(exports, "startSerializer", {
enumerable: true,
get: () => startClientCore.startSerializer
});
exports.Meta = Meta.Meta;
exports.Scripts = Scripts.Scripts;
exports.StartClient = StartClient.StartClient;
exports.renderRsc = renderRSC.renderRsc;
exports.useServerFn = useServerFn.useServerFn;
//# sourceMappingURL=index.cjs.map
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
export { mergeHeaders, startSerializer, createIsomorphicFn, createServerFn, createMiddleware, registerGlobalMiddleware, globalMiddleware, serverOnly, clientOnly, json, } from '@tanstack/start-client-core';
export { type DehydratedRouter, type ClientExtractedBaseEntry, type StartSsrGlobal, type ClientExtractedEntry, type SsrMatch, type ClientExtractedPromise, type ClientExtractedStream, type ResolvePromiseState, type IsomorphicFn, type ServerOnlyFn, type ClientOnlyFn, type IsomorphicFnBase, type ServerFn as FetchFn, type ServerFnCtx as FetchFnCtx, type CompiledFetcherFnOptions, type CompiledFetcherFn, type Fetcher, type OptionalFetcher, type RequiredFetcher, type RscStream, type FetcherData, type FetcherBaseOptions, type ServerFn, type ServerFnCtx, type ServerFnResponseType, type JsonResponse, type IntersectAllValidatorInputs, type IntersectAllValidatorOutputs, type FunctionMiddlewareServerFn, type AnyFunctionMiddleware, type FunctionMiddlewareOptions, type FunctionMiddlewareWithTypes, type FunctionMiddlewareValidator, type FunctionMiddlewareServer, type FunctionMiddlewareAfterClient, type FunctionMiddlewareAfterServer, type FunctionMiddleware, type FunctionMiddlewareClientFnOptions, type FunctionMiddlewareClientFnResult, type FunctionMiddlewareClientNextFn, type FunctionClientResultWithContext, type AssignAllClientContextBeforeNext, type AssignAllMiddleware, type AssignAllServerContext, type FunctionMiddlewareAfterValidator, type FunctionMiddlewareClientFn, type FunctionMiddlewareServerFnResult, type FunctionMiddlewareClient, type FunctionMiddlewareServerFnOptions, type FunctionMiddlewareServerNextFn, type FunctionServerResultWithContext, } from '@tanstack/start-client-core';
export { Meta } from './Meta.cjs';
export { Scripts } from './Scripts.cjs';
export { StartClient } from './StartClient.cjs';
export { renderRsc } from './renderRSC.cjs';
export { useServerFn } from './useServerFn.cjs';
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const web = require("solid-js/web");
const solidRouter = require("@tanstack/solid-router");
const Meta = () => {
if (process.env.NODE_ENV === "development") {
console.warn("The Meta component is deprecated. Use `HeadContent` from `@tanstack/solid-router` instead.");
}
return web.createComponent(solidRouter.HeadContent, {});
};
exports.Meta = Meta;
//# sourceMappingURL=Meta.cjs.map
{"version":3,"file":"Meta.cjs","sources":["../../src/Meta.tsx"],"sourcesContent":["import { HeadContent } from '@tanstack/solid-router'\n\nexport const Meta = () => {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n 'The Meta component is deprecated. Use `HeadContent` from `@tanstack/solid-router` instead.',\n )\n }\n return <HeadContent />\n}\n"],"names":["Meta","process","env","NODE_ENV","console","warn","_$createComponent","HeadContent"],"mappings":";;;;AAEO,MAAMA,OAAOA,MAAM;AACpBC,MAAAA,QAAQC,IAAIC,aAAa,eAAe;AAC1CC,YAAQC,KACN,4FACF;AAAA,EAAA;AAEFC,SAAAA,IAAAA,gBAAQC,YAAW,aAAA,EAAA;AACrB;;"}
export declare const Meta: () => import("solid-js").JSX.Element;
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const invariant = require("tiny-invariant");
function renderRsc(input) {
if (typeof input === "object" && !input.state) {
input.state = {
status: "pending",
promise: Promise.resolve().then(() => {
invariant(false, "renderRSC() is coming soon!");
}).then((element) => {
input.state.value = element;
input.state.status = "success";
}).catch((err) => {
input.state.status = "error";
input.state.error = err;
})
};
}
if (input.state.status === "pending") {
throw input.state.promise;
}
return input.state.value;
}
exports.renderRsc = renderRsc;
//# sourceMappingURL=renderRSC.cjs.map
{"version":3,"file":"renderRSC.cjs","sources":["../../src/renderRSC.tsx"],"sourcesContent":["// TODO: RSCs\n// // @ts-expect-error\n// import * as reactDom from 'react-server-dom/client'\n// import { isValidElement } from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport type * as Solid from 'solid-js'\n\nexport function renderRsc(input: any): Solid.JSX.Element {\n // TODO: isValidElement\n // if (isValidElement(input)) {\n // return input\n // }\n\n if (typeof input === 'object' && !input.state) {\n input.state = {\n status: 'pending',\n promise: Promise.resolve()\n .then(() => {\n let element\n\n // We're in node\n // TODO: RSCs\n // if (reactDom.createFromNodeStream) {\n // const stream = await import('node:stream')\n\n // let body: any = input\n\n // // Unwrap the response\n // if (input instanceof Response) {\n // body = input.body\n // }\n\n // // Convert ReadableStream to NodeJS stream.Readable\n // if (body instanceof ReadableStream) {\n // body = stream.Readable.fromWeb(body as any)\n // }\n\n // if (stream.Readable.isReadable(body)) {\n // // body = copyStreamToRaw(body)\n // } else if (input.text) {\n // // create a readable stream by awaiting the text method\n // body = new stream.Readable({\n // async read() {\n // input.text().then((value: any) => {\n // this.push(value)\n // this.push(null)\n // })\n // },\n // })\n // } else {\n // console.error('input', input)\n // throw new Error('Unexpected rsc input type 👆')\n // }\n\n // element = await reactDom.createFromNodeStream(body)\n // } else {\n // // We're in the browser\n // if (input.body instanceof ReadableStream) {\n // input = input.body\n // }\n\n // if (input instanceof ReadableStream) {\n // element = await reactDom.createFromReadableStream(input)\n // }\n\n // if (input instanceof Response) {\n // // copy to the response body to cache the raw data\n // element = await reactDom.createFromFetch(input)\n // }\n // }\n\n // return element\n\n invariant(false, 'renderRSC() is coming soon!')\n })\n .then((element) => {\n input.state.value = element\n input.state.status = 'success'\n })\n .catch((err) => {\n input.state.status = 'error'\n input.state.error = err\n }),\n }\n }\n\n if (input.state.status === 'pending') {\n throw input.state.promise\n }\n\n return input.state.value\n}\n"],"names":["renderRsc","input","state","status","promise","Promise","resolve","then","invariant","element","value","catch","err","error"],"mappings":";;;AAOO,SAASA,UAAUC,OAA+B;AAMvD,MAAI,OAAOA,UAAU,YAAY,CAACA,MAAMC,OAAO;AAC7CD,UAAMC,QAAQ;AAAA,MACZC,QAAQ;AAAA,MACRC,SAASC,QAAQC,QAAQ,EACtBC,KAAK,MAAM;AAwDVC,kBAAU,OAAO,6BAA6B;AAAA,MAAA,CAC/C,EACAD,KAAME,CAAY,YAAA;AACjBR,cAAMC,MAAMQ,QAAQD;AACpBR,cAAMC,MAAMC,SAAS;AAAA,MAAA,CACtB,EACAQ,MAAOC,CAAQ,QAAA;AACdX,cAAMC,MAAMC,SAAS;AACrBF,cAAMC,MAAMW,QAAQD;AAAAA,MACrB,CAAA;AAAA,IACL;AAAA,EAAA;AAGEX,MAAAA,MAAMC,MAAMC,WAAW,WAAW;AACpC,UAAMF,MAAMC,MAAME;AAAAA,EAAAA;AAGpB,SAAOH,MAAMC,MAAMQ;AACrB;;"}
import type * as Solid from 'solid-js';
export declare function renderRsc(input: any): Solid.JSX.Element;
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const web = require("solid-js/web");
const solidRouter = require("@tanstack/solid-router");
const Scripts = () => {
if (process.env.NODE_ENV === "development") {
console.warn("The Scripts component was moved to `@tanstack/solid-router`");
}
return web.createComponent(solidRouter.Scripts, {});
};
exports.Scripts = Scripts;
//# sourceMappingURL=Scripts.cjs.map
{"version":3,"file":"Scripts.cjs","sources":["../../src/Scripts.tsx"],"sourcesContent":["import { Scripts as RouterScripts } from '@tanstack/solid-router'\n\nexport const Scripts = () => {\n if (process.env.NODE_ENV === 'development') {\n console.warn('The Scripts component was moved to `@tanstack/solid-router`')\n }\n return <RouterScripts />\n}\n"],"names":["Scripts","process","env","NODE_ENV","console","warn","_$createComponent","RouterScripts"],"mappings":";;;;AAEO,MAAMA,UAAUA,MAAM;AACvBC,MAAAA,QAAQC,IAAIC,aAAa,eAAe;AAC1CC,YAAQC,KAAK,6DAA6D;AAAA,EAAA;AAE5EC,SAAAA,IAAAA,gBAAQC,YAAa,SAAA,EAAA;AACvB;;"}
export declare const Scripts: () => import("solid-js").JSX.Element;
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const web = require("solid-js/web");
const solidRouter = require("@tanstack/solid-router");
const startClientCore = require("@tanstack/start-client-core");
let hydrationPromise;
const Dummy = (props) => web.memo(() => props.children);
function StartClient(props) {
if (!hydrationPromise) {
if (!props.router.state.matches.length) {
hydrationPromise = startClientCore.hydrate(props.router);
} else {
hydrationPromise = Promise.resolve();
}
}
return web.createComponent(solidRouter.Await, {
promise: hydrationPromise,
children: () => web.createComponent(Dummy, {
get children() {
return web.createComponent(Dummy, {
get children() {
return web.createComponent(solidRouter.RouterProvider, {
get router() {
return props.router;
},
InnerWrap: (props2) => web.createComponent(Dummy, {
get children() {
return [web.createComponent(Dummy, {
get children() {
return [web.createComponent(solidRouter.HeadContent, {}), web.memo(() => props2.children)];
}
}), web.createComponent(Dummy, {})];
}
})
});
}
});
}
})
});
}
exports.StartClient = StartClient;
//# sourceMappingURL=StartClient.cjs.map
{"version":3,"file":"StartClient.cjs","sources":["../../src/StartClient.tsx"],"sourcesContent":["import { Await, HeadContent, RouterProvider } from '@tanstack/solid-router'\nimport { hydrate } from '@tanstack/start-client-core'\nimport type { AnyRouter } from '@tanstack/router-core'\nimport type { JSXElement } from 'solid-js'\n\nlet hydrationPromise: Promise<void | Array<Array<void>>> | undefined\n\nconst Dummy = (props: { children?: JSXElement }) => <>{props.children}</>\n\nexport function StartClient(props: { router: AnyRouter }) {\n if (!hydrationPromise) {\n if (!props.router.state.matches.length) {\n hydrationPromise = hydrate(props.router)\n } else {\n hydrationPromise = Promise.resolve()\n }\n }\n return (\n <Await\n promise={hydrationPromise}\n children={() => (\n <Dummy>\n <Dummy>\n <RouterProvider\n router={props.router}\n InnerWrap={(props) => (\n <Dummy>\n <Dummy>\n <HeadContent />\n {props.children}\n </Dummy>\n <Dummy />\n </Dummy>\n )}\n />\n </Dummy>\n </Dummy>\n )}\n />\n )\n}\n"],"names":["hydrationPromise","Dummy","props","_$memo","children","StartClient","router","state","matches","length","hydrate","Promise","resolve","_$createComponent","Await","promise","RouterProvider","InnerWrap","HeadContent"],"mappings":";;;;;AAKA,IAAIA;AAEJ,MAAMC,QAAQA,CAACC,UAAgCC,IAAA,KAAA,MAAQD,MAAME,QAAQ;AAE9D,SAASC,YAAYH,OAA8B;AACxD,MAAI,CAACF,kBAAkB;AACrB,QAAI,CAACE,MAAMI,OAAOC,MAAMC,QAAQC,QAAQ;AACnBC,yBAAAA,gBAAAA,QAAQR,MAAMI,MAAM;AAAA,IAAA,OAClC;AACLN,yBAAmBW,QAAQC,QAAQ;AAAA,IAAA;AAAA,EACrC;AAEF,SAAAC,IAAAA,gBACGC,YAAAA,OAAK;AAAA,IACJC,SAASf;AAAAA,IACTI,UAAUA,MAAAS,IAAAA,gBACPZ,OAAK;AAAA,MAAA,IAAAG,WAAA;AAAA,eAAAS,IAAAA,gBACHZ,OAAK;AAAA,UAAA,IAAAG,WAAA;AAAA,mBAAAS,IAAAA,gBACHG,YAAAA,gBAAc;AAAA,cAAA,IACbV,SAAM;AAAA,uBAAEJ,MAAMI;AAAAA,cAAM;AAAA,cACpBW,WAAYf,CAAAA,WAAKW,IAAAA,gBACdZ,OAAK;AAAA,gBAAA,IAAAG,WAAA;AAAAS,yBAAAA,CAAAA,oBACHZ,OAAK;AAAA,oBAAA,IAAAG,WAAA;AAAAS,6BAAAA,CAAAA,IAAAA,gBACHK,YAAAA,aAAW,CAAA,CAAA,GAAAf,IAAAA,KACXD,MAAAA,OAAME,QAAQ,CAAA;AAAA,oBAAA;AAAA,kBAAAS,CAAAA,GAAAA,IAAAA,gBAEhBZ,OAAK,CAAA,CAAA,CAAA;AAAA,gBAAA;AAAA,cAAA,CAAA;AAAA,YAAA,CAET;AAAA,UAAA;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAIR;AAGP;;"}
import { AnyRouter } from '@tanstack/router-core';
export declare function StartClient(props: {
router: AnyRouter;
}): import("solid-js").JSX.Element;
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const routerCore = require("@tanstack/router-core");
const solidRouter = require("@tanstack/solid-router");
function useServerFn(serverFn) {
const router = solidRouter.useRouter();
return async (...args) => {
try {
const res = await serverFn(...args);
if (routerCore.isRedirect(res)) {
throw res;
}
return res;
} catch (err) {
if (routerCore.isRedirect(err)) {
err.options._fromLocation = router.state.location;
return router.navigate(router.resolveRedirect(err).options);
}
throw err;
}
};
}
exports.useServerFn = useServerFn;
//# sourceMappingURL=useServerFn.cjs.map
{"version":3,"file":"useServerFn.cjs","sources":["../../src/useServerFn.ts"],"sourcesContent":["import { isRedirect } from '@tanstack/router-core'\nimport { useRouter } from '@tanstack/solid-router'\n\nexport function useServerFn<T extends (...deps: Array<any>) => Promise<any>>(\n serverFn: T,\n): (...args: Parameters<T>) => ReturnType<T> {\n const router = useRouter()\n\n return (async (...args: Array<any>) => {\n try {\n const res = await serverFn(...args)\n\n if (isRedirect(res)) {\n throw res\n }\n\n return res\n } catch (err) {\n if (isRedirect(err)) {\n err.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(err).options)\n }\n\n throw err\n }\n }) as any\n}\n"],"names":["useRouter","isRedirect"],"mappings":";;;;AAGO,SAAS,YACd,UAC2C;AAC3C,QAAM,SAASA,YAAAA,UAAU;AAEzB,SAAQ,UAAU,SAAqB;AACjC,QAAA;AACF,YAAM,MAAM,MAAM,SAAS,GAAG,IAAI;AAE9B,UAAAC,WAAAA,WAAW,GAAG,GAAG;AACb,cAAA;AAAA,MAAA;AAGD,aAAA;AAAA,aACA,KAAK;AACR,UAAAA,WAAAA,WAAW,GAAG,GAAG;AACf,YAAA,QAAQ,gBAAgB,OAAO,MAAM;AACzC,eAAO,OAAO,SAAS,OAAO,gBAAgB,GAAG,EAAE,OAAO;AAAA,MAAA;AAGtD,YAAA;AAAA,IAAA;AAAA,EAEV;AACF;;"}
export declare function useServerFn<T extends (...deps: Array<any>) => Promise<any>>(serverFn: T): (...args: Parameters<T>) => ReturnType<T>;
export { mergeHeaders, startSerializer, createIsomorphicFn, createServerFn, createMiddleware, registerGlobalMiddleware, globalMiddleware, serverOnly, clientOnly, json, } from '@tanstack/start-client-core';
export { type DehydratedRouter, type ClientExtractedBaseEntry, type StartSsrGlobal, type ClientExtractedEntry, type SsrMatch, type ClientExtractedPromise, type ClientExtractedStream, type ResolvePromiseState, type IsomorphicFn, type ServerOnlyFn, type ClientOnlyFn, type IsomorphicFnBase, type ServerFn as FetchFn, type ServerFnCtx as FetchFnCtx, type CompiledFetcherFnOptions, type CompiledFetcherFn, type Fetcher, type OptionalFetcher, type RequiredFetcher, type RscStream, type FetcherData, type FetcherBaseOptions, type ServerFn, type ServerFnCtx, type ServerFnResponseType, type JsonResponse, type IntersectAllValidatorInputs, type IntersectAllValidatorOutputs, type FunctionMiddlewareServerFn, type AnyFunctionMiddleware, type FunctionMiddlewareOptions, type FunctionMiddlewareWithTypes, type FunctionMiddlewareValidator, type FunctionMiddlewareServer, type FunctionMiddlewareAfterClient, type FunctionMiddlewareAfterServer, type FunctionMiddleware, type FunctionMiddlewareClientFnOptions, type FunctionMiddlewareClientFnResult, type FunctionMiddlewareClientNextFn, type FunctionClientResultWithContext, type AssignAllClientContextBeforeNext, type AssignAllMiddleware, type AssignAllServerContext, type FunctionMiddlewareAfterValidator, type FunctionMiddlewareClientFn, type FunctionMiddlewareServerFnResult, type FunctionMiddlewareClient, type FunctionMiddlewareServerFnOptions, type FunctionMiddlewareServerNextFn, type FunctionServerResultWithContext, } from '@tanstack/start-client-core';
export { Meta } from './Meta.js';
export { Scripts } from './Scripts.js';
export { StartClient } from './StartClient.js';
export { renderRsc } from './renderRSC.js';
export { useServerFn } from './useServerFn.js';
import { clientOnly, createIsomorphicFn, createMiddleware, createServerFn, globalMiddleware, json, mergeHeaders, registerGlobalMiddleware, serverOnly, startSerializer } from "@tanstack/start-client-core";
import { Meta } from "./Meta.js";
import { Scripts } from "./Scripts.js";
import { StartClient } from "./StartClient.js";
import { renderRsc } from "./renderRSC.js";
import { useServerFn } from "./useServerFn.js";
export {
Meta,
Scripts,
StartClient,
clientOnly,
createIsomorphicFn,
createMiddleware,
createServerFn,
globalMiddleware,
json,
mergeHeaders,
registerGlobalMiddleware,
renderRsc,
serverOnly,
startSerializer,
useServerFn
};
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
export declare const Meta: () => import("solid-js").JSX.Element;
import { createComponent } from "solid-js/web";
import { HeadContent } from "@tanstack/solid-router";
const Meta = () => {
if (process.env.NODE_ENV === "development") {
console.warn("The Meta component is deprecated. Use `HeadContent` from `@tanstack/solid-router` instead.");
}
return createComponent(HeadContent, {});
};
export {
Meta
};
//# sourceMappingURL=Meta.js.map
{"version":3,"file":"Meta.js","sources":["../../src/Meta.tsx"],"sourcesContent":["import { HeadContent } from '@tanstack/solid-router'\n\nexport const Meta = () => {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n 'The Meta component is deprecated. Use `HeadContent` from `@tanstack/solid-router` instead.',\n )\n }\n return <HeadContent />\n}\n"],"names":["Meta","process","env","NODE_ENV","console","warn","_$createComponent","HeadContent"],"mappings":";;AAEO,MAAMA,OAAOA,MAAM;AACpBC,MAAAA,QAAQC,IAAIC,aAAa,eAAe;AAC1CC,YAAQC,KACN,4FACF;AAAA,EAAA;AAEFC,SAAAA,gBAAQC,aAAW,EAAA;AACrB;"}
import type * as Solid from 'solid-js';
export declare function renderRsc(input: any): Solid.JSX.Element;
import invariant from "tiny-invariant";
function renderRsc(input) {
if (typeof input === "object" && !input.state) {
input.state = {
status: "pending",
promise: Promise.resolve().then(() => {
invariant(false, "renderRSC() is coming soon!");
}).then((element) => {
input.state.value = element;
input.state.status = "success";
}).catch((err) => {
input.state.status = "error";
input.state.error = err;
})
};
}
if (input.state.status === "pending") {
throw input.state.promise;
}
return input.state.value;
}
export {
renderRsc
};
//# sourceMappingURL=renderRSC.js.map
{"version":3,"file":"renderRSC.js","sources":["../../src/renderRSC.tsx"],"sourcesContent":["// TODO: RSCs\n// // @ts-expect-error\n// import * as reactDom from 'react-server-dom/client'\n// import { isValidElement } from 'solid-js'\nimport invariant from 'tiny-invariant'\nimport type * as Solid from 'solid-js'\n\nexport function renderRsc(input: any): Solid.JSX.Element {\n // TODO: isValidElement\n // if (isValidElement(input)) {\n // return input\n // }\n\n if (typeof input === 'object' && !input.state) {\n input.state = {\n status: 'pending',\n promise: Promise.resolve()\n .then(() => {\n let element\n\n // We're in node\n // TODO: RSCs\n // if (reactDom.createFromNodeStream) {\n // const stream = await import('node:stream')\n\n // let body: any = input\n\n // // Unwrap the response\n // if (input instanceof Response) {\n // body = input.body\n // }\n\n // // Convert ReadableStream to NodeJS stream.Readable\n // if (body instanceof ReadableStream) {\n // body = stream.Readable.fromWeb(body as any)\n // }\n\n // if (stream.Readable.isReadable(body)) {\n // // body = copyStreamToRaw(body)\n // } else if (input.text) {\n // // create a readable stream by awaiting the text method\n // body = new stream.Readable({\n // async read() {\n // input.text().then((value: any) => {\n // this.push(value)\n // this.push(null)\n // })\n // },\n // })\n // } else {\n // console.error('input', input)\n // throw new Error('Unexpected rsc input type 👆')\n // }\n\n // element = await reactDom.createFromNodeStream(body)\n // } else {\n // // We're in the browser\n // if (input.body instanceof ReadableStream) {\n // input = input.body\n // }\n\n // if (input instanceof ReadableStream) {\n // element = await reactDom.createFromReadableStream(input)\n // }\n\n // if (input instanceof Response) {\n // // copy to the response body to cache the raw data\n // element = await reactDom.createFromFetch(input)\n // }\n // }\n\n // return element\n\n invariant(false, 'renderRSC() is coming soon!')\n })\n .then((element) => {\n input.state.value = element\n input.state.status = 'success'\n })\n .catch((err) => {\n input.state.status = 'error'\n input.state.error = err\n }),\n }\n }\n\n if (input.state.status === 'pending') {\n throw input.state.promise\n }\n\n return input.state.value\n}\n"],"names":["renderRsc","input","state","status","promise","Promise","resolve","then","invariant","element","value","catch","err","error"],"mappings":";AAOO,SAASA,UAAUC,OAA+B;AAMvD,MAAI,OAAOA,UAAU,YAAY,CAACA,MAAMC,OAAO;AAC7CD,UAAMC,QAAQ;AAAA,MACZC,QAAQ;AAAA,MACRC,SAASC,QAAQC,QAAQ,EACtBC,KAAK,MAAM;AAwDVC,kBAAU,OAAO,6BAA6B;AAAA,MAAA,CAC/C,EACAD,KAAME,CAAY,YAAA;AACjBR,cAAMC,MAAMQ,QAAQD;AACpBR,cAAMC,MAAMC,SAAS;AAAA,MAAA,CACtB,EACAQ,MAAOC,CAAQ,QAAA;AACdX,cAAMC,MAAMC,SAAS;AACrBF,cAAMC,MAAMW,QAAQD;AAAAA,MACrB,CAAA;AAAA,IACL;AAAA,EAAA;AAGEX,MAAAA,MAAMC,MAAMC,WAAW,WAAW;AACpC,UAAMF,MAAMC,MAAME;AAAAA,EAAAA;AAGpB,SAAOH,MAAMC,MAAMQ;AACrB;"}
export declare const Scripts: () => import("solid-js").JSX.Element;
import { createComponent } from "solid-js/web";
import { Scripts as Scripts$1 } from "@tanstack/solid-router";
const Scripts = () => {
if (process.env.NODE_ENV === "development") {
console.warn("The Scripts component was moved to `@tanstack/solid-router`");
}
return createComponent(Scripts$1, {});
};
export {
Scripts
};
//# sourceMappingURL=Scripts.js.map
{"version":3,"file":"Scripts.js","sources":["../../src/Scripts.tsx"],"sourcesContent":["import { Scripts as RouterScripts } from '@tanstack/solid-router'\n\nexport const Scripts = () => {\n if (process.env.NODE_ENV === 'development') {\n console.warn('The Scripts component was moved to `@tanstack/solid-router`')\n }\n return <RouterScripts />\n}\n"],"names":["Scripts","process","env","NODE_ENV","console","warn","_$createComponent","RouterScripts"],"mappings":";;AAEO,MAAMA,UAAUA,MAAM;AACvBC,MAAAA,QAAQC,IAAIC,aAAa,eAAe;AAC1CC,YAAQC,KAAK,6DAA6D;AAAA,EAAA;AAE5EC,SAAAA,gBAAQC,WAAa,EAAA;AACvB;"}
import { AnyRouter } from '@tanstack/router-core';
export declare function StartClient(props: {
router: AnyRouter;
}): import("solid-js").JSX.Element;
import { createComponent, memo } from "solid-js/web";
import { Await, RouterProvider, HeadContent } from "@tanstack/solid-router";
import { hydrate } from "@tanstack/start-client-core";
let hydrationPromise;
const Dummy = (props) => memo(() => props.children);
function StartClient(props) {
if (!hydrationPromise) {
if (!props.router.state.matches.length) {
hydrationPromise = hydrate(props.router);
} else {
hydrationPromise = Promise.resolve();
}
}
return createComponent(Await, {
promise: hydrationPromise,
children: () => createComponent(Dummy, {
get children() {
return createComponent(Dummy, {
get children() {
return createComponent(RouterProvider, {
get router() {
return props.router;
},
InnerWrap: (props2) => createComponent(Dummy, {
get children() {
return [createComponent(Dummy, {
get children() {
return [createComponent(HeadContent, {}), memo(() => props2.children)];
}
}), createComponent(Dummy, {})];
}
})
});
}
});
}
})
});
}
export {
StartClient
};
//# sourceMappingURL=StartClient.js.map
{"version":3,"file":"StartClient.js","sources":["../../src/StartClient.tsx"],"sourcesContent":["import { Await, HeadContent, RouterProvider } from '@tanstack/solid-router'\nimport { hydrate } from '@tanstack/start-client-core'\nimport type { AnyRouter } from '@tanstack/router-core'\nimport type { JSXElement } from 'solid-js'\n\nlet hydrationPromise: Promise<void | Array<Array<void>>> | undefined\n\nconst Dummy = (props: { children?: JSXElement }) => <>{props.children}</>\n\nexport function StartClient(props: { router: AnyRouter }) {\n if (!hydrationPromise) {\n if (!props.router.state.matches.length) {\n hydrationPromise = hydrate(props.router)\n } else {\n hydrationPromise = Promise.resolve()\n }\n }\n return (\n <Await\n promise={hydrationPromise}\n children={() => (\n <Dummy>\n <Dummy>\n <RouterProvider\n router={props.router}\n InnerWrap={(props) => (\n <Dummy>\n <Dummy>\n <HeadContent />\n {props.children}\n </Dummy>\n <Dummy />\n </Dummy>\n )}\n />\n </Dummy>\n </Dummy>\n )}\n />\n )\n}\n"],"names":["hydrationPromise","Dummy","props","_$memo","children","StartClient","router","state","matches","length","hydrate","Promise","resolve","_$createComponent","Await","promise","RouterProvider","InnerWrap","HeadContent"],"mappings":";;;AAKA,IAAIA;AAEJ,MAAMC,QAAQA,CAACC,UAAgCC,KAAA,MAAQD,MAAME,QAAQ;AAE9D,SAASC,YAAYH,OAA8B;AACxD,MAAI,CAACF,kBAAkB;AACrB,QAAI,CAACE,MAAMI,OAAOC,MAAMC,QAAQC,QAAQ;AACnBC,yBAAAA,QAAQR,MAAMI,MAAM;AAAA,IAAA,OAClC;AACLN,yBAAmBW,QAAQC,QAAQ;AAAA,IAAA;AAAA,EACrC;AAEF,SAAAC,gBACGC,OAAK;AAAA,IACJC,SAASf;AAAAA,IACTI,UAAUA,MAAAS,gBACPZ,OAAK;AAAA,MAAA,IAAAG,WAAA;AAAA,eAAAS,gBACHZ,OAAK;AAAA,UAAA,IAAAG,WAAA;AAAA,mBAAAS,gBACHG,gBAAc;AAAA,cAAA,IACbV,SAAM;AAAA,uBAAEJ,MAAMI;AAAAA,cAAM;AAAA,cACpBW,WAAYf,CAAAA,WAAKW,gBACdZ,OAAK;AAAA,gBAAA,IAAAG,WAAA;AAAAS,yBAAAA,CAAAA,gBACHZ,OAAK;AAAA,oBAAA,IAAAG,WAAA;AAAAS,6BAAAA,CAAAA,gBACHK,aAAW,CAAA,CAAA,GAAAf,KACXD,MAAAA,OAAME,QAAQ,CAAA;AAAA,oBAAA;AAAA,kBAAAS,CAAAA,GAAAA,gBAEhBZ,OAAK,CAAA,CAAA,CAAA;AAAA,gBAAA;AAAA,cAAA,CAAA;AAAA,YAAA,CAET;AAAA,UAAA;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAIR;AAGP;"}
export declare function useServerFn<T extends (...deps: Array<any>) => Promise<any>>(serverFn: T): (...args: Parameters<T>) => ReturnType<T>;
import { isRedirect } from "@tanstack/router-core";
import { useRouter } from "@tanstack/solid-router";
function useServerFn(serverFn) {
const router = useRouter();
return async (...args) => {
try {
const res = await serverFn(...args);
if (isRedirect(res)) {
throw res;
}
return res;
} catch (err) {
if (isRedirect(err)) {
err.options._fromLocation = router.state.location;
return router.navigate(router.resolveRedirect(err).options);
}
throw err;
}
};
}
export {
useServerFn
};
//# sourceMappingURL=useServerFn.js.map
{"version":3,"file":"useServerFn.js","sources":["../../src/useServerFn.ts"],"sourcesContent":["import { isRedirect } from '@tanstack/router-core'\nimport { useRouter } from '@tanstack/solid-router'\n\nexport function useServerFn<T extends (...deps: Array<any>) => Promise<any>>(\n serverFn: T,\n): (...args: Parameters<T>) => ReturnType<T> {\n const router = useRouter()\n\n return (async (...args: Array<any>) => {\n try {\n const res = await serverFn(...args)\n\n if (isRedirect(res)) {\n throw res\n }\n\n return res\n } catch (err) {\n if (isRedirect(err)) {\n err.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(err).options)\n }\n\n throw err\n }\n }) as any\n}\n"],"names":[],"mappings":";;AAGO,SAAS,YACd,UAC2C;AAC3C,QAAM,SAAS,UAAU;AAEzB,SAAQ,UAAU,SAAqB;AACjC,QAAA;AACF,YAAM,MAAM,MAAM,SAAS,GAAG,IAAI;AAE9B,UAAA,WAAW,GAAG,GAAG;AACb,cAAA;AAAA,MAAA;AAGD,aAAA;AAAA,aACA,KAAK;AACR,UAAA,WAAW,GAAG,GAAG;AACf,YAAA,QAAQ,gBAAgB,OAAO,MAAM;AACzC,eAAO,OAAO,SAAS,OAAO,gBAAgB,GAAG,EAAE,OAAO;AAAA,MAAA;AAGtD,YAAA;AAAA,IAAA;AAAA,EAEV;AACF;"}
+4
-4
{
"name": "@tanstack/solid-start-client",
"version": "1.121.20",
"version": "1.121.21",
"description": "Modern and scalable routing for Solid applications",

@@ -54,5 +54,5 @@ "author": "Tanner Linsley",

"tiny-warning": "^1.0.3",
"@tanstack/solid-router": "^1.121.20",
"@tanstack/router-core": "^1.121.20",
"@tanstack/start-client-core": "^1.121.20"
"@tanstack/solid-router": "^1.121.21",
"@tanstack/router-core": "^1.121.21",
"@tanstack/start-client-core": "^1.121.21"
},

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