@tanstack/start-client-core
Version:
Modern and scalable routing for React applications
33 lines (32 loc) • 1.04 kB
JavaScript
import { createMiddleware } from "./createMiddleware.js";
import { isPromise } from "@tanstack/router-core";
//#region src/createStart.ts
function dedupeSerializationAdapters(deduped, serializationAdapters) {
for (let i = 0, len = serializationAdapters.length; i < len; i++) {
const current = serializationAdapters[i];
if (!deduped.has(current)) {
deduped.add(current);
if (current.extends) dedupeSerializationAdapters(deduped, current.extends);
}
}
}
function dedupeOptions(options) {
if (options.serializationAdapters) {
const deduped = /* @__PURE__ */ new Set();
dedupeSerializationAdapters(deduped, options.serializationAdapters);
options.serializationAdapters = Array.from(deduped);
}
return options;
}
var createStart = (getOptions) => {
return {
getOptions: () => {
const options = getOptions();
return isPromise(options) ? Promise.resolve(options).then(dedupeOptions) : dedupeOptions(options);
},
createMiddleware
};
};
//#endregion
export { createStart };
//# sourceMappingURL=createStart.js.map