@tb-dev/utils 2.0.0 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/array.d.ts CHANGED
@@ -2,5 +2,7 @@ import { MaybeArray, Nullish } from './types';
2
2
 
3
3
  /** Pushes an item to the array if it doesn't exist, otherwise updates it. */
4
4
  export declare function upsert<T>(array: T[], item: T, predicate: (value: T) => boolean): void;
5
+ /** Converts the item to an array if it isn't already. */
5
6
  export declare function toArray<T>(item?: Nullish<MaybeArray<T>>): T[];
7
+ /** Trims each string in the array, removing any empty strings. */
6
8
  export declare function trimArray(array: string[]): string[];
package/dist/panic.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /** Throws an error with the given message. */
1
2
  export declare function panic(...args: any[]): never;
2
3
  export declare function todo(...args: any[]): never;
3
4
  export declare function unimplemented(...args: any[]): never;
package/dist/promise.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ /** Flushes all pending promises. */
1
2
  export declare function flushPromises(): Promise<void>;
2
3
  export declare function sleep(ms: number): Promise<void>;
package/dist/string.d.ts CHANGED
@@ -1,3 +1,13 @@
1
1
  import { Nullish } from './types';
2
2
 
3
+ /**
4
+ * Splits a string or an array of strings (recursively) by whitespace.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * splitWhitespace('a b c'); // ['a', 'b', 'c']
9
+ * splitWhitespace(['a b', 'c']); // ['a', 'b', 'c']
10
+ * splitWhitespace(['a ', ['b', ['c d']]]); // ['a', 'b', 'c', 'd']
11
+ * ```
12
+ */
3
13
  export declare function splitWhitespace(value: Nullish<string | string[]>): string[];
package/dist/types.d.ts CHANGED
@@ -15,9 +15,7 @@ export type Nullish<T> = T | null | undefined;
15
15
  export type PartialNullish<T> = {
16
16
  [P in keyof T]?: Nullish<T[P]>;
17
17
  };
18
- /**
19
- * Like `Pick`, but constructs the type based on the values.
20
- */
18
+ /** Like `Pick`, but constructs the type based on the values. */
21
19
  export type PickByValue<T, V> = {
22
20
  [P in keyof T as T[P] extends V ? P : never]: T[P];
23
21
  };
@@ -25,6 +23,7 @@ export type PickByValue<T, V> = {
25
23
  export type PickPartial<T, K extends keyof T> = Pick<Partial<T>, K>;
26
24
  /** Constructs a type by picking the set of properties `K` from a required version of `T`. */
27
25
  export type PickRequired<T, K extends keyof T> = Pick<Required<T>, K>;
26
+ /** Constructs a type where all properties of `T` are strings. */
28
27
  export type StringifyObject<T> = {
29
28
  [P in keyof T]: string;
30
29
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tb-dev/utils",
3
- "version": "2.0.0",
3
+ "version": "2.0.3",
4
4
  "description": "TypeScript utils",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -27,17 +27,17 @@
27
27
  "*.{?(c|m)@(j|t)s,vue}": "pnpm run lint"
28
28
  },
29
29
  "devDependencies": {
30
- "@tb-dev/eslint-config": "^3.8.8",
31
- "@types/node": "^20.14.10",
30
+ "@tb-dev/eslint-config": "^4.4.2",
31
+ "@types/node": "^22.0.0",
32
32
  "eslint": "^8.57.0",
33
- "husky": "^9.0.11",
33
+ "husky": "^9.1.3",
34
34
  "lint-staged": "^15.2.7",
35
- "prettier": "^3.3.2",
35
+ "prettier": "^3.3.3",
36
36
  "tslib": "^2.6.3",
37
- "typedoc": "^0.26.4",
38
- "typedoc-plugin-mdn-links": "^3.2.3",
39
- "typescript": "^5.5.3",
40
- "vite": "^5.3.3",
37
+ "typedoc": "^0.26.5",
38
+ "typedoc-plugin-mdn-links": "^3.2.6",
39
+ "typescript": "^5.5.4",
40
+ "vite": "^5.3.5",
41
41
  "vite-plugin-dts": "^3.9.1"
42
42
  },
43
43
  "files": [