{"_id":"typelab","_rev":"4-d48002eff0081f70e5dda5dbc39b72d9","name":"typelab","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"typelab","version":"1.0.0","keywords":["typescript","ts","utility-types","ts-utility-types","type-utilities","type-safety","advanced-types","type-helpers","type-level","typescript-utils"],"author":{"name":"codeismyid"},"license":"MIT","_id":"typelab@1.0.0","maintainers":[{"name":"codeismyid","email":"codeismyid@gmail.com"}],"homepage":"https://github.com/codeismyid/typelab#readme","bugs":{"url":"https://github.com/codeismyid/typelab/issues"},"dist":{"shasum":"789dd694e34e2778efb5a862306b45b32ae3817f","tarball":"https://registry.npmjs.org/typelab/-/typelab-1.0.0.tgz","fileCount":108,"integrity":"sha512-eDySeSY4PqN3oZ9wxl8jLylMAhVuWMzmnBeVeOcyrrJ9LOKhTD2154P+ZmqF8hwJGsb0HXbxTptTZ5JuFIrfsQ==","signatures":[{"sig":"MEUCIQDaDpj9GrV+sr+FsMTaYJt1CFTtppmP1Ya+OKozi8QIygIgVlxhx41QOclfrh+5T5DCZ/XW77BZ0ZcBquR+vauXS+0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/typelab@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182725},"type":"module","exports":{".":{"types":"./dist/index.d.ts"},"./*":{"types":"./dist/lib/*/index.d.ts"}},"gitHead":"a8be171f04a1b46cfdd44091458131642bc89225","scripts":{"ci":"bun install --frozen-lockfile","fix":"bun fix:format && bun fix:lint","dist":"bun clean:dist && bunx tsc -p tsconfig.build.json && bunx publint","docs":"bunx typedoc","check":"bun check:type && bun check:spec && bun check:format && bun check:lint","clean":"bun clean:deps && bun clean:docs","prepare":"bunx husky || true","release":"bun ./scripts/release.ts","fix:lint":"bunx biome lint --fix --diagnostic-level=warn","reinstall":"bun clean:deps && bun install","check:lint":"bunx biome lint","check:spec":"bun test","check:type":"bunx tsc","clean:deps":"rm -rf node_modules && rm -f bun.lockb && rm -f bun.lock","clean:dist":"rm -rf dist","fix:format":"bunx biome check --linter-enabled=false --fix","check:format":"bunx biome check --linter-enabled=false"},"_npmUser":{"name":"codeismyid","email":"codeismyid@gmail.com"},"repository":{"url":"git+https://github.com/codeismyid/typelab.git","type":"git"},"_npmVersion":"11.13.0","description":"A lab of reusable utility types for everyday TypeScript code.","directories":{},"_nodeVersion":"20.20.2","dependencies":{},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"ansis":"4.2.0","husky":"9.1.7","publint":"0.3.18","typedoc":"0.28.19","@types/bun":"latest","typescript":"latest","types-testing":"1.0.2","@biomejs/biome":"2.4.14","@commitlint/cli":"20.5.3","semantic-release":"25.0.3","@commitlint/types":"20.5.0","commitlint-format":"1.1.0","tsc-output-format":"1.2.0","typedoc-plugin-markdown":"4.11.0","conventional-changelog-conventionalcommits":"9.3.1"},"_npmOperationalInternal":{"tmp":"tmp/typelab_1.0.0_1777887657311_0.9128727500240263","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"typelab","description":"A lab of reusable utility types for everyday TypeScript code.","version":"1.0.1","author":{"name":"codeismyid"},"repository":{"type":"git","url":"git+https://github.com/codeismyid/typelab.git"},"homepage":"https://github.com/codeismyid/typelab#readme","bugs":{"url":"https://github.com/codeismyid/typelab/issues"},"license":"MIT","publishConfig":{"access":"public","provenance":true},"keywords":["typescript","ts","utility-types","ts-utility-types","type-utilities","type-safety","advanced-types","type-helpers","type-level","typescript-utils"],"type":"module","exports":{".":{"types":"./dist/index.d.ts"},"./*":{"types":"./dist/lib/*/index.d.ts"}},"scripts":{"prepare":"bunx husky || true","ci":"bun install --frozen-lockfile","clean":"bun clean:deps && bun clean:docs","clean:deps":"rm -rf node_modules && rm -f bun.lockb && rm -f bun.lock","clean:dist":"rm -rf dist","check":"bun check:type && bun check:spec && bun check:format && bun check:lint","check:format":"bunx biome check --linter-enabled=false","check:lint":"bunx biome lint","check:spec":"bun test","check:type":"bunx tsc","dist":"bun clean:dist && bunx tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json && bunx publint","docs":"bunx typedoc","fix":"bun fix:format && bun fix:lint","fix:format":"bunx biome check --linter-enabled=false --fix","fix:lint":"bunx biome lint --fix --diagnostic-level=warn","reinstall":"bun clean:deps && bun install","release":"bun ./scripts/release.ts"},"dependencies":{},"devDependencies":{"@biomejs/biome":"2.4.14","@commitlint/cli":"20.5.3","@commitlint/types":"20.5.0","@types/bun":"latest","ansis":"4.2.0","commitlint-format":"1.1.0","conventional-changelog-conventionalcommits":"9.3.1","husky":"9.1.7","publint":"0.3.18","semantic-release":"25.0.3","tsc-alias":"1.8.17","tsc-output-format":"1.2.0","typedoc":"0.28.19","typedoc-plugin-markdown":"4.11.0","types-testing":"1.0.2","typescript":"latest"},"gitHead":"025d7370433b0f54edc219c037a1a8dda6f8f1fe","_id":"typelab@1.0.1","_nodeVersion":"20.20.2","_npmVersion":"11.13.0","dist":{"integrity":"sha512-w5wEh4HB7jMiNPhMSSnxRm8wRh0n2LVrULLK/Y5apkBVZ63YfH9TpYhXIMKO0YCM+H5mWpwvWtFg0dhKwEhd7w==","shasum":"6379db45cf78422d2f9a24d4bfe8b858a22fa353","tarball":"https://registry.npmjs.org/typelab/-/typelab-1.0.1.tgz","fileCount":108,"unpackedSize":182752,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/typelab@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDGoxBTpEICoC5RVDWjf14f16HtbCRnwK2OlAFVd4bJYAiEAj0Q4oIPwvMXU8UJjzi01nrRJneukSjezY28STOfnkyo="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:4768fd90-ca9e-4ea4-ad86-27a9dbf1d860"}},"directories":{},"maintainers":[{"name":"codeismyid","email":"codeismyid@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/typelab_1.0.1_1779238472939_0.4070745916989502"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-04T08:20:27.846Z","modified":"2026-05-20T00:54:33.454Z","0.0.1":"2026-05-04T08:20:28.088Z","1.0.0":"2026-05-04T09:40:57.487Z","1.0.1":"2026-05-20T00:54:33.126Z"},"bugs":{"url":"https://github.com/codeismyid/typelab/issues"},"author":{"name":"codeismyid"},"license":"MIT","homepage":"https://github.com/codeismyid/typelab#readme","keywords":["typescript","ts","utility-types","ts-utility-types","type-utilities","type-safety","advanced-types","type-helpers","type-level","typescript-utils"],"repository":{"type":"git","url":"git+https://github.com/codeismyid/typelab.git"},"description":"A lab of reusable utility types for everyday TypeScript code.","maintainers":[{"name":"codeismyid","email":"codeismyid@gmail.com"}],"readme":"<div align=\"center\">\n    \n# typelab\n    \n[![License](https://img.shields.io/github/license/codeismyid/typelab?style=flat-square&color=blue)](/LICENSE)\n[![NPM Latest](https://img.shields.io/npm/v/typelab.svg?style=flat-square&color=blue)](https://www.npmjs.com/package/typelab)\n[![NPM Downloads](https://img.shields.io/npm/dt/typelab.svg?style=flat-square&color=blue)](https://www.npmjs.com/package/typelab)\n\n[![Github](https://img.shields.io/badge/github-repo-242424)](https://github.com/codeismyid/typelab)\n[![CI](https://img.shields.io/github/actions/workflow/status/codeismyid/typelab/ci.yaml?style=flat-square&logo=github&label=CI&labelColor=383f47)](https://github.com/codeismyid/typelab/actions/workflows/ci.yaml)\n[![CodeQL](https://img.shields.io/github/actions/workflow/status/codeismyid/typelab/codeql.yaml?style=flat-square&logo=github&label=CodeQL&labelColor=383f47)](https://github.com/codeismyid/typelab/actions/workflows/codeql.yaml)\n\n<p align=\"center\">A lab of reusable utility types for everyday TypeScript code.</p>\n\n</div>\n\n## 📝 Table of Contents\n- [🤔 About ](#-about)\n- [🔌 Installation ](#-installation)\n- [📔 Docs ](#-docs)\n  - [Showcases](#showcases)\n  - [All Available Types](#all-available-types)\n- [⛏️ Built Using ](#️-built-using)\n- [📄 License](#-license)\n\n## 🤔 About <a name=\"about\"></a>\n\nThis package offers a suite of versatile utility types that simplify common tasks, improve type safety, and boost productivity.\n\n* Easy to use\n* Zero third party dependencies\n* Type level only\n* No more copy paste \"type definitions\" between projects\n\n## 🔌 Installation <a name=\"installation\"></a>\n\n```bash\n# NPM\nnpm install --save-dev typelab\n\n# BUN\nbun add -d typelab\n```\n\n## 📔 Docs <a name=\"docs\"></a>\n\n### Showcases\n\nHere is an example for some types from each categories.\n\n<details open>\n<summary>Aliases</summary>\n\n- `Primitive`\n  ```ts\n  const value1: Primitive = \"\"; // valid\n  const value2: Primitive = {}; // invalid\n  ```\n\n- `Nullable`\n  ```ts\n  const example: Nullable<string> = null; // valid\n  const example2: Nullable<string> = undefined; // invalid\n  ```\n\n- `Undefinable`\n  ```ts\n  const example: Undefinable<string> = undefined; // valid\n  const example2: Undefinable<string> = null; // invalid\n  ```\n\n</details>\n\n\n<details open>\n<summary>Assertions</summary>\n\n- `IsExtends`\n  ```ts\n  type Extends = IsExtends<'', string>; // true\n  type NotExtends = IsExtends<string, ''>; // false\n  ```\n\n- `IsEqual`\n  ```ts\n  type Equal = IsEqual<string, string>; // true\n  type NotEqual = IsEqual<string, ''>; // false\n  ```\n\n- `IsAny`\n  ```ts\n  type Valid = IsAny<any>; // true\n  type Invalid = IsAny<string>; // false\n  ```\n\n</details>\n\n<details open>\n<summary>Conditions</summary>\n\n- `IfExtends`\n  ```ts\n  type Yes = IfExtends<'', string, 'yes', 'no'>; // 'yes'\n  type No = IfExtends<string, '', 'yes', 'no'>; // 'no'\n  type YesOrNo = IfExtends<string | number, string, 'yes', 'no'>; // 'yes' | 'no'\n  ```\n\n- `IfEqual`\n  ```ts\n  type Yes = IfEqual<string, string, 'yes', 'no'>; // 'yes'\n  type No = IfEqual<string, number, 'yes', 'no'>; // 'no'\n  ```\n\n- `IfAny`\n  ```ts\n  type Yes = IfAny<any, 'yes', 'no'>; // 'yes'\n  type No = IfAny<string, 'yes', 'no'>; // 'no'\n  ```\n\n</details>\n\n<details open>\n<summary>Utils</summary>\n\n- `FunctionCallbackify`\n  ```ts\n  // (a: string, callback: (error: unknown, result: string) => void) => void\n  type Callbackified = FunctionCallbackify<(a: string) => Promise<string>>;\n  ```\n\n- `FunctionPromisify`\n  ```ts\n  // Callback-style function:\n  // (a: string) => Promise<string>\n  type Promisified = FunctionPromisify<(a: string, callback: (error: Error, result: string) => void) => void>;\n\n  // Regular function:\n  // (a: string) => Promise<string>\n  type PromisifiedFn = FunctionPromisify<(a: string) => string>;\n  ```\n\n- `ObjectAssign`\n  ```ts\n  // { a: string; b: string; c: boolean }\n  type Assign1 = ObjectAssign<{ a: string; b: number }, { b: string; c: boolean }>;\n\n  // { a: string; 0: string }\n  type Assign2 = ObjectAssign<{ a: string }, [string]>;\n\n  // { [x: number]: string, a: string }\n  type Assign3 = ObjectAssign<{ a: string }, string[]>;\n\n  // [number, number]\n  type Assign4 = ObjectAssign<[string], [number, number]>;\n\n  // (string | number)[]\n  type Assign5 = ObjectAssign<string[], [number, number]>;\n\n  // (string | number)[]\n  type Assign6 = ObjectAssign<string[], number[]>;\n\n  // [number, string]\n  type Assign7 = ObjectAssign<[string], { 0: number; 1: string }>;\n\n  // (string | number)[]\n  type Assign8 = ObjectAssign<[number], 'str'>;\n\n  // { [x: number]: string, a: string }\n  type Assign9 = ObjectAssign<{a: string}, 'str'>;\n  ```\n\n</details>\n\n### All Available Types\n\nA complete reference for all available reusable types.\n\n<details open>\n<summary>Aliases</summary>\n\n  - Arrays  \n  [Array](docs/aliases/Array.md) · [Arr](docs/aliases/Arr.md) · [List](docs/aliases/List.md) · [ReadonlyArray](docs/aliases/ReadonlyArray.md) · [ReadonlyArr](docs/aliases/ReadonlyArr.md) · [ReadonlyList](docs/aliases/ReadonlyList.md) · [WritableArray](docs/aliases/WritableArray.md) · [WritableArr](docs/aliases/WritableArr.md) · [WritableList](docs/aliases/WritableList.md)\n\n  - Tuples  \n  [ReadonlyTuple](docs/aliases/ReadonlyTuple.md) · [Tuple](docs/aliases/Tuple.md) · [WritableTuple](docs/aliases/WritableTuple.md)\n\n  - Functions  \n  [AsyncFn](docs/aliases/AsyncFn.md) · [AsyncFunction](docs/aliases/AsyncFunction.md) · [Fn](docs/aliases/Fn.md) · [Function](docs/aliases/Function.md) · [NewableFn](docs/aliases/NewableFn.md) · [NewableFunction](docs/aliases/NewableFunction.md)\n\n  - Objects  \n  [ObjectArrayLike](docs/aliases/ObjectArrayLike.md) · [ObjectEmpty](docs/aliases/ObjectEmpty.md) · [ObjectGeneric](docs/aliases/ObjectGeneric.md)\n\n  - Misc  \n  [Any](docs/aliases/Any.md) · [Async](docs/aliases/Async.md) · [Class](docs/aliases/Class.md) · [Falsy](docs/aliases/Falsy.md) · [Infinity](docs/aliases/Infinity.md) · [NegativeInfinity](docs/aliases/NegativeInfinity.md) · [NonNullish](docs/aliases/NonNullish.md) · [Nullish](docs/aliases/Nullish.md) · [Nullable](docs/aliases/Nullable.md) · [Primitive](docs/aliases/Primitive.md) · [PositiveInfinity](docs/aliases/PositiveInfinity.md) · [Undefinable](docs/aliases/Undefinable.md) · [Void](docs/aliases/Void.md)\n\n</details>\n\n<details open>\n<summary>Assertions</summary>\n\n  - Arrays  \n  [IsArray](docs/assertions/IsArray.md) · [IsArrayReadonly](docs/assertions/IsArrayReadonly.md) · [IsArrayWritable](docs/assertions/IsArrayWritable.md)\n\n  - Tuples  \n  [IsTuple](docs/assertions/IsTuple.md) · [IsTupleReadonly](docs/assertions/IsTupleReadonly.md) · [IsTupleWritable](docs/assertions/IsTupleWritable.md)\n\n  - Functions  \n  [IsAsyncFunction](docs/assertions/IsAsyncFunction.md) · [IsFunction](docs/assertions/IsFunction.md) · [IsNewableFunction](docs/assertions/IsNewableFunction.md)\n\n  - Objects  \n  [IsObject](docs/assertions/IsObject.md) · [IsObjectArrayLike](docs/assertions/IsObjectArrayLike.md) · [IsObjectEmpty](docs/assertions/IsObjectEmpty.md) · [IsObjectLiteral](docs/assertions/IsObjectLiteral.md) · [IsOptionalProperty](docs/assertions/IsOptionalProperty.md) · [IsRequiredProperty](docs/assertions/IsRequiredProperty.md)\n\n  - Primitives  \n  [IsBigInt](docs/assertions/IsBigInt.md) · [IsBoolean](docs/assertions/IsBoolean.md) · [IsFalse](docs/assertions/IsFalse.md) · [IsNull](docs/assertions/IsNull.md) · [IsNumber](docs/assertions/IsNumber.md) · [IsNumberDecimal](docs/assertions/IsNumberDecimal.md) · [IsNumberInteger](docs/assertions/IsNumberInteger.md) · [IsNumberLiteral](docs/assertions/IsNumberLiteral.md) · [IsPrimitive](docs/assertions/IsPrimitive.md) · [IsString](docs/assertions/IsString.md) · [IsStringLiteral](docs/assertions/IsStringLiteral.md) · [IsSymbol](docs/assertions/IsSymbol.md) · [IsTrue](docs/assertions/IsTrue.md) · [IsUndefined](docs/assertions/IsUndefined.md)\n\n  - Comparisons  \n  [IsAssignable](docs/assertions/IsAssignable.md) · [IsAssignableEitherWay](docs/assertions/IsAssignableEitherWay.md) · [IsAssignableMutually](docs/assertions/IsAssignableMutually.md) · [IsEqual](docs/assertions/IsEqual.md) · [IsExtends](docs/assertions/IsExtends.md) · [IsNotAssignable](docs/assertions/IsNotAssignable.md) · [IsNotAssignableEitherWay](docs/assertions/IsNotAssignableEitherWay.md) · [IsNotAssignableMutually](docs/assertions/IsNotAssignableMutually.md) · [IsNotEqual](docs/assertions/IsNotEqual.md) · [IsNotExtends](docs/assertions/IsNotExtends.md)\n\n  - Misc  \n  [IsAny](docs/assertions/IsAny.md) · [IsClass](docs/assertions/IsClass.md) · [IsFalsy](docs/assertions/IsFalsy.md) · [IsIntersected](docs/assertions/IsIntersected.md) · [IsNever](docs/assertions/IsNever.md) · [IsNonNullish](docs/assertions/IsNonNullish.md) · [IsNullish](docs/assertions/IsNullish.md) · [IsPositive](docs/assertions/IsPositive.md) · [IsPropertyKey](docs/assertions/IsPropertyKey.md) · [IsPromise](docs/assertions/IsPromise.md) · [IsTruthy](docs/assertions/IsTruthy.md) · [IsUnion](docs/assertions/IsUnion.md) · [IsUndefinable](docs/assertions/IsUndefinable.md) · [IsUnknown](docs/assertions/IsUnknown.md) · [IsVoid](docs/assertions/IsVoid.md)\n\n</details>\n\n<details open>\n<summary>Conditions</summary>\n\n  - Arrays  \n  [IfArray](docs/conditions/IfArray.md) · [IfArrayReadonly](docs/conditions/IfArrayReadonly.md) · [IfArrayWritable](docs/conditions/IfArrayWritable.md)\n\n  - Tuples  \n  [IfTuple](docs/conditions/IfTuple.md) · [IfTupleReadonly](docs/conditions/IfTupleReadonly.md) · [IfTupleWritable](docs/conditions/IfTupleWritable.md)\n\n  - Functions  \n  [IfAsyncFunction](docs/conditions/IfAsyncFunction.md) · [IfFunction](docs/conditions/IfFunction.md) · [IfNewableFunction](docs/conditions/IfNewableFunction.md)\n\n  - Objects  \n  [IfObject](docs/conditions/IfObject.md) · [IfObjectArrayLike](docs/conditions/IfObjectArrayLike.md) · [IfObjectEmpty](docs/conditions/IfObjectEmpty.md) · [IfObjectLiteral](docs/conditions/IfObjectLiteral.md) · [IfOptionalProperty](docs/conditions/IfOptionalProperty.md) · [IfRequiredProperty](docs/conditions/IfRequiredProperty.md)\n\n  - Primitives  \n  [IfBigInt](docs/conditions/IfBigInt.md) · [IfBoolean](docs/conditions/IfBoolean.md) · [IfFalse](docs/conditions/IfFalse.md) · [IfNull](docs/conditions/IfNull.md) · [IfNumber](docs/conditions/IfNumber.md) · [IfNumberDecimal](docs/conditions/IfNumberDecimal.md) · [IfNumberInteger](docs/conditions/IfNumberInteger.md) · [IfNumberLiteral](docs/conditions/IfNumberLiteral.md) · [IfPrimitive](docs/conditions/IfPrimitive.md) · [IfString](docs/conditions/IfString.md) · [IfStringLiteral](docs/conditions/IfStringLiteral.md) · [IfSymbol](docs/conditions/IfSymbol.md) · [IfTrue](docs/conditions/IfTrue.md) · [IfUndefined](docs/conditions/IfUndefined.md)\n\n  - Comparisons  \n  [IfAssignable](docs/conditions/IfAssignable.md) · [IfAssignableEitherWay](docs/conditions/IfAssignableEitherWay.md) · [IfAssignableMutually](docs/conditions/IfAssignableMutually.md) · [IfEqual](docs/conditions/IfEqual.md) · [IfExtends](docs/conditions/IfExtends.md) · [IfNotAssignable](docs/conditions/IfNotAssignable.md) · [IfNotAssignableEitherWay](docs/conditions/IfNotAssignableEitherWay.md) · [IfNotAssignableMutually](docs/conditions/IfNotAssignableMutually.md) · [IfNotEqual](docs/conditions/IfNotEqual.md) · [IfNotExtends](docs/conditions/IfNotExtends.md)\n\n  - Misc  \n  [IfAny](docs/conditions/IfAny.md) · [IfClass](docs/conditions/IfClass.md) · [IfFalsy](docs/conditions/IfFalsy.md) · [IfIntersected](docs/conditions/IfIntersected.md) · [IfNever](docs/conditions/IfNever.md) · [IfNonNullish](docs/conditions/IfNonNullish.md) · [IfNullish](docs/conditions/IfNullish.md) · [IfPositive](docs/conditions/IfPositive.md) · [IfPropertyKey](docs/conditions/IfPropertyKey.md) · [IfPromise](docs/conditions/IfPromise.md) · [IfTruthy](docs/conditions/IfTruthy.md) · [IfUnion](docs/conditions/IfUnion.md) · [IfUndefinable](docs/conditions/IfUndefinable.md) · [IfUnknown](docs/conditions/IfUnknown.md) · [IfVoid](docs/conditions/IfVoid.md)\n\n</details>\n\n<details open>\n<summary>Utils</summary>\n\n  - Arrays  \n  [ArrayLength](docs/utils/ArrayLength.md) · [ArrayElements](docs/utils/ArrayElements.md) · [ArrayValues](docs/utils/ArrayValues.md) · [ArrayIndexes](docs/utils/ArrayIndexes.md) · [ArrayAt](docs/utils/ArrayAt.md) · [ArrayFirst](docs/utils/ArrayFirst.md) · [ArrayLast](docs/utils/ArrayLast.md) · [ArrayConcat](docs/utils/ArrayConcat.md) · [ArrayPush](docs/utils/ArrayPush.md) · [ArrayPop](docs/utils/ArrayPop.md) · [ArrayUnshift](docs/utils/ArrayUnshift.md) · [ArrayShift](docs/utils/ArrayShift.md) · [ArrayFlat](docs/utils/ArrayFlat.md) · [ArrayTake](docs/utils/ArrayTake.md) · [ArraySkip](docs/utils/ArraySkip.md) · [ArrayRequired](docs/utils/ArrayRequired.md) · [ArrayPartial](docs/utils/ArrayPartial.md) · [ArrayRequiredIndexes](docs/utils/ArrayRequiredIndexes.md) · [ArrayOptionalIndexes](docs/utils/ArrayOptionalIndexes.md) · [ArrayRequiredElements](docs/utils/ArrayRequiredElements.md) · [ArrayOptionalElements](docs/utils/ArrayOptionalElements.md) · [ArrayRequiredValues](docs/utils/ArrayRequiredValues.md) · [ArrayOptionalValues](docs/utils/ArrayOptionalValues.md) · [ArrayOmitRequired](docs/utils/ArrayOmitRequired.md) · [ArrayOmitOptional](docs/utils/ArrayOmitOptional.md) · [ArrayToObject](docs/utils/ArrayToObject.md) · [ArrayAssign](docs/utils/ArrayAssign.md) · [ArrayOverwrite](docs/utils/ArrayOverwrite.md) · [ArrayMerge](docs/utils/ArrayMerge.md) · [ArrayUnionize](docs/utils/ArrayUnionize.md)\n\n  - Objects  \n  [ObjectPick](docs/utils/ObjectPick.md) · [ObjectRequired](docs/utils/ObjectRequired.md) · [ObjectPartial](docs/utils/ObjectPartial.md) · [ObjectRequiredKeys](docs/utils/ObjectRequiredKeys.md) · [ObjectOptionalKeys](docs/utils/ObjectOptionalKeys.md) · [ObjectOmitRequired](docs/utils/ObjectOmitRequired.md) · [ObjectOmitOptional](docs/utils/ObjectOmitOptional.md) · [ObjectReadonly](docs/utils/ObjectReadonly.md) · [ObjectWritable](docs/utils/ObjectWritable.md) · [ObjectPath](docs/utils/ObjectPath.md) · [ObjectPathValue](docs/utils/ObjectPathValue.md) · [ObjectToTuple](docs/utils/ObjectToTuple.md) · [ObjectAssign](docs/utils/ObjectAssign.md) · [ObjectOverwrite](docs/utils/ObjectOverwrite.md) · [ObjectMerge](docs/utils/ObjectMerge.md) · [ObjectUnionize](docs/utils/ObjectUnionize.md)\n\n  - Functions  \n  [FunctionAssign](docs/utils/FunctionAssign.md) · [FnAssign](docs/utils/FnAssign.md) · [FunctionOverwrite](docs/utils/FunctionOverwrite.md) · [FnOverwrite](docs/utils/FnOverwrite.md) · [FunctionMerge](docs/utils/FunctionMerge.md) · [FnMerge](docs/utils/FnMerge.md) · [FunctionPromisify](docs/utils/FunctionPromisify.md) · [FnPromisify](docs/utils/FnPromisify.md) · [FunctionCallbackify](docs/utils/FunctionCallbackify.md) · [FnCallbackify](docs/utils/FnCallbackify.md)\n\n  - Unions  \n  [UnionToIntersection](docs/utils/UnionToIntersection.md) · [UnionLast](docs/utils/UnionLast.md) · [UnionPop](docs/utils/UnionPop.md) · [UnionIntersection](docs/utils/UnionIntersection.md) · [UnionExclusive](docs/utils/UnionExclusive.md) · [UnionToTuple](docs/utils/UnionToTuple.md)\n\n  - Parsing  \n  [ParseInt](docs/utils/ParseInt.md) · [ParseIntNegative](docs/utils/ParseIntNegative.md) · [ParseIntPositive](docs/utils/ParseIntPositive.md) · [ParseFloat](docs/utils/ParseFloat.md) · [ParseFloatNegative](docs/utils/ParseFloatNegative.md) · [ParseFloatPositive](docs/utils/ParseFloatPositive.md) · [ParseBigInt](docs/utils/ParseBigInt.md) · [ParseBigIntNegative](docs/utils/ParseBigIntNegative.md) · [ParseBigIntPositive](docs/utils/ParseBigIntPositive.md) · [ParseString](docs/utils/ParseString.md) · [ParseBoolean](docs/utils/ParseBoolean.md) · [ParseObject](docs/utils/ParseObject.md)\n\n  - Maths  \n  [Increment](docs/utils/Increment.md) · [Decrement](docs/utils/Decrement.md)\n\n  - Misc  \n  [Brand](docs/utils/Brand.md) · [Detailed](docs/utils/Detailed.md) · [ExcludeNullish](docs/utils/ExcludeNullish.md) · [ExcludeNull](docs/utils/ExcludeNull.md) · [ExcludeUndefined](docs/utils/ExcludeUndefined.md) · [ExtractArray](docs/utils/ExtractArray.md) · [ExtractPromise](docs/utils/ExtractPromise.md) · [ExtractParams](docs/utils/ExtractParams.md) · [ExtractReturn](docs/utils/ExtractReturn.md) · [KeyOf](docs/utils/KeyOf.md) · [Mapped](docs/utils/Mapped.md) · [PropValue](docs/utils/PropValue.md) · [Toggle](docs/utils/Toggle.md) · [ValueOf](docs/utils/ValueOf.md)\n\n</details>\n\n## ⛏️ Built Using <a name=\"built_using\"></a>\n\n-   [Typescript](https://www.typescriptlang.org/)<br/>\n    Strongly typed programming language that builds on JavaScript.\n-   [Bun](https://bun.sh/)<br/>\n    All-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager.\n\n## 📄 License\n\nThe code in this project is released under the [MIT License](LICENSE).","readmeFilename":"README.md"}