bbdb68a6de
Esta commit conteudo a estrutura atomica completa:
- types: Result<T,E>, AsyncState<T>, Paginated<T>, SortConfig<T>
- utils: date, str, num, cn, debounce, throttle, storage, arr, obj
- validators: Zod schemas — email, password, uuid, url, phone, CPF/CNPJ, sanitizedStr, safeParse
- hooks: useToggle, useAsync, useDebounce, useLocalStorage, useMedia, useInterval, useOnClickOutside, useClipboard, useFetch
- components: Button, Input, Alert, Card, Spinner (atomic design pattern)
- build: tsup v8 ESM+CJS + DTS + sourcemaps — 0 erros
- tests: 57 testes 100% usuarios
- docker: multi-stage Dockerfile (node 20-alpine)
- config: vitest, tsup, tsconfig strict, .npmignore
Filosofia atomica:/utils ← /types ← /validators ← /hooks ← /components
Build: npm run build | Test: npm test | Publish: npm publish
🤖 Generated with Pulse (openclaw + nova-self-improver)
siginfo
Utility module to print pretty messages on SIGINFO/SIGUSR1
SIGINFO on BSD / macOS and SIGUSR1 on Linux, usually triggered by
Ctrl + T, are by convention used to print information about
a long running process internal state. Eg. dd will tell you how many blocks it
has written and at what speed, while xz will tell you progress, compression
ratio and estimated time remaining.
This module wraps both signals, checks if the process is connected to TTY and lets you do whatever you want.
Usage
var siginfo = require('siginfo')
var pkg = require('./package.json')
siginfo(function () {
console.dir({
version: pkg.version,
uptime: process.uptime()
})
})
API
var removeListener = siginfo(queryFn, [force])
queryFn can be used for whatever you want (logging, sending a UDP message, etc.).
Setting force = true will attach the event handlers whether a TTY is present
or not.
Install
npm install siginfo