@kylexd/composable-kit
v0.0.7
Published
Composable utilities for browser applications.
Maintainers
Readme
@kylexd/composable-kit
Overview
Small utility and composable package for browser-oriented Vue projects.
It includes general helpers, Vue composables, browser helpers, and several SDK wrappers. Some exports require peer packages to be installed by the host project.
Install
npm install @kylexd/composable-kitExports
Utilities:
debouncesingleFlightdeepCloneformatParamslistToTreeOptimizedtreeOptimizedToListcopyTextcopyTextAsync
Composables:
useCacheuseDataApiuseListApiuseScrollListuseCountdownusePcHtmlToMobileusePopupQueueuseQrCodeuseRsa
Subpath entries:
@kylexd/composable-kit/utils@kylexd/composable-kit/utils/uuid@kylexd/composable-kit/utils/typeUtils@kylexd/composable-kit/composables@kylexd/composable-kit/sdk
SDK helpers:
useFirebaseuseIntercomuseSalesmartlyuseTurbolinkSdk
Basic usage
import { debounce, useCache } from '@kylexd/composable-kit'
const onSearch = debounce(() => {
// update search
}, 300)import { usePopupQueue } from '@kylexd/composable-kit'
const popup = usePopupQueue({
key: 'default',
start() {},
})import { debounce } from '@kylexd/composable-kit/utils'
import { useCache } from '@kylexd/composable-kit/composables'Dependency requirements
Peer dependencies are optional at install time because each project may only use part of the package. Install the dependency for the exports you consume directly or indirectly.
| Export group | Required package |
|---|---|
| dayjsInstance, formatTime, formatTimeWithUtcOffset, formatLocalStringAsUtcOffset, getNowWithUtcOffset, formatTimeBeijingStringToUtc8String, getNowBeijingTime, utcFormatToBeijingString, useCountdown | dayjs |
| useQrCode | qrcode |
| useRsa | jsencrypt |
| copyText | copy-to-clipboard |
| useCookies | js-cookie |
| useParseZod | zod |
| useFirebase | firebase |
| useIntercom | @intercom/messenger-js-sdk |
| useTurbolinkSdk | turbolink-ai |
| piniaPersistedState | pinia, pinia-plugin-persistedstate |
| useIsMobile | ismobilejs |
| useApi response parsing helpers | destr |
| encryption utilities | crypto-js |
For Day.js helpers, the utc, timezone, duration, relativeTime, and minMax plugins are included in the dayjs package. No separate plugin packages are required.
Build
npm run buildNotes
- Peer dependencies are optional, but individual exports still need their related packages at runtime.
- Prefer subpath entries when the host project only needs one group of exports.
- SDK helpers expect configuration and project data from the host project.
- Browser-only helpers should not be called in non-browser environments.
License
UNLICENSED
