Dejte mi prosím zpětnou vazbu k mému balíčku npm

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 💝.