Ahoj všichni, toto je můj první příspěvek na Dev.to a jsem velmi rád, že se o vás dozvím.
Posledních pár týdnů jsem pracoval na validační knihovně a včera jsem publikoval její druhou hlavní verzi na npm. Tento balíček byl můj první balíček npm.
Podívejte se na npm:handy-types
Úložiště GitHub:praktické typy
Je to odlehčená knihovna pro ověřování hmotnosti, kterou jsem vyvinul jako vedlejší projekt ke snížení ověřovacího standardu v mé další knihovně ověřování, na které jsem posledních pár měsíců pracoval 😅. Ale rozhodl jsem se publikovat na npm pro případ, že to ostatní považují za užitečné.
Příklady použití (TypeScript ):
import { is, assert } from "handy-types";
let value: unknown;
is("integer", value); // false
is("positive_number", value); // false
is("8bit_unsigned_integer", value); // false
is("non_null_object | plain_object", value); // false
if (is<string | string[]>("non_empty_string | non_empty_string[]", value)) {
value; // here the type of value is: string | string[]
}
// we can use caching for improved performance
if ( is.cache<string | string[]>("non_empty_string | non_empty_string[]", value)) {
value; // here the type of value is: string | string[]
}
assert("integer", value);
// throws error: `Value must be of type Integer`
assert("integer", value, {
name: "Age",
code: "INVALID_AGE",
});
// throws error: `Age must be of type Integer`, with code: "INVALID_AGE"
assert("non_empty_string", value, {
message: "Invalid path",
otherInfo: {
path: value,
errorId: -3,
},
});
// throws error: `Invalid path` , with properties path: undefined, errorId: -3
// use caching for improved performance
assert.cache<string | string[]>(
"non_empty_string | non_empty_string[]",
value,
{ name: "hobbies" }
); // throws error: "hobbies must of type: Non-Empty String or Non-Empty String Array"
Podrobnou dokumentaci naleznete v souboru README githubu.
Pokud si myslíte, že bych mohl něco zlepšit, dejte mi prosím vědět. Předem děkuji 💝.