@ehfuse/forma 1.3.5 → 1.4.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.
Files changed (65) hide show
  1. package/LICENSE +0 -21
  2. package/README.md +90 -35
  3. package/dist/core/FieldStore.d.ts +4 -0
  4. package/dist/core/FieldStore.d.ts.map +1 -1
  5. package/dist/core/FieldStore.js +95 -2
  6. package/dist/core/FieldStore.js.map +1 -1
  7. package/dist/esm/core/FieldStore.d.ts +4 -0
  8. package/dist/esm/core/FieldStore.d.ts.map +1 -1
  9. package/dist/esm/core/FieldStore.js +95 -2
  10. package/dist/esm/core/FieldStore.js.map +1 -1
  11. package/dist/esm/hooks/useForm.d.ts +4 -19
  12. package/dist/esm/hooks/useForm.d.ts.map +1 -1
  13. package/dist/esm/hooks/useForm.js +7 -19
  14. package/dist/esm/hooks/useForm.js.map +1 -1
  15. package/dist/esm/hooks/useFormaState.js +3 -2
  16. package/dist/esm/hooks/useFormaState.js.map +1 -1
  17. package/dist/esm/hooks/useGlobalFormaState.d.ts +105 -0
  18. package/dist/esm/hooks/useGlobalFormaState.d.ts.map +1 -0
  19. package/dist/esm/hooks/useGlobalFormaState.js +120 -0
  20. package/dist/esm/hooks/useGlobalFormaState.js.map +1 -0
  21. package/dist/esm/index.d.ts +3 -1
  22. package/dist/esm/index.d.ts.map +1 -1
  23. package/dist/esm/index.js +2 -0
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/types/form.d.ts +15 -0
  26. package/dist/esm/types/form.d.ts.map +1 -1
  27. package/dist/esm/types/globalForm.d.ts +21 -0
  28. package/dist/esm/types/globalForm.d.ts.map +1 -1
  29. package/dist/esm/types/globalForm.js.map +1 -1
  30. package/dist/esm/utils/environment.d.ts +41 -0
  31. package/dist/esm/utils/environment.d.ts.map +1 -0
  32. package/dist/esm/utils/environment.js +78 -0
  33. package/dist/esm/utils/environment.js.map +1 -0
  34. package/dist/esm/utils/index.d.ts +1 -0
  35. package/dist/esm/utils/index.d.ts.map +1 -1
  36. package/dist/esm/utils/index.js +1 -0
  37. package/dist/esm/utils/index.js.map +1 -1
  38. package/dist/hooks/useForm.d.ts +4 -19
  39. package/dist/hooks/useForm.d.ts.map +1 -1
  40. package/dist/hooks/useForm.js +7 -19
  41. package/dist/hooks/useForm.js.map +1 -1
  42. package/dist/hooks/useFormaState.js +3 -2
  43. package/dist/hooks/useFormaState.js.map +1 -1
  44. package/dist/hooks/useGlobalFormaState.d.ts +105 -0
  45. package/dist/hooks/useGlobalFormaState.d.ts.map +1 -0
  46. package/dist/hooks/useGlobalFormaState.js +123 -0
  47. package/dist/hooks/useGlobalFormaState.js.map +1 -0
  48. package/dist/index.d.ts +3 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +8 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/types/form.d.ts +15 -0
  53. package/dist/types/form.d.ts.map +1 -1
  54. package/dist/types/globalForm.d.ts +21 -0
  55. package/dist/types/globalForm.d.ts.map +1 -1
  56. package/dist/types/globalForm.js.map +1 -1
  57. package/dist/utils/environment.d.ts +41 -0
  58. package/dist/utils/environment.d.ts.map +1 -0
  59. package/dist/utils/environment.js +84 -0
  60. package/dist/utils/environment.js.map +1 -0
  61. package/dist/utils/index.d.ts +1 -0
  62. package/dist/utils/index.d.ts.map +1 -1
  63. package/dist/utils/index.js +6 -1
  64. package/dist/utils/index.js.map +1 -1
  65. package/package.json +4 -2
package/LICENSE CHANGED
@@ -19,24 +19,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  SOFTWARE.
22
-
23
- ---
24
-
25
- MIT 라이선스
26
-
27
- Copyright (c) 2025 김영진 (ehfuse@gmail.com)
28
-
29
- 이 소프트웨어와 관련 문서 파일(이하 "소프트웨어")의 사본을 얻는 모든 사람에게
30
- 무료로 허가를 부여합니다. 이 허가에는 소프트웨어를 제한 없이 다루는 권리가
31
- 포함되며, 여기에는 사용, 복사, 수정, 병합, 게시, 배포, 서브라이선스 및/또는
32
- 소프트웨어 사본의 판매 권리와 소프트웨어가 제공된 사람들에게 그렇게 할 수 있는
33
- 권한을 부여하는 권리가 포함됩니다. 단, 다음 조건을 따라야 합니다:
34
-
35
- 위의 저작권 고지와 이 허가 고지는 소프트웨어의 모든 사본 또는 상당 부분에
36
- 포함되어야 합니다.
37
-
38
- 소프트웨어는 "있는 그대로" 제공되며, 상품성, 특정 목적에의 적합성 및
39
- 비침해에 대한 보증을 포함하되 이에 국한되지 않는 명시적 또는 묵시적 보증 없이
40
- 제공됩니다. 어떠한 경우에도 작성자 또는 저작권 보유자는 계약, 불법 행위 또는
41
- 기타 행위에서 발생하거나, 소프트웨어나 소프트웨어의 사용 또는 기타 거래와
42
- 관련하여 발생하는 청구, 손해 또는 기타 책임에 대해 책임지지 않습니다.
package/README.md CHANGED
@@ -1,34 +1,42 @@
1
- <!-- slide -->
2
-
3
1
  # Forma
