@glitchproof/form-field-generator 1.0.9 → 1.1.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/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { DICT, GenerateFields, ValidateDICT } from './type.js';
2
- export declare const generateFields: <const Fields extends DICT>(fields: ValidateDICT<Fields>) => GenerateFields<Fields>;
1
+ import type { Dict, GenerateFields, ValidateDICT } from './type.js';
2
+ export declare const generateFields: <const Fields extends Dict>(fields: ValidateDICT<Fields>) => GenerateFields<Fields>;
3
3
  export default generateFields;
4
4
  //# sourceMappingURL=index.d.ts.map
package/dist/type.d.ts CHANGED
@@ -3,35 +3,41 @@ export type Context = {
3
3
  };
4
4
  export type ReservedKeys = 'key' | 'path' | 'elementAt' | 'at';
5
5
  type ArrayNumberPattern = `.${number}`;
6
- type DICT_VALUE = string | readonly [{
7
- readonly [key: string]: DICT_VALUE;
6
+ type DictValue = string | readonly [{
7
+ readonly [key: string]: DictValue;
8
8
  }] | {
9
- readonly [key: string]: DICT_VALUE;
9
+ readonly [key: string]: DictValue;
10
10
  };
11
- type DICT_OBJECT_VALUE = {
12
- readonly [key: string]: DICT_VALUE;
11
+ type DictObjectValue = {
12
+ readonly [key: string]: DictValue;
13
13
  };
14
- type DICT_ARRAY_VALUE = readonly [{
15
- readonly [key: string]: DICT_VALUE;
14
+ type DictArrayValue = readonly [{
15
+ readonly [key: string]: DictValue;
16
16
  }];
17
- type DICT_NESTED_VALUES = DICT_ARRAY_VALUE | DICT_OBJECT_VALUE;
18
- export type DICT = Record<string, DICT_VALUE>;
19
- export type ValidateDICT<Dict extends DICT | DICT_NESTED_VALUES> = {
20
- [Key in keyof Dict]: Dict[Key] extends DICT_NESTED_VALUES ? ValidateDICT<Dict[Key]> : Key extends ReservedKeys ? `Error: "${Key & string}" is a reserved key and cannot be used` : Dict[Key];
17
+ type DictNestedValues = DictArrayValue | DictObjectValue;
18
+ export type Dict = Record<string, DictValue>;
19
+ export type ValidateDICT<DictObj extends Dict | DictNestedValues> = {
20
+ [Key in keyof DictObj]: DictObj[Key] extends DictNestedValues ? ValidateDICT<DictObj[Key]> : Key extends ReservedKeys ? `Error: "${Key & string}" is a reserved key and cannot be used` : DictObj[Key];
21
21
  };
22
22
  type CheckCharIsCharCanBeCapitalize<Char extends string> = Char extends `${number}` ? never : Capitalize<Char>;
23
23
  type CamelToSnakeCase<S extends string> = S extends `${infer T}${infer U}` ? `${T extends CheckCharIsCharCanBeCapitalize<T> ? '_' : ''}${Lowercase<T>}${CamelToSnakeCase<U>}` : S;
24
24
  type BuildTuple<Type, Length extends number, Acc extends Type[] = []> = Acc['length'] extends Length ? Acc : BuildTuple<Type, Length, [...Acc, Type]>;
25
+ type AddOne<N extends number> = [
26
+ ...BuildTuple<unknown, N>,
27
+ unknown
28
+ ]['length'] extends infer L ? L extends number ? L : never : never;
25
29
  type CountOccurrences<S extends string, Acc extends unknown[] = []> = S extends `${ArrayNumberPattern}${infer Rest}` ? CountOccurrences<Rest, [...Acc, 0]> : S extends `${infer _}${infer Rest}` ? CountOccurrences<Rest, Acc> : Acc['length'];
26
30
  type ExtendObjectWithCondition<Condition extends boolean, Obj> = Condition extends true ? Obj : {};
27
31
  type CountArrayIndices<Path extends string> = CountOccurrences<Path>;
28
- type TO_NAME<KEY> = Uppercase<CamelToSnakeCase<KEY & string>>;
29
- type TO_FIELD_NAME<KEY> = `${TO_NAME<KEY>}_FIELD`;
30
- type TO_OBJECT_FIELD_NAME<KEY> = `$${TO_NAME<KEY>}`;
31
- type ListFieldAccessor<Path extends string> = (...args: BuildTuple<number, CountArrayIndices<Path>>) => Path;
32
- type SubArrayElement<Arr extends DICT_NESTED_VALUES> = Arr extends readonly (infer Obj)[] ? Obj : never;
32
+ type toPropertyName<KEY> = Uppercase<CamelToSnakeCase<KEY & string>>;
33
+ type toFieldName<KEY> = `${toPropertyName<KEY>}_FIELD`;
34
+ type toObjectFieldName<KEY> = `$${toPropertyName<KEY>}`;
35
+ type ListFieldAccessorReturn<ListPath extends string, ArgList extends number[], NewPath extends string = '', ArgIndex extends number = 0> = ListPath extends `.${number}${infer Rest}` ? ArgIndex extends ArgList['length'] ? `${NewPath}.${ListPath}` : ListFieldAccessorReturn<Rest, ArgList, `${NewPath}.${ArgList[ArgIndex]}`, AddOne<ArgIndex>> : ListPath extends `.${infer First}${infer Rest}` ? ListFieldAccessorReturn<Rest, ArgList, `${NewPath}.${First}`, ArgIndex> : ListPath extends `${infer First}${infer Rest}` ? ListFieldAccessorReturn<Rest, ArgList, `${NewPath}${First}`, ArgIndex> : NewPath;
36
+ type ListFieldAccessor<Path extends string, ArgsList extends BuildTuple<number, CountArrayIndices<Path>> = BuildTuple<number, CountArrayIndices<Path>>> = <Args extends ArgsList>(...args: Args) => ListFieldAccessorReturn<Path, Args>;
37
+ type SubArrayElement<Arr extends DictNestedValues> = Arr extends readonly (infer Obj)[] ? Obj : never;
38
+ type HasArrayElements<Field extends DictNestedValues> = SubArrayElement<Field> extends never ? false : true;
33
39
  type PathGenerator<Path extends string> = CountArrayIndices<Path> extends 0 ? Path : ListFieldAccessor<Path>;
34
- type ObjectFieldNameGenerator<Key extends string, Field extends DICT_OBJECT_VALUE> = Field[Key] extends string ? TO_FIELD_NAME<Key> : TO_OBJECT_FIELD_NAME<Key>;
40
+ type ObjectFieldNameGenerator<Key extends string, Field extends DictObjectValue> = Field[Key] extends string ? toFieldName<Key> : toObjectFieldName<Key>;
35
41
  type IsListedBefore<Path extends string> = CountArrayIndices<Path> extends 0 ? false : true;
36
42
  type ExceptNumber<Key, Result> = Key extends `${number}` ? never : Result;
37
43
  type FeatureFieldsForArrayFields<Path extends string> = {
@@ -40,28 +46,32 @@ type FeatureFieldsForArrayFields<Path extends string> = {
40
46
  type FeatureFieldsForArraySubFields<Path extends string> = {
41
47
  AT: ListFieldAccessor<Path>;
42
48
  };
43
- type FieldsNameGenerator<Field extends DICT_NESTED_VALUES> = {
44
- [KEY in keyof Field as Field[KEY] extends string ? TO_NAME<KEY> : never]: Field[KEY];
49
+ type FieldsNameGenerator<Field extends DictNestedValues> = {
50
+ [KEY in keyof Field as Field[KEY] extends string ? toPropertyName<KEY> : never]: Field[KEY];
45
51
  };
46
- type FieldsFieldGenerator<Field extends DICT_NESTED_VALUES, Path extends string = ''> = {
47
- [KEY in keyof Field as Field[KEY] extends string ? TO_FIELD_NAME<KEY> : never]: Path extends '' ? Field[KEY] : IsListedBefore<Path> extends true ? ListFieldAccessor<`${Path}.${Field[KEY] & string}`> : `${Path}.${Field[KEY] & string}`;
52
+ type FieldsFieldGenerator<Field extends DictNestedValues, Path extends string = ''> = {
53
+ [KEY in keyof Field as Field[KEY] extends string ? toFieldName<KEY> : never]: Path extends '' ? Field[KEY] : IsListedBefore<Path> extends true ? ListFieldAccessor<`${Path}.${Field[KEY] & string}`> : `${Path}.${Field[KEY] & string}`;
48
54
  };
49
- type GenerateFieldsFromArrays<Field extends DICT_NESTED_VALUES, Path extends string> = {
50
- [KEY in keyof SubArrayElement<Field> as ObjectFieldNameGenerator<KEY & string, SubArrayElement<Field>>]: SubArrayElement<Field>[KEY] extends DICT_NESTED_VALUES ? FieldsGroup<SubArrayElement<Field>[KEY], `${Path}.${number}.${KEY & string}`, KEY & string> : ListFieldAccessor<`${Path}.${number}.${SubArrayElement<Field>[KEY] & string}`>;
55
+ type GenerateFieldsFromArrays<Field extends DictNestedValues, Path extends string> = {
56
+ [KEY in keyof SubArrayElement<Field> as ObjectFieldNameGenerator<KEY & string, SubArrayElement<Field>>]: SubArrayElement<Field>[KEY] extends DictNestedValues ? FieldsGroup<SubArrayElement<Field>[KEY], `${Path}.${number}.${KEY & string}`, KEY & string> : ListFieldAccessor<`${Path}.${number}.${SubArrayElement<Field>[KEY] & string}`>;
51
57
  } & {
52
- [KEY in keyof SubArrayElement<Field> as SubArrayElement<Field>[KEY] extends string ? TO_NAME<KEY> : never]: SubArrayElement<Field>[KEY];
58
+ [KEY in keyof SubArrayElement<Field> as SubArrayElement<Field>[KEY] extends string ? toPropertyName<KEY> : never]: SubArrayElement<Field>[KEY];
53
59
  };
54
- type GenerateFieldsFromObjects<Field extends DICT_NESTED_VALUES, Path extends string> = {
55
- [KEY in keyof Field as Field[KEY] extends DICT_NESTED_VALUES ? ExceptNumber<KEY, TO_OBJECT_FIELD_NAME<KEY>> : never]: Field[KEY] extends DICT_OBJECT_VALUE ? FieldsGroup<Field[KEY], `${Path}.${KEY & string}`, KEY & string> : Field[KEY] extends DICT_ARRAY_VALUE ? FieldsGroup<Field[KEY], `${Path}.${KEY & string}`, KEY & string> : never;
60
+ type GenerateFieldsFromObjects<Field extends DictNestedValues, Path extends string> = {
61
+ [KEY in keyof Field as Field[KEY] extends DictNestedValues ? ExceptNumber<KEY, toObjectFieldName<KEY>> : never]: Field[KEY] extends DictObjectValue ? FieldsGroup<Field[KEY], `${Path}.${KEY & string}`, KEY & string> : Field[KEY] extends DictArrayValue ? FieldsGroup<Field[KEY], `${Path}.${KEY & string}`, KEY & string> : never;
56
62
  };
57
- type AddonOnlyArraysFields<Field extends DICT_NESTED_VALUES, Obj> = ExtendObjectWithCondition<SubArrayElement<Field> extends never ? false : true, Obj>;
58
- type AddonOnlyFieldsThatListedBefore<Field extends DICT_NESTED_VALUES, Path extends string, Obj> = ExtendObjectWithCondition<IsListedBefore<Path> extends true ? SubArrayElement<Field> extends never ? true : false : false, Obj>;
59
- type FieldsGroup<Field extends DICT_NESTED_VALUES, Path extends string, FieldName extends string> = {
63
+ type AddonOnlyArraysFields<Field extends DictNestedValues, Obj> = ExtendObjectWithCondition<HasArrayElements<Field>, Obj>;
64
+ type AddonOnlyFieldsThatListedBefore<Field extends DictNestedValues, Path extends string, Obj> = ExtendObjectWithCondition<IsListedBefore<Path> extends true ? SubArrayElement<Field> extends never ? true : false : false, Obj>;
65
+ type BaseFields<FieldName extends string, Path extends string> = {
60
66
  readonly KEY: FieldName;
61
67
  readonly PATH: PathGenerator<Path>;
62
- } & FieldsNameGenerator<Field> & GenerateFieldsFromArrays<Field, Path> & GenerateFieldsFromObjects<Field, Path> & FieldsFieldGenerator<Field, Path> & AddonOnlyFieldsThatListedBefore<Field, Path, FeatureFieldsForArraySubFields<Path>> & AddonOnlyArraysFields<Field, FeatureFieldsForArrayFields<Path>>;
63
- export type GenerateFields<Fields extends DICT> = FieldsFieldGenerator<Fields> & FieldsNameGenerator<Fields> & {
64
- [KEY in keyof Fields as Fields[KEY] extends DICT_NESTED_VALUES ? TO_OBJECT_FIELD_NAME<KEY> : never]: Fields[KEY] extends DICT_NESTED_VALUES ? FieldsGroup<Fields[KEY], KEY & string, KEY & string> : never;
68
+ };
69
+ type NameFields<Field extends DictNestedValues> = FieldsNameGenerator<Field>;
70
+ type NestedFields<Field extends DictNestedValues, Path extends string> = GenerateFieldsFromArrays<Field, Path> & GenerateFieldsFromObjects<Field, Path>;
71
+ type FieldAccessors<Field extends DictNestedValues, Path extends string> = FieldsFieldGenerator<Field, Path> & AddonOnlyFieldsThatListedBefore<Field, Path, FeatureFieldsForArraySubFields<Path>> & AddonOnlyArraysFields<Field, FeatureFieldsForArrayFields<Path>>;
72
+ type FieldsGroup<Field extends DictNestedValues, Path extends string, FieldName extends string> = BaseFields<FieldName, Path> & NameFields<Field> & NestedFields<Field, Path> & FieldAccessors<Field, Path>;
73
+ export type GenerateFields<Fields extends Dict> = FieldsFieldGenerator<Fields> & FieldsNameGenerator<Fields> & {
74
+ [KEY in keyof Fields as Fields[KEY] extends DictNestedValues ? toObjectFieldName<KEY> : never]: Fields[KEY] extends DictNestedValues ? FieldsGroup<Fields[KEY], KEY & string, KEY & string> : never;
65
75
  };
66
76
  export {};
67
77
  //# sourceMappingURL=type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@glitchproof/form-field-generator",
3
- "version": "1.0.9",
3
+ "version": "1.1.0",
4
4
  "description": "> Type-safe field path generation for nested objects and arrays",
5
5
  "scripts": {
6
- "build": "tsc",
6
+ "build": "tsc --project tsconfig.build.json",
7
7
  "ci": "bun run format:check && bun run test && bun run build",
8
8
  "format": "prettier --write .",
9
9
  "format:src": "prettier --write src/**/*.ts",
@@ -38,6 +38,7 @@
38
38
  "license": "MIT",
39
39
  "devDependencies": {
40
40
  "@changesets/cli": "^2.29.7",
41
+ "expect-type": "^1.3.0",
41
42
  "prettier": "^3.6.2",
42
43
  "typescript": "^5.9.3",
43
44
  "vitest": "^4.0.16"