@jfdevelops/multi-step-form-core 1.0.0-alpha.23 → 1.0.0-alpha.25
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/_internals.cjs +0 -4
- package/dist/_internals.d.cts +2 -3
- package/dist/_internals.d.mts +2 -3
- package/dist/_internals.mjs +1 -2
- package/dist/index.cjs +17 -18
- package/dist/index.d.cts +12 -11
- package/dist/index.d.mts +12 -11
- package/dist/index.mjs +8 -10
- package/dist/internals/step-schema.cjs +120 -71
- package/dist/internals/step-schema.cjs.map +1 -1
- package/dist/internals/step-schema.d.cts +47 -29
- package/dist/internals/step-schema.d.cts.map +1 -1
- package/dist/internals/step-schema.d.mts +47 -29
- package/dist/internals/step-schema.d.mts.map +1 -1
- package/dist/internals/step-schema.mjs +120 -71
- package/dist/internals/step-schema.mjs.map +1 -1
- package/dist/schema.cjs +14 -10
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.cts +11 -13
- package/dist/schema.d.cts.map +1 -1
- package/dist/schema.d.mts +11 -13
- package/dist/schema.d.mts.map +1 -1
- package/dist/schema.mjs +14 -10
- package/dist/schema.mjs.map +1 -1
- package/dist/steps/fields.cjs +95 -0
- package/dist/steps/fields.cjs.map +1 -1
- package/dist/steps/fields.d.cts +119 -9
- package/dist/steps/fields.d.cts.map +1 -1
- package/dist/steps/fields.d.mts +119 -9
- package/dist/steps/fields.d.mts.map +1 -1
- package/dist/steps/fields.mjs +95 -0
- package/dist/steps/fields.mjs.map +1 -1
- package/dist/steps/fn-utils/helper-fn/index.cjs +81 -0
- package/dist/steps/fn-utils/helper-fn/index.cjs.map +1 -0
- package/dist/steps/fn-utils/helper-fn/index.d.cts +146 -0
- package/dist/steps/fn-utils/helper-fn/index.d.cts.map +1 -0
- package/dist/steps/fn-utils/helper-fn/index.d.mts +146 -0
- package/dist/steps/fn-utils/helper-fn/index.d.mts.map +1 -0
- package/dist/steps/fn-utils/helper-fn/index.mjs +75 -0
- package/dist/steps/fn-utils/helper-fn/index.mjs.map +1 -0
- package/dist/steps/fn-utils/helper-fn/utils.d.cts +81 -0
- package/dist/steps/fn-utils/helper-fn/utils.d.cts.map +1 -0
- package/dist/steps/fn-utils/helper-fn/utils.d.mts +81 -0
- package/dist/steps/fn-utils/helper-fn/utils.d.mts.map +1 -0
- package/dist/steps/fn-utils/index.cjs +1 -0
- package/dist/steps/fn-utils/index.mjs +3 -0
- package/dist/steps/fn-utils/reset-fn.d.cts +30 -0
- package/dist/steps/fn-utils/reset-fn.d.cts.map +1 -0
- package/dist/steps/fn-utils/reset-fn.d.mts +30 -0
- package/dist/steps/fn-utils/reset-fn.d.mts.map +1 -0
- package/dist/steps/fn-utils/update-fn.d.cts +121 -0
- package/dist/steps/fn-utils/update-fn.d.cts.map +1 -0
- package/dist/steps/fn-utils/update-fn.d.mts +121 -0
- package/dist/steps/fn-utils/update-fn.d.mts.map +1 -0
- package/dist/steps/index.cjs +4 -2
- package/dist/steps/index.mjs +5 -3
- package/dist/steps/schema.cjs +61 -84
- package/dist/steps/schema.cjs.map +1 -1
- package/dist/steps/schema.d.cts +66 -67
- package/dist/steps/schema.d.cts.map +1 -1
- package/dist/steps/schema.d.mts +66 -67
- package/dist/steps/schema.d.mts.map +1 -1
- package/dist/steps/schema.mjs +62 -86
- package/dist/steps/schema.mjs.map +1 -1
- package/dist/steps/steps.cjs +83 -0
- package/dist/steps/steps.cjs.map +1 -0
- package/dist/steps/steps.d.cts +81 -0
- package/dist/steps/steps.d.cts.map +1 -0
- package/dist/steps/steps.d.mts +81 -0
- package/dist/steps/steps.d.mts.map +1 -0
- package/dist/steps/steps.mjs +76 -0
- package/dist/steps/steps.mjs.map +1 -0
- package/dist/steps/utils.cjs +40 -30
- package/dist/steps/utils.cjs.map +1 -1
- package/dist/steps/utils.d.cts +8 -5
- package/dist/steps/utils.d.cts.map +1 -1
- package/dist/steps/utils.d.mts +8 -5
- package/dist/steps/utils.d.mts.map +1 -1
- package/dist/steps/utils.mjs +40 -31
- package/dist/steps/utils.mjs.map +1 -1
- package/dist/storage.cjs +1 -1
- package/dist/storage.cjs.map +1 -1
- package/dist/storage.d.cts +9 -7
- package/dist/storage.d.cts.map +1 -1
- package/dist/storage.d.mts +9 -7
- package/dist/storage.d.mts.map +1 -1
- package/dist/storage.mjs +1 -1
- package/dist/storage.mjs.map +1 -1
- package/dist/utils/casing.cjs +1 -1
- package/dist/utils/casing.cjs.map +1 -1
- package/dist/utils/casing.d.cts +27 -11
- package/dist/utils/casing.d.cts.map +1 -1
- package/dist/utils/casing.d.mts +27 -11
- package/dist/utils/casing.d.mts.map +1 -1
- package/dist/utils/casing.mjs +1 -1
- package/dist/utils/casing.mjs.map +1 -1
- package/dist/utils/helpers.cjs +8 -0
- package/dist/utils/helpers.cjs.map +1 -1
- package/dist/utils/helpers.mjs +7 -1
- package/dist/utils/helpers.mjs.map +1 -1
- package/dist/utils/index.cjs +3 -0
- package/dist/utils/index.mjs +5 -0
- package/dist/utils/invariant.cjs +28 -8
- package/dist/utils/invariant.cjs.map +1 -1
- package/dist/utils/invariant.d.cts +12 -2
- package/dist/utils/invariant.d.cts.map +1 -1
- package/dist/utils/invariant.d.mts +12 -2
- package/dist/utils/invariant.d.mts.map +1 -1
- package/dist/utils/invariant.mjs +28 -9
- package/dist/utils/invariant.mjs.map +1 -1
- package/dist/utils/types.d.cts +15 -3
- package/dist/utils/types.d.cts.map +1 -1
- package/dist/utils/types.d.mts +15 -3
- package/dist/utils/types.d.mts.map +1 -1
- package/package.json +1 -1
- package/dist/internals/utils.cjs +0 -102
- package/dist/internals/utils.cjs.map +0 -1
- package/dist/internals/utils.d.cts +0 -11
- package/dist/internals/utils.d.cts.map +0 -1
- package/dist/internals/utils.d.mts +0 -11
- package/dist/internals/utils.d.mts.map +0 -1
- package/dist/internals/utils.mjs +0 -99
- package/dist/internals/utils.mjs.map +0 -1
- package/dist/observable.cjs +0 -44
- package/dist/observable.cjs.map +0 -1
- package/dist/observable.d.cts +0 -26
- package/dist/observable.d.cts.map +0 -1
- package/dist/observable.d.mts +0 -26
- package/dist/observable.d.mts.map +0 -1
- package/dist/observable.mjs +0 -44
- package/dist/observable.mjs.map +0 -1
- package/dist/steps/types.cjs +0 -33
- package/dist/steps/types.cjs.map +0 -1
- package/dist/steps/types.d.cts +0 -354
- package/dist/steps/types.d.cts.map +0 -1
- package/dist/steps/types.d.mts +0 -354
- package/dist/steps/types.d.mts.map +0 -1
- package/dist/steps/types.mjs +0 -27
- package/dist/steps/types.mjs.map +0 -1
- package/dist/utils/field-types.cjs +0 -97
- package/dist/utils/field-types.cjs.map +0 -1
- package/dist/utils/field-types.d.cts +0 -52
- package/dist/utils/field-types.d.cts.map +0 -1
- package/dist/utils/field-types.d.mts +0 -52
- package/dist/utils/field-types.d.mts.map +0 -1
- package/dist/utils/field-types.mjs +0 -93
- package/dist/utils/field-types.mjs.map +0 -1
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
//#region src/utils/field-types.ts
|
|
3
|
-
const FIELD_TYPES = [
|
|
4
|
-
"string",
|
|
5
|
-
"string.phone",
|
|
6
|
-
"string.email",
|
|
7
|
-
"string.time",
|
|
8
|
-
"number",
|
|
9
|
-
"number.counter",
|
|
10
|
-
"date",
|
|
11
|
-
"dateTime",
|
|
12
|
-
"boolean.switch"
|
|
13
|
-
];
|
|
14
|
-
const DEFAULT_FIELD_TYPE = "string";
|
|
15
|
-
function isFieldType(value) {
|
|
16
|
-
return typeof value === "string" && FIELD_TYPES.includes(value);
|
|
17
|
-
}
|
|
18
|
-
function getBaseTypeString(value) {
|
|
19
|
-
if (value === null) return "string";
|
|
20
|
-
if (typeof value === "object") return value instanceof Date ? "date" : "object";
|
|
21
|
-
if (typeof value === "number") return "number";
|
|
22
|
-
if (typeof value === "boolean") return "boolean";
|
|
23
|
-
return "string";
|
|
24
|
-
}
|
|
25
|
-
const TYPE_ORDER = [
|
|
26
|
-
"string",
|
|
27
|
-
"number",
|
|
28
|
-
"boolean",
|
|
29
|
-
"date",
|
|
30
|
-
"object"
|
|
31
|
-
];
|
|
32
|
-
function orderTypes(types) {
|
|
33
|
-
return types.toSorted((a, b) => {
|
|
34
|
-
const aIndex = TYPE_ORDER.indexOf(a);
|
|
35
|
-
const bIndex = TYPE_ORDER.indexOf(b);
|
|
36
|
-
if (aIndex === -1 && bIndex === -1) return a.localeCompare(b, void 0, { sensitivity: "base" });
|
|
37
|
-
if (aIndex === -1) return 1;
|
|
38
|
-
if (bIndex === -1) return -1;
|
|
39
|
-
return aIndex - bIndex;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
function tupleToUnion(tupleType) {
|
|
43
|
-
return `(${orderTypes(tupleType.slice(1, -1).split(", ")).join(" | ")})`;
|
|
44
|
-
}
|
|
45
|
-
function processTuple(value, depth) {
|
|
46
|
-
return `[${value.map((el) => {
|
|
47
|
-
if (Array.isArray(el)) return getArrayTypeString(el, depth + 1);
|
|
48
|
-
return getBaseTypeString(el);
|
|
49
|
-
}).join(", ")}]`;
|
|
50
|
-
}
|
|
51
|
-
function processArrayOfArrays(value, depth) {
|
|
52
|
-
const arrayElementTypes = /* @__PURE__ */ new Set();
|
|
53
|
-
for (const el of value) if (Array.isArray(el)) {
|
|
54
|
-
let innerType = getArrayTypeString(el, depth + 1);
|
|
55
|
-
if (depth >= 1 && innerType.startsWith("[") && innerType.endsWith("]")) innerType = tupleToUnion(innerType);
|
|
56
|
-
arrayElementTypes.add(innerType);
|
|
57
|
-
}
|
|
58
|
-
if (arrayElementTypes.size === 1) return `${Array.from(arrayElementTypes)[0]}[]`;
|
|
59
|
-
return `(${orderTypes(Array.from(arrayElementTypes)).join(" | ")})[]`;
|
|
60
|
-
}
|
|
61
|
-
function processRegularArray(value, uniqueBaseTypes, depth) {
|
|
62
|
-
const firstElement = value[0];
|
|
63
|
-
let elementType;
|
|
64
|
-
if (Array.isArray(firstElement)) {
|
|
65
|
-
elementType = getArrayTypeString(firstElement, depth + 1);
|
|
66
|
-
if (depth >= 1 && elementType.startsWith("[") && elementType.endsWith("]")) elementType = tupleToUnion(elementType);
|
|
67
|
-
} else elementType = getBaseTypeString(firstElement);
|
|
68
|
-
if (uniqueBaseTypes.length > 1) return `(${orderTypes(uniqueBaseTypes).join(" | ")})[]`;
|
|
69
|
-
return `${elementType}[]`;
|
|
70
|
-
}
|
|
71
|
-
function getArrayTypeString(value, depth = 0) {
|
|
72
|
-
if (value.length === 0) return "string[]";
|
|
73
|
-
const elementBaseTypes = value.map(getBaseTypeString);
|
|
74
|
-
const uniqueBaseTypes = [...new Set(elementBaseTypes)];
|
|
75
|
-
if (uniqueBaseTypes.length > 1 && depth < 2 && value.length <= 10) return processTuple(value, depth);
|
|
76
|
-
if (value.every(Array.isArray)) return processArrayOfArrays(value, depth);
|
|
77
|
-
return processRegularArray(value, uniqueBaseTypes, depth);
|
|
78
|
-
}
|
|
79
|
-
function getInferredFieldType(options) {
|
|
80
|
-
const { defaultValue, type } = options;
|
|
81
|
-
if (type) return type;
|
|
82
|
-
if (Array.isArray(defaultValue)) return getArrayTypeString(defaultValue);
|
|
83
|
-
if (typeof defaultValue === "object" && defaultValue !== null) {
|
|
84
|
-
if (defaultValue instanceof Date) return "date";
|
|
85
|
-
return "object";
|
|
86
|
-
}
|
|
87
|
-
if (typeof defaultValue === "number") return "number";
|
|
88
|
-
if (typeof defaultValue === "boolean") return "boolean";
|
|
89
|
-
return "string";
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
//#endregion
|
|
93
|
-
exports.DEFAULT_FIELD_TYPE = DEFAULT_FIELD_TYPE;
|
|
94
|
-
exports.FIELD_TYPES = FIELD_TYPES;
|
|
95
|
-
exports.getInferredFieldType = getInferredFieldType;
|
|
96
|
-
exports.isFieldType = isFieldType;
|
|
97
|
-
//# sourceMappingURL=field-types.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field-types.cjs","names":["DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'>","elementType: string"],"sources":["../../src/utils/field-types.ts"],"sourcesContent":["import type { SetDefaultString } from './types';\nimport type { UnionToTuple } from '../steps/types';\n\nexport type FieldType = (typeof FIELD_TYPES)[number];\nexport type DefaultFieldType = typeof DEFAULT_FIELD_TYPE;\nexport type DefaultFieldTypeMap = {\n string: string;\n number: number;\n boolean: boolean;\n date: Date;\n};\nexport type ResolvedFieldTypeMap = {\n string: string;\n 'string.phone': string;\n 'string.email': string;\n 'string.time': string;\n number: number;\n 'number.counter': number;\n date: Date;\n dateTime: Date;\n 'boolean.switch': boolean;\n};\n// Helper to convert a single type (non-union) to string\ntype BaseTypeToString<T> = T extends string\n ? 'string'\n : T extends number\n ? 'number'\n : T extends boolean\n ? 'boolean'\n : T extends Date\n ? 'date'\n : T extends object\n ? T extends Array<unknown> | Date\n ? never // Handled separately\n : 'object'\n : DefaultFieldType;\n\n// Helper to collect union members as string literals\ntype UnionMembersToString<T> = T extends infer U\n ? U extends U\n ? BaseTypeToString<U>\n : never\n : never;\n\n// Helper to join union members with |\n// This manually handles the tuple conversion since UnionToTuple returns readonly\ntype JoinUnion<T> = UnionMembersToString<T> extends infer UnionStrings\n ? [UnionStrings] extends [string]\n ? UnionToTuple<UnionStrings> extends readonly [infer A extends string]\n ? A\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string\n ]\n ? `${A} | ${B}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string\n ]\n ? `${A} | ${B} | ${C}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string,\n infer D extends string\n ]\n ? `${A} | ${B} | ${C} | ${D}`\n : UnionStrings // Fallback for larger unions or single type\n : never\n : never;\n\n// Helper to convert union to intersection (used to detect unions)\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I\n) => void\n ? I\n : never;\n\n// Helper to check if T is a tuple (has specific length, not just array)\ntype IsTuple<T> = T extends readonly unknown[]\n ? number extends T['length']\n ? false\n : true\n : false;\n\n// Helper to convert tuple to string representation\ntype TupleToString<T extends readonly unknown[]> = T extends readonly [\n infer First,\n ...infer Rest\n]\n ? Rest extends readonly unknown[]\n ? `${TypeToString<First>}${Rest['length'] extends 0\n ? ''\n : `, ${TupleToString<Rest>}`}`\n : never\n : never;\n\n// Helper type to convert a type to its string literal representation\ntype TypeToString<T> = T extends readonly unknown[]\n ? IsTuple<T> extends true\n ? `[${TupleToString<T>}]`\n : T extends readonly (infer U)[]\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : never\n : T extends Array<infer U>\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : BaseTypeToString<T>;\n\nexport type GetInferredFieldType<T extends { defaultValue: unknown }> =\n TypeToString<T['defaultValue']>;\n\nexport const FIELD_TYPES = [\n 'string',\n 'string.phone',\n 'string.email',\n 'string.time',\n 'number',\n 'number.counter',\n 'date',\n 'dateTime',\n 'boolean.switch',\n] as const;\nexport const DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'> =\n 'string';\n\nexport function isFieldType(value: unknown): value is FieldType {\n return typeof value === 'string' && FIELD_TYPES.includes(value as FieldType);\n}\n\n// Helper function to get the base type string for a single value (not arrays)\nfunction getBaseTypeString(value: unknown): string {\n if (value === null) {\n return 'string';\n }\n\n if (typeof value === 'object') {\n return value instanceof Date ? 'date' : 'object';\n }\n\n if (typeof value === 'number') {\n return 'number';\n }\n\n if (typeof value === 'boolean') {\n return 'boolean';\n }\n\n return 'string';\n}\n\n// Helper to order types according to TypeScript's union order: string | number | boolean\nconst TYPE_ORDER = ['string', 'number', 'boolean', 'date', 'object'] as const;\n\nfunction orderTypes(types: string[]): string[] {\n return types.toSorted((a, b) => {\n const aIndex = TYPE_ORDER.indexOf(a as (typeof TYPE_ORDER)[number]);\n const bIndex = TYPE_ORDER.indexOf(b as (typeof TYPE_ORDER)[number]);\n if (aIndex === -1 && bIndex === -1) {\n return a.localeCompare(b, undefined, { sensitivity: 'base' });\n }\n if (aIndex === -1) return 1;\n if (bIndex === -1) return -1;\n return aIndex - bIndex;\n });\n}\n\n// Helper to convert tuple string to union string at depth 2+\nfunction tupleToUnion(tupleType: string): string {\n const tupleTypes = tupleType.slice(1, -1).split(', ');\n const orderedTypes = orderTypes(tupleTypes);\n return `(${orderedTypes.join(' | ')})`;\n}\n\n// Helper to process tuple format (depth < 2)\nfunction processTuple(value: unknown[], depth: number): string {\n const elementTypes = value.map((el) => {\n if (Array.isArray(el)) {\n return getArrayTypeString(el, depth + 1);\n }\n return getBaseTypeString(el);\n });\n return `[${elementTypes.join(', ')}]`;\n}\n\n// Helper to process array-of-arrays case\nfunction processArrayOfArrays(value: unknown[], depth: number): string {\n const arrayElementTypes = new Set<string>();\n for (const el of value) {\n if (Array.isArray(el)) {\n let innerType = getArrayTypeString(el, depth + 1);\n // At depth 2+, if inner type is a tuple, convert to union\n if (depth >= 1 && innerType.startsWith('[') && innerType.endsWith(']')) {\n innerType = tupleToUnion(innerType);\n }\n arrayElementTypes.add(innerType);\n }\n }\n if (arrayElementTypes.size === 1) {\n return `${Array.from(arrayElementTypes)[0]}[]`;\n }\n const sortedTypes = orderTypes(Array.from(arrayElementTypes));\n return `(${sortedTypes.join(' | ')})[]`;\n}\n\n// Helper to process regular array case\nfunction processRegularArray(\n value: unknown[],\n uniqueBaseTypes: string[],\n depth: number\n): string {\n const firstElement = value[0];\n let elementType: string;\n if (Array.isArray(firstElement)) {\n elementType = getArrayTypeString(firstElement, depth + 1);\n // At depth 2+, if inner type is a tuple, convert to union\n if (\n depth >= 1 &&\n elementType.startsWith('[') &&\n elementType.endsWith(']')\n ) {\n elementType = tupleToUnion(elementType);\n }\n } else {\n elementType = getBaseTypeString(firstElement);\n }\n\n // If we have multiple different base types, create union array\n // Use sorted order for union arrays (matches TypeScript's union order)\n if (uniqueBaseTypes.length > 1) {\n const orderedTypes = orderTypes(uniqueBaseTypes);\n return `(${orderedTypes.join(' | ')})[]`;\n }\n\n return `${elementType}[]`;\n}\n\n// Helper function to get the type string for an array, distinguishing tuples from regular arrays\nfunction getArrayTypeString(value: unknown[], depth: number = 0): string {\n if (value.length === 0) {\n return 'string[]';\n }\n\n // Get the base type for each element (not recursively processing arrays yet)\n const elementBaseTypes = value.map(getBaseTypeString);\n\n // Get unique base types\n const uniqueBaseTypes = [...new Set(elementBaseTypes)];\n\n // Check if this has different types\n const hasDifferentTypes = uniqueBaseTypes.length > 1;\n\n // Heuristic: If array has different types and is small/fixed-length, treat as tuple\n // This approximates TypeScript's tuple detection (as const creates tuples)\n // At depth 0-1, use tuple format for arrays with different types\n // At depth 2+, convert to union arrays (matches TypeScript's behavior for deeply nested structures)\n if (hasDifferentTypes && depth < 2 && value.length <= 10) {\n return processTuple(value, depth);\n }\n\n // If all elements are arrays, process them recursively\n if (value.every(Array.isArray)) {\n return processArrayOfArrays(value, depth);\n }\n\n return processRegularArray(value, uniqueBaseTypes, depth);\n}\n\ntype GetInferredFieldTypeReturnType<\n T extends { defaultValue: unknown },\n TType extends FieldType\n> = [TType] extends [never] ? GetInferredFieldType<T> : TType;\n\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType\n>(options: T & { type: TType }): GetInferredFieldTypeReturnType<T, TType>;\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType = never\n>(options: T & { type?: TType }): GetInferredFieldTypeReturnType<T, TType>;\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType = never\n>(options: T & { type?: TType }): GetInferredFieldTypeReturnType<T, TType> {\n const { defaultValue, type } = options;\n\n if (type) {\n return type as unknown as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (Array.isArray(defaultValue)) {\n return getArrayTypeString(defaultValue) as GetInferredFieldTypeReturnType<\n T,\n TType\n >;\n }\n\n if (typeof defaultValue === 'object' && defaultValue !== null) {\n if (defaultValue instanceof Date) {\n return 'date' as GetInferredFieldTypeReturnType<T, TType>;\n }\n return 'object' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (typeof defaultValue === 'number') {\n return 'number' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (typeof defaultValue === 'boolean') {\n return 'boolean' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n return 'string' as GetInferredFieldTypeReturnType<T, TType>;\n}\n"],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { SetDefaultString } from "./types.cjs";
|
|
2
|
-
import { UnionToTuple } from "../steps/types.cjs";
|
|
3
|
-
|
|
4
|
-
//#region src/utils/field-types.d.ts
|
|
5
|
-
type FieldType = (typeof FIELD_TYPES)[number];
|
|
6
|
-
type DefaultFieldType = typeof DEFAULT_FIELD_TYPE;
|
|
7
|
-
type DefaultFieldTypeMap = {
|
|
8
|
-
string: string;
|
|
9
|
-
number: number;
|
|
10
|
-
boolean: boolean;
|
|
11
|
-
date: Date;
|
|
12
|
-
};
|
|
13
|
-
type ResolvedFieldTypeMap = {
|
|
14
|
-
string: string;
|
|
15
|
-
'string.phone': string;
|
|
16
|
-
'string.email': string;
|
|
17
|
-
'string.time': string;
|
|
18
|
-
number: number;
|
|
19
|
-
'number.counter': number;
|
|
20
|
-
date: Date;
|
|
21
|
-
dateTime: Date;
|
|
22
|
-
'boolean.switch': boolean;
|
|
23
|
-
};
|
|
24
|
-
type BaseTypeToString<T> = T extends string ? 'string' : T extends number ? 'number' : T extends boolean ? 'boolean' : T extends Date ? 'date' : T extends object ? T extends Array<unknown> | Date ? never : 'object' : DefaultFieldType;
|
|
25
|
-
type UnionMembersToString<T> = T extends infer U ? U extends U ? BaseTypeToString<U> : never : never;
|
|
26
|
-
type JoinUnion<T> = UnionMembersToString<T> extends infer UnionStrings ? [UnionStrings] extends [string] ? UnionToTuple<UnionStrings> extends readonly [infer A extends string] ? A : UnionToTuple<UnionStrings> extends readonly [infer A extends string, infer B extends string] ? `${A} | ${B}` : UnionToTuple<UnionStrings> extends readonly [infer A extends string, infer B extends string, infer C extends string] ? `${A} | ${B} | ${C}` : UnionToTuple<UnionStrings> extends readonly [infer A extends string, infer B extends string, infer C extends string, infer D extends string] ? `${A} | ${B} | ${C} | ${D}` : UnionStrings : never : never;
|
|
27
|
-
type UnionToIntersection<U$1> = (U$1 extends any ? (k: U$1) => void : never) extends ((k: infer I) => void) ? I : never;
|
|
28
|
-
type IsTuple<T> = T extends readonly unknown[] ? number extends T['length'] ? false : true : false;
|
|
29
|
-
type TupleToString<T extends readonly unknown[]> = T extends readonly [infer First, ...infer Rest] ? Rest extends readonly unknown[] ? `${TypeToString<First>}${Rest['length'] extends 0 ? '' : `, ${TupleToString<Rest>}`}` : never : never;
|
|
30
|
-
type TypeToString<T> = T extends readonly unknown[] ? IsTuple<T> extends true ? `[${TupleToString<T>}]` : T extends readonly (infer U)[] ? [U] extends [UnionToIntersection<U>] ? `${TypeToString<U>}[]` : `(${JoinUnion<U>})[]` : never : T extends Array<infer U> ? [U] extends [UnionToIntersection<U>] ? `${TypeToString<U>}[]` : `(${JoinUnion<U>})[]` : BaseTypeToString<T>;
|
|
31
|
-
type GetInferredFieldType<T extends {
|
|
32
|
-
defaultValue: unknown;
|
|
33
|
-
}> = TypeToString<T['defaultValue']>;
|
|
34
|
-
declare const FIELD_TYPES: readonly ["string", "string.phone", "string.email", "string.time", "number", "number.counter", "date", "dateTime", "boolean.switch"];
|
|
35
|
-
declare const DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'>;
|
|
36
|
-
declare function isFieldType(value: unknown): value is FieldType;
|
|
37
|
-
type GetInferredFieldTypeReturnType<T extends {
|
|
38
|
-
defaultValue: unknown;
|
|
39
|
-
}, TType extends FieldType> = [TType] extends [never] ? GetInferredFieldType<T> : TType;
|
|
40
|
-
declare function getInferredFieldType<T extends {
|
|
41
|
-
defaultValue: unknown;
|
|
42
|
-
}, TType extends FieldType>(options: T & {
|
|
43
|
-
type: TType;
|
|
44
|
-
}): GetInferredFieldTypeReturnType<T, TType>;
|
|
45
|
-
declare function getInferredFieldType<T extends {
|
|
46
|
-
defaultValue: unknown;
|
|
47
|
-
}, TType extends FieldType = never>(options: T & {
|
|
48
|
-
type?: TType;
|
|
49
|
-
}): GetInferredFieldTypeReturnType<T, TType>;
|
|
50
|
-
//#endregion
|
|
51
|
-
export { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, getInferredFieldType, isFieldType };
|
|
52
|
-
//# sourceMappingURL=field-types.d.cts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field-types.d.cts","names":[],"sources":["../../src/utils/field-types.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { SetDefaultString } from "./types.mjs";
|
|
2
|
-
import { UnionToTuple } from "../steps/types.mjs";
|
|
3
|
-
|
|
4
|
-
//#region src/utils/field-types.d.ts
|
|
5
|
-
type FieldType = (typeof FIELD_TYPES)[number];
|
|
6
|
-
type DefaultFieldType = typeof DEFAULT_FIELD_TYPE;
|
|
7
|
-
type DefaultFieldTypeMap = {
|
|
8
|
-
string: string;
|
|
9
|
-
number: number;
|
|
10
|
-
boolean: boolean;
|
|
11
|
-
date: Date;
|
|
12
|
-
};
|
|
13
|
-
type ResolvedFieldTypeMap = {
|
|
14
|
-
string: string;
|
|
15
|
-
'string.phone': string;
|
|
16
|
-
'string.email': string;
|
|
17
|
-
'string.time': string;
|
|
18
|
-
number: number;
|
|
19
|
-
'number.counter': number;
|
|
20
|
-
date: Date;
|
|
21
|
-
dateTime: Date;
|
|
22
|
-
'boolean.switch': boolean;
|
|
23
|
-
};
|
|
24
|
-
type BaseTypeToString<T> = T extends string ? 'string' : T extends number ? 'number' : T extends boolean ? 'boolean' : T extends Date ? 'date' : T extends object ? T extends Array<unknown> | Date ? never : 'object' : DefaultFieldType;
|
|
25
|
-
type UnionMembersToString<T> = T extends infer U ? U extends U ? BaseTypeToString<U> : never : never;
|
|
26
|
-
type JoinUnion<T> = UnionMembersToString<T> extends infer UnionStrings ? [UnionStrings] extends [string] ? UnionToTuple<UnionStrings> extends readonly [infer A extends string] ? A : UnionToTuple<UnionStrings> extends readonly [infer A extends string, infer B extends string] ? `${A} | ${B}` : UnionToTuple<UnionStrings> extends readonly [infer A extends string, infer B extends string, infer C extends string] ? `${A} | ${B} | ${C}` : UnionToTuple<UnionStrings> extends readonly [infer A extends string, infer B extends string, infer C extends string, infer D extends string] ? `${A} | ${B} | ${C} | ${D}` : UnionStrings : never : never;
|
|
27
|
-
type UnionToIntersection<U$1> = (U$1 extends any ? (k: U$1) => void : never) extends ((k: infer I) => void) ? I : never;
|
|
28
|
-
type IsTuple<T> = T extends readonly unknown[] ? number extends T['length'] ? false : true : false;
|
|
29
|
-
type TupleToString<T extends readonly unknown[]> = T extends readonly [infer First, ...infer Rest] ? Rest extends readonly unknown[] ? `${TypeToString<First>}${Rest['length'] extends 0 ? '' : `, ${TupleToString<Rest>}`}` : never : never;
|
|
30
|
-
type TypeToString<T> = T extends readonly unknown[] ? IsTuple<T> extends true ? `[${TupleToString<T>}]` : T extends readonly (infer U)[] ? [U] extends [UnionToIntersection<U>] ? `${TypeToString<U>}[]` : `(${JoinUnion<U>})[]` : never : T extends Array<infer U> ? [U] extends [UnionToIntersection<U>] ? `${TypeToString<U>}[]` : `(${JoinUnion<U>})[]` : BaseTypeToString<T>;
|
|
31
|
-
type GetInferredFieldType<T extends {
|
|
32
|
-
defaultValue: unknown;
|
|
33
|
-
}> = TypeToString<T['defaultValue']>;
|
|
34
|
-
declare const FIELD_TYPES: readonly ["string", "string.phone", "string.email", "string.time", "number", "number.counter", "date", "dateTime", "boolean.switch"];
|
|
35
|
-
declare const DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'>;
|
|
36
|
-
declare function isFieldType(value: unknown): value is FieldType;
|
|
37
|
-
type GetInferredFieldTypeReturnType<T extends {
|
|
38
|
-
defaultValue: unknown;
|
|
39
|
-
}, TType extends FieldType> = [TType] extends [never] ? GetInferredFieldType<T> : TType;
|
|
40
|
-
declare function getInferredFieldType<T extends {
|
|
41
|
-
defaultValue: unknown;
|
|
42
|
-
}, TType extends FieldType>(options: T & {
|
|
43
|
-
type: TType;
|
|
44
|
-
}): GetInferredFieldTypeReturnType<T, TType>;
|
|
45
|
-
declare function getInferredFieldType<T extends {
|
|
46
|
-
defaultValue: unknown;
|
|
47
|
-
}, TType extends FieldType = never>(options: T & {
|
|
48
|
-
type?: TType;
|
|
49
|
-
}): GetInferredFieldTypeReturnType<T, TType>;
|
|
50
|
-
//#endregion
|
|
51
|
-
export { DEFAULT_FIELD_TYPE, DefaultFieldType, DefaultFieldTypeMap, FIELD_TYPES, FieldType, GetInferredFieldType, ResolvedFieldTypeMap, getInferredFieldType, isFieldType };
|
|
52
|
-
//# sourceMappingURL=field-types.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field-types.d.mts","names":[],"sources":["../../src/utils/field-types.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
//#region src/utils/field-types.ts
|
|
2
|
-
const FIELD_TYPES = [
|
|
3
|
-
"string",
|
|
4
|
-
"string.phone",
|
|
5
|
-
"string.email",
|
|
6
|
-
"string.time",
|
|
7
|
-
"number",
|
|
8
|
-
"number.counter",
|
|
9
|
-
"date",
|
|
10
|
-
"dateTime",
|
|
11
|
-
"boolean.switch"
|
|
12
|
-
];
|
|
13
|
-
const DEFAULT_FIELD_TYPE = "string";
|
|
14
|
-
function isFieldType(value) {
|
|
15
|
-
return typeof value === "string" && FIELD_TYPES.includes(value);
|
|
16
|
-
}
|
|
17
|
-
function getBaseTypeString(value) {
|
|
18
|
-
if (value === null) return "string";
|
|
19
|
-
if (typeof value === "object") return value instanceof Date ? "date" : "object";
|
|
20
|
-
if (typeof value === "number") return "number";
|
|
21
|
-
if (typeof value === "boolean") return "boolean";
|
|
22
|
-
return "string";
|
|
23
|
-
}
|
|
24
|
-
const TYPE_ORDER = [
|
|
25
|
-
"string",
|
|
26
|
-
"number",
|
|
27
|
-
"boolean",
|
|
28
|
-
"date",
|
|
29
|
-
"object"
|
|
30
|
-
];
|
|
31
|
-
function orderTypes(types) {
|
|
32
|
-
return types.toSorted((a, b) => {
|
|
33
|
-
const aIndex = TYPE_ORDER.indexOf(a);
|
|
34
|
-
const bIndex = TYPE_ORDER.indexOf(b);
|
|
35
|
-
if (aIndex === -1 && bIndex === -1) return a.localeCompare(b, void 0, { sensitivity: "base" });
|
|
36
|
-
if (aIndex === -1) return 1;
|
|
37
|
-
if (bIndex === -1) return -1;
|
|
38
|
-
return aIndex - bIndex;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
function tupleToUnion(tupleType) {
|
|
42
|
-
return `(${orderTypes(tupleType.slice(1, -1).split(", ")).join(" | ")})`;
|
|
43
|
-
}
|
|
44
|
-
function processTuple(value, depth) {
|
|
45
|
-
return `[${value.map((el) => {
|
|
46
|
-
if (Array.isArray(el)) return getArrayTypeString(el, depth + 1);
|
|
47
|
-
return getBaseTypeString(el);
|
|
48
|
-
}).join(", ")}]`;
|
|
49
|
-
}
|
|
50
|
-
function processArrayOfArrays(value, depth) {
|
|
51
|
-
const arrayElementTypes = /* @__PURE__ */ new Set();
|
|
52
|
-
for (const el of value) if (Array.isArray(el)) {
|
|
53
|
-
let innerType = getArrayTypeString(el, depth + 1);
|
|
54
|
-
if (depth >= 1 && innerType.startsWith("[") && innerType.endsWith("]")) innerType = tupleToUnion(innerType);
|
|
55
|
-
arrayElementTypes.add(innerType);
|
|
56
|
-
}
|
|
57
|
-
if (arrayElementTypes.size === 1) return `${Array.from(arrayElementTypes)[0]}[]`;
|
|
58
|
-
return `(${orderTypes(Array.from(arrayElementTypes)).join(" | ")})[]`;
|
|
59
|
-
}
|
|
60
|
-
function processRegularArray(value, uniqueBaseTypes, depth) {
|
|
61
|
-
const firstElement = value[0];
|
|
62
|
-
let elementType;
|
|
63
|
-
if (Array.isArray(firstElement)) {
|
|
64
|
-
elementType = getArrayTypeString(firstElement, depth + 1);
|
|
65
|
-
if (depth >= 1 && elementType.startsWith("[") && elementType.endsWith("]")) elementType = tupleToUnion(elementType);
|
|
66
|
-
} else elementType = getBaseTypeString(firstElement);
|
|
67
|
-
if (uniqueBaseTypes.length > 1) return `(${orderTypes(uniqueBaseTypes).join(" | ")})[]`;
|
|
68
|
-
return `${elementType}[]`;
|
|
69
|
-
}
|
|
70
|
-
function getArrayTypeString(value, depth = 0) {
|
|
71
|
-
if (value.length === 0) return "string[]";
|
|
72
|
-
const elementBaseTypes = value.map(getBaseTypeString);
|
|
73
|
-
const uniqueBaseTypes = [...new Set(elementBaseTypes)];
|
|
74
|
-
if (uniqueBaseTypes.length > 1 && depth < 2 && value.length <= 10) return processTuple(value, depth);
|
|
75
|
-
if (value.every(Array.isArray)) return processArrayOfArrays(value, depth);
|
|
76
|
-
return processRegularArray(value, uniqueBaseTypes, depth);
|
|
77
|
-
}
|
|
78
|
-
function getInferredFieldType(options) {
|
|
79
|
-
const { defaultValue, type } = options;
|
|
80
|
-
if (type) return type;
|
|
81
|
-
if (Array.isArray(defaultValue)) return getArrayTypeString(defaultValue);
|
|
82
|
-
if (typeof defaultValue === "object" && defaultValue !== null) {
|
|
83
|
-
if (defaultValue instanceof Date) return "date";
|
|
84
|
-
return "object";
|
|
85
|
-
}
|
|
86
|
-
if (typeof defaultValue === "number") return "number";
|
|
87
|
-
if (typeof defaultValue === "boolean") return "boolean";
|
|
88
|
-
return "string";
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
//#endregion
|
|
92
|
-
export { DEFAULT_FIELD_TYPE, FIELD_TYPES, getInferredFieldType, isFieldType };
|
|
93
|
-
//# sourceMappingURL=field-types.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"field-types.mjs","names":["DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'>","elementType: string"],"sources":["../../src/utils/field-types.ts"],"sourcesContent":["import type { SetDefaultString } from './types';\nimport type { UnionToTuple } from '../steps/types';\n\nexport type FieldType = (typeof FIELD_TYPES)[number];\nexport type DefaultFieldType = typeof DEFAULT_FIELD_TYPE;\nexport type DefaultFieldTypeMap = {\n string: string;\n number: number;\n boolean: boolean;\n date: Date;\n};\nexport type ResolvedFieldTypeMap = {\n string: string;\n 'string.phone': string;\n 'string.email': string;\n 'string.time': string;\n number: number;\n 'number.counter': number;\n date: Date;\n dateTime: Date;\n 'boolean.switch': boolean;\n};\n// Helper to convert a single type (non-union) to string\ntype BaseTypeToString<T> = T extends string\n ? 'string'\n : T extends number\n ? 'number'\n : T extends boolean\n ? 'boolean'\n : T extends Date\n ? 'date'\n : T extends object\n ? T extends Array<unknown> | Date\n ? never // Handled separately\n : 'object'\n : DefaultFieldType;\n\n// Helper to collect union members as string literals\ntype UnionMembersToString<T> = T extends infer U\n ? U extends U\n ? BaseTypeToString<U>\n : never\n : never;\n\n// Helper to join union members with |\n// This manually handles the tuple conversion since UnionToTuple returns readonly\ntype JoinUnion<T> = UnionMembersToString<T> extends infer UnionStrings\n ? [UnionStrings] extends [string]\n ? UnionToTuple<UnionStrings> extends readonly [infer A extends string]\n ? A\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string\n ]\n ? `${A} | ${B}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string\n ]\n ? `${A} | ${B} | ${C}`\n : UnionToTuple<UnionStrings> extends readonly [\n infer A extends string,\n infer B extends string,\n infer C extends string,\n infer D extends string\n ]\n ? `${A} | ${B} | ${C} | ${D}`\n : UnionStrings // Fallback for larger unions or single type\n : never\n : never;\n\n// Helper to convert union to intersection (used to detect unions)\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I\n) => void\n ? I\n : never;\n\n// Helper to check if T is a tuple (has specific length, not just array)\ntype IsTuple<T> = T extends readonly unknown[]\n ? number extends T['length']\n ? false\n : true\n : false;\n\n// Helper to convert tuple to string representation\ntype TupleToString<T extends readonly unknown[]> = T extends readonly [\n infer First,\n ...infer Rest\n]\n ? Rest extends readonly unknown[]\n ? `${TypeToString<First>}${Rest['length'] extends 0\n ? ''\n : `, ${TupleToString<Rest>}`}`\n : never\n : never;\n\n// Helper type to convert a type to its string literal representation\ntype TypeToString<T> = T extends readonly unknown[]\n ? IsTuple<T> extends true\n ? `[${TupleToString<T>}]`\n : T extends readonly (infer U)[]\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : never\n : T extends Array<infer U>\n ? [U] extends [UnionToIntersection<U>]\n ? `${TypeToString<U>}[]`\n : `(${JoinUnion<U>})[]`\n : BaseTypeToString<T>;\n\nexport type GetInferredFieldType<T extends { defaultValue: unknown }> =\n TypeToString<T['defaultValue']>;\n\nexport const FIELD_TYPES = [\n 'string',\n 'string.phone',\n 'string.email',\n 'string.time',\n 'number',\n 'number.counter',\n 'date',\n 'dateTime',\n 'boolean.switch',\n] as const;\nexport const DEFAULT_FIELD_TYPE: SetDefaultString<FieldType, 'string'> =\n 'string';\n\nexport function isFieldType(value: unknown): value is FieldType {\n return typeof value === 'string' && FIELD_TYPES.includes(value as FieldType);\n}\n\n// Helper function to get the base type string for a single value (not arrays)\nfunction getBaseTypeString(value: unknown): string {\n if (value === null) {\n return 'string';\n }\n\n if (typeof value === 'object') {\n return value instanceof Date ? 'date' : 'object';\n }\n\n if (typeof value === 'number') {\n return 'number';\n }\n\n if (typeof value === 'boolean') {\n return 'boolean';\n }\n\n return 'string';\n}\n\n// Helper to order types according to TypeScript's union order: string | number | boolean\nconst TYPE_ORDER = ['string', 'number', 'boolean', 'date', 'object'] as const;\n\nfunction orderTypes(types: string[]): string[] {\n return types.toSorted((a, b) => {\n const aIndex = TYPE_ORDER.indexOf(a as (typeof TYPE_ORDER)[number]);\n const bIndex = TYPE_ORDER.indexOf(b as (typeof TYPE_ORDER)[number]);\n if (aIndex === -1 && bIndex === -1) {\n return a.localeCompare(b, undefined, { sensitivity: 'base' });\n }\n if (aIndex === -1) return 1;\n if (bIndex === -1) return -1;\n return aIndex - bIndex;\n });\n}\n\n// Helper to convert tuple string to union string at depth 2+\nfunction tupleToUnion(tupleType: string): string {\n const tupleTypes = tupleType.slice(1, -1).split(', ');\n const orderedTypes = orderTypes(tupleTypes);\n return `(${orderedTypes.join(' | ')})`;\n}\n\n// Helper to process tuple format (depth < 2)\nfunction processTuple(value: unknown[], depth: number): string {\n const elementTypes = value.map((el) => {\n if (Array.isArray(el)) {\n return getArrayTypeString(el, depth + 1);\n }\n return getBaseTypeString(el);\n });\n return `[${elementTypes.join(', ')}]`;\n}\n\n// Helper to process array-of-arrays case\nfunction processArrayOfArrays(value: unknown[], depth: number): string {\n const arrayElementTypes = new Set<string>();\n for (const el of value) {\n if (Array.isArray(el)) {\n let innerType = getArrayTypeString(el, depth + 1);\n // At depth 2+, if inner type is a tuple, convert to union\n if (depth >= 1 && innerType.startsWith('[') && innerType.endsWith(']')) {\n innerType = tupleToUnion(innerType);\n }\n arrayElementTypes.add(innerType);\n }\n }\n if (arrayElementTypes.size === 1) {\n return `${Array.from(arrayElementTypes)[0]}[]`;\n }\n const sortedTypes = orderTypes(Array.from(arrayElementTypes));\n return `(${sortedTypes.join(' | ')})[]`;\n}\n\n// Helper to process regular array case\nfunction processRegularArray(\n value: unknown[],\n uniqueBaseTypes: string[],\n depth: number\n): string {\n const firstElement = value[0];\n let elementType: string;\n if (Array.isArray(firstElement)) {\n elementType = getArrayTypeString(firstElement, depth + 1);\n // At depth 2+, if inner type is a tuple, convert to union\n if (\n depth >= 1 &&\n elementType.startsWith('[') &&\n elementType.endsWith(']')\n ) {\n elementType = tupleToUnion(elementType);\n }\n } else {\n elementType = getBaseTypeString(firstElement);\n }\n\n // If we have multiple different base types, create union array\n // Use sorted order for union arrays (matches TypeScript's union order)\n if (uniqueBaseTypes.length > 1) {\n const orderedTypes = orderTypes(uniqueBaseTypes);\n return `(${orderedTypes.join(' | ')})[]`;\n }\n\n return `${elementType}[]`;\n}\n\n// Helper function to get the type string for an array, distinguishing tuples from regular arrays\nfunction getArrayTypeString(value: unknown[], depth: number = 0): string {\n if (value.length === 0) {\n return 'string[]';\n }\n\n // Get the base type for each element (not recursively processing arrays yet)\n const elementBaseTypes = value.map(getBaseTypeString);\n\n // Get unique base types\n const uniqueBaseTypes = [...new Set(elementBaseTypes)];\n\n // Check if this has different types\n const hasDifferentTypes = uniqueBaseTypes.length > 1;\n\n // Heuristic: If array has different types and is small/fixed-length, treat as tuple\n // This approximates TypeScript's tuple detection (as const creates tuples)\n // At depth 0-1, use tuple format for arrays with different types\n // At depth 2+, convert to union arrays (matches TypeScript's behavior for deeply nested structures)\n if (hasDifferentTypes && depth < 2 && value.length <= 10) {\n return processTuple(value, depth);\n }\n\n // If all elements are arrays, process them recursively\n if (value.every(Array.isArray)) {\n return processArrayOfArrays(value, depth);\n }\n\n return processRegularArray(value, uniqueBaseTypes, depth);\n}\n\ntype GetInferredFieldTypeReturnType<\n T extends { defaultValue: unknown },\n TType extends FieldType\n> = [TType] extends [never] ? GetInferredFieldType<T> : TType;\n\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType\n>(options: T & { type: TType }): GetInferredFieldTypeReturnType<T, TType>;\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType = never\n>(options: T & { type?: TType }): GetInferredFieldTypeReturnType<T, TType>;\nexport function getInferredFieldType<\n T extends { defaultValue: unknown },\n TType extends FieldType = never\n>(options: T & { type?: TType }): GetInferredFieldTypeReturnType<T, TType> {\n const { defaultValue, type } = options;\n\n if (type) {\n return type as unknown as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (Array.isArray(defaultValue)) {\n return getArrayTypeString(defaultValue) as GetInferredFieldTypeReturnType<\n T,\n TType\n >;\n }\n\n if (typeof defaultValue === 'object' && defaultValue !== null) {\n if (defaultValue instanceof Date) {\n return 'date' as GetInferredFieldTypeReturnType<T, TType>;\n }\n return 'object' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (typeof defaultValue === 'number') {\n return 'number' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n if (typeof defaultValue === 'boolean') {\n return 'boolean' as GetInferredFieldTypeReturnType<T, TType>;\n }\n\n return 'string' as GetInferredFieldTypeReturnType<T, TType>;\n}\n"],"mappings":"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"}
|