4
2
 
5
- **Advanced React form state management library**
6
- 고급 React 폼 상태 관리 라이브러리
3
+ **High-performance and developer-friendly React form state management library**
4
+ 고성능이며 개발자 친화적인 React 폼 상태 관리 라이브러리
5
+
6
+ [![npm version](https://img.shields.io/npm/v/@ehfuse/forma.svg)](https://www.npmjs.com/package/@ehfuse/forma)
7
+ [![npm downloads](https://img.shields.io/npm/dm/@ehfuse/forma.svg)](https://www.npmjs.com/package/@ehfuse/forma)
8
+ [![GitHub license](https://img.shields.io/github/license/ehfuse/forma.svg)](https://github.com/ehfuse/forma/blob/main/LICENSE)
9
+
10
+ Forma는 React 애플리케이션에서 폼과 상태를 **간편하면서도 강력하게** 관리할 수 있는 고성능 라이브러리입니다. **Zero-Config로 바로 시작**할 수 있으며, 개별 필드 구독을 통한 **선택적 리렌더링**으로 최적의 성능을 제공합니다. 복잡한 설정 없이도 **글로벌 폼 상태 공유**, **Dot Notation 중첩 객체 접근**, **MUI 완전 호환** 등 프로덕션 레벨의 고급 기능들을 손쉽게 사용할 수 있습니다.
11
+
12
+ _Forma is a high-performance library that makes form and state management in React applications **simple yet powerful**. **Start immediately with Zero-Config**, and achieve optimal performance through **selective re-rendering** via individual field subscriptions. Easily access production-level advanced features like **global form state sharing**, **Dot Notation nested object access**, and **full MUI compatibility** without complex setup._
7
13
 
8
14
  ## 📚 Documentation | 문서
9
15
 
10
- ### 한국어 | Korean
16
+ ### 한국어 (Korean)
11
17
 
12
- - 🚀 **[시작 가이드](./docs/getting-started-ko.md)** - 단계별 튜토리얼과 예제
13
- - 📖 **[완전한 문서](./docs/README-ko.md)** - API 레퍼런스, 사용 사례, 고급 기능
14
- - 📋 **[API 레퍼런스](./docs/API-ko.md)** - 모든 메서드, 타입, 마이그레이션 가이드
15
- - ⚡ **[성능 최적화 가이드](./docs/best-practices-ko.md)** - 최고 성능을 위한 모범 사례
16
- - 🏠 **[GitHub](https://github.com/ehfuse/forma)**
18
+ - 🚀 **[시작 가이드](https://github.com/ehfuse/forma/blob/main/docs/getting-started-ko.md)** - 단계별 튜토리얼과 예제
19
+ - 📖 **[완전한 문서](https://github.com/ehfuse/forma/blob/main/docs/README-ko.md)** - API 레퍼런스, 사용 사례, 고급 기능
20
+ - 📋 **[API 레퍼런스](https://github.com/ehfuse/forma/blob/main/docs/API-ko.md)** - 모든 메서드, 타입, 마이그레이션 가이드
21
+ - ⚡ **[성능 최적화 가이드](https://github.com/ehfuse/forma/blob/main/docs/best-practices-ko.md)** - 최고 성능을 위한 모범 사례
17
22
 
18
23
  ### English
19
24
 
20
- - 🚀 **[Getting Started Guide](./docs/getting-started-en.md)** - Step-by-step tutorial and examples
21
- - 📖 **[Complete Documentation](./docs/README-en.md)** - API reference, use cases, advanced features
22
- - 📋 **[API Reference](./docs/API-en.md)** - All methods, types, migration guide
23
- - ⚡ **[Performance Optimization Guide](./docs/best-practices-en.md)** - Best practices for optimal performance
24
- - 🏠 **[GitHub](https://github.com/ehfuse/forma)**
25
+ - 🚀 **[Getting Started Guide](https://github.com/ehfuse/forma/blob/main/docs/getting-started-en.md)** - Step-by-step tutorial and examples
26
+ - 📖 **[Complete Documentation](https://github.com/ehfuse/forma/blob/main/docs/README-en.md)** - API reference, use cases, advanced features
27
+ - 📋 **[API Reference](https://github.com/ehfuse/forma/blob/main/docs/API-en.md)** - All methods, types, migration guide
28
+ - ⚡ **[Performance Optimization Guide](https://github.com/ehfuse/forma/blob/main/docs/best-practices-en.md)** - Best practices for optimal performance
25
29
 
26
- Forma는 React 애플리케이션에서 폼 상태를 효율적으로 관리하기 위한 고성능 라이브러리입니다. 개별 필드 구독을 통한 선택적 리렌더링과 글로벌 폼 상태 공유 기능을 제공합니다.
30
+ ### Links | 링크
27
31
 
28
- _Forma is a high-performance library for efficiently managing form state in React applications. It provides selective re-rendering through individual field subscriptions and global form state sharing capabilities._
32
+ - 🏠 **[GitHub Repository](https://github.com/ehfuse/forma)**
33
+ - 📦 **[NPM Package](https://www.npmjs.com/package/@ehfuse/forma)**
34
+
35
+ ---
29
36
 
30
37
  ## 🚀 주요 특징 | Key Features
31
38
 
39
+ - 🎯 **완전한 Zero-Config** | **Complete Zero-Config**: 설정 없이 바로 사용 가능한 개발 경험
32
40
  - ✅ **개별 필드 구독** | **Individual Field Subscription**: 필드별 선택적 리렌더링으로 최적화된 성능
33
41
  - ✅ **범용 상태 관리** | **General State Management**: `useFormaState`로 폼 외 일반 상태도 효율적 관리
34
42
  - ✅ **Dot Notation 최적화** | **Dot Notation Optimization**: `user.profile.name` 형태의 중첩 객체 접근
@@ -38,6 +46,8 @@ _Forma is a high-performance library for efficiently managing form state in Reac
38
46
  - ✅ **TypeScript 완전 지원** | **Full TypeScript Support**: 강력한 타입 안전성
39
47
  - ✅ **React 19 최적화** | **React 19 Optimized**: 최신 React 기능 활용
40
48
 
49
+ ---
50
+
41
51
  ## 📦 설치 | Installation
42
52
 
43
53
  ```bash
@@ -48,8 +58,59 @@ npm install @ehfuse/forma
48
58
  yarn add @ehfuse/forma
49
59
  ```
50
60
 
61
+ ---
62
+
51
63
  ## 🎯 빠른 시작 | Quick Start
52
64
 
65
+ ### 💫 Zero-Config 사용법 | Zero-Config Usage
66
+
67
+ **설정 없이 바로 시작하세요! | Start immediately without any configuration!**
68
+
69
+ ```tsx
70
+ import { useForm, useFormaState } from "@ehfuse/forma";
71
+
72
+ function ZeroConfigForm() {
73
+ // Zero-Config: 매개변수 없이 바로 사용
74
+ const form = useForm<{ name: string; email: string }>();
75
+
76
+ return (
77
+ <div>
78
+ <input
79
+ placeholder="Name"
80
+ value={form.useFormValue("name")}
81
+ onChange={(e) => form.setFormValue("name", e.target.value)}
82
+ />
83
+ <input
84
+ placeholder="Email"
85
+ value={form.useFormValue("email")}
86
+ onChange={(e) => form.setFormValue("email", e.target.value)}
87
+ />
88
+ <button onClick={() => console.log(form.getFormValues())}>
89
+ Log Values
90
+ </button>
91
+ </div>
92
+ );
93
+ }
94
+
95
+ function ZeroConfigState() {
96
+ // Zero-Config: 일반 상태도 설정 없이 사용
97
+ const state = useFormaState<{ count: number }>();
98
+
99
+ return (
100
+ <div>
101
+ <p>Count: {state.useValue("count") || 0}</p>
102
+ <button
103
+ onClick={() =>
104
+ state.setValue("count", (state.getValue("count") || 0) + 1)
105
+ }
106
+ >
107
+ Increment
108
+ </button>
109
+ </div>
110
+ );
111
+ }
112
+ ```
113
+
53
114
  ### 폼 상태 관리 | Form State Management
54
115
 
55
116
  ```tsx
@@ -126,31 +187,19 @@ function UserDashboard() {
126
187
  }
127
188
  ```
128
189
 
129
- ## � 문서 | Documentation
130
-
131
- ### 한국어 | Korean
132
-
133
- - 📖 **[완전한 문서](./docs/README-ko.md)** - API 레퍼런스, 사용 사례, 고급 기능
134
- - 🌐 **[useGlobalForm 사용법](./docs/useGlobalForm-guide-ko.md)** - 글로벌 폼 상태 관리 가이드
135
- - ⚡ **[성능 최적화 가이드](./docs/best-practices-ko.md)** - 최고 성능을 위한 모범 사례
136
-
137
- ### English
138
-
139
- - 📖 **[Complete Documentation](./docs/README-en.md)** - API reference, use cases, advanced features
140
- - 🌐 **[useGlobalForm Usage Guide](./docs/useGlobalForm-guide-en.md)** - Global form state management guide
141
- - ⚡ **[Performance Optimization Guide](./docs/best-practices-en.md)** - Best practices for optimal performance
190
+ ---
142
191
 
143
192
  ## 🎯 When to choose Forma?
144
193
 
145
- 언제 Forma를 선택해야 할까요?
194
+ **언제 Forma를 선택해야 할까요?**
146
195
 
147
196
  Forma is **specialized for form state management** and shines in specific scenarios. Here's when Forma is the perfect choice for your project.
148
197
 
149
- Forma는 **폼 상태 관리에 특화**된 라이브러리로 특정 시나리오에서 빛을 발합니다. 다음은 Forma가 프로젝트에 완벽한 선택이 되는 경우입니다.
198
+ _Forma는 **폼 상태 관리에 특화**된 라이브러리로 특정 시나리오에서 빛을 발합니다. 다음은 Forma가 프로젝트에 완벽한 선택이 되는 경우입니다._
150
199
 
151
200
  ### ✨ Perfect for these use cases:
152
201
 
153
- 이런 경우에 완벽합니다:
202
+ **이런 경우에 완벽합니다:**
154
203
 
155
204
  **🎨 MUI (Material-UI) Projects**
156
205
  **MUI (Material-UI) 프로젝트**
@@ -202,6 +251,8 @@ Forma는 **폼 상태 관리에 특화**된 라이브러리로 특정 시나리
202
251
  - Dynamic validation rules
203
252
  동적 검증 규칙
204
253
 
254
+ ---
255
+
205
256
  ## 🎯 핵심 성능 원칙 | Core Performance Principles
206
257
 
207
258
  ```tsx
@@ -212,13 +263,17 @@ const userEmail = form.useFormValue("user.email");
212
263
  // user.name 변경 시 → userName 필드만 리렌더링 | Only userName field re-renders
213
264
  ```
214
265
 
215
- **[성능 최적화 상세 가이드 보기 | View Detailed Performance Guide](./docs/best-practices-ko.md)**
266
+ **[성능 최적화 상세 가이드 보기 | View Detailed Performance Guide](https://github.com/ehfuse/forma/blob/main/docs/best-practices-ko.md)**
267
+
268
+ ---
216
269
 
217
270
  ## 🌐 링크 | Links
218
271
 
219
272
  - **📦 NPM**: [https://www.npmjs.com/package/@ehfuse/forma](https://www.npmjs.com/package/@ehfuse/forma)
220
273
  - **🐙 GitHub**: [https://github.com/ehfuse/forma](https://github.com/ehfuse/forma)
221
- - **📄 라이선스 | License**: [MIT](./LICENSE)
274
+ - **📄 라이선스 | License**: [MIT](https://github.com/ehfuse/forma/blob/main/LICENSE)
275
+
276
+ ---
222
277
 
223
278
  ## 📞 연락처 | Contact
224
279
 
@@ -88,6 +88,10 @@ export declare class FieldStore<T extends Record<string, any>> {
88
88
  * @returns 초기값에서 변경되었는지 여부 / Whether changed from initial values
89
89
  */
90
90
  isModified(): boolean;
91
+ /**
92
+ * 객체에 비어있지 않은 값이 있는지 확인 / Check if object has non-empty values
93
+ */
94
+ private hasNonEmptyValues;
91
95
  /**
92
96
  * 특정 필드가 존재하는지 확인 / Check if a specific field exists
93
97
  * @param path 필드 경로 (dot notation 지원) / Field path (supports dot notation)
@@ -1 +1 @@
1
- {"version":3,"file":"FieldStore.d.ts","sourceRoot":"","sources":["../../core/FieldStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH;;;;;;GAMG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACjD,OAAO,CAAC,MAAM,CACA;IACd,OAAO,CAAC,oBAAoB,CAA2C;IACvE,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,eAAe,CAAyB;gBAEpC,aAAa,EAAE,CAAC;IAW5B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,GAAG;IAc1C;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI;IAuC3D;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI;IAOpC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG;IAoHhD;;;OAGG;IACH,SAAS,IAAI,CAAC;IAUd;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAM/B;;;OAGG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAyBpC;;;OAGG;IACH,UAAU,IAAI,OAAO;IAOrB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAU/B;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAyC/B;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAYzD;;OAEG;IACH,KAAK;IAIL;;OAEG;IACH,OAAO;CAKV"}
1
+ {"version":3,"file":"FieldStore.d.ts","sourceRoot":"","sources":["../../core/FieldStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH;;;;;;GAMG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACjD,OAAO,CAAC,MAAM,CACA;IACd,OAAO,CAAC,oBAAoB,CAA2C;IACvE,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,eAAe,CAAyB;gBAEpC,aAAa,EAAE,CAAC;IAW5B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,GAAG;IAc1C;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI;IA+C3D;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI;IAOpC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG;IAoHhD;;;OAGG;IACH,SAAS,IAAI,CAAC;IAUd;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAM/B;;;OAGG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAyBpC;;;OAGG;IACH,UAAU,IAAI,OAAO;IAkBrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuBzB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAU/B;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAyC/B;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAYzD;;OAEG;IACH,KAAK;IA6DL;;OAEG;IACH,OAAO;CAKV"}
@@ -85,6 +85,13 @@ class FieldStore {
85
85
  this.dotNotationListeners.set(fieldNameStr, listeners);
86
86
  }
87
87
  listeners.add(listener);
88
+ // dot notation 필드가 구독될 때 기본값 생성 / Create default value when dot notation field is subscribed
89
+ const currentValue = this.getValue(fieldNameStr);
90
+ if (currentValue === undefined) {
91
+ // 기본값으로 빈 문자열 또는 null 설정 (타입에 따라 결정)
92
+ // Set default value as empty string or null (determined by type)
93
+ this.setValue(fieldNameStr, null);
94
+ }
88
95
  return () => {
89
96
  const listeners = this.dotNotationListeners.get(fieldNameStr);
90
97
  if (listeners) {
@@ -100,7 +107,7 @@ class FieldStore {
100
107
  if (!field) {
101
108
  // 필드가 없으면 생성 / Create field if not exists
102
109
  field = {
103
- value: undefined,
110
+ value: null, // undefined 대신 null로 초기화
104
111
  listeners: new Set(),
105
112
  };
106
113
  this.fields.set(fieldName, field);
@@ -274,8 +281,43 @@ class FieldStore {
274
281
  */
275
282
  isModified() {
276
283
  const currentValues = this.getValues();
284
+ // Pure Zero-Config의 경우 초기값이 빈 객체일 수 있음
285
+ // In Pure Zero-Config, initial values might be an empty object
286
+ const isInitialEmpty = Object.keys(this.initialValues).length === 0;
287
+ if (isInitialEmpty) {
288
+ // 초기값이 빈 객체인 경우, 현재값에 의미있는 데이터가 있는지 확인
289
+ // If initial values are empty, check if current values have meaningful data
290
+ return this.hasNonEmptyValues(currentValues);
291
+ }
277
292
  return (JSON.stringify(currentValues) !== JSON.stringify(this.initialValues));
278
293
  }
294
+ /**
295
+ * 객체에 비어있지 않은 값이 있는지 확인 / Check if object has non-empty values
296
+ */
297
+ hasNonEmptyValues(obj) {
298
+ for (const key in obj) {
299
+ const value = obj[key];
300
+ if (value !== undefined &&
301
+ value !== null &&
302
+ value !== "" &&
303
+ value !== 0) {
304
+ if (typeof value === "object" && value !== null) {
305
+ if (Array.isArray(value)) {
306
+ if (value.length > 0)
307
+ return true;
308
+ }
309
+ else {
310
+ if (this.hasNonEmptyValues(value))
311
+ return true;
312
+ }
313
+ }
314
+ else {
315
+ return true;
316
+ }
317
+ }
318
+ }
319
+ return false;
320
+ }
279
321
  /**
280
322
  * 특정 필드가 존재하는지 확인 / Check if a specific field exists
281
323
  * @param path 필드 경로 (dot notation 지원) / Field path (supports dot notation)
@@ -350,7 +392,58 @@ class FieldStore {
350
392
  * 초기값으로 리셋 / Reset to initial values
351
393
  */
352
394
  reset() {
353
- this.setValues(this.initialValues);
395
+ // Pure Zero-Config 모드인지 확인 (초기값이 빈 객체)
396
+ const isPureZeroConfig = Object.keys(this.initialValues).length === 0;
397
+ if (isPureZeroConfig) {
398
+ // Pure Zero-Config 모드: 먼저 구독된 dot notation 필드들의 기본값 설정
399
+ this.dotNotationListeners.forEach((listeners, path) => {
400
+ if (listeners.size > 0) {
401
+ // 구독자가 있는 dot notation 필드는 빈 문자열로 설정
402
+ this.setValue(path, "");
403
+ }
404
+ });
405
+ // 일반 필드들 중에서 dot notation과 충돌하지 않는 것들만 기본값으로 설정
406
+ this.fields.forEach((field, key) => {
407
+ const keyStr = String(key);
408
+ // dot notation 필드의 부모가 아닌 경우에만 null로 설정
409
+ let hasChildDotNotation = false;
410
+ for (const dotPath of this.dotNotationListeners.keys()) {
411
+ if (dotPath.startsWith(keyStr + ".")) {
412
+ hasChildDotNotation = true;
413
+ break;
414
+ }
415
+ }
416
+ if (!hasChildDotNotation) {
417
+ field.value = "";
418
+ }
419
+ });
420
+ }
421
+ else {
422
+ // 일반 모드: 초기값으로 재설정
423
+ this.fields.forEach((field, key) => {
424
+ const initialValue = this.initialValues[key];
425
+ field.value = initialValue;
426
+ });
427
+ // 누락된 초기값 필드들 추가
428
+ Object.keys(this.initialValues).forEach((key) => {
429
+ if (!this.fields.has(key)) {
430
+ this.fields.set(key, {
431
+ value: this.initialValues[key],
432
+ listeners: new Set(),
433
+ });
434
+ }
435
+ });
436
+ }
437
+ // 모든 필드 리스너들에게 알림
438
+ this.fields.forEach((field) => {
439
+ field.listeners.forEach((listener) => listener());
440
+ });
441
+ // dot notation 리스너들에게도 알림
442
+ this.dotNotationListeners.forEach((listeners) => {
443
+ listeners.forEach((listener) => listener());
444
+ });
445
+ // 글로벌 리스너들에게도 알림
446
+ this.globalListeners.forEach((listener) => listener());
354
447
  }
355
448
  /**
356
449
  * 리소스 정리 / Clean up resources
@@ -1 +1 @@
1
- {"version":3,"file":"FieldStore.js","sourceRoot":"","sources":["../../core/FieldStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FieldStore.js","sourceRoot":"","sources":["../../core/FieldStore.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,10 @@ export declare class FieldStore<T extends Record<string, any>> {
88
88
  * @returns 초기값에서 변경되었는지 여부 / Whether changed from initial values
89
89
  */
90
90
  isModified(): boolean;
91
+ /**
92
+ * 객체에 비어있지 않은 값이 있는지 확인 / Check if object has non-empty values
93
+ */
94
+ private hasNonEmptyValues;
91
95
  /**
92
96
  * 특정 필드가 존재하는지 확인 / Check if a specific field exists
93
97
  * @param path 필드 경로 (dot notation 지원) / Field path (supports dot notation)
@@ -1 +1 @@
1
- {"version":3,"file":"FieldStore.d.ts","sourceRoot":"","sources":["../../../core/FieldStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH;;;;;;GAMG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACjD,OAAO,CAAC,MAAM,CACA;IACd,OAAO,CAAC,oBAAoB,CAA2C;IACvE,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,eAAe,CAAyB;gBAEpC,aAAa,EAAE,CAAC;IAW5B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,GAAG;IAc1C;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI;IAuC3D;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI;IAOpC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG;IAoHhD;;;OAGG;IACH,SAAS,IAAI,CAAC;IAUd;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAM/B;;;OAGG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAyBpC;;;OAGG;IACH,UAAU,IAAI,OAAO;IAOrB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAU/B;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAyC/B;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAYzD;;OAEG;IACH,KAAK;IAIL;;OAEG;IACH,OAAO;CAKV"}
1
+ {"version":3,"file":"FieldStore.d.ts","sourceRoot":"","sources":["../../../core/FieldStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH;;;;;;GAMG;AACH,qBAAa,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACjD,OAAO,CAAC,MAAM,CACA;IACd,OAAO,CAAC,oBAAoB,CAA2C;IACvE,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,eAAe,CAAyB;gBAEpC,aAAa,EAAE,CAAC;IAW5B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,GAAG;IAc1C;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI;IA+C3D;;;;;OAKG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,IAAI;IAOpC;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG;IAoHhD;;;OAGG;IACH,SAAS,IAAI,CAAC;IAUd;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAM/B;;;OAGG;IACH,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAyBpC;;;OAGG;IACH,UAAU,IAAI,OAAO;IAkBrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuBzB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAU/B;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAyC/B;;;;OAIG;IACH,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAYzD;;OAEG;IACH,KAAK;IA6DL;;OAEG;IACH,OAAO;CAKV"}
@@ -82,6 +82,13 @@ export class FieldStore {
82
82
  this.dotNotationListeners.set(fieldNameStr, listeners);
83
83
  }
84
84
  listeners.add(listener);
85
+ // dot notation 필드가 구독될 때 기본값 생성 / Create default value when dot notation field is subscribed
86
+ const currentValue = this.getValue(fieldNameStr);
87
+ if (currentValue === undefined) {
88
+ // 기본값으로 빈 문자열 또는 null 설정 (타입에 따라 결정)
89
+ // Set default value as empty string or null (determined by type)
90
+ this.setValue(fieldNameStr, null);
91
+ }
85
92
  return () => {
86
93
  const listeners = this.dotNotationListeners.get(fieldNameStr);
87
94
  if (listeners) {
@@ -97,7 +104,7 @@ export class FieldStore {
97
104
  if (!field) {
98
105
  // 필드가 없으면 생성 / Create field if not exists
99
106
  field = {
100
- value: undefined,
107
+ value: null, // undefined 대신 null로 초기화
101
108
  listeners: new Set(),
102
109
  };
103
110
  this.fields.set(fieldName, field);
@@ -271,8 +278,43 @@ export class FieldStore {
271
278
  */
272
279
  isModified() {
273
280
  const currentValues = this.getValues();
281
+ // Pure Zero-Config의 경우 초기값이 빈 객체일 수 있음
282
+ // In Pure Zero-Config, initial values might be an empty object
283
+ const isInitialEmpty = Object.keys(this.initialValues).length === 0;
284
+ if (isInitialEmpty) {
285
+ // 초기값이 빈 객체인 경우, 현재값에 의미있는 데이터가 있는지 확인
286
+ // If initial values are empty, check if current values have meaningful data
287
+ return this.hasNonEmptyValues(currentValues);
288
+ }
274
289
  return (JSON.stringify(currentValues) !== JSON.stringify(this.initialValues));
275
290
  }
291
+ /**
292
+ * 객체에 비어있지 않은 값이 있는지 확인 / Check if object has non-empty values
293
+ */
294
+ hasNonEmptyValues(obj) {
295
+ for (const key in obj) {
296
+ const value = obj[key];
297
+ if (value !== undefined &&
298
+ value !== null &&
299
+ value !== "" &&
300
+ value !== 0) {
301
+ if (typeof value === "object" && value !== null) {
302
+ if (Array.isArray(value)) {
303
+ if (value.length > 0)
304
+ return true;
305
+ }
306
+ else {
307
+ if (this.hasNonEmptyValues(value))
308
+ return true;
309
+ }
310
+ }
311
+ else {
312
+ return true;
313
+ }
314
+ }
315
+ }
316
+ return false;
317
+ }
276
318
  /**
277
319
  * 특정 필드가 존재하는지 확인 / Check if a specific field exists
278
320
  * @param path 필드 경로 (dot notation 지원) / Field path (supports dot notation)
@@ -347,7 +389,58 @@ export class FieldStore {
347
389
  * 초기값으로 리셋 / Reset to initial values
348
390
  */
349
391
  reset() {
350
- this.setValues(this.initialValues);
392
+ // Pure Zero-Config 모드인지 확인 (초기값이 빈 객체)
393
+ const isPureZeroConfig = Object.keys(this.initialValues).length === 0;
394
+ if (isPureZeroConfig) {
395
+ // Pure Zero-Config 모드: 먼저 구독된 dot notation 필드들의 기본값 설정
396
+ this.dotNotationListeners.forEach((listeners, path) => {
397
+ if (listeners.size > 0) {
398
+ // 구독자가 있는 dot notation 필드는 빈 문자열로 설정
399
+ this.setValue(path, "");
400
+ }
401
+ });
402
+ // 일반 필드들 중에서 dot notation과 충돌하지 않는 것들만 기본값으로 설정
403
+ this.fields.forEach((field, key) => {
404
+ const keyStr = String(key);
405
+ // dot notation 필드의 부모가 아닌 경우에만 null로 설정
406
+ let hasChildDotNotation = false;
407
+ for (const dotPath of this.dotNotationListeners.keys()) {
408
+ if (dotPath.startsWith(keyStr + ".")) {
409
+ hasChildDotNotation = true;
410
+ break;
411
+ }
412
+ }
413
+ if (!hasChildDotNotation) {
414
+ field.value = "";
415
+ }
416
+ });
417
+ }
418
+ else {
419
+ // 일반 모드: 초기값으로 재설정
420
+ this.fields.forEach((field, key) => {
421
+ const initialValue = this.initialValues[key];
422
+ field.value = initialValue;
423
+ });
424
+ // 누락된 초기값 필드들 추가
425
+ Object.keys(this.initialValues).forEach((key) => {
426
+ if (!this.fields.has(key)) {
427
+ this.fields.set(key, {
428
+ value: this.initialValues[key],
429
+ listeners: new Set(),
430
+ });
431
+ }
432
+ });
433
+ }
434
+ // 모든 필드 리스너들에게 알림
435
+ this.fields.forEach((field) => {
436
+ field.listeners.forEach((listener) => listener());
437
+ });
438
+ // dot notation 리스너들에게도 알림
439
+ this.dotNotationListeners.forEach((listeners) => {
440
+ listeners.forEach((listener) => listener());
441
+ });
442
+ // 글로벌 리스너들에게도 알림
443
+ this.globalListeners.forEach((listener) => listener());
351
444
  }
352
445
  /**
353
446
  * 리소스 정리 / Clean up resources
@@ -1 +1 @@
1
- {"version":3,"file":"FieldStore.js","sourceRoot":"","sources":["../../../core/FieldStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,OAAO,UAAU;IAOnB,YAAY,aAAgB;QANpB,WAAM,GACV,IAAI,GAAG,EAAE,CAAC;QACN,yBAAoB,GAAiC,IAAI,GAAG,EAAE,CAAC,CAAC,8CAA8C;QAE9G,oBAAe,GAAG,IAAI,GAAG,EAAc,CAAC;QAG5C,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;QAC1C,uDAAuD;QACvD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;gBACjB,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC;gBACzB,SAAS,EAAE,IAAI,GAAG,EAAE;aACvB,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,SAA2B;QAChC,MAAM,YAAY,GAAG,SAAmB,CAAC;QAEzC,wEAAwE;QACxE,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,OAAO,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAoB,CAAC,CAAC;QACpD,OAAO,KAAK,EAAE,KAAK,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAA2B,EAAE,QAAoB;QACvD,MAAM,YAAY,GAAG,SAAmB,CAAC;QAEzC,6EAA6E;QAC7E,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC3D,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAExB,OAAO,GAAG,EAAE;gBACR,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC9D,IAAI,SAAS,EAAE,CAAC;oBACZ,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC3B,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;wBACvB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACnD,CAAC;gBACL,CAAC;YACL,CAAC,CAAC;QACN,CAAC;QAED,wCAAwC;QACxC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAoB,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,0CAA0C;YAC1C,KAAK,GAAG;gBACJ,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,IAAI,GAAG,EAAE;aACvB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAoB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACR,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,QAAoB;QAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,SAA2B,EAAE,KAAU;QAC5C,MAAM,YAAY,GAAG,SAAmB,CAAC;QAEzC,0CAA0C;QAC1C,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAY,CAAC;YACxD,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YACvC,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CACxC,YAAY,CAAC,MAAM,GAAG,CAAC,CAC1B,CAAC;YAEF,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,KAAK,GAAG;oBACJ,KAAK,EAAE,EAAE;oBACT,SAAS,EAAE,IAAI,GAAG,EAAE;iBACvB,CAAC;gBACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACtC,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;YACjC,MAAM,YAAY,GAAG,cAAc,CAC/B,KAAK,CAAC,KAAK,IAAI,EAAE,EACjB,aAAa,EACb,KAAK,CACR,CAAC;YAEF,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/D,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC;gBAE3B,gDAAgD;gBAChD,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACjC,QAAQ,EAAE,CAAC;gBACf,CAAC,CAAC,CAAC;gBAEH,iEAAiE;gBACjE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAC7B,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE;oBAC1B,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;wBAClC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChD,CAAC;oBACD,uCAAuC;oBACvC,sDAAsD;yBACjD,IACD,cAAc,KAAK,GAAG,YAAY,SAAS;wBAC3C,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAC7B,CAAC;wBACC,oBAAoB;wBACpB,mCAAmC;wBACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;4BACzC,CAAC,CAAC,YAAY,CAAC,MAAM;4BACrB,CAAC,CAAC,CAAC,CAAC;wBACR,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC;wBACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;4BAC1B,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAChD,CAAC;oBACL,CAAC;gBACL,CAAC,CACJ,CAAC;gBAEF,yCAAyC;gBACzC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO;QACX,CAAC;QAED,mCAAmC;QACnC,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAoB,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,KAAK,GAAG;gBACJ,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,IAAI,GAAG,EAAE;aACvB,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAoB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;YAC7B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,MAAM,QAAQ,GAAG,SAAmB,CAAC;YAErC,2CAA2C;YAC3C,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjC,QAAQ,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,yDAAyD;YACzD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE;gBAC5D,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;oBAC9B,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChD,CAAC;gBACD,uCAAuC;gBACvC,sDAAsD;qBACjD,IACD,cAAc,KAAK,GAAG,QAAQ,SAAS;oBACvC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACtB,CAAC;oBACC,oBAAoB;oBACpB,mCAAmC;oBACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACrC,CAAC,CAAC,QAAQ,CAAC,MAAM;wBACjB,CAAC,CAAC,CAAC,CAAC;oBACR,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC/B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC1B,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChD,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,yCAAyC;YACzC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,SAAS;QACL,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/B,kDAAkD;YAClD,8EAA8E;YAC9E,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,OAAO,MAAW,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,SAAqB;QAC3B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAc,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,gBAAmB;QAChC,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAE7C,4EAA4E;QAC5E,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAI,aAAa,EAAE,CAAC;gBAChB,yDAAyD;gBACzD,aAAa,CAAC,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACJ,8BAA8B;gBAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;oBACjB,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC;oBAC5B,SAAS,EAAE,IAAI,GAAG,EAAE;iBACvB,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1B,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACH,UAAU;QACN,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO,CACH,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CACvE,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,IAAY;QACjB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,KAAK,KAAK,SAAS,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,IAAY;QACpB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,wCAAwC;YACxC,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,kCAAkC;YAClC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YAEzD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;wBACvD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC5B,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAE9B,sDAAsD;QACtD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE;YAC5D,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;gBAC1B,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChD,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,yCAAyC;QACzC,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,QAA6B;QACxC,MAAM,eAAe,GAAG,GAAG,EAAE;YACzB,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAE1C,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,OAAO;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;CACJ"}
1
+ {"version":3,"file":"FieldStore.js","sourceRoot":"","sources":["../../../core/FieldStore.ts"],"names":[],"mappings":"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"}