@stacksjs/bun-router 0.0.20 → 0.0.21
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/cli.js +1 -1
- package/dist/index.js +16 -0
- package/dist/types.d.ts +5 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
package/dist/index.js
CHANGED
|
@@ -8693,6 +8693,13 @@ class Router {
|
|
|
8693
8693
|
const value = params?.[name];
|
|
8694
8694
|
return value !== undefined ? value : defaultValue;
|
|
8695
8695
|
};
|
|
8696
|
+
enhancedReq.getParamAsInt = (name) => {
|
|
8697
|
+
const value = params?.[name];
|
|
8698
|
+
if (value === undefined || value.trim() === "")
|
|
8699
|
+
return null;
|
|
8700
|
+
const parsed = Number(value);
|
|
8701
|
+
return Number.isSafeInteger(parsed) ? parsed : null;
|
|
8702
|
+
};
|
|
8696
8703
|
enhancedReq.params = params || {};
|
|
8697
8704
|
return enhancedReq;
|
|
8698
8705
|
}
|
|
@@ -9353,6 +9360,15 @@ if (!RequestWithMacros.hasMacro("getParam")) {
|
|
|
9353
9360
|
return value !== undefined ? value : defaultValue;
|
|
9354
9361
|
});
|
|
9355
9362
|
}
|
|
9363
|
+
if (!RequestWithMacros.hasMacro("getParamAsInt")) {
|
|
9364
|
+
RequestWithMacros.macro("getParamAsInt", function(name) {
|
|
9365
|
+
const value = this.params?.[name];
|
|
9366
|
+
if (value === undefined || value.trim() === "")
|
|
9367
|
+
return null;
|
|
9368
|
+
const parsed = Number(value);
|
|
9369
|
+
return Number.isSafeInteger(parsed) ? parsed : null;
|
|
9370
|
+
});
|
|
9371
|
+
}
|
|
9356
9372
|
if (!RequestWithMacros.hasMacro("get")) {
|
|
9357
9373
|
RequestWithMacros.macro("get", function(key, defaultValue) {
|
|
9358
9374
|
const value = getParsedURL(this).searchParams.get(key);
|
package/dist/types.d.ts
CHANGED
|
@@ -695,6 +695,11 @@ export interface EnhancedRequest extends Request, Omit<RequestMacroMethods, 'ip'
|
|
|
695
695
|
* `$request->route('name')` ergonomics.
|
|
696
696
|
*/
|
|
697
697
|
getParam: <T = string>(name: string, defaultValue?: T) => T | undefined;
|
|
698
|
+
/**
|
|
699
|
+
* Read a route parameter as a safe integer. Missing, fractional, and
|
|
700
|
+
* otherwise invalid numeric values return null.
|
|
701
|
+
*/
|
|
702
|
+
getParamAsInt: (name: string) => number | null;
|
|
698
703
|
/**
|
|
699
704
|
* Query parameters from the URL
|
|
700
705
|
*/
|