New:Socket for Asana Is Now Available.Learn more
Get Started

@tanstack/react-start-client

Package Overview
Dependencies
Maintainers
7
Versions
495
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

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

Comparing version
1.166.29
to
1.166.30
+0
-1
dist/esm/index.d.ts
export { StartClient } from './StartClient.js';
export { renderRsc } from './renderRSC.js';
export { hydrateStart } from './hydrateStart.js';
+1
-2
import { hydrateStart } from "./hydrateStart.js";
import { StartClient } from "./StartClient.js";
import { renderRsc } from "./renderRSC.js";
export { StartClient, hydrateStart, renderRsc };
export { StartClient, hydrateStart };
{
"name": "@tanstack/react-start-client",
"version": "1.166.29",
"version": "1.166.30",
"description": "Modern and scalable routing for React applications",

@@ -48,3 +48,3 @@ "author": "Tanner Linsley",

"@tanstack/router-core": "1.168.9",
"@tanstack/start-client-core": "1.167.10"
"@tanstack/start-client-core": "1.167.11"
},

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

export { StartClient } from './StartClient'
export { renderRsc } from './renderRSC'
export { hydrateStart } from './hydrateStart'
import { default as React } from 'react';
export declare function renderRsc(input: any): React.JSX.Element;
import { isValidElement } from "react";
import { invariant } from "@tanstack/router-core";
//#region src/renderRSC.tsx
function renderRsc(input) {
if (isValidElement(input)) return input;
if (typeof input === "object" && !input.state) input.state = {
status: "pending",
promise: Promise.resolve().then(() => {
if (process.env.NODE_ENV !== "production") throw new Error("Invariant failed: renderRSC() is coming soon!");
invariant();
}).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;
}
//#endregion
export { renderRsc };
//# sourceMappingURL=renderRSC.js.map
{"version":3,"file":"renderRSC.js","names":[],"sources":["../../src/renderRSC.tsx"],"sourcesContent":["// TODO: RSCs\nimport { isValidElement } from 'react'\nimport { invariant } from '@tanstack/router-core'\nimport type React from 'react'\n\nexport function renderRsc(input: any): React.JSX.Element {\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 if (process.env.NODE_ENV !== 'production') {\n throw new Error('Invariant failed: renderRSC() is coming soon!')\n }\n\n invariant()\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"],"mappings":";;;AAKA,SAAgB,UAAU,OAA+B;AACvD,KAAI,eAAe,MAAM,CACvB,QAAO;AAGT,KAAI,OAAO,UAAU,YAAY,CAAC,MAAM,MACtC,OAAM,QAAQ;EACZ,QAAQ;EACR,SAAS,QAAQ,SAAS,CACvB,WAAW;AAwDV,OAAA,QAAA,IAAA,aAA6B,aAC3B,OAAM,IAAI,MAAM,gDAAgD;AAGlE,cAAW;IACX,CACD,MAAM,YAAY;AACjB,SAAM,MAAM,QAAQ;AACpB,SAAM,MAAM,SAAS;IACrB,CACD,OAAO,QAAQ;AACd,SAAM,MAAM,SAAS;AACrB,SAAM,MAAM,QAAQ;IACpB;EACL;AAGH,KAAI,MAAM,MAAM,WAAW,UACzB,OAAM,MAAM,MAAM;AAGpB,QAAO,MAAM,MAAM"}
// TODO: RSCs
import { isValidElement } from 'react'
import { invariant } from '@tanstack/router-core'
import type React from 'react'
export function renderRsc(input: any): React.JSX.Element {
if (isValidElement(input)) {
return input
}
if (typeof input === 'object' && !input.state) {
input.state = {
status: 'pending',
promise: Promise.resolve()
.then(() => {
let element
// We're in node
// TODO: RSCs
// if (reactDom.createFromNodeStream) {
// const stream = await import('node:stream')
// let body: any = input
// // Unwrap the response
// if (input instanceof Response) {
// body = input.body
// }
// // Convert ReadableStream to NodeJS stream.Readable
// if (body instanceof ReadableStream) {
// body = stream.Readable.fromWeb(body as any)
// }
// if (stream.Readable.isReadable(body)) {
// // body = copyStreamToRaw(body)
// } else if (input.text) {
// // create a readable stream by awaiting the text method
// body = new stream.Readable({
// async read() {
// input.text().then((value: any) => {
// this.push(value)
// this.push(null)
// })
// },
// })
// } else {
// console.error('input', input)
// throw new Error('Unexpected rsc input type 👆')
// }
// element = await reactDom.createFromNodeStream(body)
// } else {
// // We're in the browser
// if (input.body instanceof ReadableStream) {
// input = input.body
// }
// if (input instanceof ReadableStream) {
// element = await reactDom.createFromReadableStream(input)
// }
// if (input instanceof Response) {
// // copy to the response body to cache the raw data
// element = await reactDom.createFromFetch(input)
// }
// }
// return element
if (process.env.NODE_ENV !== 'production') {
throw new Error('Invariant failed: renderRSC() is coming soon!')
}
invariant()
})
.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
}