UNPKG

@vaadin/hilla-file-router

Version:

Hilla file-based router

47 lines 1.4 kB
/** * Extends a router module's config with additional properties. The original * module config is preferred over the extension. * * @param module - The module to extend. * @param config - The extension config. * @returns * * @deprecated Use object spread syntax instead. */ export function extendModule(module, config) { return { ...module, config: { ...config, ...module?.config } }; } function isReactComponent(value) { return !!value && (typeof value === "function" || typeof value === "object" && "$$typeof" in value && value.$$typeof === Symbol.for("react.lazy")); } export function createRoute(path, moduleOrChildrenOrComponent, childrenOrConfig, children) { let isDeprecatedModuleUsed = false; let component; let config; if (Array.isArray(moduleOrChildrenOrComponent)) { children = moduleOrChildrenOrComponent; } else if (isReactComponent(moduleOrChildrenOrComponent) || !moduleOrChildrenOrComponent && !!childrenOrConfig && typeof childrenOrConfig === "object") { component = moduleOrChildrenOrComponent; config = childrenOrConfig; } else if (moduleOrChildrenOrComponent) { ({default: component, config} = moduleOrChildrenOrComponent); isDeprecatedModuleUsed = true; } return { path, module: isDeprecatedModuleUsed ? { default: component, config } : undefined, component, config, children }; } //# sourceMappingURL=./createRoute.js.map