A collection of reusable utilities.
Repository ✦ Package ✦ Releases ✦ Discussions
pnpm add @hypernym/utils
- TypeScript friendly
- Fully tree-shakeable
- No dependencies
After installation, import Hyperutils
into your project:
// ESM & TS
import { isNull, isString, ... } from '@hypernym/utils'
// ESM & TS
import { exists, copy, ... } from '@hypernym/utils/fs'
// Types
import type { IsAny, RequiredDeep, ... } from '@hypernym/utils'
Here are some examples of how to integrate Hyperutils from a CDN via a script tag.
Also, it is possible to download files manually and serve them accordingly.
<script type="module">
import { isNull, isString, ... } from 'https://unpkg.com/@hypernym/utils/dist/index.min.mjs'
</script>
<script src="https://unpkg.com/@hypernym/utils/dist/index.iief.mjs"></script>
<script>
const { isNull, isString, ... } = Hyperutils
</script>
<script src="https://unpkg.com/@hypernym/utils/dist/index.umd.mjs"></script>
<script>
const { isNull, isString, ... } = Hyperutils
</script>
Checks if the code is running in the browser
.
import { isBrowser } from '@hypernym/utils'
isBrowser // true
Returns a boolean if the given value is a null
.
import { isNull } from '@hypernym/utils'
isNull(null) // => true
Returns a boolean if the given value is a undefined
.
import { isUndefined } from '@hypernym/utils'
isUndefined(undefined) // => true
Returns a boolean if the given value is a string
.
import { isString } from '@hypernym/utils'
isString('@hypernym/utils') // => true
Checks if the file
or directory
exists.
import { exists } from '@hypernym/utils/fs'
await exists('dir/file.ts') // => true
Reads the entire contents of a file
.
import { read } from '@hypernym/utils/fs'
await read('dir/subdir/file.ts')
Reads the contents of a directory
recursively.
import { readdir } from '@hypernym/utils/fs'
await readdir('dir/subdir')
Writes data to a file
recursively.
import { write } from '@hypernym/utils/fs'
await write('dir/subdir/file.ts', `console.log('Hello World!')`)
Copies files
or directories
recursively.
Accepts a single source or a range of sources.
import { copy } from '@hypernym/utils/fs'
await copy('src/subdir/file.ts', './dist/subdir')
Creates a directory
recursively.
Accepts a single path or a range of paths.
import { mkdir } from '@hypernym/utils/fs'
await mkdir('src/subdir')
Removes files
and directories
recursively.
Accepts a single path or a range of paths.
import { remove } from '@hypernym/utils/fs'
await remove('src/subdir/file.ts')
Constructs a type by recursively setting all properties as optional.
Use Partial<T>
for one level.
type PartialObject = PartialDeep<Object>
// Disables recursive mode for arrays and tuples.
type PartialObject = PartialDeep<Object, { arrays: false }>
Constructs a type by recursively setting all properties as required.
Use Required<T>
for one level.
type RequiredObject = RequiredDeep<Object>
// Disables recursive mode for arrays and tuples.
type RequiredObject = RequiredDeep<Object, { arrays: false }>
Feel free to ask questions or share new ideas.
Use the official discussions to get involved.
Developed in 🇭🇷 Croatia, © Hypernym Studio.
Released under the MIT license.