@jsenv/navi 0.16.13 → 0.16.14
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/jsenv_navi.js +44 -5
- package/dist/jsenv_navi.js.map +3 -3
- package/package.json +1 -1
package/dist/jsenv_navi.js
CHANGED
|
@@ -8709,11 +8709,17 @@ const createRoutePattern = (pattern) => {
|
|
|
8709
8709
|
}
|
|
8710
8710
|
// Include parameters that target pattern specifically needs
|
|
8711
8711
|
if (targetQueryParamNames.has(paramName)) {
|
|
8712
|
-
|
|
8713
|
-
|
|
8714
|
-
|
|
8715
|
-
|
|
8716
|
-
|
|
8712
|
+
// Only include if the value is not the default value
|
|
8713
|
+
const connection = targetAncestor.connections.find(
|
|
8714
|
+
(conn) => conn.paramName === paramName,
|
|
8715
|
+
);
|
|
8716
|
+
if (connection && connection.options.defaultValue !== value) {
|
|
8717
|
+
ancestorParams[paramName] = value;
|
|
8718
|
+
if (DEBUG$2) {
|
|
8719
|
+
console.debug(
|
|
8720
|
+
`[${pattern}] tryDirectOptimization: Added target param ${paramName}=${value}`,
|
|
8721
|
+
);
|
|
8722
|
+
}
|
|
8717
8723
|
}
|
|
8718
8724
|
}
|
|
8719
8725
|
// Include source query parameters (these should be inherited during ancestor optimization)
|
|
@@ -8745,6 +8751,39 @@ const createRoutePattern = (pattern) => {
|
|
|
8745
8751
|
}
|
|
8746
8752
|
}
|
|
8747
8753
|
|
|
8754
|
+
// Also check target ancestor's own signal values for parameters not in resolvedParams
|
|
8755
|
+
for (const connection of targetAncestor.connections) {
|
|
8756
|
+
const { paramName, signal, options } = connection;
|
|
8757
|
+
const defaultValue = options.defaultValue;
|
|
8758
|
+
|
|
8759
|
+
// Only include if not already processed and has non-default value
|
|
8760
|
+
if (
|
|
8761
|
+
!(paramName in ancestorParams) &&
|
|
8762
|
+
signal?.value !== undefined &&
|
|
8763
|
+
signal.value !== defaultValue
|
|
8764
|
+
) {
|
|
8765
|
+
// Don't include path parameters that correspond to literal segments we're optimizing away
|
|
8766
|
+
const targetParam = targetParams.find((p) => p.name === paramName);
|
|
8767
|
+
const isPathParam = targetParam !== undefined; // Any param in segments is a path param
|
|
8768
|
+
if (isPathParam) {
|
|
8769
|
+
// Skip path parameters - we want them to use default values for optimization
|
|
8770
|
+
if (DEBUG$2) {
|
|
8771
|
+
console.debug(
|
|
8772
|
+
`[${pattern}] tryDirectOptimization: Skipping path param ${paramName}=${signal.value} (will use default)`,
|
|
8773
|
+
);
|
|
8774
|
+
}
|
|
8775
|
+
continue;
|
|
8776
|
+
}
|
|
8777
|
+
|
|
8778
|
+
ancestorParams[paramName] = signal.value;
|
|
8779
|
+
if (DEBUG$2) {
|
|
8780
|
+
console.debug(
|
|
8781
|
+
`[${pattern}] tryDirectOptimization: Added target signal param ${paramName}=${signal.value}`,
|
|
8782
|
+
);
|
|
8783
|
+
}
|
|
8784
|
+
}
|
|
8785
|
+
}
|
|
8786
|
+
|
|
8748
8787
|
// Then, get all ancestors starting from the target ancestor's parent (skip the target itself)
|
|
8749
8788
|
const targetAncestorRelationships = patternRelationships.get(
|
|
8750
8789
|
targetAncestor.originalPattern,
|