@real-router/core 0.40.1 → 0.41.0
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/cjs/{Router-B-Pev7K2.d.ts → Router-DoJ3NWsT.d.ts} +1 -1
- package/dist/cjs/{RouterValidator-mx2Zooya.d.ts → RouterValidator-CaIeCVeB.d.ts} +1 -1
- package/dist/cjs/api.d.ts +1 -1
- package/dist/cjs/api.js +1 -1
- package/dist/cjs/api.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/metafile-cjs.json +1 -1
- package/dist/cjs/utils.js +1 -1
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/validation.d.ts +4 -4
- package/dist/cjs/validation.js.map +1 -1
- package/dist/esm/{Router-B-Pev7K2.d.mts → Router-DoJ3NWsT.d.mts} +1 -1
- package/dist/esm/{RouterValidator-mx2Zooya.d.mts → RouterValidator-CaIeCVeB.d.mts} +1 -1
- package/dist/esm/api.d.mts +1 -1
- package/dist/esm/api.mjs +1 -1
- package/dist/esm/{chunk-5QXFUUDL.mjs → chunk-EPF2YSMX.mjs} +1 -1
- package/dist/esm/{chunk-5QXFUUDL.mjs.map → chunk-EPF2YSMX.mjs.map} +1 -1
- package/dist/esm/chunk-UPJLWPEL.mjs +1 -0
- package/dist/esm/chunk-UPJLWPEL.mjs.map +1 -0
- package/dist/esm/{chunk-QUUNDESP.mjs → chunk-UUG7DSTN.mjs} +1 -1
- package/dist/esm/chunk-UUG7DSTN.mjs.map +1 -0
- package/dist/esm/chunk-XQJDGUQE.mjs +1 -0
- package/dist/esm/chunk-XQJDGUQE.mjs.map +1 -0
- package/dist/esm/index.d.mts +3 -3
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/metafile-esm.json +1 -1
- package/dist/esm/utils.mjs +1 -1
- package/dist/esm/validation.d.mts +4 -4
- package/dist/esm/validation.mjs +1 -1
- package/package.json +2 -2
- package/src/Router.ts +4 -6
- package/src/api/getPluginApi.ts +2 -3
- package/src/helpers.ts +0 -1
- package/src/index.ts +0 -1
- package/src/internals.ts +4 -5
- package/src/namespaces/NavigationNamespace/NavigationNamespace.ts +0 -1
- package/src/namespaces/OptionsNamespace/helpers.ts +0 -1
- package/src/namespaces/RouterLifecycleNamespace/types.ts +1 -3
- package/src/namespaces/RoutesNamespace/RoutesNamespace.ts +3 -3
- package/src/namespaces/RoutesNamespace/types.ts +2 -2
- package/src/namespaces/StateNamespace/StateNamespace.ts +30 -34
- package/src/namespaces/StateNamespace/helpers.ts +8 -27
- package/src/stateMetaStore.ts +15 -0
- package/src/transitionPath.ts +13 -16
- package/src/types/RouterValidator.ts +0 -1
- package/src/wiring/RouterWiringBuilder.ts +1 -1
- package/dist/esm/chunk-HHIXK5UM.mjs +0 -1
- package/dist/esm/chunk-HHIXK5UM.mjs.map +0 -1
- package/dist/esm/chunk-MNRZAE7T.mjs +0 -1
- package/dist/esm/chunk-MNRZAE7T.mjs.map +0 -1
- package/dist/esm/chunk-QUUNDESP.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/internals.ts"],"names":[],"mappings":";AAgGA,IAAM,SAAA,uBAAgB,OAAA,EAAsC;AAErD,SAAS,aACd,MAAA,EACoB;AACpB,EAAA,MAAM,GAAA,GAAM,SAAA,CAAU,GAAA,CAAI,MAAM,CAAA;AAEhC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,SAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AAEA,EAAA,OAAO,GAAA;AACT;AAEO,SAAS,iBAAA,CACd,QACA,GAAA,EACM;AACN,EAAA,SAAA,CAAU,GAAA,CAAI,QAAQ,GAAG,CAAA;AAC3B;AAGA,SAAS,uBAAA,CACP,YAAA,EACA,QAAA,EACA,IAAA,EACG;AACH,EAAA,IAAI,KAAA,GAAQ,QAAA;AAEZ,EAAA,KAAA,MAAW,eAAe,YAAA,EAAc;AACtC,IAAA,MAAM,IAAA,GAAO,KAAA;AAEb,IAAA,KAAA,GAAQ,CAAA,GAAI,SAAA,KAAqB,WAAA,CAAY,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,EACjE;AAEA,EAAA,OAAO,KAAA,CAAM,GAAG,IAAI,CAAA;AACtB;AAEO,SAAS,mBAAA,CACd,IAAA,EACA,QAAA,EACA,YAAA,EAIG;AACH,EAAA,QAAQ,IAAI,IAAA,KAAgB;AAC1B,IAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,GAAA,CAAI,IAAI,CAAA;AAEnC,IAAA,IAAI,CAAC,KAAA,IAAS,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG;AAChC,MAAA,OAAO,QAAA,CAAS,GAAG,IAAI,CAAA;AAAA,IACzB;AAEA,IAAA,OAAO,uBAAA,CAAwB,KAAA,EAAO,QAAA,EAAU,IAAI,CAAA;AAAA,EACtD,CAAA;AACF;AAEO,SAAS,oBAAA,CACd,IAAA,EACA,QAAA,EACA,YAAA,EAImB;AACnB,EAAA,OAAO,CAAC,MAAS,IAAA,KAAY;AAC3B,IAAA,MAAM,KAAA,GAAQ,YAAA,CAAa,GAAA,CAAI,IAAI,CAAA;AAEnC,IAAA,IAAI,CAAC,KAAA,IAAS,KAAA,CAAM,MAAA,KAAW,CAAA,EAAG;AAChC,MAAA,OAAO,QAAA,CAAS,MAAM,IAAI,CAAA;AAAA,IAC5B;AAEA,IAAA,OAAO,wBAAwB,KAAA,EAAO,QAAA,EAAU,CAAC,IAAA,EAAM,IAAI,CAAC,CAAA;AAAA,EAC9D,CAAA;AACF","file":"chunk-QUUNDESP.mjs","sourcesContent":["import type { DependenciesStore } from \"./namespaces/DependenciesNamespace\";\nimport type { RoutesStore } from \"./namespaces/RoutesNamespace\";\nimport type { Router as RouterClass } from \"./Router\";\nimport type { EventMethodMap, GuardFnFactory, PluginFactory } from \"./types\";\nimport type { RouterValidator } from \"./types/RouterValidator\";\nimport type {\n DefaultDependencies,\n EventName,\n Options,\n Params,\n Plugin,\n Router as RouterInterface,\n RouteTreeState,\n SimpleState,\n State,\n Unsubscribe,\n} from \"@real-router/types\";\nimport type { RouteTree } from \"route-tree\";\n\nexport interface RouterInternals<\n D extends DefaultDependencies = DefaultDependencies,\n> {\n readonly makeState: <P extends Params = Params, MP extends Params = Params>(\n name: string,\n params?: P,\n path?: string,\n meta?: Record<string, Record<string, \"url\" | \"query\">>,\n forceId?: number,\n ) => State<P, MP>;\n\n readonly forwardState: <P extends Params = Params>(\n routeName: string,\n routeParams: P,\n ) => SimpleState<P>;\n\n readonly buildStateResolved: (\n resolvedName: string,\n resolvedParams: Params,\n ) => RouteTreeState | undefined;\n\n readonly matchPath: <P extends Params = Params, MP extends Params = Params>(\n path: string,\n options?: Options,\n ) => State<P, MP> | undefined;\n\n readonly getOptions: () => Options;\n\n readonly addEventListener: <E extends EventName>(\n eventName: E,\n cb: Plugin[EventMethodMap[E]],\n ) => Unsubscribe;\n\n readonly buildPath: (route: string, params?: Params) => string;\n\n readonly start: (path: string) => Promise<State>;\n\n /* eslint-disable @typescript-eslint/no-explicit-any -- heterogeneous map: stores different InterceptorFn<M> types under different keys */\n readonly interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >;\n /* eslint-enable @typescript-eslint/no-explicit-any */\n\n readonly setRootPath: (rootPath: string) => void;\n readonly getRootPath: () => string;\n\n readonly getTree: () => RouteTree;\n\n readonly isDisposed: () => boolean;\n\n validator: RouterValidator | null;\n\n // Dependencies (issue #172)\n readonly dependenciesGetStore: () => DependenciesStore<D>;\n\n // Clone support (issue #173)\n readonly cloneOptions: () => Options;\n readonly cloneDependencies: () => Record<string, unknown>;\n readonly getLifecycleFactories: () => [\n Record<string, GuardFnFactory<D>>,\n Record<string, GuardFnFactory<D>>,\n ];\n readonly getPluginFactories: () => PluginFactory<D>[];\n\n // Consolidated route data store (issue #174 Phase 2)\n readonly routeGetStore: () => RoutesStore<D>;\n\n // Cross-namespace state (issue #174)\n readonly getStateName: () => string | undefined;\n readonly isTransitioning: () => boolean;\n readonly clearState: () => void;\n readonly setState: (state: State) => void;\n readonly routerExtensions: { keys: string[] }[];\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any -- existential type: stores RouterInternals for all Dependencies types\nconst internals = new WeakMap<object, RouterInternals<any>>();\n\nexport function getInternals<D extends DefaultDependencies>(\n router: RouterInterface<D>,\n): RouterInternals<D> {\n const ctx = internals.get(router);\n\n if (!ctx) {\n throw new TypeError(\n \"[real-router] Invalid router instance — not found in internals registry\",\n );\n }\n\n return ctx as RouterInternals<D>;\n}\n\nexport function registerInternals<D extends DefaultDependencies>(\n router: RouterClass<D>,\n ctx: RouterInternals<D>,\n): void {\n internals.set(router, ctx);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument -- internal chain execution: type safety enforced at public API boundary (PluginApi.addInterceptor) */\nfunction executeInterceptorChain<T>(\n interceptors: ((next: (...args: any[]) => any, ...args: any[]) => any)[],\n original: (...args: any[]) => T,\n args: any[],\n): T {\n let chain = original as (...args: any[]) => any;\n\n for (const interceptor of interceptors) {\n const prev = chain;\n\n chain = (...chainArgs: any[]) => interceptor(prev, ...chainArgs);\n }\n\n return chain(...args) as T;\n}\n\nexport function createInterceptable<T extends (...args: any[]) => any>(\n name: string,\n original: T,\n interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >,\n): T {\n return ((...args: any[]) => {\n const chain = interceptors.get(name);\n\n if (!chain || chain.length === 0) {\n return original(...args);\n }\n\n return executeInterceptorChain(chain, original, args);\n }) as T;\n}\n\nexport function createInterceptable2<A, B, R>(\n name: string,\n original: (a: A, b: B) => R,\n interceptors: Map<\n string,\n ((next: (...args: any[]) => any, ...args: any[]) => any)[]\n >,\n): (a: A, b: B) => R {\n return (arg1: A, arg2: B) => {\n const chain = interceptors.get(name);\n\n if (!chain || chain.length === 0) {\n return original(arg1, arg2);\n }\n\n return executeInterceptorChain(chain, original, [arg1, arg2]);\n };\n}\n/* eslint-enable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument */\n"]}
|