3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-24 18:15:02 +00:00

Add time_and_date plugin. Use it for timezones and date formats around the bot.

This commit is contained in:
Dragory 2020-08-19 00:19:12 +03:00
parent 6e41bc53f6
commit 6ba56a3f12
67 changed files with 543 additions and 177 deletions

View file

@ -0,0 +1,13 @@
import * as t from "io-ts";
import { either } from "fp-ts/lib/Either";
import { isValidTimezone } from "./isValidTimezone";
export const tValidTimezone = new t.Type<string, string>(
"tValidTimezone",
(s): s is string => typeof s === "string",
(from, to) =>
either.chain(t.string.validate(from, to), input => {
return isValidTimezone(input) ? t.success(input) : t.failure(from, to, `Invalid timezone: ${input}`);
}),
s => s,
);