diff --git a/package.json b/package.json index 7763aa7..2fc3d4e 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,15 @@ "private": true, "homepage": "https://git.chor.date/Conduitry/svelte-tiny-validator", "type": "module", + "types": "./validator.d.ts", + "main": "./validator.js", "exports": { - ".": "./validator.js" + ".": { + "types": "./validator.d.ts", + "import": "./validator.js" + } + }, + "peerDependencies": { + "svelte": "^3.46.6" } } diff --git a/validator.d.ts b/validator.d.ts new file mode 100644 index 0000000..242d543 --- /dev/null +++ b/validator.d.ts @@ -0,0 +1,15 @@ +import { Action } from 'svelte/action'; +import { Writable } from 'svelte/store'; + +type Falsy = false | 0 | '' | null | undefined; + +type Validator = Action & + Writable & { + validate: (display?: boolean) => boolean; + }; + +export function validator(chill?: boolean): Validator; + +export function validate(...validators: (Validator | Falsy)[]): boolean; + +export function reset(...validators: (Validator | Falsy)[]): boolean;