@playfast/forms 0.0.1
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/README.md +125 -0
- package/dist/cjs/form.js +298 -0
- package/dist/cjs/index.js +56 -0
- package/dist/cjs/package.json +4 -0
- package/dist/cjs/path.js +115 -0
- package/dist/cjs/validation.js +40 -0
- package/dist/dts/form.d.ts +184 -0
- package/dist/dts/form.d.ts.map +1 -0
- package/dist/dts/index.d.ts +8 -0
- package/dist/dts/index.d.ts.map +1 -0
- package/dist/dts/path.d.ts +36 -0
- package/dist/dts/path.d.ts.map +1 -0
- package/dist/dts/validation.d.ts +12 -0
- package/dist/dts/validation.d.ts.map +1 -0
- package/dist/esm/form.js +292 -0
- package/dist/esm/form.js.map +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/path.js +104 -0
- package/dist/esm/path.js.map +1 -0
- package/dist/esm/validation.js +33 -0
- package/dist/esm/validation.js.map +1 -0
- package/package.json +28 -0
package/dist/esm/path.js
ADDED
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Equal } from 'effect';
|
|
2
|
+
const BRACKET_NOTATION_REGEX = /\[(\d+)\]/g;
|
|
3
|
+
export const schemaPathToFieldPath = (path) => {
|
|
4
|
+
if (path.length === 0)
|
|
5
|
+
return '';
|
|
6
|
+
let result = String(path[0]);
|
|
7
|
+
for (let i = 1; i < path.length; i++) {
|
|
8
|
+
const segment = path[i];
|
|
9
|
+
result += typeof segment === 'number' ? `[${segment}]` : `.${String(segment)}`;
|
|
10
|
+
}
|
|
11
|
+
return result;
|
|
12
|
+
};
|
|
13
|
+
export const joinPath = (prefix, path) => prefix.length === 0 ? path : path.length === 0 ? prefix : `${prefix}.${path}`;
|
|
14
|
+
export const isPathUnderRoot = (path, rootPath) => path === rootPath || path.startsWith(`${rootPath}.`) || path.startsWith(`${rootPath}[`);
|
|
15
|
+
export const isPathOrParentDirty = (dirtyPaths, path) => {
|
|
16
|
+
if (dirtyPaths.includes(path))
|
|
17
|
+
return true;
|
|
18
|
+
let parent = path;
|
|
19
|
+
while (true) {
|
|
20
|
+
const lastDot = parent.lastIndexOf('.');
|
|
21
|
+
const lastBracket = parent.lastIndexOf('[');
|
|
22
|
+
const splitIndex = Math.max(lastDot, lastBracket);
|
|
23
|
+
if (splitIndex === -1)
|
|
24
|
+
return false;
|
|
25
|
+
parent = parent.substring(0, splitIndex);
|
|
26
|
+
if (dirtyPaths.includes(parent))
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
const pathParts = (path) => path === '' ? [] : path.replace(BRACKET_NOTATION_REGEX, '.$1').split('.');
|
|
31
|
+
export const getNestedValue = (obj, path) => {
|
|
32
|
+
const parts = pathParts(path);
|
|
33
|
+
let current = obj;
|
|
34
|
+
for (const part of parts) {
|
|
35
|
+
if (current === null || current === undefined || typeof current !== 'object')
|
|
36
|
+
return undefined;
|
|
37
|
+
current = current[part];
|
|
38
|
+
}
|
|
39
|
+
return current;
|
|
40
|
+
};
|
|
41
|
+
export const setNestedValue = (obj, path, value) => {
|
|
42
|
+
const parts = pathParts(path);
|
|
43
|
+
if (parts.length === 0)
|
|
44
|
+
return value;
|
|
45
|
+
const result = Array.isArray(obj) ? [...obj] : { ...obj };
|
|
46
|
+
let current = result;
|
|
47
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
48
|
+
const part = parts[i];
|
|
49
|
+
if (part === undefined)
|
|
50
|
+
return result;
|
|
51
|
+
const next = current[part];
|
|
52
|
+
current[part] = Array.isArray(next) ? [...next] : { ...next };
|
|
53
|
+
current = current[part];
|
|
54
|
+
}
|
|
55
|
+
const last = parts[parts.length - 1];
|
|
56
|
+
if (last !== undefined)
|
|
57
|
+
current[last] = value;
|
|
58
|
+
return result;
|
|
59
|
+
};
|
|
60
|
+
export const recalculateDirtyPaths = (initial, values, rootPath = '') => {
|
|
61
|
+
const dirty = new Set();
|
|
62
|
+
const visit = (current, original, path) => {
|
|
63
|
+
if (Equal.equals(current, original))
|
|
64
|
+
return;
|
|
65
|
+
if (Array.isArray(current) || Array.isArray(original)) {
|
|
66
|
+
const currentItems = Array.isArray(current) ? current : [];
|
|
67
|
+
const originalItems = Array.isArray(original) ? original : [];
|
|
68
|
+
if (currentItems.length !== originalItems.length && path.length > 0)
|
|
69
|
+
dirty.add(path);
|
|
70
|
+
const length = Math.max(currentItems.length, originalItems.length);
|
|
71
|
+
for (let i = 0; i < length; i++) {
|
|
72
|
+
visit(currentItems[i], originalItems[i], path.length === 0 ? `[${i}]` : `${path}[${i}]`);
|
|
73
|
+
}
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (current !== null &&
|
|
77
|
+
original !== null &&
|
|
78
|
+
typeof current === 'object' &&
|
|
79
|
+
typeof original === 'object') {
|
|
80
|
+
const currentRecord = current;
|
|
81
|
+
const originalRecord = original;
|
|
82
|
+
const keys = new Set([...Object.keys(currentRecord), ...Object.keys(originalRecord)]);
|
|
83
|
+
for (const key of keys) {
|
|
84
|
+
visit(currentRecord[key], originalRecord[key], path.length === 0 ? key : `${path}.${key}`);
|
|
85
|
+
}
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (path.length > 0)
|
|
89
|
+
dirty.add(path);
|
|
90
|
+
};
|
|
91
|
+
visit(rootPath.length === 0 ? values : getNestedValue(values, rootPath), rootPath.length === 0 ? initial : getNestedValue(initial, rootPath), rootPath);
|
|
92
|
+
return Array.from(dirty).sort();
|
|
93
|
+
};
|
|
94
|
+
export const replaceAt = (values, index, value) => values.map((item, i) => (i === index ? value : item));
|
|
95
|
+
export const moveAt = (values, from, to) => {
|
|
96
|
+
if (from < 0 || from >= values.length || to < 0 || to > values.length || from === to)
|
|
97
|
+
return values;
|
|
98
|
+
const next = [...values];
|
|
99
|
+
const item = next.splice(from, 1)[0];
|
|
100
|
+
if (item !== undefined)
|
|
101
|
+
next.splice(to, 0, item);
|
|
102
|
+
return next;
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/path.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Option, ParseResult } from 'effect';
|
|
2
|
+
import { schemaPathToFieldPath } from './path.js';
|
|
3
|
+
export const error = (path, message) => ({ path, message });
|
|
4
|
+
export const normalizeErrors = (value) => {
|
|
5
|
+
if (value === undefined)
|
|
6
|
+
return [];
|
|
7
|
+
if (Array.isArray(value))
|
|
8
|
+
return value;
|
|
9
|
+
return [value];
|
|
10
|
+
};
|
|
11
|
+
export const errorsToRecord = (errors) => {
|
|
12
|
+
const out = {};
|
|
13
|
+
for (const entry of errors) {
|
|
14
|
+
if (out[entry.path] === undefined)
|
|
15
|
+
out[entry.path] = entry.message;
|
|
16
|
+
}
|
|
17
|
+
return out;
|
|
18
|
+
};
|
|
19
|
+
export const routeParseError = (parseError) => {
|
|
20
|
+
const formatted = ParseResult.ArrayFormatter.formatErrorSync(parseError);
|
|
21
|
+
const out = {};
|
|
22
|
+
for (const issue of formatted) {
|
|
23
|
+
const path = schemaPathToFieldPath(issue.path);
|
|
24
|
+
if (out[path] === undefined)
|
|
25
|
+
out[path] = issue.message;
|
|
26
|
+
}
|
|
27
|
+
return out;
|
|
28
|
+
};
|
|
29
|
+
export const firstError = (errors, path) => {
|
|
30
|
+
const message = errors[path];
|
|
31
|
+
return message === undefined ? Option.none() : Option.some(message);
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAS9C,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,OAAe,EAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAkD,EACxB,EAAE;IAC5B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAiC,CAAA;IAClE,OAAO,CAAC,KAAkB,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAgC,EAAc,EAAE;IAC7E,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAA;IACpE,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAkC,EAAc,EAAE;IAChF,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;IACxE,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAA;IACxD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAE,IAAY,EAAyB,EAAE;IACpF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACrE,CAAC,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@playfast/forms",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"sideEffects": [],
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"module": "./dist/esm/index.js",
|
|
8
|
+
"types": "./dist/dts/index.d.ts",
|
|
9
|
+
"main": "./dist/cjs/index.js",
|
|
10
|
+
"exports": {
|
|
11
|
+
"./package.json": "./package.json",
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/dts/index.d.ts",
|
|
14
|
+
"import": "./dist/esm/index.js",
|
|
15
|
+
"default": "./dist/cjs/index.js"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"files": [
|
|
19
|
+
"dist"
|
|
20
|
+
],
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"effect": "*",
|
|
26
|
+
"@playfast/reform": "^0.0.1"
|
|
27
|
+
}
|
|
28
|
+
}
|