https://github.com/josxa/kit-utils
Script Kit environment with UI utilities and other scripting goodies
https://github.com/josxa/kit-utils
kenv npm-package scriptkit
Last synced: 4 months ago
JSON representation
Script Kit environment with UI utilities and other scripting goodies
- Host: GitHub
- URL: https://github.com/josxa/kit-utils
- Owner: JosXa
- Created: 2024-05-04T20:58:43.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-02-20T19:40:09.000Z (over 1 year ago)
- Last Synced: 2025-04-17T23:29:01.772Z (about 1 year ago)
- Topics: kenv, npm-package, scriptkit
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@josxa/kit-utils
- Size: 1.65 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# kit-utils
A [Script Kit](https://scriptkit.com) environment ([what is a Kenv?](https://gist.github.com/BeSpunky/4595a7a783b74802b8cb5301d91efa55)) with UI
utilities and other scripting goodies.
Except for some demos, this repo does not contain any runnable scripts and is meant to be used as a TypeScript library you
can reference in your own scripts.
## Installation
> [!TIP]
> This package can either be used as a [kenv](https://gist.github.com/BeSpunky/4595a7a783b74802b8cb5301d91efa55), or be
> installed via NPM.
>
> #### Which should I choose?
> - If you want to run the Demo apps 👉 **Install as kenv**
> - If you expect to be making occasional changes to the utilities here 👉 **Install as kenv**
> - If you plan on contributing 👉 **Install as kenv**
> - Otherwise 👉 **Install from NPM**
### Installing as a kenv
1. Direct link: https://scriptkit.com/api/kenv?repo=JosXa/kit-utils
2. Accept the risks and install
3. Import utils directly from the kenv, usually `import {...} from '../kenvs/kit-utils'`
### Using as an NPM library
Simply paste\
`import {} from '@josxa/kit-utils'`\
into one of your scripts and wait for Kit to prompt you to install it.
Or install explicitly using `npm install @josxa/kit-utils`, you know the drill.
## Demos
After installation as a kenv, run the "Show or Hide Demos" script to get a feel for what's possible.
## API
### Prompt Helpers
#### `crudArg`
A wrapper around `arg` that remembers previous user choices, with actions to **c**reate, **r**ead, **u**pdate, and **d**elete cached entries.
_Example:_
```ts
import { crudArg } from '@josxa/kit-utils'
const city = await crudArg('Enter a city name')
await div(`You selected: ${city}`)
```
#### `refreshable`
See [Docstring](https://github.com/JosXa/kit-utils/tree/main/src/refreshable.ts#L6-L37)
_Example:_
See [Demo](https://github.com/JosXa/kit-utils/tree/main/scripts/refreshable-demo.ts)