@proofkit/fmdapi 5.0.2 → 5.0.3-beta.0
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/esm/utils.d.ts +5 -7
- package/dist/esm/utils.js +4 -6
- package/dist/esm/utils.js.map +1 -1
- package/package.json +1 -1
- package/src/utils.ts +19 -21
package/dist/esm/utils.d.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
type TransformedFields<T extends
|
|
3
|
-
[
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}[keyof T]>;
|
|
7
|
-
export declare function removeFMTableNames<T extends Record<string, any>>(obj: T): TransformedFields<T>;
|
|
1
|
+
type StripFMTableName<K extends PropertyKey> = K extends `${string}::${infer R}` ? R : K;
|
|
2
|
+
type TransformedFields<T extends object> = {
|
|
3
|
+
[K in keyof T as K extends string ? StripFMTableName<K> : K]: T[K];
|
|
4
|
+
};
|
|
5
|
+
export declare function removeFMTableNames<T extends object>(obj: T): TransformedFields<T>;
|
|
8
6
|
export type InferZodPortals<T extends Record<string, any>> = {
|
|
9
7
|
[K in keyof T]: T[K] extends {
|
|
10
8
|
_def: any;
|
package/dist/esm/utils.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
function removeFMTableNames(obj) {
|
|
2
2
|
const newObj = {};
|
|
3
3
|
for (const key in obj) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
newObj[key] = obj[key];
|
|
9
|
-
}
|
|
4
|
+
const originalKey = key;
|
|
5
|
+
const value = obj[originalKey];
|
|
6
|
+
const mappedKey = typeof key === "string" && key.includes("::") ? key.split("::")[1] : key;
|
|
7
|
+
newObj[mappedKey] = value;
|
|
10
8
|
}
|
|
11
9
|
return newObj;
|
|
12
10
|
}
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import type
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../src/utils.ts"],"sourcesContent":["import type * as z3 from \"zod/v3\";\nimport type * as z4 from \"zod/v4/core\";\n\ntype StripFMTableName<K extends PropertyKey> = K extends `${string}::${infer R}`\n ? R\n : K;\n\ntype TransformedFields<T extends object> = {\n [K in keyof T as K extends string ? StripFMTableName<K> : K]: T[K];\n};\n\nexport function removeFMTableNames<T extends object>(\n obj: T,\n): TransformedFields<T> {\n const newObj = {} as TransformedFields<T>;\n for (const key in obj) {\n const originalKey = key as keyof T;\n const value = obj[originalKey];\n const mappedKey = (\n typeof key === \"string\" && key.includes(\"::\") ? key.split(\"::\")[1] : key\n ) as keyof TransformedFields<T>;\n\n // Use a temporary index signature cast to assign without any\n (newObj as unknown as Record<PropertyKey, unknown>)[\n mappedKey as unknown as PropertyKey\n ] = value as unknown;\n }\n return newObj;\n}\n\nexport type InferZodPortals<T extends Record<string, any>> = {\n [K in keyof T]: T[K] extends { _def: any; parse: (...args: any[]) => any }\n ? ReturnType<T[K][\"parse\"]>\n : T[K] extends { _def: any; safeParse: (...args: any[]) => any }\n ? T[K] extends { parse: (...args: any[]) => any }\n ? ReturnType<T[K][\"parse\"]>\n : any\n : never;\n};\n"],"names":[],"mappings":"AAWO,SAAS,mBACd,KACsB;AACtB,QAAM,SAAS,CAAC;AAChB,aAAW,OAAO,KAAK;AACrB,UAAM,cAAc;AACd,UAAA,QAAQ,IAAI,WAAW;AAC7B,UAAM,YACJ,OAAO,QAAQ,YAAY,IAAI,SAAS,IAAI,IAAI,IAAI,MAAM,IAAI,EAAE,CAAC,IAAI;AAItE,WACC,SACF,IAAI;AAAA,EAAA;AAEC,SAAA;AACT;"}
|
package/package.json
CHANGED
package/src/utils.ts
CHANGED
|
@@ -1,31 +1,29 @@
|
|
|
1
|
-
import type { S, L, U } from "ts-toolbelt";
|
|
2
1
|
import type * as z3 from "zod/v3";
|
|
3
2
|
import type * as z4 from "zod/v4/core";
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
[Field in keyof T]: {
|
|
9
|
-
[Key in Field extends string
|
|
10
|
-
? L.Last<S.Split<Field, "::">>
|
|
11
|
-
: Field]: T[Field];
|
|
12
|
-
};
|
|
13
|
-
}[keyof T]
|
|
14
|
-
>;
|
|
4
|
+
type StripFMTableName<K extends PropertyKey> = K extends `${string}::${infer R}`
|
|
5
|
+
? R
|
|
6
|
+
: K;
|
|
15
7
|
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
type TransformedFields<T extends object> = {
|
|
9
|
+
[K in keyof T as K extends string ? StripFMTableName<K> : K]: T[K];
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export function removeFMTableNames<T extends object>(
|
|
18
13
|
obj: T,
|
|
19
14
|
): TransformedFields<T> {
|
|
20
|
-
|
|
21
|
-
const newObj: any = {};
|
|
15
|
+
const newObj = {} as TransformedFields<T>;
|
|
22
16
|
for (const key in obj) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
17
|
+
const originalKey = key as keyof T;
|
|
18
|
+
const value = obj[originalKey];
|
|
19
|
+
const mappedKey = (
|
|
20
|
+
typeof key === "string" && key.includes("::") ? key.split("::")[1] : key
|
|
21
|
+
) as keyof TransformedFields<T>;
|
|
22
|
+
|
|
23
|
+
// Use a temporary index signature cast to assign without any
|
|
24
|
+
(newObj as unknown as Record<PropertyKey, unknown>)[
|
|
25
|
+
mappedKey as unknown as PropertyKey
|
|
26
|
+
] = value as unknown;
|
|
29
27
|
}
|
|
30
28
|
return newObj;
|
|
31
29
|
}
|