@glitchproof/form-field-generator 1.0.7 → 1.0.9
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/core/convert.d.ts.map +1 -1
- package/dist/core/convert.js +13 -9
- package/dist/core/convert.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +1 -1
- package/dist/type.d.ts +9 -5
- package/dist/type.d.ts.map +1 -1
- package/dist/utils/path-generator.d.ts +2 -0
- package/dist/utils/path-generator.d.ts.map +1 -0
- package/dist/utils/path-generator.js +12 -0
- package/dist/utils/path-generator.js.map +1 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/core/convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/core/convert.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAqB1C,eAAO,MAAM,OAAO,GAAI,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,OAAO,MAAM,EACb,UAAS,OAAwB,wBA6ElC,CAAC"}
|
package/dist/core/convert.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { isListed } from '../utils/is-list.js';
|
|
2
2
|
import { toSnakeCase } from '../utils/to-snake-case.js';
|
|
3
|
+
import { pathGenerator } from '../utils/path-generator.js';
|
|
3
4
|
import { createIndexFormatter } from '../utils/create-index-formatter.js';
|
|
5
|
+
const RESERVED_KEYS_WITH_ERRORS_MESSAGES = {
|
|
6
|
+
key: 'Error: "key" is a reserved key and cannot be used',
|
|
7
|
+
path: 'Error: "path" is a reserved key and cannot be used',
|
|
8
|
+
elementAt: 'Error: "elementAt" is a reserved key and cannot be used as a field name',
|
|
9
|
+
at: 'Error: "at" is a reserved key and cannot be used as a field name',
|
|
10
|
+
};
|
|
4
11
|
const defaultContext = {
|
|
5
12
|
path: '',
|
|
6
13
|
};
|
|
@@ -12,11 +19,14 @@ export const convert = (field, context = defaultContext) => {
|
|
|
12
19
|
const fields = Object.entries(fieldsObj);
|
|
13
20
|
return fields.reduce((acc, [key, value]) => {
|
|
14
21
|
const convertedName = toSnakeCase(key).toUpperCase();
|
|
22
|
+
if (key in RESERVED_KEYS_WITH_ERRORS_MESSAGES) {
|
|
23
|
+
throw new Error(RESERVED_KEYS_WITH_ERRORS_MESSAGES[key]);
|
|
24
|
+
}
|
|
15
25
|
if (typeof value === 'string') {
|
|
16
26
|
acc[convertedName] = value;
|
|
17
27
|
const accessorName = `${convertedName}_FIELD`;
|
|
18
28
|
if (isList || isListedBefore) {
|
|
19
|
-
acc[accessorName] = createIndexFormatter(`${path}.${
|
|
29
|
+
acc[accessorName] = createIndexFormatter(`${path}.${value}`);
|
|
20
30
|
return acc;
|
|
21
31
|
}
|
|
22
32
|
acc[accessorName] = path ? `${path}.${value}` : value;
|
|
@@ -30,10 +40,7 @@ export const convert = (field, context = defaultContext) => {
|
|
|
30
40
|
path: subGroupPath,
|
|
31
41
|
});
|
|
32
42
|
subGroup.KEY = key;
|
|
33
|
-
|
|
34
|
-
subGroup.PATH = isListed(subGroupPathField)
|
|
35
|
-
? createIndexFormatter(subGroupPathField)
|
|
36
|
-
: subGroupPathField;
|
|
43
|
+
subGroup.PATH = pathGenerator(subGroupPathField, key);
|
|
37
44
|
subGroup.ELEMENT_AT = createIndexFormatter(subGroupPath);
|
|
38
45
|
acc[accessorName] = subGroup;
|
|
39
46
|
return acc;
|
|
@@ -45,10 +52,7 @@ export const convert = (field, context = defaultContext) => {
|
|
|
45
52
|
path: subGroupPath,
|
|
46
53
|
});
|
|
47
54
|
subGroup.KEY = key;
|
|
48
|
-
|
|
49
|
-
subGroup.PATH = isListed(subGroupPath)
|
|
50
|
-
? createIndexFormatter(subGroupPath)
|
|
51
|
-
: subGroupPath;
|
|
55
|
+
subGroup.PATH = pathGenerator(subGroupPath, key);
|
|
52
56
|
if (isListed(subGroupPath))
|
|
53
57
|
subGroup.AT = createIndexFormatter(subGroupPath);
|
|
54
58
|
acc[accessorName] = subGroup;
|
package/dist/core/convert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/core/convert.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/core/convert.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { DICT, GenerateFields } from './type.js';
|
|
2
|
-
export declare const generateFields: <const Fields extends DICT>(fields: 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/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIpE,eAAO,MAAM,cAAc,GAAI,KAAK,CAAC,MAAM,SAAS,IAAI,EACtD,QAAQ,YAAY,CAAC,MAAM,CAAC,KAC3B,cAAc,CAAC,MAAM,CAA8C,CAAC;AAEvE,eAAe,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
import { convert } from './core/convert.js';
|
|
2
2
|
export const generateFields = (fields) => convert(fields);
|
|
3
3
|
export default generateFields;
|
|
4
|
-
const Fields = generateFields({
|
|
5
|
-
endpoints: [
|
|
6
|
-
{
|
|
7
|
-
path12: 'path12',
|
|
8
|
-
method: 'method',
|
|
9
|
-
params: [{ name: 'name' }],
|
|
10
|
-
},
|
|
11
|
-
],
|
|
12
|
-
});
|
|
13
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAA4B,EACJ,EAAE,CAAC,OAAO,CAAC,MAAM,CAA2B,CAAC;AAEvE,eAAe,cAAc,CAAC"}
|
package/dist/type.d.ts
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
export type Context = {
|
|
2
2
|
path: string;
|
|
3
3
|
};
|
|
4
|
+
export type ReservedKeys = 'key' | 'path' | 'elementAt' | 'at';
|
|
4
5
|
type ArrayNumberPattern = `.${number}`;
|
|
5
|
-
type DICT_VALUE = string | readonly {
|
|
6
|
+
type DICT_VALUE = string | readonly [{
|
|
6
7
|
readonly [key: string]: DICT_VALUE;
|
|
7
|
-
}
|
|
8
|
+
}] | {
|
|
8
9
|
readonly [key: string]: DICT_VALUE;
|
|
9
10
|
};
|
|
10
11
|
type DICT_OBJECT_VALUE = {
|
|
11
12
|
readonly [key: string]: DICT_VALUE;
|
|
12
13
|
};
|
|
13
|
-
type DICT_ARRAY_VALUE = readonly {
|
|
14
|
+
type DICT_ARRAY_VALUE = readonly [{
|
|
14
15
|
readonly [key: string]: DICT_VALUE;
|
|
15
|
-
}
|
|
16
|
+
}];
|
|
16
17
|
type DICT_NESTED_VALUES = DICT_ARRAY_VALUE | DICT_OBJECT_VALUE;
|
|
17
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];
|
|
21
|
+
};
|
|
18
22
|
type CheckCharIsCharCanBeCapitalize<Char extends string> = Char extends `${number}` ? never : Capitalize<Char>;
|
|
19
23
|
type CamelToSnakeCase<S extends string> = S extends `${infer T}${infer U}` ? `${T extends CheckCharIsCharCanBeCapitalize<T> ? '_' : ''}${Lowercase<T>}${CamelToSnakeCase<U>}` : S;
|
|
20
24
|
type BuildTuple<Type, Length extends number, Acc extends Type[] = []> = Acc['length'] extends Length ? Acc : BuildTuple<Type, Length, [...Acc, Type]>;
|
|
@@ -43,7 +47,7 @@ type FieldsFieldGenerator<Field extends DICT_NESTED_VALUES, Path extends string
|
|
|
43
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}`;
|
|
44
48
|
};
|
|
45
49
|
type GenerateFieldsFromArrays<Field extends DICT_NESTED_VALUES, Path extends string> = {
|
|
46
|
-
[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}.${KEY & 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}`>;
|
|
47
51
|
} & {
|
|
48
52
|
[KEY in keyof SubArrayElement<Field> as SubArrayElement<Field>[KEY] extends string ? TO_NAME<KEY> : never]: SubArrayElement<Field>[KEY];
|
|
49
53
|
};
|
package/dist/type.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,kBAAkB,GAAG,IAAI,MAAM,EAAE,CAAC;AAEvC,KAAK,UAAU,GACX,MAAM,GACN,SAAS;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../src/type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-generator.d.ts","sourceRoot":"","sources":["../../src/utils/path-generator.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,eAAe,MAAM,yDAUhE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { isListed } from './is-list.js';
|
|
2
|
+
import { createIndexFormatter } from './create-index-formatter.js';
|
|
3
|
+
export const pathGenerator = (path, fallbackPath) => {
|
|
4
|
+
if (!path) {
|
|
5
|
+
return fallbackPath;
|
|
6
|
+
}
|
|
7
|
+
if (isListed(path)) {
|
|
8
|
+
return createIndexFormatter(path);
|
|
9
|
+
}
|
|
10
|
+
return path;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=path-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-generator.js","sourceRoot":"","sources":["../../src/utils/path-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,YAAqB,EAAE,EAAE;IACnE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glitchproof/form-field-generator",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.9",
|
|
4
4
|
"description": "> Type-safe field path generation for nested objects and arrays",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "tsc",
|
|
7
|
-
"ci": "bun run
|
|
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",
|
|
10
10
|
"format:check": "prettier --write --check .",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@changesets/cli": "^2.29.7",
|
|
41
41
|
"prettier": "^3.6.2",
|
|
42
42
|
"typescript": "^5.9.3",
|
|
43
|
-
"vitest": "^4.0.
|
|
43
|
+
"vitest": "^4.0.16"
|
|
44
44
|
},
|
|
45
45
|
"types": "./dist/index.d.ts",
|
|
46
46
|
"bugs": {
|