@code-essentials/utils 1.0.5 → 1.0.6

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/types.d.ts CHANGED
@@ -10,3 +10,11 @@ export type Prefixed<Prefix extends string, T extends object> = {
10
10
  [K in string & keyof T as `${Prefix}${K}`]: T[K];
11
11
  };
12
12
  export declare function prefixed<Prefix extends string, T extends object>(prefix: Prefix, o: T): Prefixed<Prefix, T>;
13
+ export type RemovePrefix<Prefix extends string, T extends object> = T extends Prefixed<Prefix, infer Unprefixed> ? Unprefixed : {
14
+ [K in string & keyof T as K extends `${Prefix}${infer K1}` ? K1 : never]: T[K];
15
+ };
16
+ export declare function removePrefix<const Prefix extends string, const T extends object>(prefix: Prefix, o: T): RemovePrefix<Prefix, T>;
17
+ export declare function assert<_Assertion extends true>(): void;
18
+ export type Eq<A, B> = A extends B ? B extends A ? true : false : false;
19
+ export type Extends<A, B> = A extends B ? true : false;
20
+ export declare function never(): never;
package/dist/types.js CHANGED
@@ -4,3 +4,12 @@ export function undefinedIf(condition, item) {
4
4
  export function prefixed(prefix, o) {
5
5
  return Object.fromEntries(Object.entries(o).map(([k, v]) => [`${prefix}${k}`, v]));
6
6
  }
7
+ export function removePrefix(prefix, o) {
8
+ return Object.fromEntries(Object.entries(o)
9
+ .filter(([k]) => k.startsWith(prefix) && k.length > prefix.length)
10
+ .map(([k, v]) => [k.substring(prefix.length), v]));
11
+ }
12
+ export function assert() { }
13
+ export function never() {
14
+ throw new Error("never");
15
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-essentials/utils",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -11,6 +11,7 @@
11
11
  "devDependencies": {
12
12
  "@ava/typescript": "^6.0.0",
13
13
  "@code-essentials/tsconfig": "^1.0.3",
14
+ "@code-essentials/ava-typescript": "^1.0.0",
14
15
  "@types/node": "^24.8.1",
15
16
  "ava": "^6.4.1",
16
17
  "typescript": "^5.9.3"
@@ -20,6 +21,10 @@
20
21
  "email": "isaac_valdez@msn.com",
21
22
  "url": "https://i12345.github.io"
22
23
  },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/code-essentials/utils.git"
27
+ },
23
28
  "license": "MIT",
24
29
  "scripts": {
25
30
  "clean": "rm -rf dist",