ts-cron-validator
Advanced tools
Comparing version
import { CheckDaysPart, CheckHoursPart, CheckMinutesPart, CheckMonthsPart, CheckWeekDaysPart, Space, Split } from "./core"; | ||
export type CRON<Value> = Split<Value, Space> extends [ | ||
export type CRON<Value extends string> = Split<Value, Space> extends [ | ||
infer Minute extends string, | ||
@@ -9,2 +9,2 @@ infer Hour extends string, | ||
] ? `${CheckMinutesPart<Minute>}${Space}${CheckHoursPart<Hour>}${Space}${CheckDaysPart<DayOfMonth>}${Space}${CheckMonthsPart<Month>}${Space}${CheckWeekDaysPart<DayOfWeek>}` : never; | ||
export declare const verifyCron: <T extends string>(cron: T & CRON<T>) => T; | ||
export declare const validCronExpression: <T extends string>(cron: CRON<T> extends never ? never : T) => T; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.verifyCron = void 0; | ||
var verifyCron = function (cron) { return cron; }; | ||
exports.verifyCron = verifyCron; | ||
exports.validCronExpression = void 0; | ||
var validCronExpression = function (cron) { return cron; }; | ||
exports.validCronExpression = validCronExpression; |
import { describe, expectTypeOf, it, expect } from "vitest"; | ||
import { CRON, verifyCron } from "."; | ||
import { CRON, validCronExpression } from "."; | ||
@@ -14,4 +14,5 @@ describe("cron", () => { | ||
verifyCron("*/10,1,02,01-2 * * 012 3-6"); | ||
validCronExpression("*/10,1,02,01-2 * * 012 3-6"); | ||
validCronExpression("* * * * * "); | ||
}); | ||
}); | ||
}); |
@@ -11,3 +11,3 @@ import { | ||
export type CRON<Value> = Split<Value, Space> extends [ | ||
export type CRON<Value extends string> = Split<Value, Space> extends [ | ||
infer Minute extends string, | ||
@@ -22,2 +22,2 @@ infer Hour extends string, | ||
export const verifyCron = <T extends string>(cron: T & CRON<T>): T => cron; | ||
export const validCronExpression = <T extends string>(cron: CRON<T> extends never ? never : T): T => cron; |
{ | ||
"name": "ts-cron-validator", | ||
"version": "0.0.1", | ||
"version": "0.0.2", | ||
"description": "TypeScript type-level CRON expression validator", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
35279
0.53%688
0.15%