@fraqjs/fraq 0.10.1 → 0.10.3
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.d.mts +2 -0
- package/dist/index.mjs +25 -3
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -5486,6 +5486,8 @@ declare class Parameter<T> {
|
|
|
5486
5486
|
description?: string;
|
|
5487
5487
|
constructor(capturer: Capturer<T>);
|
|
5488
5488
|
describe(description: string): this;
|
|
5489
|
+
refine<U extends T>(predicate: (value: T) => value is U): Parameter<U>;
|
|
5490
|
+
refine(predicate: (value: T) => boolean): Parameter<T>;
|
|
5489
5491
|
}
|
|
5490
5492
|
declare namespace param {
|
|
5491
5493
|
function literal<T extends string>(literal: T): Parameter<T>;
|
package/dist/index.mjs
CHANGED
|
@@ -241,6 +241,16 @@ var CommandBuilder = class {
|
|
|
241
241
|
};
|
|
242
242
|
//#endregion
|
|
243
243
|
//#region src/routing/tokenizer.ts
|
|
244
|
+
const WHITESPACE_CHARS = new Set([
|
|
245
|
+
" ",
|
|
246
|
+
" ",
|
|
247
|
+
"\n",
|
|
248
|
+
"\r",
|
|
249
|
+
"\v",
|
|
250
|
+
"\f",
|
|
251
|
+
"\xA0",
|
|
252
|
+
" "
|
|
253
|
+
]);
|
|
244
254
|
var Tokenizer = class {
|
|
245
255
|
segments;
|
|
246
256
|
offset = 0;
|
|
@@ -353,12 +363,12 @@ var Tokenizer = class {
|
|
|
353
363
|
}
|
|
354
364
|
findTextTokenStart(text, from) {
|
|
355
365
|
let offset = from;
|
|
356
|
-
while (offset < text.length && text[offset]
|
|
366
|
+
while (offset < text.length && WHITESPACE_CHARS.has(text[offset])) offset += 1;
|
|
357
367
|
return offset;
|
|
358
368
|
}
|
|
359
369
|
readTextToken(text, from) {
|
|
360
370
|
let offset = from;
|
|
361
|
-
while (offset < text.length && text[offset]
|
|
371
|
+
while (offset < text.length && !WHITESPACE_CHARS.has(text[offset])) offset += 1;
|
|
362
372
|
return text.slice(from, offset);
|
|
363
373
|
}
|
|
364
374
|
};
|
|
@@ -1219,7 +1229,7 @@ const milkyVersion = "1.3";
|
|
|
1219
1229
|
const milkyPackageVersion = "1.3.0-rc.1";
|
|
1220
1230
|
//#endregion
|
|
1221
1231
|
//#region src/routing/parameter.ts
|
|
1222
|
-
var Parameter = class {
|
|
1232
|
+
var Parameter = class Parameter {
|
|
1223
1233
|
capturer;
|
|
1224
1234
|
description;
|
|
1225
1235
|
constructor(capturer) {
|
|
@@ -1229,6 +1239,18 @@ var Parameter = class {
|
|
|
1229
1239
|
this.description = description;
|
|
1230
1240
|
return this;
|
|
1231
1241
|
}
|
|
1242
|
+
refine(predicate) {
|
|
1243
|
+
const capturer = this.capturer;
|
|
1244
|
+
const refined = new Parameter({
|
|
1245
|
+
typeInstruction: capturer.typeInstruction,
|
|
1246
|
+
capture(tokenizer) {
|
|
1247
|
+
const value = capturer.capture(tokenizer);
|
|
1248
|
+
if (value === void 0 || predicate(value)) return value;
|
|
1249
|
+
}
|
|
1250
|
+
});
|
|
1251
|
+
refined.description = this.description;
|
|
1252
|
+
return refined;
|
|
1253
|
+
}
|
|
1232
1254
|
};
|
|
1233
1255
|
let param;
|
|
1234
1256
|
(function(_param) {
|