@cocoar/vue-fragment-parser 0.1.0-beta.25 → 0.1.0-beta.34

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.
@@ -0,0 +1,3 @@
1
+ export { parseFragment, type ParsedRoute } from './lib/fragment-parser';
2
+ export { type RoutedFragmentBase } from './lib/routed-fragment';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { RoutedFragmentBase } from './routed-fragment';
2
+ /**
3
+ * Parsed fragment with extracted parameters and matched route.
4
+ */
5
+ export interface ParsedRoute<T extends RoutedFragmentBase = RoutedFragmentBase> {
6
+ params: Record<string, unknown>;
7
+ route: T;
8
+ fragment: string;
9
+ }
10
+ /**
11
+ * Parses URL fragment into structured routes with parameters.
12
+ * Supports multiple fragments separated by '#' and query parameters.
13
+ *
14
+ * @param fragment - Raw URL fragment (e.g., "details/123?edit=true#confirm")
15
+ * @param registeredRoutes - Array of route configurations to match against
16
+ * @returns Array of parsed routes with extracted parameters
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const routes = [
21
+ * { type: 'modal', path: 'details/:id' }
22
+ * ];
23
+ * const parsed = parseFragment('details/123?edit=true', routes);
24
+ * // [{ params: { id: '123', edit: true }, route: {...}, fragment: 'details/123?edit=true' }]
25
+ * ```
26
+ */
27
+ export declare function parseFragment<T extends RoutedFragmentBase>(fragment: string, registeredRoutes: T[]): ParsedRoute<T>[];
28
+ //# sourceMappingURL=fragment-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fragment-parser.d.ts","sourceRoot":"","sources":["../../src/lib/fragment-parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IAC5E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,kBAAkB,EACxD,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,CAAC,EAAE,GACpB,WAAW,CAAC,CAAC,CAAC,EAAE,CAmDlB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fragment-parser.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fragment-parser.spec.d.ts","sourceRoot":"","sources":["../../src/lib/fragment-parser.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Base interface for all routed fragments.
3
+ * Extend this interface to create custom fragment types in your application.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * export interface ModalFragment extends RoutedFragmentBase<ModalOptions> {
8
+ * type: 'modal';
9
+ * component: () => Promise<Component>;
10
+ * }
11
+ * ```
12
+ */
13
+ export interface RoutedFragmentBase<TOptions = unknown> {
14
+ type: string;
15
+ path: string | string[];
16
+ options?: TOptions;
17
+ }
18
+ //# sourceMappingURL=routed-fragment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routed-fragment.d.ts","sourceRoot":"","sources":["../../src/lib/routed-fragment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB,CAAC,QAAQ,GAAG,OAAO;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,QAAQ,CAAC;CACpB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocoar/vue-fragment-parser",
3
- "version": "0.1.0-beta.25",
3
+ "version": "0.1.0-beta.34",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",