snice 2.1.3 → 2.1.4

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/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * snice v2.1.2
2
+ * snice v2.1.3
3
3
  * Imperative TypeScript framework for building vanilla web components with decorators, routing, and controllers. No virtual DOM, no build complexity.
4
4
  * (c) 2024
5
5
  * Released under the MIT License.
@@ -117,7 +117,9 @@ function setupEventHandlers(instance, element) {
117
117
  instance[CLEANUP] = { events: [], channels: [] };
118
118
  }
119
119
  for (const handler of handlers) {
120
- const originalMethod = handler.method.bind(instance);
120
+ // Get the current method from the instance (preserves decorator stacking)
121
+ const currentMethod = instance[handler.method.name];
122
+ const originalMethod = currentMethod ? currentMethod.bind(instance) : handler.method.bind(instance);
121
123
  const handlerOptions = handler.options || {};
122
124
  // Parse event name for key modifiers
123
125
  const [baseEventName, keyModifier] = handler.eventName.split(':');
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/global.ts","../src/symbols.ts","../src/events.ts","../src/observe.ts","../src/request-response.ts","../src/controller.ts","../src/element.ts","../node_modules/pica-route/dist/index.esm.js","../src/transitions.ts","../src/router.ts"],"sourcesContent":[null,null,null,null,null,null,null,"/*!\n * pica-route v1.1.2\n * A pure URL pattern matching library compatible with route-parser API\n * (c) 2024\n * Released under the MIT License.\n */\nclass Route {\n constructor(pattern) {\n this.parsed = this.parsePattern(pattern);\n }\n get spec() {\n return this.parsed.template;\n }\n parsePattern(pattern) {\n // Handle optional query syntax (?query=:param)\n let pathPattern = pattern;\n let queryPattern = '';\n let queryOptional = false;\n const queryIndex = pattern.indexOf('?');\n if (queryIndex !== -1) {\n pathPattern = pattern.slice(0, queryIndex);\n queryPattern = pattern.slice(queryIndex + 1);\n // Check if query is wrapped in optional syntax (?...)\n if (pathPattern.endsWith('(') && queryPattern.endsWith(')')) {\n queryOptional = true;\n pathPattern = pathPattern.slice(0, -1);\n queryPattern = queryPattern.slice(0, -1);\n }\n }\n return {\n pathSegments: this.parseSegments(pathPattern),\n querySegments: queryPattern ? this.parseQuerySegments(queryPattern) : [],\n queryOptional,\n template: pattern\n };\n }\n parseSegments(pattern) {\n const segments = [];\n let i = 0;\n while (i < pattern.length) {\n const char = pattern[i];\n switch (char) {\n case '(':\n // Parse optional group\n const { segments: optionalSegments, endIndex } = this.parseOptionalGroup(pattern, i);\n segments.push({ type: 'optional', segments: optionalSegments });\n i = endIndex + 1;\n break;\n case ':':\n // Parse parameter\n const { name, endIndex: paramEndIndex } = this.parseIdentifier(pattern, i + 1);\n segments.push({ type: 'param', name });\n i = paramEndIndex;\n break;\n case '*':\n // Parse splat\n const { name: splatName, endIndex: splatEndIndex } = this.parseIdentifier(pattern, i + 1);\n segments.push({ type: 'splat', name: splatName });\n i = splatEndIndex;\n break;\n default:\n // Parse literal text\n const { value, endIndex: literalEndIndex } = this.parseLiteral(pattern, i);\n if (value) {\n segments.push({ type: 'literal', value });\n }\n i = literalEndIndex;\n break;\n }\n }\n return segments;\n }\n parseOptionalGroup(pattern, startIndex) {\n let depth = 1;\n let i = startIndex + 1;\n while (i < pattern.length && depth > 0) {\n if (pattern[i] === '(')\n depth++;\n if (pattern[i] === ')')\n depth--;\n i++;\n }\n const content = pattern.slice(startIndex + 1, i - 1);\n return {\n segments: this.parseSegments(content),\n endIndex: i - 1\n };\n }\n parseIdentifier(pattern, startIndex) {\n let i = startIndex;\n while (i < pattern.length && /[\\w-]/.test(pattern[i])) {\n i++;\n }\n return {\n name: pattern.slice(startIndex, i),\n endIndex: i\n };\n }\n parseLiteral(pattern, startIndex) {\n let i = startIndex;\n while (i < pattern.length && !'(:*('.includes(pattern[i])) {\n i++;\n }\n return {\n value: pattern.slice(startIndex, i),\n endIndex: i\n };\n }\n parseQuerySegments(queryPattern) {\n // Remove optional group syntax wrapping the query\n let cleanPattern = queryPattern;\n if (cleanPattern.startsWith('(') && cleanPattern.endsWith(')')) {\n cleanPattern = cleanPattern.slice(1, -1);\n }\n const segments = [];\n let i = 0;\n while (i < cleanPattern.length) {\n switch (cleanPattern[i]) {\n case ':':\n const { name, endIndex } = this.parseIdentifier(cleanPattern, i + 1);\n segments.push({ type: 'param', name });\n i = endIndex;\n break;\n default:\n const { value, endIndex: literalEndIndex } = this.parseQueryLiteral(cleanPattern, i);\n if (value) {\n segments.push({ type: 'literal', value });\n }\n i = literalEndIndex;\n break;\n }\n }\n return segments;\n }\n parseQueryLiteral(pattern, startIndex) {\n let i = startIndex;\n while (i < pattern.length && pattern[i] !== ':') {\n i++;\n }\n return {\n value: pattern.slice(startIndex, i),\n endIndex: i\n };\n }\n getAllParamNames() {\n const paramNames = new Set();\n const collectParams = (segments) => {\n for (const segment of segments) {\n switch (segment.type) {\n case 'param':\n case 'splat':\n paramNames.add(segment.name);\n break;\n case 'optional':\n collectParams(segment.segments);\n break;\n }\n }\n };\n collectParams(this.parsed.pathSegments);\n collectParams(this.parsed.querySegments);\n return Array.from(paramNames);\n }\n canMatchRemainingSegments(path, startIndex, segments) {\n // Quick check: try to match the remaining segments\n // This is a simplified check - we just look for literal segments that must exist\n let pathIndex = startIndex;\n for (const segment of segments) {\n if (segment.type === 'literal') {\n const literalIndex = path.indexOf(segment.value, pathIndex);\n if (literalIndex === -1) {\n return false; // Required literal not found\n }\n pathIndex = literalIndex + segment.value.length;\n }\n // For optional, param, and splat segments, we're more permissive in this quick check\n }\n return true;\n }\n match(url) {\n const [pathPart, queryPart] = url.split('?');\n const pathParams = this.matchPath(pathPart, this.parsed.pathSegments);\n if (pathParams === false) {\n return false;\n }\n const queryParams = this.matchQuery(queryPart || '', this.parsed.querySegments);\n if (queryParams === false) {\n return false;\n }\n // Initialize result with all optional parameters set to undefined\n const allParams = this.getAllParamNames();\n const result = {};\n // Set all parameters to undefined initially\n for (const paramName of allParams) {\n result[paramName] = undefined;\n }\n // Override with actual matched values\n Object.assign(result, pathParams, queryParams);\n return result;\n }\n matchPath(path, segments) {\n const result = {};\n let pathIndex = 0;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const remainingSegments = segments.slice(i + 1);\n const matchResult = this.matchSegment(path, pathIndex, segment, remainingSegments);\n if (matchResult === false) {\n return false;\n }\n Object.assign(result, matchResult.params);\n pathIndex = matchResult.nextIndex;\n }\n // Check if we've consumed the entire path\n if (pathIndex < path.length) {\n return false;\n }\n return result;\n }\n matchSegment(path, startIndex, segment, remainingSegments = []) {\n switch (segment.type) {\n case 'literal':\n if (path.slice(startIndex, startIndex + segment.value.length) === segment.value) {\n return { params: {}, nextIndex: startIndex + segment.value.length };\n }\n return false;\n case 'param': {\n let endIndex = startIndex;\n // Check if the next segment is a literal and find where it starts\n const nextSegment = remainingSegments[0];\n let stopChars = ['/', '?'];\n if (nextSegment && nextSegment.type === 'literal') {\n // For parameters followed by literals, we need to find where the literal starts\n const literalValue = nextSegment.value;\n const literalStart = path.indexOf(literalValue, startIndex);\n if (literalStart !== -1) {\n endIndex = literalStart;\n }\n else {\n // Literal not found, this parameter can't match\n return false;\n }\n }\n else {\n // Default behavior - stop at / or ?\n while (endIndex < path.length && !stopChars.includes(path[endIndex])) {\n endIndex++;\n }\n }\n if (endIndex === startIndex)\n return false;\n let value;\n try {\n value = decodeURIComponent(path.slice(startIndex, endIndex));\n }\n catch (e) {\n // If decoding fails, use the original value\n value = path.slice(startIndex, endIndex);\n }\n // If we hit a query string, we should reject this match for path parameters\n if (endIndex < path.length && path[endIndex] === '?' && remainingSegments.length > 0) {\n return false;\n }\n // Keep values as strings to match route-parser behavior\n return {\n params: { [segment.name]: value },\n nextIndex: endIndex\n };\n }\n case 'splat': {\n // For splats, we need to find the optimal stopping point by looking ahead\n let endIndex = path.length;\n const nextSegment = remainingSegments[0];\n if (nextSegment) {\n switch (nextSegment.type) {\n case 'literal':\n // For literal dots after splats, use first occurrence (for file extensions)\n // For other literals, use last occurrence\n if (nextSegment.value === '.') {\n const firstDotIndex = path.indexOf('.', startIndex);\n if (firstDotIndex !== -1) {\n endIndex = firstDotIndex;\n }\n }\n else {\n // Find the last occurrence of the next literal\n const literalIndex = path.lastIndexOf(nextSegment.value);\n if (literalIndex !== -1 && literalIndex >= startIndex) {\n endIndex = literalIndex;\n }\n }\n break;\n case 'param':\n // For parameter after splat, find the last slash\n let lastSlashIndex = -1;\n for (let i = path.length - 1; i >= startIndex; i--) {\n if (path[i] === '/') {\n lastSlashIndex = i;\n break;\n }\n }\n if (lastSlashIndex !== -1) {\n endIndex = lastSlashIndex;\n }\n break;\n case 'splat':\n // For consecutive splats, give this splat everything up to the last slash\n // The next splat gets the last component\n let lastSlash = -1;\n for (let i = path.length - 1; i > startIndex; i--) {\n if (path[i] === '/') {\n lastSlash = i + 1; // Include the slash\n break;\n }\n }\n if (lastSlash !== -1) {\n endIndex = lastSlash;\n }\n else {\n // No slash found, this splat gets everything except the last component\n const pathSegments = path.slice(startIndex).split('/').filter(s => s);\n if (pathSegments.length > 1) {\n endIndex = startIndex + pathSegments.slice(0, -1).join('/').length + 1;\n }\n else {\n endIndex = startIndex; // Give nothing to this splat\n }\n }\n break;\n case 'optional':\n // Look for literals inside optional groups\n const findFirstLiteral = (segs) => {\n for (const seg of segs) {\n if (seg.type === 'literal')\n return seg.value;\n if (seg.type === 'optional') {\n const nested = findFirstLiteral(seg.segments);\n if (nested)\n return nested;\n }\n }\n return null;\n };\n const firstLiteral = findFirstLiteral(nextSegment.segments);\n if (firstLiteral) {\n const literalIndex = path.lastIndexOf(firstLiteral);\n if (literalIndex !== -1 && literalIndex >= startIndex) {\n endIndex = literalIndex;\n }\n }\n break;\n }\n }\n // Don't go past query parameters\n const queryIndex = path.indexOf('?', startIndex);\n if (queryIndex !== -1 && queryIndex < endIndex) {\n endIndex = queryIndex;\n }\n let value;\n try {\n value = decodeURIComponent(path.slice(startIndex, endIndex));\n }\n catch (e) {\n // If decoding fails, use the original value\n value = path.slice(startIndex, endIndex);\n }\n return {\n params: { [segment.name]: value },\n nextIndex: endIndex\n };\n }\n case 'optional': {\n // Try to match the optional segment first, with backtracking if needed\n let tempIndex = startIndex;\n let params = {};\n let allMatched = true;\n for (let i = 0; i < segment.segments.length; i++) {\n const innerSegment = segment.segments[i];\n const remainingInner = segment.segments.slice(i + 1);\n const innerResult = this.matchSegment(path, tempIndex, innerSegment, remainingInner);\n if (innerResult === false) {\n allMatched = false;\n break;\n }\n Object.assign(params, innerResult.params);\n tempIndex = innerResult.nextIndex;\n }\n if (allMatched) {\n // Check if the rest of the segments can still be matched\n const canMatchRemaining = this.canMatchRemainingSegments(path, tempIndex, remainingSegments);\n if (canMatchRemaining) {\n return {\n params,\n nextIndex: tempIndex\n };\n }\n }\n // Optional segment either didn't match or would prevent remaining segments from matching\n // So skip it and return to original position\n return { params: {}, nextIndex: startIndex };\n }\n default:\n return false;\n }\n }\n findNextLiteral(segments) {\n for (const segment of segments) {\n if (segment.type === 'literal') {\n return segment;\n }\n else if (segment.type === 'optional') {\n const nested = this.findNextLiteral(segment.segments);\n if (nested)\n return nested;\n }\n }\n return null;\n }\n matchQuery(query, segments) {\n if (segments.length === 0) {\n return {};\n }\n const result = {};\n let queryIndex = 0;\n for (const segment of segments) {\n switch (segment.type) {\n case 'literal':\n if (query.slice(queryIndex, queryIndex + segment.value.length) === segment.value) {\n queryIndex += segment.value.length;\n }\n else {\n return false;\n }\n break;\n case 'param': {\n let endIndex = queryIndex;\n while (endIndex < query.length && query[endIndex] !== '&') {\n endIndex++;\n }\n if (endIndex === queryIndex)\n return false;\n let value;\n try {\n value = decodeURIComponent(query.slice(queryIndex, endIndex));\n }\n catch (e) {\n // If decoding fails, use the original value\n value = query.slice(queryIndex, endIndex);\n }\n result[segment.name] = value;\n queryIndex = endIndex;\n break;\n }\n }\n }\n return result;\n }\n reverse(params = {}) {\n const pathResult = this.reverseSegments(this.parsed.pathSegments, params);\n if (pathResult === false) {\n return false;\n }\n let result = pathResult;\n if (this.parsed.querySegments.length > 0) {\n const queryResult = this.reverseSegments(this.parsed.querySegments, params);\n if (!this.parsed.queryOptional) {\n // Query is required - if it fails, the whole reverse fails\n if (queryResult === false) {\n return false;\n }\n }\n // Add query string if we have a result\n if (queryResult && queryResult !== '') {\n result += '?' + queryResult;\n }\n }\n return result;\n }\n reverseSegments(segments, params, inActivatedStructure = false) {\n let result = '';\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const remainingSegments = segments.slice(i + 1);\n switch (segment.type) {\n case 'literal':\n result += segment.value;\n break;\n case 'param':\n case 'splat':\n if (segment.name in params) {\n result += String(params[segment.name]);\n }\n else {\n // Missing required parameter - but for query segments, this might be optional\n return false;\n }\n break;\n case 'optional':\n // Check if this optional group should be included\n // considering dependencies from later optional groups\n const shouldInclude = this.hasAllParams(segment.segments, params, inActivatedStructure) ||\n this.hasLaterOptionalGroupNeedingParams(remainingSegments, params, segment.segments);\n if (shouldInclude) {\n const optionalResult = this.reverseSegments(segment.segments, params, true);\n if (optionalResult === false) {\n return false;\n }\n result += optionalResult;\n }\n break;\n }\n }\n return result;\n }\n // Check if any later optional groups need parameters and would require this group to be included\n hasLaterOptionalGroupNeedingParams(laterSegments, params, currentOptionalSegments) {\n // Check if any later optional group has parameters that are provided\n for (const segment of laterSegments) {\n if (segment.type === 'optional') {\n if (this.hasAnyParamInSegments(segment.segments, params)) {\n // Check if the current optional group only has literals/no required params\n // If so, it should be included as a bridge to the later group\n return this.hasOnlyLiteralsAndOptionals(currentOptionalSegments);\n }\n }\n }\n return false;\n }\n hasOnlyLiteralsAndOptionals(segments) {\n for (const segment of segments) {\n if (segment.type === 'param' || segment.type === 'splat') {\n return false;\n }\n }\n return true;\n }\n hasAllParams(segments, params, inActivatedStructure = false) {\n // Check if we can include this optional group\n let hasDirectParams = false;\n let hasNestedParams = false;\n let missingDirectParam = false;\n let hasOnlyLiteralsAndOptionals = true;\n // First pass: check direct params and literals\n for (const segment of segments) {\n switch (segment.type) {\n case 'param':\n case 'splat':\n hasOnlyLiteralsAndOptionals = false;\n if (segment.name in params && params[segment.name] !== undefined) {\n hasDirectParams = true;\n }\n else {\n missingDirectParam = true;\n }\n break;\n }\n }\n // Determine if this level will be activated and propagate to nested\n const willBeActivated = (hasDirectParams && !missingDirectParam);\n const passToNested = inActivatedStructure || willBeActivated;\n // Second pass: check nested optional groups with correct context\n for (const segment of segments) {\n if (segment.type === 'optional') {\n const shouldIncludeNested = this.hasAllParams(segment.segments, params, passToNested);\n if (shouldIncludeNested) {\n hasNestedParams = true;\n }\n }\n }\n // Include this optional group if:\n // 1. We have all direct parameters needed, OR\n // 2. We have nested parameters and no missing direct parameters, OR\n // 3. We have only literals/optionals and parent was activated\n if (hasDirectParams && !missingDirectParam) {\n return true; // We have all required params for this level\n }\n if (hasNestedParams && !missingDirectParam) {\n return true; // We need this group to reach nested parameters\n }\n // Include literal-only groups in nested structures\n if (hasOnlyLiteralsAndOptionals && inActivatedStructure) {\n return true; // Include literal paths in activated structures\n }\n return false;\n }\n hasOnlyOptionalMissingParams(segments, params) {\n // Check if all missing parameters are in nested optional groups\n for (const segment of segments) {\n switch (segment.type) {\n case 'param':\n case 'splat':\n if (!(segment.name in params)) {\n return false; // Has required missing param\n }\n break;\n }\n }\n return true;\n }\n hasAnyParamInSegments(segments, params) {\n for (const segment of segments) {\n switch (segment.type) {\n case 'param':\n case 'splat':\n if (segment.name in params) {\n return true;\n }\n break;\n case 'optional':\n if (this.hasAnyParamInSegments(segment.segments, params)) {\n return true;\n }\n break;\n }\n }\n return false;\n }\n}\n\nexport { Route, Route as default };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":["performTransition","performTransitionUtil"],"mappings":"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","x_google_ignoreList":[7]}
1
+ {"version":3,"file":"index.cjs","sources":["../src/global.ts","../src/symbols.ts","../src/events.ts","../src/observe.ts","../src/request-response.ts","../src/controller.ts","../src/element.ts","../node_modules/pica-route/dist/index.esm.js","../src/transitions.ts","../src/router.ts"],"sourcesContent":[null,null,null,null,null,null,null,"/*!\n * pica-route v1.1.2\n * A pure URL pattern matching library compatible with route-parser API\n * (c) 2024\n * Released under the MIT License.\n */\nclass Route {\n constructor(pattern) {\n this.parsed = this.parsePattern(pattern);\n }\n get spec() {\n return this.parsed.template;\n }\n parsePattern(pattern) {\n // Handle optional query syntax (?query=:param)\n let pathPattern = pattern;\n let queryPattern = '';\n let queryOptional = false;\n const queryIndex = pattern.indexOf('?');\n if (queryIndex !== -1) {\n pathPattern = pattern.slice(0, queryIndex);\n queryPattern = pattern.slice(queryIndex + 1);\n // Check if query is wrapped in optional syntax (?...)\n if (pathPattern.endsWith('(') && queryPattern.endsWith(')')) {\n queryOptional = true;\n pathPattern = pathPattern.slice(0, -1);\n queryPattern = queryPattern.slice(0, -1);\n }\n }\n return {\n pathSegments: this.parseSegments(pathPattern),\n querySegments: queryPattern ? this.parseQuerySegments(queryPattern) : [],\n queryOptional,\n template: pattern\n };\n }\n parseSegments(pattern) {\n const segments = [];\n let i = 0;\n while (i < pattern.length) {\n const char = pattern[i];\n switch (char) {\n case '(':\n // Parse optional group\n const { segments: optionalSegments, endIndex } = this.parseOptionalGroup(pattern, i);\n segments.push({ type: 'optional', segments: optionalSegments });\n i = endIndex + 1;\n break;\n case ':':\n // Parse parameter\n const { name, endIndex: paramEndIndex } = this.parseIdentifier(pattern, i + 1);\n segments.push({ type: 'param', name });\n i = paramEndIndex;\n break;\n case '*':\n // Parse splat\n const { name: splatName, endIndex: splatEndIndex } = this.parseIdentifier(pattern, i + 1);\n segments.push({ type: 'splat', name: splatName });\n i = splatEndIndex;\n break;\n default:\n // Parse literal text\n const { value, endIndex: literalEndIndex } = this.parseLiteral(pattern, i);\n if (value) {\n segments.push({ type: 'literal', value });\n }\n i = literalEndIndex;\n break;\n }\n }\n return segments;\n }\n parseOptionalGroup(pattern, startIndex) {\n let depth = 1;\n let i = startIndex + 1;\n while (i < pattern.length && depth > 0) {\n if (pattern[i] === '(')\n depth++;\n if (pattern[i] === ')')\n depth--;\n i++;\n }\n const content = pattern.slice(startIndex + 1, i - 1);\n return {\n segments: this.parseSegments(content),\n endIndex: i - 1\n };\n }\n parseIdentifier(pattern, startIndex) {\n let i = startIndex;\n while (i < pattern.length && /[\\w-]/.test(pattern[i])) {\n i++;\n }\n return {\n name: pattern.slice(startIndex, i),\n endIndex: i\n };\n }\n parseLiteral(pattern, startIndex) {\n let i = startIndex;\n while (i < pattern.length && !'(:*('.includes(pattern[i])) {\n i++;\n }\n return {\n value: pattern.slice(startIndex, i),\n endIndex: i\n };\n }\n parseQuerySegments(queryPattern) {\n // Remove optional group syntax wrapping the query\n let cleanPattern = queryPattern;\n if (cleanPattern.startsWith('(') && cleanPattern.endsWith(')')) {\n cleanPattern = cleanPattern.slice(1, -1);\n }\n const segments = [];\n let i = 0;\n while (i < cleanPattern.length) {\n switch (cleanPattern[i]) {\n case ':':\n const { name, endIndex } = this.parseIdentifier(cleanPattern, i + 1);\n segments.push({ type: 'param', name });\n i = endIndex;\n break;\n default:\n const { value, endIndex: literalEndIndex } = this.parseQueryLiteral(cleanPattern, i);\n if (value) {\n segments.push({ type: 'literal', value });\n }\n i = literalEndIndex;\n break;\n }\n }\n return segments;\n }\n parseQueryLiteral(pattern, startIndex) {\n let i = startIndex;\n while (i < pattern.length && pattern[i] !== ':') {\n i++;\n }\n return {\n value: pattern.slice(startIndex, i),\n endIndex: i\n };\n }\n getAllParamNames() {\n const paramNames = new Set();\n const collectParams = (segments) => {\n for (const segment of segments) {\n switch (segment.type) {\n case 'param':\n case 'splat':\n paramNames.add(segment.name);\n break;\n case 'optional':\n collectParams(segment.segments);\n break;\n }\n }\n };\n collectParams(this.parsed.pathSegments);\n collectParams(this.parsed.querySegments);\n return Array.from(paramNames);\n }\n canMatchRemainingSegments(path, startIndex, segments) {\n // Quick check: try to match the remaining segments\n // This is a simplified check - we just look for literal segments that must exist\n let pathIndex = startIndex;\n for (const segment of segments) {\n if (segment.type === 'literal') {\n const literalIndex = path.indexOf(segment.value, pathIndex);\n if (literalIndex === -1) {\n return false; // Required literal not found\n }\n pathIndex = literalIndex + segment.value.length;\n }\n // For optional, param, and splat segments, we're more permissive in this quick check\n }\n return true;\n }\n match(url) {\n const [pathPart, queryPart] = url.split('?');\n const pathParams = this.matchPath(pathPart, this.parsed.pathSegments);\n if (pathParams === false) {\n return false;\n }\n const queryParams = this.matchQuery(queryPart || '', this.parsed.querySegments);\n if (queryParams === false) {\n return false;\n }\n // Initialize result with all optional parameters set to undefined\n const allParams = this.getAllParamNames();\n const result = {};\n // Set all parameters to undefined initially\n for (const paramName of allParams) {\n result[paramName] = undefined;\n }\n // Override with actual matched values\n Object.assign(result, pathParams, queryParams);\n return result;\n }\n matchPath(path, segments) {\n const result = {};\n let pathIndex = 0;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const remainingSegments = segments.slice(i + 1);\n const matchResult = this.matchSegment(path, pathIndex, segment, remainingSegments);\n if (matchResult === false) {\n return false;\n }\n Object.assign(result, matchResult.params);\n pathIndex = matchResult.nextIndex;\n }\n // Check if we've consumed the entire path\n if (pathIndex < path.length) {\n return false;\n }\n return result;\n }\n matchSegment(path, startIndex, segment, remainingSegments = []) {\n switch (segment.type) {\n case 'literal':\n if (path.slice(startIndex, startIndex + segment.value.length) === segment.value) {\n return { params: {}, nextIndex: startIndex + segment.value.length };\n }\n return false;\n case 'param': {\n let endIndex = startIndex;\n // Check if the next segment is a literal and find where it starts\n const nextSegment = remainingSegments[0];\n let stopChars = ['/', '?'];\n if (nextSegment && nextSegment.type === 'literal') {\n // For parameters followed by literals, we need to find where the literal starts\n const literalValue = nextSegment.value;\n const literalStart = path.indexOf(literalValue, startIndex);\n if (literalStart !== -1) {\n endIndex = literalStart;\n }\n else {\n // Literal not found, this parameter can't match\n return false;\n }\n }\n else {\n // Default behavior - stop at / or ?\n while (endIndex < path.length && !stopChars.includes(path[endIndex])) {\n endIndex++;\n }\n }\n if (endIndex === startIndex)\n return false;\n let value;\n try {\n value = decodeURIComponent(path.slice(startIndex, endIndex));\n }\n catch (e) {\n // If decoding fails, use the original value\n value = path.slice(startIndex, endIndex);\n }\n // If we hit a query string, we should reject this match for path parameters\n if (endIndex < path.length && path[endIndex] === '?' && remainingSegments.length > 0) {\n return false;\n }\n // Keep values as strings to match route-parser behavior\n return {\n params: { [segment.name]: value },\n nextIndex: endIndex\n };\n }\n case 'splat': {\n // For splats, we need to find the optimal stopping point by looking ahead\n let endIndex = path.length;\n const nextSegment = remainingSegments[0];\n if (nextSegment) {\n switch (nextSegment.type) {\n case 'literal':\n // For literal dots after splats, use first occurrence (for file extensions)\n // For other literals, use last occurrence\n if (nextSegment.value === '.') {\n const firstDotIndex = path.indexOf('.', startIndex);\n if (firstDotIndex !== -1) {\n endIndex = firstDotIndex;\n }\n }\n else {\n // Find the last occurrence of the next literal\n const literalIndex = path.lastIndexOf(nextSegment.value);\n if (literalIndex !== -1 && literalIndex >= startIndex) {\n endIndex = literalIndex;\n }\n }\n break;\n case 'param':\n // For parameter after splat, find the last slash\n let lastSlashIndex = -1;\n for (let i = path.length - 1; i >= startIndex; i--) {\n if (path[i] === '/') {\n lastSlashIndex = i;\n break;\n }\n }\n if (lastSlashIndex !== -1) {\n endIndex = lastSlashIndex;\n }\n break;\n case 'splat':\n // For consecutive splats, give this splat everything up to the last slash\n // The next splat gets the last component\n let lastSlash = -1;\n for (let i = path.length - 1; i > startIndex; i--) {\n if (path[i] === '/') {\n lastSlash = i + 1; // Include the slash\n break;\n }\n }\n if (lastSlash !== -1) {\n endIndex = lastSlash;\n }\n else {\n // No slash found, this splat gets everything except the last component\n const pathSegments = path.slice(startIndex).split('/').filter(s => s);\n if (pathSegments.length > 1) {\n endIndex = startIndex + pathSegments.slice(0, -1).join('/').length + 1;\n }\n else {\n endIndex = startIndex; // Give nothing to this splat\n }\n }\n break;\n case 'optional':\n // Look for literals inside optional groups\n const findFirstLiteral = (segs) => {\n for (const seg of segs) {\n if (seg.type === 'literal')\n return seg.value;\n if (seg.type === 'optional') {\n const nested = findFirstLiteral(seg.segments);\n if (nested)\n return nested;\n }\n }\n return null;\n };\n const firstLiteral = findFirstLiteral(nextSegment.segments);\n if (firstLiteral) {\n const literalIndex = path.lastIndexOf(firstLiteral);\n if (literalIndex !== -1 && literalIndex >= startIndex) {\n endIndex = literalIndex;\n }\n }\n break;\n }\n }\n // Don't go past query parameters\n const queryIndex = path.indexOf('?', startIndex);\n if (queryIndex !== -1 && queryIndex < endIndex) {\n endIndex = queryIndex;\n }\n let value;\n try {\n value = decodeURIComponent(path.slice(startIndex, endIndex));\n }\n catch (e) {\n // If decoding fails, use the original value\n value = path.slice(startIndex, endIndex);\n }\n return {\n params: { [segment.name]: value },\n nextIndex: endIndex\n };\n }\n case 'optional': {\n // Try to match the optional segment first, with backtracking if needed\n let tempIndex = startIndex;\n let params = {};\n let allMatched = true;\n for (let i = 0; i < segment.segments.length; i++) {\n const innerSegment = segment.segments[i];\n const remainingInner = segment.segments.slice(i + 1);\n const innerResult = this.matchSegment(path, tempIndex, innerSegment, remainingInner);\n if (innerResult === false) {\n allMatched = false;\n break;\n }\n Object.assign(params, innerResult.params);\n tempIndex = innerResult.nextIndex;\n }\n if (allMatched) {\n // Check if the rest of the segments can still be matched\n const canMatchRemaining = this.canMatchRemainingSegments(path, tempIndex, remainingSegments);\n if (canMatchRemaining) {\n return {\n params,\n nextIndex: tempIndex\n };\n }\n }\n // Optional segment either didn't match or would prevent remaining segments from matching\n // So skip it and return to original position\n return { params: {}, nextIndex: startIndex };\n }\n default:\n return false;\n }\n }\n findNextLiteral(segments) {\n for (const segment of segments) {\n if (segment.type === 'literal') {\n return segment;\n }\n else if (segment.type === 'optional') {\n const nested = this.findNextLiteral(segment.segments);\n if (nested)\n return nested;\n }\n }\n return null;\n }\n matchQuery(query, segments) {\n if (segments.length === 0) {\n return {};\n }\n const result = {};\n let queryIndex = 0;\n for (const segment of segments) {\n switch (segment.type) {\n case 'literal':\n if (query.slice(queryIndex, queryIndex + segment.value.length) === segment.value) {\n queryIndex += segment.value.length;\n }\n else {\n return false;\n }\n break;\n case 'param': {\n let endIndex = queryIndex;\n while (endIndex < query.length && query[endIndex] !== '&') {\n endIndex++;\n }\n if (endIndex === queryIndex)\n return false;\n let value;\n try {\n value = decodeURIComponent(query.slice(queryIndex, endIndex));\n }\n catch (e) {\n // If decoding fails, use the original value\n value = query.slice(queryIndex, endIndex);\n }\n result[segment.name] = value;\n queryIndex = endIndex;\n break;\n }\n }\n }\n return result;\n }\n reverse(params = {}) {\n const pathResult = this.reverseSegments(this.parsed.pathSegments, params);\n if (pathResult === false) {\n return false;\n }\n let result = pathResult;\n if (this.parsed.querySegments.length > 0) {\n const queryResult = this.reverseSegments(this.parsed.querySegments, params);\n if (!this.parsed.queryOptional) {\n // Query is required - if it fails, the whole reverse fails\n if (queryResult === false) {\n return false;\n }\n }\n // Add query string if we have a result\n if (queryResult && queryResult !== '') {\n result += '?' + queryResult;\n }\n }\n return result;\n }\n reverseSegments(segments, params, inActivatedStructure = false) {\n let result = '';\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const remainingSegments = segments.slice(i + 1);\n switch (segment.type) {\n case 'literal':\n result += segment.value;\n break;\n case 'param':\n case 'splat':\n if (segment.name in params) {\n result += String(params[segment.name]);\n }\n else {\n // Missing required parameter - but for query segments, this might be optional\n return false;\n }\n break;\n case 'optional':\n // Check if this optional group should be included\n // considering dependencies from later optional groups\n const shouldInclude = this.hasAllParams(segment.segments, params, inActivatedStructure) ||\n this.hasLaterOptionalGroupNeedingParams(remainingSegments, params, segment.segments);\n if (shouldInclude) {\n const optionalResult = this.reverseSegments(segment.segments, params, true);\n if (optionalResult === false) {\n return false;\n }\n result += optionalResult;\n }\n break;\n }\n }\n return result;\n }\n // Check if any later optional groups need parameters and would require this group to be included\n hasLaterOptionalGroupNeedingParams(laterSegments, params, currentOptionalSegments) {\n // Check if any later optional group has parameters that are provided\n for (const segment of laterSegments) {\n if (segment.type === 'optional') {\n if (this.hasAnyParamInSegments(segment.segments, params)) {\n // Check if the current optional group only has literals/no required params\n // If so, it should be included as a bridge to the later group\n return this.hasOnlyLiteralsAndOptionals(currentOptionalSegments);\n }\n }\n }\n return false;\n }\n hasOnlyLiteralsAndOptionals(segments) {\n for (const segment of segments) {\n if (segment.type === 'param' || segment.type === 'splat') {\n return false;\n }\n }\n return true;\n }\n hasAllParams(segments, params, inActivatedStructure = false) {\n // Check if we can include this optional group\n let hasDirectParams = false;\n let hasNestedParams = false;\n let missingDirectParam = false;\n let hasOnlyLiteralsAndOptionals = true;\n // First pass: check direct params and literals\n for (const segment of segments) {\n switch (segment.type) {\n case 'param':\n case 'splat':\n hasOnlyLiteralsAndOptionals = false;\n if (segment.name in params && params[segment.name] !== undefined) {\n hasDirectParams = true;\n }\n else {\n missingDirectParam = true;\n }\n break;\n }\n }\n // Determine if this level will be activated and propagate to nested\n const willBeActivated = (hasDirectParams && !missingDirectParam);\n const passToNested = inActivatedStructure || willBeActivated;\n // Second pass: check nested optional groups with correct context\n for (const segment of segments) {\n if (segment.type === 'optional') {\n const shouldIncludeNested = this.hasAllParams(segment.segments, params, passToNested);\n if (shouldIncludeNested) {\n hasNestedParams = true;\n }\n }\n }\n // Include this optional group if:\n // 1. We have all direct parameters needed, OR\n // 2. We have nested parameters and no missing direct parameters, OR\n // 3. We have only literals/optionals and parent was activated\n if (hasDirectParams && !missingDirectParam) {\n return true; // We have all required params for this level\n }\n if (hasNestedParams && !missingDirectParam) {\n return true; // We need this group to reach nested parameters\n }\n // Include literal-only groups in nested structures\n if (hasOnlyLiteralsAndOptionals && inActivatedStructure) {\n return true; // Include literal paths in activated structures\n }\n return false;\n }\n hasOnlyOptionalMissingParams(segments, params) {\n // Check if all missing parameters are in nested optional groups\n for (const segment of segments) {\n switch (segment.type) {\n case 'param':\n case 'splat':\n if (!(segment.name in params)) {\n return false; // Has required missing param\n }\n break;\n }\n }\n return true;\n }\n hasAnyParamInSegments(segments, params) {\n for (const segment of segments) {\n switch (segment.type) {\n case 'param':\n case 'splat':\n if (segment.name in params) {\n return true;\n }\n break;\n case 'optional':\n if (this.hasAnyParamInSegments(segment.segments, params)) {\n return true;\n }\n break;\n }\n }\n return false;\n }\n}\n\nexport { Route, Route as default };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":["performTransition","performTransitionUtil"],"mappings":"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","x_google_ignoreList":[7]}