@tanstack/start-client-core 1.166.9 → 1.166.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/client/ServerFunctionSerializationAdapter.js +15 -14
- package/dist/esm/client/ServerFunctionSerializationAdapter.js.map +1 -1
- package/dist/esm/client/hydrateStart.js +26 -31
- package/dist/esm/client/hydrateStart.js.map +1 -1
- package/dist/esm/client/index.js +1 -4
- package/dist/esm/client-rpc/createClientRpc.js +16 -15
- package/dist/esm/client-rpc/createClientRpc.js.map +1 -1
- package/dist/esm/client-rpc/frame-decoder.js +229 -241
- package/dist/esm/client-rpc/frame-decoder.js.map +1 -1
- package/dist/esm/client-rpc/index.js +1 -4
- package/dist/esm/client-rpc/serverFnFetcher.js +210 -259
- package/dist/esm/client-rpc/serverFnFetcher.js.map +1 -1
- package/dist/esm/constants.js +41 -49
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/createMiddleware.js +25 -36
- package/dist/esm/createMiddleware.js.map +1 -1
- package/dist/esm/createServerFn.js +187 -261
- package/dist/esm/createServerFn.js.map +1 -1
- package/dist/esm/createStart.js +25 -29
- package/dist/esm/createStart.js.map +1 -1
- package/dist/esm/fake-start-entry.js +7 -8
- package/dist/esm/fake-start-entry.js.map +1 -1
- package/dist/esm/getDefaultSerovalPlugins.js +7 -11
- package/dist/esm/getDefaultSerovalPlugins.js.map +1 -1
- package/dist/esm/getGlobalStartContext.js +10 -13
- package/dist/esm/getGlobalStartContext.js.map +1 -1
- package/dist/esm/getRouterInstance.js +7 -6
- package/dist/esm/getRouterInstance.js.map +1 -1
- package/dist/esm/getStartContextServerOnly.js +7 -6
- package/dist/esm/getStartContextServerOnly.js.map +1 -1
- package/dist/esm/getStartOptions.js +7 -6
- package/dist/esm/getStartOptions.js.map +1 -1
- package/dist/esm/index.js +6 -37
- package/dist/esm/safeObjectMerge.js +24 -24
- package/dist/esm/safeObjectMerge.js.map +1 -1
- package/package.json +4 -4
- package/dist/esm/client/index.js.map +0 -1
- package/dist/esm/client-rpc/index.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { createSerializationAdapter } from "@tanstack/router-core";
|
|
2
1
|
import { TSS_SERVER_FUNCTION } from "../constants.js";
|
|
3
2
|
import { createClientRpc } from "../client-rpc/createClientRpc.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
3
|
+
import { createSerializationAdapter } from "@tanstack/router-core";
|
|
4
|
+
//#region src/client/ServerFunctionSerializationAdapter.ts
|
|
5
|
+
var ServerFunctionSerializationAdapter = createSerializationAdapter({
|
|
6
|
+
key: "$TSS/serverfn",
|
|
7
|
+
test: (v) => {
|
|
8
|
+
if (typeof v !== "function") return false;
|
|
9
|
+
if (!(TSS_SERVER_FUNCTION in v)) return false;
|
|
10
|
+
return !!v[TSS_SERVER_FUNCTION];
|
|
11
|
+
},
|
|
12
|
+
toSerializable: ({ serverFnMeta }) => ({ functionId: serverFnMeta.id }),
|
|
13
|
+
fromSerializable: ({ functionId }) => createClientRpc(functionId)
|
|
13
14
|
});
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=ServerFunctionSerializationAdapter.js.map
|
|
15
|
+
//#endregion
|
|
16
|
+
export { ServerFunctionSerializationAdapter };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=ServerFunctionSerializationAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerFunctionSerializationAdapter.js","sources":["../../../src/client/ServerFunctionSerializationAdapter.ts"],"sourcesContent":["import { createSerializationAdapter } from '@tanstack/router-core'\nimport { TSS_SERVER_FUNCTION } from '../constants'\nimport { createClientRpc } from '../client-rpc/createClientRpc'\n\nexport const ServerFunctionSerializationAdapter = createSerializationAdapter({\n key: '$TSS/serverfn',\n test: (v): v is { serverFnMeta: { id: string } } => {\n if (typeof v !== 'function') return false\n\n if (!(TSS_SERVER_FUNCTION in v)) return false\n\n return !!v[TSS_SERVER_FUNCTION]\n },\n toSerializable: ({ serverFnMeta }) => ({ functionId: serverFnMeta.id }),\n fromSerializable: ({ functionId }) => createClientRpc(functionId),\n})\n"],"
|
|
1
|
+
{"version":3,"file":"ServerFunctionSerializationAdapter.js","names":[],"sources":["../../../src/client/ServerFunctionSerializationAdapter.ts"],"sourcesContent":["import { createSerializationAdapter } from '@tanstack/router-core'\nimport { TSS_SERVER_FUNCTION } from '../constants'\nimport { createClientRpc } from '../client-rpc/createClientRpc'\n\nexport const ServerFunctionSerializationAdapter = createSerializationAdapter({\n key: '$TSS/serverfn',\n test: (v): v is { serverFnMeta: { id: string } } => {\n if (typeof v !== 'function') return false\n\n if (!(TSS_SERVER_FUNCTION in v)) return false\n\n return !!v[TSS_SERVER_FUNCTION]\n },\n toSerializable: ({ serverFnMeta }) => ({ functionId: serverFnMeta.id }),\n fromSerializable: ({ functionId }) => createClientRpc(functionId),\n})\n"],"mappings":";;;;AAIA,IAAa,qCAAqC,2BAA2B;CAC3E,KAAK;CACL,OAAO,MAA6C;AAClD,MAAI,OAAO,MAAM,WAAY,QAAO;AAEpC,MAAI,EAAE,uBAAuB,GAAI,QAAO;AAExC,SAAO,CAAC,CAAC,EAAE;;CAEb,iBAAiB,EAAE,oBAAoB,EAAE,YAAY,aAAa,IAAI;CACtE,mBAAmB,EAAE,iBAAiB,gBAAgB,WAAW;CAClE,CAAC"}
|
|
@@ -1,36 +1,31 @@
|
|
|
1
|
-
import { hydrate } from "@tanstack/router-core/ssr/client";
|
|
2
1
|
import { ServerFunctionSerializationAdapter } from "./ServerFunctionSerializationAdapter.js";
|
|
2
|
+
import { hydrate } from "@tanstack/router-core/ssr/client";
|
|
3
3
|
import { getRouter } from "#tanstack-router-entry";
|
|
4
4
|
import { startInstance } from "#tanstack-start-entry";
|
|
5
|
+
//#region src/client/hydrateStart.ts
|
|
5
6
|
async function hydrateStart() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
...{ serializationAdapters }
|
|
27
|
-
});
|
|
28
|
-
if (!router.state.matches.length) {
|
|
29
|
-
await hydrate(router);
|
|
30
|
-
}
|
|
31
|
-
return router;
|
|
7
|
+
const router = await getRouter();
|
|
8
|
+
let serializationAdapters;
|
|
9
|
+
if (startInstance) {
|
|
10
|
+
const startOptions = await startInstance.getOptions();
|
|
11
|
+
startOptions.serializationAdapters = startOptions.serializationAdapters ?? [];
|
|
12
|
+
window.__TSS_START_OPTIONS__ = startOptions;
|
|
13
|
+
serializationAdapters = startOptions.serializationAdapters;
|
|
14
|
+
router.options.defaultSsr = startOptions.defaultSsr;
|
|
15
|
+
} else {
|
|
16
|
+
serializationAdapters = [];
|
|
17
|
+
window.__TSS_START_OPTIONS__ = { serializationAdapters };
|
|
18
|
+
}
|
|
19
|
+
serializationAdapters.push(ServerFunctionSerializationAdapter);
|
|
20
|
+
if (router.options.serializationAdapters) serializationAdapters.push(...router.options.serializationAdapters);
|
|
21
|
+
router.update({
|
|
22
|
+
basepath: process.env.TSS_ROUTER_BASEPATH,
|
|
23
|
+
serializationAdapters
|
|
24
|
+
});
|
|
25
|
+
if (!router.state.matches.length) await hydrate(router);
|
|
26
|
+
return router;
|
|
32
27
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=hydrateStart.js.map
|
|
28
|
+
//#endregion
|
|
29
|
+
export { hydrateStart };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=hydrateStart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrateStart.js","sources":["../../../src/client/hydrateStart.ts"],"sourcesContent":["import { hydrate } from '@tanstack/router-core/ssr/client'\n\nimport { ServerFunctionSerializationAdapter } from './ServerFunctionSerializationAdapter'\nimport type { AnyStartInstanceOptions } from '../createStart'\nimport type { AnyRouter, AnySerializationAdapter } from '@tanstack/router-core'\n// eslint-disable-next-line import/no-duplicates,import/order\nimport { getRouter } from '#tanstack-router-entry'\n// eslint-disable-next-line import/no-duplicates,import/order\nimport { startInstance } from '#tanstack-start-entry'\n\nexport async function hydrateStart(): Promise<AnyRouter> {\n const router = await getRouter()\n\n let serializationAdapters: Array<AnySerializationAdapter>\n if (startInstance) {\n const startOptions = await startInstance.getOptions()\n startOptions.serializationAdapters =\n startOptions.serializationAdapters ?? []\n window.__TSS_START_OPTIONS__ = startOptions as AnyStartInstanceOptions\n serializationAdapters = startOptions.serializationAdapters\n router.options.defaultSsr = startOptions.defaultSsr\n } else {\n serializationAdapters = []\n window.__TSS_START_OPTIONS__ = {\n serializationAdapters,\n } as AnyStartInstanceOptions\n }\n\n serializationAdapters.push(ServerFunctionSerializationAdapter)\n if (router.options.serializationAdapters) {\n serializationAdapters.push(...router.options.serializationAdapters)\n }\n\n router.update({\n basepath: process.env.TSS_ROUTER_BASEPATH,\n ...{ serializationAdapters },\n })\n if (!router.state.matches.length) {\n await hydrate(router)\n }\n\n return router\n}\n"],"
|
|
1
|
+
{"version":3,"file":"hydrateStart.js","names":[],"sources":["../../../src/client/hydrateStart.ts"],"sourcesContent":["import { hydrate } from '@tanstack/router-core/ssr/client'\n\nimport { ServerFunctionSerializationAdapter } from './ServerFunctionSerializationAdapter'\nimport type { AnyStartInstanceOptions } from '../createStart'\nimport type { AnyRouter, AnySerializationAdapter } from '@tanstack/router-core'\n// eslint-disable-next-line import/no-duplicates,import/order\nimport { getRouter } from '#tanstack-router-entry'\n// eslint-disable-next-line import/no-duplicates,import/order\nimport { startInstance } from '#tanstack-start-entry'\n\nexport async function hydrateStart(): Promise<AnyRouter> {\n const router = await getRouter()\n\n let serializationAdapters: Array<AnySerializationAdapter>\n if (startInstance) {\n const startOptions = await startInstance.getOptions()\n startOptions.serializationAdapters =\n startOptions.serializationAdapters ?? []\n window.__TSS_START_OPTIONS__ = startOptions as AnyStartInstanceOptions\n serializationAdapters = startOptions.serializationAdapters\n router.options.defaultSsr = startOptions.defaultSsr\n } else {\n serializationAdapters = []\n window.__TSS_START_OPTIONS__ = {\n serializationAdapters,\n } as AnyStartInstanceOptions\n }\n\n serializationAdapters.push(ServerFunctionSerializationAdapter)\n if (router.options.serializationAdapters) {\n serializationAdapters.push(...router.options.serializationAdapters)\n }\n\n router.update({\n basepath: process.env.TSS_ROUTER_BASEPATH,\n ...{ serializationAdapters },\n })\n if (!router.state.matches.length) {\n await hydrate(router)\n }\n\n return router\n}\n"],"mappings":";;;;;AAUA,eAAsB,eAAmC;CACvD,MAAM,SAAS,MAAM,WAAW;CAEhC,IAAI;AACJ,KAAI,eAAe;EACjB,MAAM,eAAe,MAAM,cAAc,YAAY;AACrD,eAAa,wBACX,aAAa,yBAAyB,EAAE;AAC1C,SAAO,wBAAwB;AAC/B,0BAAwB,aAAa;AACrC,SAAO,QAAQ,aAAa,aAAa;QACpC;AACL,0BAAwB,EAAE;AAC1B,SAAO,wBAAwB,EAC7B,uBACD;;AAGH,uBAAsB,KAAK,mCAAmC;AAC9D,KAAI,OAAO,QAAQ,sBACjB,uBAAsB,KAAK,GAAG,OAAO,QAAQ,sBAAsB;AAGrE,QAAO,OAAO;EACZ,UAAU,QAAQ,IAAI;EACjB;EACN,CAAC;AACF,KAAI,CAAC,OAAO,MAAM,QAAQ,OACxB,OAAM,QAAQ,OAAO;AAGvB,QAAO"}
|
package/dist/esm/client/index.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { TSS_SERVER_FUNCTION } from "../constants.js";
|
|
2
2
|
import { getStartOptions } from "../getStartOptions.js";
|
|
3
3
|
import { serverFnFetcher } from "./serverFnFetcher.js";
|
|
4
|
+
//#region src/client-rpc/createClientRpc.ts
|
|
4
5
|
function createClientRpc(functionId) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
6
|
+
const url = process.env.TSS_SERVER_FN_BASE + functionId;
|
|
7
|
+
const serverFnMeta = { id: functionId };
|
|
8
|
+
const clientFn = (...args) => {
|
|
9
|
+
const startFetch = getStartOptions()?.serverFns?.fetch;
|
|
10
|
+
return serverFnFetcher(url, args, startFetch ?? fetch);
|
|
11
|
+
};
|
|
12
|
+
return Object.assign(clientFn, {
|
|
13
|
+
url,
|
|
14
|
+
serverFnMeta,
|
|
15
|
+
[TSS_SERVER_FUNCTION]: true
|
|
16
|
+
});
|
|
16
17
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=createClientRpc.js.map
|
|
18
|
+
//#endregion
|
|
19
|
+
export { createClientRpc };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=createClientRpc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createClientRpc.js","sources":["../../../src/client-rpc/createClientRpc.ts"],"sourcesContent":["import { TSS_SERVER_FUNCTION } from '../constants'\nimport { getStartOptions } from '../getStartOptions'\nimport { serverFnFetcher } from './serverFnFetcher'\nimport type { ClientFnMeta } from '../constants'\n\nexport function createClientRpc(functionId: string) {\n const url = process.env.TSS_SERVER_FN_BASE + functionId\n const serverFnMeta: ClientFnMeta = { id: functionId }\n\n const clientFn = (...args: Array<any>) => {\n const startFetch = getStartOptions()?.serverFns?.fetch\n return serverFnFetcher(url, args, startFetch ?? fetch)\n }\n\n return Object.assign(clientFn, {\n url,\n serverFnMeta,\n [TSS_SERVER_FUNCTION]: true,\n })\n}\n"],"
|
|
1
|
+
{"version":3,"file":"createClientRpc.js","names":[],"sources":["../../../src/client-rpc/createClientRpc.ts"],"sourcesContent":["import { TSS_SERVER_FUNCTION } from '../constants'\nimport { getStartOptions } from '../getStartOptions'\nimport { serverFnFetcher } from './serverFnFetcher'\nimport type { ClientFnMeta } from '../constants'\n\nexport function createClientRpc(functionId: string) {\n const url = process.env.TSS_SERVER_FN_BASE + functionId\n const serverFnMeta: ClientFnMeta = { id: functionId }\n\n const clientFn = (...args: Array<any>) => {\n const startFetch = getStartOptions()?.serverFns?.fetch\n return serverFnFetcher(url, args, startFetch ?? fetch)\n }\n\n return Object.assign(clientFn, {\n url,\n serverFnMeta,\n [TSS_SERVER_FUNCTION]: true,\n })\n}\n"],"mappings":";;;;AAKA,SAAgB,gBAAgB,YAAoB;CAClD,MAAM,MAAM,QAAQ,IAAI,qBAAqB;CAC7C,MAAM,eAA6B,EAAE,IAAI,YAAY;CAErD,MAAM,YAAY,GAAG,SAAqB;EACxC,MAAM,aAAa,iBAAiB,EAAE,WAAW;AACjD,SAAO,gBAAgB,KAAK,MAAM,cAAc,MAAM;;AAGxD,QAAO,OAAO,OAAO,UAAU;EAC7B;EACA;GACC,sBAAsB;EACxB,CAAC"}
|