@tanstack/start-client-core 1.166.8 → 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
package/dist/esm/createStart.js
CHANGED
|
@@ -1,33 +1,29 @@
|
|
|
1
1
|
import { createMiddleware } from "./createMiddleware.js";
|
|
2
|
+
//#region src/createStart.ts
|
|
2
3
|
function dedupeSerializationAdapters(deduped, serializationAdapters) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
}
|
|
4
|
+
for (let i = 0, len = serializationAdapters.length; i < len; i++) {
|
|
5
|
+
const current = serializationAdapters[i];
|
|
6
|
+
if (!deduped.has(current)) {
|
|
7
|
+
deduped.add(current);
|
|
8
|
+
if (current.extends) dedupeSerializationAdapters(deduped, current.extends);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
12
11
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
},
|
|
27
|
-
createMiddleware
|
|
28
|
-
};
|
|
12
|
+
var createStart = (getOptions) => {
|
|
13
|
+
return {
|
|
14
|
+
getOptions: async () => {
|
|
15
|
+
const options = await getOptions();
|
|
16
|
+
if (options.serializationAdapters) {
|
|
17
|
+
const deduped = /* @__PURE__ */ new Set();
|
|
18
|
+
dedupeSerializationAdapters(deduped, options.serializationAdapters);
|
|
19
|
+
options.serializationAdapters = Array.from(deduped);
|
|
20
|
+
}
|
|
21
|
+
return options;
|
|
22
|
+
},
|
|
23
|
+
createMiddleware
|
|
24
|
+
};
|
|
29
25
|
};
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
//# sourceMappingURL=createStart.js.map
|
|
26
|
+
//#endregion
|
|
27
|
+
export { createStart };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=createStart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createStart.js","sources":["../../src/createStart.ts"],"sourcesContent":["import { createMiddleware } from './createMiddleware'\nimport type { TSS_SERVER_FUNCTION } from './constants'\nimport type {\n AnyFunctionMiddleware,\n AnyRequestMiddleware,\n CreateMiddlewareFn,\n} from './createMiddleware'\nimport type { CustomFetch } from './createServerFn'\nimport type {\n AnySerializationAdapter,\n Register,\n SSROption,\n} from '@tanstack/router-core'\n\nexport interface StartInstanceOptions<\n in out TSerializationAdapters,\n in out TDefaultSsr,\n in out TRequestMiddlewares,\n in out TFunctionMiddlewares,\n> {\n '~types': StartInstanceTypes<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >\n serializationAdapters?: TSerializationAdapters\n defaultSsr?: TDefaultSsr\n requestMiddleware?: TRequestMiddlewares\n functionMiddleware?: TFunctionMiddlewares\n /**\n * Configuration options for server functions.\n */\n serverFns?: {\n /**\n * A custom fetch implementation to use for all server function calls.\n * This can be overridden by middleware or at the call site.\n *\n * Precedence (highest to lowest):\n * 1. Call site: `serverFn({ fetch: customFetch })`\n * 2. Later middleware: Last middleware in chain that provides `fetch`\n * 3. Earlier middleware: First middleware in chain that provides `fetch`\n * 4. createStart: `createStart({ serverFns: { fetch: customFetch } })`\n * 5. Default: Global `fetch` function\n *\n * @note Only applies on the client side. During SSR, server functions are called directly.\n */\n fetch?: CustomFetch\n }\n}\n\nexport interface StartInstance<\n in out TSerializationAdapters,\n in out TDefaultSsr,\n in out TRequestMiddlewares,\n in out TFunctionMiddlewares,\n> {\n getOptions: () =>\n | Promise<\n StartInstanceOptions<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >\n >\n | StartInstanceOptions<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >\n createMiddleware: CreateMiddlewareFn<Register>\n}\n\nexport interface StartInstanceTypes<\n in out TSerializationAdapters,\n in out TDefaultSsr,\n in out TRequestMiddlewares,\n in out TFunctionMiddlewares,\n> {\n serializationAdapters: TSerializationAdapters\n defaultSsr: TDefaultSsr\n requestMiddleware: TRequestMiddlewares\n functionMiddleware: TFunctionMiddlewares\n}\n\nfunction dedupeSerializationAdapters(\n deduped: Set<AnySerializationAdapter>,\n serializationAdapters: Array<AnySerializationAdapter>,\n): void {\n for (let i = 0, len = serializationAdapters.length; i < len; i++) {\n const current = serializationAdapters[i]!\n if (!deduped.has(current)) {\n deduped.add(current)\n if (current.extends) {\n dedupeSerializationAdapters(deduped, current.extends)\n }\n }\n }\n}\n\nexport const createStart = <\n const TSerializationAdapters extends ReadonlyArray<AnySerializationAdapter> =\n [],\n TDefaultSsr extends SSROption = SSROption,\n const TRequestMiddlewares extends ReadonlyArray<AnyRequestMiddleware> = [],\n const TFunctionMiddlewares extends ReadonlyArray<AnyFunctionMiddleware> = [],\n>(\n getOptions: () =>\n | Promise<\n Omit<\n StartInstanceOptions<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >,\n '~types'\n >\n >\n | Omit<\n StartInstanceOptions<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >,\n '~types'\n >,\n): StartInstance<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n> => {\n return {\n getOptions: async () => {\n const options = await getOptions()\n if (options.serializationAdapters) {\n const deduped = new Set<AnySerializationAdapter>()\n dedupeSerializationAdapters(\n deduped,\n options.serializationAdapters as unknown as Array<AnySerializationAdapter>,\n )\n options.serializationAdapters = Array.from(deduped) as any\n }\n return options\n },\n createMiddleware: createMiddleware,\n } as StartInstance<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >\n}\n\nexport type AnyStartInstance = StartInstance<any, any, any, any>\nexport type AnyStartInstanceOptions = StartInstanceOptions<any, any, any, any>\n\ndeclare module '@tanstack/router-core' {\n interface SerializableExtensions {\n serverFn: { [TSS_SERVER_FUNCTION]: true }\n }\n}\n"],"
|
|
1
|
+
{"version":3,"file":"createStart.js","names":[],"sources":["../../src/createStart.ts"],"sourcesContent":["import { createMiddleware } from './createMiddleware'\nimport type { TSS_SERVER_FUNCTION } from './constants'\nimport type {\n AnyFunctionMiddleware,\n AnyRequestMiddleware,\n CreateMiddlewareFn,\n} from './createMiddleware'\nimport type { CustomFetch } from './createServerFn'\nimport type {\n AnySerializationAdapter,\n Register,\n SSROption,\n} from '@tanstack/router-core'\n\nexport interface StartInstanceOptions<\n in out TSerializationAdapters,\n in out TDefaultSsr,\n in out TRequestMiddlewares,\n in out TFunctionMiddlewares,\n> {\n '~types': StartInstanceTypes<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >\n serializationAdapters?: TSerializationAdapters\n defaultSsr?: TDefaultSsr\n requestMiddleware?: TRequestMiddlewares\n functionMiddleware?: TFunctionMiddlewares\n /**\n * Configuration options for server functions.\n */\n serverFns?: {\n /**\n * A custom fetch implementation to use for all server function calls.\n * This can be overridden by middleware or at the call site.\n *\n * Precedence (highest to lowest):\n * 1. Call site: `serverFn({ fetch: customFetch })`\n * 2. Later middleware: Last middleware in chain that provides `fetch`\n * 3. Earlier middleware: First middleware in chain that provides `fetch`\n * 4. createStart: `createStart({ serverFns: { fetch: customFetch } })`\n * 5. Default: Global `fetch` function\n *\n * @note Only applies on the client side. During SSR, server functions are called directly.\n */\n fetch?: CustomFetch\n }\n}\n\nexport interface StartInstance<\n in out TSerializationAdapters,\n in out TDefaultSsr,\n in out TRequestMiddlewares,\n in out TFunctionMiddlewares,\n> {\n getOptions: () =>\n | Promise<\n StartInstanceOptions<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >\n >\n | StartInstanceOptions<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >\n createMiddleware: CreateMiddlewareFn<Register>\n}\n\nexport interface StartInstanceTypes<\n in out TSerializationAdapters,\n in out TDefaultSsr,\n in out TRequestMiddlewares,\n in out TFunctionMiddlewares,\n> {\n serializationAdapters: TSerializationAdapters\n defaultSsr: TDefaultSsr\n requestMiddleware: TRequestMiddlewares\n functionMiddleware: TFunctionMiddlewares\n}\n\nfunction dedupeSerializationAdapters(\n deduped: Set<AnySerializationAdapter>,\n serializationAdapters: Array<AnySerializationAdapter>,\n): void {\n for (let i = 0, len = serializationAdapters.length; i < len; i++) {\n const current = serializationAdapters[i]!\n if (!deduped.has(current)) {\n deduped.add(current)\n if (current.extends) {\n dedupeSerializationAdapters(deduped, current.extends)\n }\n }\n }\n}\n\nexport const createStart = <\n const TSerializationAdapters extends ReadonlyArray<AnySerializationAdapter> =\n [],\n TDefaultSsr extends SSROption = SSROption,\n const TRequestMiddlewares extends ReadonlyArray<AnyRequestMiddleware> = [],\n const TFunctionMiddlewares extends ReadonlyArray<AnyFunctionMiddleware> = [],\n>(\n getOptions: () =>\n | Promise<\n Omit<\n StartInstanceOptions<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >,\n '~types'\n >\n >\n | Omit<\n StartInstanceOptions<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >,\n '~types'\n >,\n): StartInstance<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n> => {\n return {\n getOptions: async () => {\n const options = await getOptions()\n if (options.serializationAdapters) {\n const deduped = new Set<AnySerializationAdapter>()\n dedupeSerializationAdapters(\n deduped,\n options.serializationAdapters as unknown as Array<AnySerializationAdapter>,\n )\n options.serializationAdapters = Array.from(deduped) as any\n }\n return options\n },\n createMiddleware: createMiddleware,\n } as StartInstance<\n TSerializationAdapters,\n TDefaultSsr,\n TRequestMiddlewares,\n TFunctionMiddlewares\n >\n}\n\nexport type AnyStartInstance = StartInstance<any, any, any, any>\nexport type AnyStartInstanceOptions = StartInstanceOptions<any, any, any, any>\n\ndeclare module '@tanstack/router-core' {\n interface SerializableExtensions {\n serverFn: { [TSS_SERVER_FUNCTION]: true }\n }\n}\n"],"mappings":";;AAuFA,SAAS,4BACP,SACA,uBACM;AACN,MAAK,IAAI,IAAI,GAAG,MAAM,sBAAsB,QAAQ,IAAI,KAAK,KAAK;EAChE,MAAM,UAAU,sBAAsB;AACtC,MAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE;AACzB,WAAQ,IAAI,QAAQ;AACpB,OAAI,QAAQ,QACV,6BAA4B,SAAS,QAAQ,QAAQ;;;;AAM7D,IAAa,eAOX,eA0BG;AACH,QAAO;EACL,YAAY,YAAY;GACtB,MAAM,UAAU,MAAM,YAAY;AAClC,OAAI,QAAQ,uBAAuB;IACjC,MAAM,0BAAU,IAAI,KAA8B;AAClD,gCACE,SACA,QAAQ,sBACT;AACD,YAAQ,wBAAwB,MAAM,KAAK,QAAQ;;AAErD,UAAO;;EAES;EACnB"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
};
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=fake-start-entry.js.map
|
|
1
|
+
//#region src/fake-start-entry.ts
|
|
2
|
+
var startInstance = void 0;
|
|
3
|
+
var getRouter = () => {};
|
|
4
|
+
//#endregion
|
|
5
|
+
export { getRouter, startInstance };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=fake-start-entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-start-entry.js","sources":["../../src/fake-start-entry.ts"],"sourcesContent":["export const startInstance = undefined\nexport const getRouter = () => {}\n"],"
|
|
1
|
+
{"version":3,"file":"fake-start-entry.js","names":[],"sources":["../../src/fake-start-entry.ts"],"sourcesContent":["export const startInstance = undefined\nexport const getRouter = () => {}\n"],"mappings":";AAAA,IAAa,gBAAgB,KAAA;AAC7B,IAAa,kBAAkB"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
import { defaultSerovalPlugins, makeSerovalPlugin } from "@tanstack/router-core";
|
|
2
1
|
import { getStartOptions } from "./getStartOptions.js";
|
|
2
|
+
import { defaultSerovalPlugins, makeSerovalPlugin } from "@tanstack/router-core";
|
|
3
|
+
//#region src/getDefaultSerovalPlugins.ts
|
|
3
4
|
function getDefaultSerovalPlugins() {
|
|
4
|
-
|
|
5
|
-
const adapters = start?.serializationAdapters;
|
|
6
|
-
return [
|
|
7
|
-
...adapters?.map(makeSerovalPlugin) ?? [],
|
|
8
|
-
...defaultSerovalPlugins
|
|
9
|
-
];
|
|
5
|
+
return [...(getStartOptions()?.serializationAdapters)?.map(makeSerovalPlugin) ?? [], ...defaultSerovalPlugins];
|
|
10
6
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=getDefaultSerovalPlugins.js.map
|
|
7
|
+
//#endregion
|
|
8
|
+
export { getDefaultSerovalPlugins };
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=getDefaultSerovalPlugins.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDefaultSerovalPlugins.js","sources":["../../src/getDefaultSerovalPlugins.ts"],"sourcesContent":["import {\n makeSerovalPlugin,\n defaultSerovalPlugins as routerDefaultSerovalPlugins,\n} from '@tanstack/router-core'\nimport { getStartOptions } from './getStartOptions'\nimport type { AnySerializationAdapter } from '@tanstack/router-core'\n\nexport function getDefaultSerovalPlugins() {\n const start = getStartOptions()\n const adapters = start?.serializationAdapters as\n | Array<AnySerializationAdapter>\n | undefined\n return [\n ...(adapters?.map(makeSerovalPlugin) ?? []),\n ...routerDefaultSerovalPlugins,\n ]\n}\n"],"
|
|
1
|
+
{"version":3,"file":"getDefaultSerovalPlugins.js","names":[],"sources":["../../src/getDefaultSerovalPlugins.ts"],"sourcesContent":["import {\n makeSerovalPlugin,\n defaultSerovalPlugins as routerDefaultSerovalPlugins,\n} from '@tanstack/router-core'\nimport { getStartOptions } from './getStartOptions'\nimport type { AnySerializationAdapter } from '@tanstack/router-core'\n\nexport function getDefaultSerovalPlugins() {\n const start = getStartOptions()\n const adapters = start?.serializationAdapters as\n | Array<AnySerializationAdapter>\n | undefined\n return [\n ...(adapters?.map(makeSerovalPlugin) ?? []),\n ...routerDefaultSerovalPlugins,\n ]\n}\n"],"mappings":";;;AAOA,SAAgB,2BAA2B;AAKzC,QAAO,CACL,IALY,iBAAiB,EACP,wBAIR,IAAI,kBAAkB,IAAI,EAAE,EAC1C,GAAG,sBACJ"}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
|
-
import { getStartContext } from "@tanstack/start-storage-context";
|
|
2
1
|
import { createIsomorphicFn } from "@tanstack/start-fn-stubs";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
return context;
|
|
2
|
+
import { getStartContext } from "@tanstack/start-storage-context";
|
|
3
|
+
//#region src/getGlobalStartContext.ts
|
|
4
|
+
var getGlobalStartContext = createIsomorphicFn().client(() => void 0).server(() => {
|
|
5
|
+
const context = getStartContext().contextAfterGlobalMiddlewares;
|
|
6
|
+
if (!context) throw new Error(`Global context not set yet, you are calling getGlobalStartContext() before the global middlewares are applied.`);
|
|
7
|
+
return context;
|
|
11
8
|
});
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=getGlobalStartContext.js.map
|
|
9
|
+
//#endregion
|
|
10
|
+
export { getGlobalStartContext };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=getGlobalStartContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGlobalStartContext.js","sources":["../../src/getGlobalStartContext.ts"],"sourcesContent":["import { getStartContext } from '@tanstack/start-storage-context'\nimport { createIsomorphicFn } from '@tanstack/start-fn-stubs'\nimport type { AssignAllServerRequestContext } from './createMiddleware'\nimport type { Expand, Register } from '@tanstack/router-core'\n\nexport const getGlobalStartContext: () =>\n | Expand<AssignAllServerRequestContext<Register, []>>\n | undefined = createIsomorphicFn()\n .client(() => undefined)\n .server(() => {\n const context = getStartContext().contextAfterGlobalMiddlewares\n if (!context) {\n throw new Error(\n `Global context not set yet, you are calling getGlobalStartContext() before the global middlewares are applied.`,\n )\n }\n return context\n })\n"],"
|
|
1
|
+
{"version":3,"file":"getGlobalStartContext.js","names":[],"sources":["../../src/getGlobalStartContext.ts"],"sourcesContent":["import { getStartContext } from '@tanstack/start-storage-context'\nimport { createIsomorphicFn } from '@tanstack/start-fn-stubs'\nimport type { AssignAllServerRequestContext } from './createMiddleware'\nimport type { Expand, Register } from '@tanstack/router-core'\n\nexport const getGlobalStartContext: () =>\n | Expand<AssignAllServerRequestContext<Register, []>>\n | undefined = createIsomorphicFn()\n .client(() => undefined)\n .server(() => {\n const context = getStartContext().contextAfterGlobalMiddlewares\n if (!context) {\n throw new Error(\n `Global context not set yet, you are calling getGlobalStartContext() before the global middlewares are applied.`,\n )\n }\n return context\n })\n"],"mappings":";;;AAKA,IAAa,wBAEG,oBAAoB,CACjC,aAAa,KAAA,EAAU,CACvB,aAAa;CACZ,MAAM,UAAU,iBAAiB,CAAC;AAClC,KAAI,CAAC,QACH,OAAM,IAAI,MACR,iHACD;AAEH,QAAO;EACP"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { getStartContext } from "@tanstack/start-storage-context";
|
|
2
1
|
import { createIsomorphicFn } from "@tanstack/start-fn-stubs";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import { getStartContext } from "@tanstack/start-storage-context";
|
|
3
|
+
//#region src/getRouterInstance.ts
|
|
4
|
+
var getRouterInstance = createIsomorphicFn().client(() => window.__TSR_ROUTER__).server(() => getStartContext().getRouter());
|
|
5
|
+
//#endregion
|
|
6
|
+
export { getRouterInstance };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=getRouterInstance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRouterInstance.js","sources":["../../src/getRouterInstance.ts"],"sourcesContent":["import { getStartContext } from '@tanstack/start-storage-context'\nimport { createIsomorphicFn } from '@tanstack/start-fn-stubs'\nimport type { Awaitable, RegisteredRouter } from '@tanstack/router-core'\n\nexport const getRouterInstance: () => Awaitable<RegisteredRouter> =\n createIsomorphicFn()\n .client(() => window.__TSR_ROUTER__!)\n .server(() => getStartContext().getRouter())\n"],"
|
|
1
|
+
{"version":3,"file":"getRouterInstance.js","names":[],"sources":["../../src/getRouterInstance.ts"],"sourcesContent":["import { getStartContext } from '@tanstack/start-storage-context'\nimport { createIsomorphicFn } from '@tanstack/start-fn-stubs'\nimport type { Awaitable, RegisteredRouter } from '@tanstack/router-core'\n\nexport const getRouterInstance: () => Awaitable<RegisteredRouter> =\n createIsomorphicFn()\n .client(() => window.__TSR_ROUTER__!)\n .server(() => getStartContext().getRouter())\n"],"mappings":";;;AAIA,IAAa,oBACX,oBAAoB,CACjB,aAAa,OAAO,eAAgB,CACpC,aAAa,iBAAiB,CAAC,WAAW,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { getStartContext } from "@tanstack/start-storage-context";
|
|
2
1
|
import { createServerOnlyFn } from "@tanstack/start-fn-stubs";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import { getStartContext } from "@tanstack/start-storage-context";
|
|
3
|
+
//#region src/getStartContextServerOnly.ts
|
|
4
|
+
var getStartContextServerOnly = createServerOnlyFn(getStartContext);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { getStartContextServerOnly };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=getStartContextServerOnly.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStartContextServerOnly.js","sources":["../../src/getStartContextServerOnly.ts"],"sourcesContent":["import { getStartContext } from '@tanstack/start-storage-context'\nimport { createServerOnlyFn } from '@tanstack/start-fn-stubs'\n\nexport const getStartContextServerOnly = createServerOnlyFn(getStartContext)\n"],"
|
|
1
|
+
{"version":3,"file":"getStartContextServerOnly.js","names":[],"sources":["../../src/getStartContextServerOnly.ts"],"sourcesContent":["import { getStartContext } from '@tanstack/start-storage-context'\nimport { createServerOnlyFn } from '@tanstack/start-fn-stubs'\n\nexport const getStartContextServerOnly = createServerOnlyFn(getStartContext)\n"],"mappings":";;;AAGA,IAAa,4BAA4B,mBAAmB,gBAAgB"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { getStartContext } from "@tanstack/start-storage-context";
|
|
2
1
|
import { createIsomorphicFn } from "@tanstack/start-fn-stubs";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
import { getStartContext } from "@tanstack/start-storage-context";
|
|
3
|
+
//#region src/getStartOptions.ts
|
|
4
|
+
var getStartOptions = createIsomorphicFn().client(() => window.__TSS_START_OPTIONS__).server(() => getStartContext().startOptions);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { getStartOptions };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=getStartOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStartOptions.js","sources":["../../src/getStartOptions.ts"],"sourcesContent":["import { getStartContext } from '@tanstack/start-storage-context'\nimport { createIsomorphicFn } from '@tanstack/start-fn-stubs'\nimport type { AnyStartInstanceOptions } from './createStart'\n\nexport const getStartOptions: () => AnyStartInstanceOptions | undefined =\n createIsomorphicFn()\n .client(() => window.__TSS_START_OPTIONS__)\n .server(() => getStartContext().startOptions)\n"],"
|
|
1
|
+
{"version":3,"file":"getStartOptions.js","names":[],"sources":["../../src/getStartOptions.ts"],"sourcesContent":["import { getStartContext } from '@tanstack/start-storage-context'\nimport { createIsomorphicFn } from '@tanstack/start-fn-stubs'\nimport type { AnyStartInstanceOptions } from './createStart'\n\nexport const getStartOptions: () => AnyStartInstanceOptions | undefined =\n createIsomorphicFn()\n .client(() => window.__TSS_START_OPTIONS__)\n .server(() => getStartContext().startOptions)\n"],"mappings":";;;AAIA,IAAa,kBACX,oBAAoB,CACjB,aAAa,OAAO,sBAAsB,CAC1C,aAAa,iBAAiB,CAAC,aAAa"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,43 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { createClientOnlyFn, createIsomorphicFn, createServerOnlyFn } from "@tanstack/start-fn-stubs";
|
|
1
|
+
import { FRAME_HEADER_SIZE, FrameType, TSS_CONTENT_TYPE_FRAMED, TSS_CONTENT_TYPE_FRAMED_VERSIONED, TSS_FORMDATA_CONTEXT, TSS_FRAMED_PROTOCOL_VERSION, TSS_SERVER_FUNCTION, X_TSS_CONTEXT, X_TSS_RAW_RESPONSE, X_TSS_SERIALIZED, validateFramedProtocolVersion } from "./constants.js";
|
|
2
|
+
import { createNullProtoObject, safeObjectMerge } from "./safeObjectMerge.js";
|
|
4
3
|
import { createServerFn, execValidator, executeMiddleware, flattenMiddlewares } from "./createServerFn.js";
|
|
5
4
|
import { createMiddleware } from "./createMiddleware.js";
|
|
6
|
-
import { FRAME_HEADER_SIZE, FrameType, TSS_CONTENT_TYPE_FRAMED, TSS_CONTENT_TYPE_FRAMED_VERSIONED, TSS_FORMDATA_CONTEXT, TSS_FRAMED_PROTOCOL_VERSION, TSS_SERVER_FUNCTION, X_TSS_CONTEXT, X_TSS_RAW_RESPONSE, X_TSS_SERIALIZED, validateFramedProtocolVersion } from "./constants.js";
|
|
7
5
|
import { createStart } from "./createStart.js";
|
|
8
6
|
import { getRouterInstance } from "./getRouterInstance.js";
|
|
9
7
|
import { getDefaultSerovalPlugins } from "./getDefaultSerovalPlugins.js";
|
|
10
8
|
import { getGlobalStartContext } from "./getGlobalStartContext.js";
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
RawStream,
|
|
16
|
-
TSS_CONTENT_TYPE_FRAMED,
|
|
17
|
-
TSS_CONTENT_TYPE_FRAMED_VERSIONED,
|
|
18
|
-
TSS_FORMDATA_CONTEXT,
|
|
19
|
-
TSS_FRAMED_PROTOCOL_VERSION,
|
|
20
|
-
TSS_SERVER_FUNCTION,
|
|
21
|
-
X_TSS_CONTEXT,
|
|
22
|
-
X_TSS_RAW_RESPONSE,
|
|
23
|
-
X_TSS_SERIALIZED,
|
|
24
|
-
createClientOnlyFn,
|
|
25
|
-
createIsomorphicFn,
|
|
26
|
-
createMiddleware,
|
|
27
|
-
createNullProtoObject,
|
|
28
|
-
createServerFn,
|
|
29
|
-
createServerOnlyFn,
|
|
30
|
-
createStart,
|
|
31
|
-
execValidator,
|
|
32
|
-
executeMiddleware,
|
|
33
|
-
flattenMiddlewares,
|
|
34
|
-
getDefaultSerovalPlugins,
|
|
35
|
-
getGlobalStartContext,
|
|
36
|
-
getRouterInstance,
|
|
37
|
-
hydrate,
|
|
38
|
-
json,
|
|
39
|
-
mergeHeaders,
|
|
40
|
-
safeObjectMerge,
|
|
41
|
-
validateFramedProtocolVersion
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=index.js.map
|
|
9
|
+
import { hydrate, json, mergeHeaders } from "@tanstack/router-core/ssr/client";
|
|
10
|
+
import { RawStream } from "@tanstack/router-core";
|
|
11
|
+
import { createClientOnlyFn, createIsomorphicFn, createServerOnlyFn } from "@tanstack/start-fn-stubs";
|
|
12
|
+
export { FRAME_HEADER_SIZE, FrameType, RawStream, TSS_CONTENT_TYPE_FRAMED, TSS_CONTENT_TYPE_FRAMED_VERSIONED, TSS_FORMDATA_CONTEXT, TSS_FRAMED_PROTOCOL_VERSION, TSS_SERVER_FUNCTION, X_TSS_CONTEXT, X_TSS_RAW_RESPONSE, X_TSS_SERIALIZED, createClientOnlyFn, createIsomorphicFn, createMiddleware, createNullProtoObject, createServerFn, createServerOnlyFn, createStart, execValidator, executeMiddleware, flattenMiddlewares, getDefaultSerovalPlugins, getGlobalStartContext, getRouterInstance, hydrate, json, mergeHeaders, safeObjectMerge, validateFramedProtocolVersion };
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
+
//#region src/safeObjectMerge.ts
|
|
1
2
|
function isSafeKey(key) {
|
|
2
|
-
|
|
3
|
+
return key !== "__proto__" && key !== "constructor" && key !== "prototype";
|
|
3
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* Merge target and source into a new null-proto object, filtering dangerous keys.
|
|
7
|
+
*/
|
|
4
8
|
function safeObjectMerge(target, source) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (isSafeKey(key)) result[key] = source[key];
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return result;
|
|
9
|
+
const result = Object.create(null);
|
|
10
|
+
if (target) {
|
|
11
|
+
for (const key of Object.keys(target)) if (isSafeKey(key)) result[key] = target[key];
|
|
12
|
+
}
|
|
13
|
+
if (source && typeof source === "object") {
|
|
14
|
+
for (const key of Object.keys(source)) if (isSafeKey(key)) result[key] = source[key];
|
|
15
|
+
}
|
|
16
|
+
return result;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Create a null-prototype object, optionally copying from source.
|
|
20
|
+
*/
|
|
18
21
|
function createNullProtoObject(source) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
return obj;
|
|
22
|
+
if (!source) return Object.create(null);
|
|
23
|
+
const obj = Object.create(null);
|
|
24
|
+
for (const key of Object.keys(source)) if (isSafeKey(key)) obj[key] = source[key];
|
|
25
|
+
return obj;
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=safeObjectMerge.js.map
|
|
27
|
+
//#endregion
|
|
28
|
+
export { createNullProtoObject, safeObjectMerge };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=safeObjectMerge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeObjectMerge.js","sources":["../../src/safeObjectMerge.ts"],"sourcesContent":["function isSafeKey(key: string): boolean {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype'\n}\n\n/**\n * Merge target and source into a new null-proto object, filtering dangerous keys.\n */\nexport function safeObjectMerge<T extends Record<string, unknown>>(\n target: T | undefined,\n source: Record<string, unknown> | null | undefined,\n): T {\n const result = Object.create(null) as T\n if (target) {\n for (const key of Object.keys(target)) {\n if (isSafeKey(key)) result[key as keyof T] = target[key] as T[keyof T]\n }\n }\n if (source && typeof source === 'object') {\n for (const key of Object.keys(source)) {\n if (isSafeKey(key)) result[key as keyof T] = source[key] as T[keyof T]\n }\n }\n return result\n}\n\n/**\n * Create a null-prototype object, optionally copying from source.\n */\nexport function createNullProtoObject<T extends object>(\n source?: T,\n): { [K in keyof T]: T[K] } {\n if (!source) return Object.create(null)\n const obj = Object.create(null)\n for (const key of Object.keys(source)) {\n if (isSafeKey(key)) obj[key] = (source as Record<string, unknown>)[key]\n }\n return obj\n}\n"],"
|
|
1
|
+
{"version":3,"file":"safeObjectMerge.js","names":[],"sources":["../../src/safeObjectMerge.ts"],"sourcesContent":["function isSafeKey(key: string): boolean {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype'\n}\n\n/**\n * Merge target and source into a new null-proto object, filtering dangerous keys.\n */\nexport function safeObjectMerge<T extends Record<string, unknown>>(\n target: T | undefined,\n source: Record<string, unknown> | null | undefined,\n): T {\n const result = Object.create(null) as T\n if (target) {\n for (const key of Object.keys(target)) {\n if (isSafeKey(key)) result[key as keyof T] = target[key] as T[keyof T]\n }\n }\n if (source && typeof source === 'object') {\n for (const key of Object.keys(source)) {\n if (isSafeKey(key)) result[key as keyof T] = source[key] as T[keyof T]\n }\n }\n return result\n}\n\n/**\n * Create a null-prototype object, optionally copying from source.\n */\nexport function createNullProtoObject<T extends object>(\n source?: T,\n): { [K in keyof T]: T[K] } {\n if (!source) return Object.create(null)\n const obj = Object.create(null)\n for (const key of Object.keys(source)) {\n if (isSafeKey(key)) obj[key] = (source as Record<string, unknown>)[key]\n }\n return obj\n}\n"],"mappings":";AAAA,SAAS,UAAU,KAAsB;AACvC,QAAO,QAAQ,eAAe,QAAQ,iBAAiB,QAAQ;;;;;AAMjE,SAAgB,gBACd,QACA,QACG;CACH,MAAM,SAAS,OAAO,OAAO,KAAK;AAClC,KAAI;OACG,MAAM,OAAO,OAAO,KAAK,OAAO,CACnC,KAAI,UAAU,IAAI,CAAE,QAAO,OAAkB,OAAO;;AAGxD,KAAI,UAAU,OAAO,WAAW;OACzB,MAAM,OAAO,OAAO,KAAK,OAAO,CACnC,KAAI,UAAU,IAAI,CAAE,QAAO,OAAkB,OAAO;;AAGxD,QAAO;;;;;AAMT,SAAgB,sBACd,QAC0B;AAC1B,KAAI,CAAC,OAAQ,QAAO,OAAO,OAAO,KAAK;CACvC,MAAM,MAAM,OAAO,OAAO,KAAK;AAC/B,MAAK,MAAM,OAAO,OAAO,KAAK,OAAO,CACnC,KAAI,UAAU,IAAI,CAAE,KAAI,OAAQ,OAAmC;AAErE,QAAO"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/start-client-core",
|
|
3
|
-
"version": "1.166.
|
|
3
|
+
"version": "1.166.10",
|
|
4
4
|
"description": "Modern and scalable routing for React applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
"seroval": "^1.4.2",
|
|
67
67
|
"tiny-invariant": "^1.3.3",
|
|
68
68
|
"tiny-warning": "^1.0.3",
|
|
69
|
-
"@tanstack/
|
|
70
|
-
"@tanstack/
|
|
71
|
-
"@tanstack/start-storage-context": "1.166.
|
|
69
|
+
"@tanstack/router-core": "1.167.2",
|
|
70
|
+
"@tanstack/start-fn-stubs": "1.161.6",
|
|
71
|
+
"@tanstack/start-storage-context": "1.166.10"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"vite": "*"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|