@kidd-cli/utils
v0.1.5
Published
Shared utilities for the kidd ecosystem
Maintainers
Readme
@kidd-cli/utils
Shared utilities for the kidd ecosystem. Provides functional programming helpers, filesystem operations, JSON handling, validation, and more.
Installation
pnpm add @kidd-cli/utilsUsage
Result tuples
import { ok, err } from '@kidd-cli/utils'
import type { Result } from '@kidd-cli/utils'
function divide(a: number, b: number): Result<number> {
if (b === 0) return err(new Error('Division by zero'))
return ok(a / b)
}
const [error, value] = divide(10, 2)Validation
import { validate } from '@kidd-cli/utils'
import { z } from 'zod'
const schema = z.object({ name: z.string(), port: z.number() })
const [error, config] = validate(schema, input)JSON
import { jsonParse, jsonStringify } from '@kidd-cli/utils/json'
const [parseError, data] = jsonParse(rawString)
const [stringifyError, json] = jsonStringify(data, { pretty: true })Filesystem
import { fileExists } from '@kidd-cli/utils/fs'
const exists = await fileExists('/path/to/file')FP utilities
The @kidd-cli/utils/fp subpath re-exports all of es-toolkit and ts-pattern alongside kidd's Result helpers and predicates.
import { match, P, isString, pipe } from '@kidd-cli/utils/fp'Subpath exports
| Export | Description |
| -------------------------- | ----------------------------------------- |
| @kidd-cli/utils | Core exports (Result, validate, fs, etc.) |
| @kidd-cli/utils/fp | es-toolkit + ts-pattern + Result helpers |
| @kidd-cli/utils/fs | Filesystem utilities |
| @kidd-cli/utils/json | JSON parse/stringify with Result tuples |
| @kidd-cli/utils/manifest | package.json reader |
| @kidd-cli/utils/redact | Sensitive data redaction |
| @kidd-cli/utils/validate | Zod schema validation |
| @kidd-cli/utils/tag | Runtime type tagging |
License
MIT -- GitHub
