@vielzeug/forge 2.0.2 → 2.2.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/README.md +2 -7
- package/dist/_field.cjs +2 -0
- package/dist/_field.cjs.map +1 -0
- package/dist/_field.d.ts +18 -0
- package/dist/_field.d.ts.map +1 -0
- package/dist/_field.js +64 -0
- package/dist/_field.js.map +1 -0
- package/dist/_notify.cjs +2 -0
- package/dist/_notify.cjs.map +1 -0
- package/dist/_notify.d.ts +8 -0
- package/dist/_notify.d.ts.map +1 -0
- package/dist/_notify.js +39 -0
- package/dist/_notify.js.map +1 -0
- package/dist/core/path.cjs +1 -1
- package/dist/core/path.cjs.map +1 -1
- package/dist/core/path.d.ts +14 -9
- package/dist/core/path.d.ts.map +1 -1
- package/dist/core/path.js +84 -50
- package/dist/core/path.js.map +1 -1
- package/dist/forge.cjs +1 -1
- package/dist/forge.cjs.map +1 -1
- package/dist/forge.iife.js +1 -1
- package/dist/forge.iife.js.map +1 -1
- package/dist/forge.js +1 -1
- package/dist/forge.js.map +1 -1
- package/dist/form-data.cjs +2 -0
- package/dist/form-data.cjs.map +1 -0
- package/dist/form-data.d.ts.map +1 -0
- package/dist/form-data.js +32 -0
- package/dist/form-data.js.map +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.cjs.map +1 -1
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +106 -162
- package/dist/form.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/spell.cjs +1 -1
- package/dist/spell.cjs.map +1 -1
- package/dist/spell.d.ts +1 -1
- package/dist/spell.d.ts.map +1 -1
- package/dist/spell.js +17 -26
- package/dist/spell.js.map +1 -1
- package/dist/types.d.ts +14 -12
- package/dist/types.d.ts.map +1 -1
- package/package.json +56 -53
- package/dist/_utils.cjs +0 -1
- package/dist/_utils.d.ts +0 -3
- package/dist/_utils.d.ts.map +0 -1
- package/dist/_utils.js +0 -2
- package/dist/adapters/form-data.cjs +0 -2
- package/dist/adapters/form-data.cjs.map +0 -1
- package/dist/adapters/form-data.d.ts.map +0 -1
- package/dist/adapters/form-data.js +0 -14
- package/dist/adapters/form-data.js.map +0 -1
- package/dist/devtools.cjs +0 -2
- package/dist/devtools.cjs.map +0 -1
- package/dist/devtools.d.ts +0 -7
- package/dist/devtools.d.ts.map +0 -1
- package/dist/devtools.js +0 -11
- package/dist/devtools.js.map +0 -1
- /package/dist/{adapters/form-data.d.ts → form-data.d.ts} +0 -0
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEjD,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,GACjE,CAAC,GACD,CAAC,SAAS,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,GAC/B,SAAS,YAAY,CAAC,IAAI,CAAC,EAAE,GAC7B,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC/C,CAAC,CAAC;AAEV,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vielzeug/forge",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Immutable typed form state with focused fields and explicit full-form validation",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/helmuthdu/vielzeug",
|
|
8
|
+
"directory": "packages/forge"
|
|
9
|
+
},
|
|
5
10
|
"type": "module",
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=22"
|
|
13
|
+
},
|
|
6
14
|
"files": [
|
|
7
15
|
"dist"
|
|
8
16
|
],
|
|
@@ -11,62 +19,65 @@
|
|
|
11
19
|
"types": "dist/index.d.ts",
|
|
12
20
|
"exports": {
|
|
13
21
|
".": {
|
|
14
|
-
"types": "./dist/index.d.ts",
|
|
15
22
|
"import": "./dist/index.js",
|
|
16
|
-
"require": "./dist/index.cjs"
|
|
17
|
-
|
|
18
|
-
"./devtools": {
|
|
19
|
-
"types": "./dist/devtools.d.ts",
|
|
20
|
-
"import": "./dist/devtools.js",
|
|
21
|
-
"require": "./dist/devtools.cjs"
|
|
23
|
+
"require": "./dist/index.cjs",
|
|
24
|
+
"types": "./dist/index.d.ts"
|
|
22
25
|
},
|
|
23
26
|
"./dom": {
|
|
24
|
-
"types": "./dist/dom.d.ts",
|
|
25
27
|
"import": "./dist/dom.js",
|
|
26
|
-
"require": "./dist/dom.cjs"
|
|
28
|
+
"require": "./dist/dom.cjs",
|
|
29
|
+
"types": "./dist/dom.d.ts"
|
|
30
|
+
},
|
|
31
|
+
"./form-data": {
|
|
32
|
+
"import": "./dist/form-data.js",
|
|
33
|
+
"require": "./dist/form-data.cjs",
|
|
34
|
+
"types": "./dist/form-data.d.ts"
|
|
27
35
|
},
|
|
28
36
|
"./spell": {
|
|
29
|
-
"types": "./dist/spell.d.ts",
|
|
30
37
|
"import": "./dist/spell.js",
|
|
31
|
-
"require": "./dist/spell.cjs"
|
|
38
|
+
"require": "./dist/spell.cjs",
|
|
39
|
+
"types": "./dist/spell.d.ts"
|
|
32
40
|
},
|
|
33
41
|
"./vault": {
|
|
34
|
-
"types": "./dist/vault.d.ts",
|
|
35
42
|
"import": "./dist/vault.js",
|
|
36
|
-
"require": "./dist/vault.cjs"
|
|
43
|
+
"require": "./dist/vault.cjs",
|
|
44
|
+
"types": "./dist/vault.d.ts"
|
|
37
45
|
}
|
|
38
46
|
},
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
"typesVersions": {
|
|
48
|
+
"*": {
|
|
49
|
+
"dom": [
|
|
50
|
+
"dist/dom.d.ts"
|
|
51
|
+
],
|
|
52
|
+
"form-data": [
|
|
53
|
+
"dist/form-data.d.ts"
|
|
54
|
+
],
|
|
55
|
+
"spell": [
|
|
56
|
+
"dist/spell.d.ts"
|
|
57
|
+
],
|
|
58
|
+
"vault": [
|
|
59
|
+
"dist/vault.d.ts"
|
|
60
|
+
]
|
|
61
|
+
}
|
|
48
62
|
},
|
|
49
63
|
"publishConfig": {
|
|
50
64
|
"access": "public",
|
|
51
65
|
"registry": "https://registry.npmjs.org/"
|
|
52
66
|
},
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"@vielzeug/vault": "2.1.0",
|
|
63
|
-
"typescript": "^6.0.3",
|
|
64
|
-
"vite": "^8.2.0",
|
|
65
|
-
"vitest": "^4.1.10"
|
|
67
|
+
"scripts": {
|
|
68
|
+
"build": "vite build && pnpm run build:bundle && pnpm run build:types",
|
|
69
|
+
"build:bundle": "vite build --config vite.bundle.config.ts",
|
|
70
|
+
"build:types": "tsc -p tsconfig.declarations.json",
|
|
71
|
+
"fix": "biome check --write src",
|
|
72
|
+
"lint": "biome ci src",
|
|
73
|
+
"prepublishOnly": "pnpm run build",
|
|
74
|
+
"preview": "vite preview",
|
|
75
|
+
"test": "vitest"
|
|
66
76
|
},
|
|
77
|
+
"dependencies": {},
|
|
67
78
|
"peerDependencies": {
|
|
68
|
-
"@vielzeug/spell": "2.
|
|
69
|
-
"@vielzeug/vault": "2.
|
|
79
|
+
"@vielzeug/spell": "2.1.1",
|
|
80
|
+
"@vielzeug/vault": "2.3.0"
|
|
70
81
|
},
|
|
71
82
|
"peerDependenciesMeta": {
|
|
72
83
|
"@vielzeug/spell": {
|
|
@@ -76,20 +87,12 @@
|
|
|
76
87
|
"optional": true
|
|
77
88
|
}
|
|
78
89
|
},
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
],
|
|
87
|
-
"spell": [
|
|
88
|
-
"dist/spell.d.ts"
|
|
89
|
-
],
|
|
90
|
-
"vault": [
|
|
91
|
-
"dist/vault.d.ts"
|
|
92
|
-
]
|
|
93
|
-
}
|
|
90
|
+
"devDependencies": {
|
|
91
|
+
"@types/node": "^26.2.0",
|
|
92
|
+
"@vielzeug/spell": "2.1.1",
|
|
93
|
+
"@vielzeug/vault": "2.3.0",
|
|
94
|
+
"typescript": "^6.0.3",
|
|
95
|
+
"vite": "^8.2.1",
|
|
96
|
+
"vitest": "^4.1.10"
|
|
94
97
|
}
|
|
95
98
|
}
|
package/dist/_utils.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
require("@vielzeug/arsenal/object");
|
package/dist/_utils.d.ts
DELETED
package/dist/_utils.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_utils.d.ts","sourceRoot":"","sources":["../src/_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAEpE"}
|
package/dist/_utils.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
require("../_utils.cjs");let e=require("@vielzeug/arsenal/object");function t(t){let n=new FormData,r=e=>typeof Blob<`u`&&e instanceof Blob,i=e=>typeof File<`u`&&e instanceof File,a=e=>typeof FileList<`u`&&e instanceof FileList;for(let[o,s]of Object.entries((0,e.flattenPaths)(t)))if(s!=null)if(i(s)||r(s))n.append(o,s);else if(a(s))for(let e=0;e<s.length;e++)n.append(o,s[e]);else if(Array.isArray(s))for(let e of s)n.append(o,i(e)||r(e)?e:String(e));else n.append(o,String(s));return n}exports.toFormData=t;
|
|
2
|
-
//# sourceMappingURL=form-data.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-data.cjs","names":[],"sources":["../../src/adapters/form-data.ts"],"sourcesContent":["import { flattenValues } from '../_utils';\n\n/**\n * Converts a form values object into a `FormData` instance.\n * Nested objects are flattened to dot-notation keys (e.g. `user.name`).\n * `File`, `Blob`, and `FileList` values are appended as-is; all others are coerced to strings.\n * `null` and `undefined` values are omitted.\n */\nexport function toFormData(values: Record<string, unknown>): FormData {\n const fd = new FormData();\n\n const isBlob = (value: unknown): value is Blob => typeof Blob !== 'undefined' && value instanceof Blob;\n const isFile = (value: unknown): value is File => typeof File !== 'undefined' && value instanceof File;\n const isFileList = (value: unknown): value is FileList =>\n typeof FileList !== 'undefined' && value instanceof FileList;\n\n for (const [name, value] of Object.entries(flattenValues(values))) {\n if (value === null || value === undefined) continue;\n\n if (isFile(value) || isBlob(value)) {\n fd.append(name, value);\n } else if (isFileList(value)) {\n for (let i = 0; i < value.length; i++) fd.append(name, value[i]);\n } else if (Array.isArray(value)) {\n for (const item of value) fd.append(name, isFile(item) || isBlob(item) ? item : String(item));\n } else {\n fd.append(name, String(value));\n }\n }\n\n return fd;\n}\n"],"mappings":"mEAQA,SAAgB,EAAW,EAA2C,CACpE,IAAM,EAAK,IAAI,SAET,EAAU,GAAkC,OAAO,KAAS,KAAe,aAAiB,KAC5F,EAAU,GAAkC,OAAO,KAAS,KAAe,aAAiB,KAC5F,EAAc,GAClB,OAAO,SAAa,KAAe,aAAiB,SAEtD,IAAK,GAAM,CAAC,EAAM,KAAU,OAAO,SAAA,EAAQ,EAAA,aAAA,CAAc,CAAM,CAAC,EAC1D,MAAU,KAEd,GAAI,EAAO,CAAK,GAAK,EAAO,CAAK,EAC/B,EAAG,OAAO,EAAM,CAAK,OAChB,GAAI,EAAW,CAAK,EACzB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,EAAG,OAAO,EAAM,EAAM,EAAE,OAC1D,GAAI,MAAM,QAAQ,CAAK,EAC5B,IAAK,IAAM,KAAQ,EAAO,EAAG,OAAO,EAAM,EAAO,CAAI,GAAK,EAAO,CAAI,EAAI,EAAO,OAAO,CAAI,CAAC,OAE5F,EAAG,OAAO,EAAM,OAAO,CAAK,CAAC,EAIjC,OAAO,CACT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-data.d.ts","sourceRoot":"","sources":["../../src/adapters/form-data.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ,CAuBpE"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { flattenValues as e } from "../_utils.js";
|
|
2
|
-
//#region src/adapters/form-data.ts
|
|
3
|
-
function t(t) {
|
|
4
|
-
let n = new FormData(), r = (e) => typeof Blob < "u" && e instanceof Blob, i = (e) => typeof File < "u" && e instanceof File, a = (e) => typeof FileList < "u" && e instanceof FileList;
|
|
5
|
-
for (let [o, s] of Object.entries(e(t))) if (s != null) if (i(s) || r(s)) n.append(o, s);
|
|
6
|
-
else if (a(s)) for (let e = 0; e < s.length; e++) n.append(o, s[e]);
|
|
7
|
-
else if (Array.isArray(s)) for (let e of s) n.append(o, i(e) || r(e) ? e : String(e));
|
|
8
|
-
else n.append(o, String(s));
|
|
9
|
-
return n;
|
|
10
|
-
}
|
|
11
|
-
//#endregion
|
|
12
|
-
export { t as toFormData };
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=form-data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-data.js","names":[],"sources":["../../src/adapters/form-data.ts"],"sourcesContent":["import { flattenValues } from '../_utils';\n\n/**\n * Converts a form values object into a `FormData` instance.\n * Nested objects are flattened to dot-notation keys (e.g. `user.name`).\n * `File`, `Blob`, and `FileList` values are appended as-is; all others are coerced to strings.\n * `null` and `undefined` values are omitted.\n */\nexport function toFormData(values: Record<string, unknown>): FormData {\n const fd = new FormData();\n\n const isBlob = (value: unknown): value is Blob => typeof Blob !== 'undefined' && value instanceof Blob;\n const isFile = (value: unknown): value is File => typeof File !== 'undefined' && value instanceof File;\n const isFileList = (value: unknown): value is FileList =>\n typeof FileList !== 'undefined' && value instanceof FileList;\n\n for (const [name, value] of Object.entries(flattenValues(values))) {\n if (value === null || value === undefined) continue;\n\n if (isFile(value) || isBlob(value)) {\n fd.append(name, value);\n } else if (isFileList(value)) {\n for (let i = 0; i < value.length; i++) fd.append(name, value[i]);\n } else if (Array.isArray(value)) {\n for (const item of value) fd.append(name, isFile(item) || isBlob(item) ? item : String(item));\n } else {\n fd.append(name, String(value));\n }\n }\n\n return fd;\n}\n"],"mappings":";;AAQA,SAAgB,EAAW,GAA2C;CACpE,IAAM,IAAK,IAAI,SAAS,GAElB,KAAU,MAAkC,OAAO,OAAS,OAAe,aAAiB,MAC5F,KAAU,MAAkC,OAAO,OAAS,OAAe,aAAiB,MAC5F,KAAc,MAClB,OAAO,WAAa,OAAe,aAAiB;CAEtD,KAAK,IAAM,CAAC,GAAM,MAAU,OAAO,QAAQ,EAAc,CAAM,CAAC,GAC1D,SAAU,MAEd,IAAI,EAAO,CAAK,KAAK,EAAO,CAAK,GAC/B,EAAG,OAAO,GAAM,CAAK;MAChB,IAAI,EAAW,CAAK,GACzB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAM,QAAQ,KAAK,EAAG,OAAO,GAAM,EAAM,EAAE;MAC1D,IAAI,MAAM,QAAQ,CAAK,GAC5B,KAAK,IAAM,KAAQ,GAAO,EAAG,OAAO,GAAM,EAAO,CAAI,KAAK,EAAO,CAAI,IAAI,IAAO,OAAO,CAAI,CAAC;MAE5F,EAAG,OAAO,GAAM,OAAO,CAAK,CAAC;CAIjC,OAAO;AACT"}
|
package/dist/devtools.cjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e,t={}){let n=`[forge:devtools:${t.label??`form`}]`,r;return e.subscribe(e=>{r&&(r.submitting!==e.submitting&&console.debug(`${n} submitting:`,e.submitting),r.validating!==e.validating&&console.debug(`${n} validating:`,e.validating),r.valid!==e.valid&&console.debug(`${n} valid:`,e.valid)),r=e},{immediate:!0})}exports.debugForm=e;
|
|
2
|
-
//# sourceMappingURL=devtools.cjs.map
|
package/dist/devtools.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.cjs","names":[],"sources":["../src/devtools.ts"],"sourcesContent":["import type { Form, FormState, Unsubscribe } from './types';\n\nexport type ForgeDevtoolsOptions = Readonly<{\n label?: string;\n}>;\n\n/** Logs public form-state transitions without coupling diagnostics to form internals. */\nexport function debugForm<TValues extends Record<string, unknown>>(\n form: Form<TValues>,\n options: ForgeDevtoolsOptions = {},\n): Unsubscribe {\n const prefix = `[forge:devtools:${options.label ?? 'form'}]`;\n let previous: FormState<TValues> | undefined;\n\n return form.subscribe(\n (next) => {\n if (previous) {\n if (previous.submitting !== next.submitting) console.debug(`${prefix} submitting:`, next.submitting);\n\n if (previous.validating !== next.validating) console.debug(`${prefix} validating:`, next.validating);\n\n if (previous.valid !== next.valid) console.debug(`${prefix} valid:`, next.valid);\n }\n\n previous = next;\n },\n { immediate: true },\n );\n}\n"],"mappings":"mEAOA,SAAgB,EACd,EACA,EAAgC,CAAC,EACpB,CACb,IAAM,EAAS,mBAAmB,EAAQ,OAAS,OAAO,GACtD,EAEJ,OAAO,EAAK,UACT,GAAS,CACJ,IACE,EAAS,aAAe,EAAK,YAAY,QAAQ,MAAM,GAAG,EAAO,cAAe,EAAK,UAAU,EAE/F,EAAS,aAAe,EAAK,YAAY,QAAQ,MAAM,GAAG,EAAO,cAAe,EAAK,UAAU,EAE/F,EAAS,QAAU,EAAK,OAAO,QAAQ,MAAM,GAAG,EAAO,SAAU,EAAK,KAAK,GAGjF,EAAW,CACb,EACA,CAAE,UAAW,EAAK,CACpB,CACF"}
|
package/dist/devtools.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { Form, Unsubscribe } from './types';
|
|
2
|
-
export type ForgeDevtoolsOptions = Readonly<{
|
|
3
|
-
label?: string;
|
|
4
|
-
}>;
|
|
5
|
-
/** Logs public form-state transitions without coupling diagnostics to form internals. */
|
|
6
|
-
export declare function debugForm<TValues extends Record<string, unknown>>(form: Form<TValues>, options?: ForgeDevtoolsOptions): Unsubscribe;
|
|
7
|
-
//# sourceMappingURL=devtools.d.ts.map
|
package/dist/devtools.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAa,WAAW,EAAE,MAAM,SAAS,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,yFAAyF;AACzF,wBAAgB,SAAS,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EACnB,OAAO,GAAE,oBAAyB,GACjC,WAAW,CAkBb"}
|
package/dist/devtools.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
//#region src/devtools.ts
|
|
2
|
-
function e(e, t = {}) {
|
|
3
|
-
let n = `[forge:devtools:${t.label ?? "form"}]`, r;
|
|
4
|
-
return e.subscribe((e) => {
|
|
5
|
-
r && (r.submitting !== e.submitting && console.debug(`${n} submitting:`, e.submitting), r.validating !== e.validating && console.debug(`${n} validating:`, e.validating), r.valid !== e.valid && console.debug(`${n} valid:`, e.valid)), r = e;
|
|
6
|
-
}, { immediate: !0 });
|
|
7
|
-
}
|
|
8
|
-
//#endregion
|
|
9
|
-
export { e as debugForm };
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=devtools.js.map
|
package/dist/devtools.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.js","names":[],"sources":["../src/devtools.ts"],"sourcesContent":["import type { Form, FormState, Unsubscribe } from './types';\n\nexport type ForgeDevtoolsOptions = Readonly<{\n label?: string;\n}>;\n\n/** Logs public form-state transitions without coupling diagnostics to form internals. */\nexport function debugForm<TValues extends Record<string, unknown>>(\n form: Form<TValues>,\n options: ForgeDevtoolsOptions = {},\n): Unsubscribe {\n const prefix = `[forge:devtools:${options.label ?? 'form'}]`;\n let previous: FormState<TValues> | undefined;\n\n return form.subscribe(\n (next) => {\n if (previous) {\n if (previous.submitting !== next.submitting) console.debug(`${prefix} submitting:`, next.submitting);\n\n if (previous.validating !== next.validating) console.debug(`${prefix} validating:`, next.validating);\n\n if (previous.valid !== next.valid) console.debug(`${prefix} valid:`, next.valid);\n }\n\n previous = next;\n },\n { immediate: true },\n );\n}\n"],"mappings":";AAOA,SAAgB,EACd,GACA,IAAgC,CAAC,GACpB;CACb,IAAM,IAAS,mBAAmB,EAAQ,SAAS,OAAO,IACtD;CAEJ,OAAO,EAAK,WACT,MAAS;EASR,AARI,MACE,EAAS,eAAe,EAAK,cAAY,QAAQ,MAAM,GAAG,EAAO,eAAe,EAAK,UAAU,GAE/F,EAAS,eAAe,EAAK,cAAY,QAAQ,MAAM,GAAG,EAAO,eAAe,EAAK,UAAU,GAE/F,EAAS,UAAU,EAAK,SAAO,QAAQ,MAAM,GAAG,EAAO,UAAU,EAAK,KAAK,IAGjF,IAAW;CACb,GACA,EAAE,WAAW,GAAK,CACpB;AACF"}
|
|
File without changes
|