Skip to content

Commit 841de41

Browse files
committed
Lint
1 parent 157822a commit 841de41

3 files changed

Lines changed: 13 additions & 20 deletions

File tree

src/type/script/token/internal/guard.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ THE SOFTWARE.
2828

2929
// deno-coverage-ignore-start - parsebox tested
3030

31-
export { IsArray, IsEqual, IsString } from '../../../../guard/guard.ts'
31+
export { IsArray, IsEqual, IsString, TakeLeft } from '../../../../guard/guard.ts'
3232

3333
// ------------------------------------------------------------------
3434
// Internal Guards to ensure Token is portable.

src/type/script/token/internal/take.ts

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,11 @@ export function Take<Variants extends string[], Input extends string>(variants:
6363
// ----------------------------------------------------------------
6464
// Symmetric
6565
// ----------------------------------------------------------------
66-
// const [left, ...right] = variants
67-
// return (
68-
// IsString(left)
69-
// ? (() => {
70-
// const result = TakeVariant(left, input)
71-
// return IsEqual(result.length, 2) ? result : Take(right, input)
72-
// })()
73-
// : []
74-
// ) as never
66+
// return Guard.TakeLeft(variants, (valueLeft, valueRight) =>
67+
// Match(TakeVariant(valueLeft, input), (take, rest) =>
68+
// [take, rest],
69+
// () => Take(valueRight, input)),
70+
// () => []) as never
7571
// ----------------------------------------------------------------
7672
// Inline
7773
// ----------------------------------------------------------------

src/type/script/token/until.ts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ THE SOFTWARE.
3030
// deno-fmt-ignore-file
3131

3232
import { Match } from './internal/match.ts'
33-
import { IsEqual, IsString } from './internal/guard.ts'
33+
import { IsEqual } from './internal/guard.ts'
34+
import Guard from 'typebox/guard'
3435

3536
// ------------------------------------------------------------------
3637
// TakeOne
@@ -55,16 +56,12 @@ type TIsInputMatchSentinal<End extends string[], Input extends string> = (
5556
: false
5657
)
5758
function IsInputMatchSentinal<End extends string[], Input extends string>(end: [...End], input: Input): TIsInputMatchSentinal<End, Input> {
58-
const [left, ...right] = end
59-
return (
60-
IsString(left)
61-
? input.startsWith(left)
62-
? true
63-
: IsInputMatchSentinal(right, input)
64-
: false
65-
) as never
59+
return Guard.TakeLeft(end, (left, right) =>
60+
input.startsWith(left)
61+
? true
62+
: IsInputMatchSentinal(right, input),
63+
() => false) as never
6664
}
67-
6865
// ------------------------------------------------------------------
6966
// Until
7067
//

0 commit comments

Comments
 (0)