@ehfuse/forma 2.1.3 → 2.1.5
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/esm/hooks/useGlobalForm.d.ts.map +1 -1
- package/dist/esm/hooks/useGlobalForm.js +72 -20
- package/dist/esm/hooks/useGlobalForm.js.map +1 -1
- package/dist/esm/hooks/useGlobalFormaState.js +57 -1
- package/dist/esm/hooks/useGlobalFormaState.js.map +1 -1
- package/dist/hooks/useGlobalForm.d.ts.map +1 -1
- package/dist/hooks/useGlobalForm.js +71 -19
- package/dist/hooks/useGlobalForm.js.map +1 -1
- package/dist/hooks/useGlobalFormaState.js +56 -0
- package/dist/hooks/useGlobalFormaState.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalForm.d.ts","sourceRoot":"","sources":["../../../hooks/useGlobalForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useGlobalForm.d.ts","sourceRoot":"","sources":["../../../hooks/useGlobalForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI9E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE1B;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,MAAM,EAAE,MAAM,GACf,mBAAmB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
28
28
|
* SOFTWARE.
|
|
29
29
|
*/
|
|
30
|
-
import { useContext, useEffect } from "react";
|
|
30
|
+
import { useContext, useEffect, useMemo } from "react";
|
|
31
31
|
import { useForm } from "./useForm";
|
|
32
32
|
import { GlobalFormaContext } from "../contexts/GlobalFormaContext";
|
|
33
33
|
import { mergeActions } from "../utils";
|
|
@@ -76,26 +76,21 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (formId: ${f
|
|
|
76
76
|
validateAndStoreAutoCleanupSetting(formId, autoCleanup);
|
|
77
77
|
// 글로벌 스토어 가져오기 또는 생성 / Get or create global store
|
|
78
78
|
const store = getOrCreateStore(formId);
|
|
79
|
-
// 핸들러가 제공되면 글로벌에 등록 / Register handlers to global if provided
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
// 배열이면 병합해서 등록
|
|
93
|
-
const mergedActions = mergeActions(actions);
|
|
94
|
-
if (mergedActions) {
|
|
95
|
-
registerActions(formId, mergedActions);
|
|
96
|
-
}
|
|
79
|
+
// 핸들러가 제공되면 글로벌에 동기적으로 등록 / Register handlers to global synchronously if provided
|
|
80
|
+
if (onSubmit || onValidate || onComplete) {
|
|
81
|
+
registerHandlers(formId, {
|
|
82
|
+
onSubmit,
|
|
83
|
+
onValidate,
|
|
84
|
+
onComplete,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
// actions가 제공되면 글로벌에 동기적으로 등록 / Register actions to global synchronously if provided
|
|
88
|
+
if (actions) {
|
|
89
|
+
const mergedActions = mergeActions(actions);
|
|
90
|
+
if (mergedActions) {
|
|
91
|
+
registerActions(formId, mergedActions);
|
|
97
92
|
}
|
|
98
|
-
}
|
|
93
|
+
}
|
|
99
94
|
// 글로벌 핸들러 가져오기 / Get global handlers
|
|
100
95
|
const globalHandlers = getHandlers(formId);
|
|
101
96
|
// 글로벌 actions 가져오기 / Get global actions
|
|
@@ -166,8 +161,65 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (formId: ${f
|
|
|
166
161
|
unsubscribers.forEach((unsub) => unsub());
|
|
167
162
|
};
|
|
168
163
|
}, [formId, watch, store, globalActions, getActions, form.submit]);
|
|
164
|
+
// actions를 동적으로 가져오는 getter 생성 / Create getter to dynamically fetch actions
|
|
165
|
+
const actionsGetter = useMemo(() => {
|
|
166
|
+
return new Proxy({}, {
|
|
167
|
+
get: (_target, prop) => {
|
|
168
|
+
// 항상 최신 글로벌 actions를 가져옴 / Always get the latest global actions
|
|
169
|
+
const currentGlobalActions = getActions(formId);
|
|
170
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
171
|
+
const action = currentEffectiveActions[prop];
|
|
172
|
+
if (typeof action === "function") {
|
|
173
|
+
// context를 바인딩하여 반환 / Return with context binding
|
|
174
|
+
return (...args) => {
|
|
175
|
+
const context = {
|
|
176
|
+
values: store.getValues(),
|
|
177
|
+
getValue: (field) => store.getValue(field),
|
|
178
|
+
setValue: (field, value) => store.setValue(field, value),
|
|
179
|
+
setValues: (values) => {
|
|
180
|
+
const currentValues = store.getValues();
|
|
181
|
+
const newValues = {
|
|
182
|
+
...currentValues,
|
|
183
|
+
...values,
|
|
184
|
+
};
|
|
185
|
+
store.setValues(newValues);
|
|
186
|
+
},
|
|
187
|
+
reset: () => store.reset(),
|
|
188
|
+
submit: form.submit,
|
|
189
|
+
actions: {}, // Will be filled after
|
|
190
|
+
};
|
|
191
|
+
context.actions = actionsGetter;
|
|
192
|
+
return action(context, ...args);
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
return action;
|
|
196
|
+
},
|
|
197
|
+
has: (_target, prop) => {
|
|
198
|
+
const currentGlobalActions = getActions(formId);
|
|
199
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
200
|
+
return prop in currentEffectiveActions;
|
|
201
|
+
},
|
|
202
|
+
ownKeys: (_target) => {
|
|
203
|
+
const currentGlobalActions = getActions(formId);
|
|
204
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
205
|
+
return Reflect.ownKeys(currentEffectiveActions);
|
|
206
|
+
},
|
|
207
|
+
getOwnPropertyDescriptor: (_target, prop) => {
|
|
208
|
+
const currentGlobalActions = getActions(formId);
|
|
209
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
210
|
+
if (prop in currentEffectiveActions) {
|
|
211
|
+
return {
|
|
212
|
+
enumerable: true,
|
|
213
|
+
configurable: true,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
return undefined;
|
|
217
|
+
},
|
|
218
|
+
});
|
|
219
|
+
}, [formId, actions, getActions, store, form.submit]);
|
|
169
220
|
return {
|
|
170
221
|
...form,
|
|
222
|
+
actions: actionsGetter, // 동적 actions getter로 교체 / Replace with dynamic actions getter
|
|
171
223
|
formId, // 글로벌 폼 ID 추가 제공 / Provide additional global form ID
|
|
172
224
|
_store: store, // 글로벌 스토어 직접 접근용 / Direct access to global store
|
|
173
225
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../../hooks/useGlobalForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../../hooks/useGlobalForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
28
28
|
* SOFTWARE.
|
|
29
29
|
*/
|
|
30
|
-
import { useContext, useEffect, useRef } from "react";
|
|
30
|
+
import { useContext, useEffect, useRef, useMemo } from "react";
|
|
31
31
|
import { useFormaState } from "./useFormaState";
|
|
32
32
|
import { GlobalFormaContext } from "../contexts/GlobalFormaContext";
|
|
33
33
|
import { mergeActions } from "../utils";
|
|
@@ -185,8 +185,64 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (stateId: ${
|
|
|
185
185
|
};
|
|
186
186
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
187
187
|
}, []); // 완전히 빈 의존성 배열로 마운트 시 한 번만 실행
|
|
188
|
+
// actions를 동적으로 가져오는 getter 생성 / Create getter to dynamically fetch actions
|
|
189
|
+
const actionsGetter = useMemo(() => {
|
|
190
|
+
return new Proxy({}, {
|
|
191
|
+
get: (_target, prop) => {
|
|
192
|
+
// 항상 최신 글로벌 actions를 가져옴 / Always get the latest global actions
|
|
193
|
+
const currentGlobalActions = getActions(stateId);
|
|
194
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
195
|
+
const action = currentEffectiveActions[prop];
|
|
196
|
+
if (typeof action === "function") {
|
|
197
|
+
// context를 바인딩하여 반환 / Return with context binding
|
|
198
|
+
return (...args) => {
|
|
199
|
+
const context = {
|
|
200
|
+
values: store.getValues(),
|
|
201
|
+
getValue: (field) => store.getValue(field),
|
|
202
|
+
setValue: (field, value) => store.setValue(field, value),
|
|
203
|
+
setValues: (values) => {
|
|
204
|
+
const currentValues = store.getValues();
|
|
205
|
+
const newValues = {
|
|
206
|
+
...currentValues,
|
|
207
|
+
...values,
|
|
208
|
+
};
|
|
209
|
+
store.setValues(newValues);
|
|
210
|
+
},
|
|
211
|
+
reset: () => store.reset(),
|
|
212
|
+
actions: {}, // Will be filled after
|
|
213
|
+
};
|
|
214
|
+
context.actions = actionsGetter;
|
|
215
|
+
return action(context, ...args);
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
return action;
|
|
219
|
+
},
|
|
220
|
+
has: (_target, prop) => {
|
|
221
|
+
const currentGlobalActions = getActions(stateId);
|
|
222
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
223
|
+
return prop in currentEffectiveActions;
|
|
224
|
+
},
|
|
225
|
+
ownKeys: (_target) => {
|
|
226
|
+
const currentGlobalActions = getActions(stateId);
|
|
227
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
228
|
+
return Reflect.ownKeys(currentEffectiveActions);
|
|
229
|
+
},
|
|
230
|
+
getOwnPropertyDescriptor: (_target, prop) => {
|
|
231
|
+
const currentGlobalActions = getActions(stateId);
|
|
232
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
233
|
+
if (prop in currentEffectiveActions) {
|
|
234
|
+
return {
|
|
235
|
+
enumerable: true,
|
|
236
|
+
configurable: true,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
return undefined;
|
|
240
|
+
},
|
|
241
|
+
});
|
|
242
|
+
}, [stateId, actions, getActions, store]);
|
|
188
243
|
return {
|
|
189
244
|
...formaState,
|
|
245
|
+
actions: actionsGetter, // 동적 actions getter로 교체 / Replace with dynamic actions getter
|
|
190
246
|
stateId, // 글로벌 FormaState ID 추가 제공 / Provide additional global FormaState ID
|
|
191
247
|
_store: store, // 글로벌 스토어 직접 접근용 (이미 formaState에 있지만 명시적으로 재정의) / Direct access to global store
|
|
192
248
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalFormaState.js","sourceRoot":"","sources":["../../../hooks/useGlobalFormaState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useGlobalFormaState.js","sourceRoot":"","sources":["../../../hooks/useGlobalFormaState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalForm.d.ts","sourceRoot":"","sources":["../../hooks/useGlobalForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useGlobalForm.d.ts","sourceRoot":"","sources":["../../hooks/useGlobalForm.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI9E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE1B;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,MAAM,EAAE,MAAM,GACf,mBAAmB,CAAC,CAAC,CAAC,CAAC"}
|
|
@@ -79,26 +79,21 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (formId: ${f
|
|
|
79
79
|
validateAndStoreAutoCleanupSetting(formId, autoCleanup);
|
|
80
80
|
// 글로벌 스토어 가져오기 또는 생성 / Get or create global store
|
|
81
81
|
const store = getOrCreateStore(formId);
|
|
82
|
-
// 핸들러가 제공되면 글로벌에 등록 / Register handlers to global if provided
|
|
83
|
-
(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
// 배열이면 병합해서 등록
|
|
96
|
-
const mergedActions = (0, utils_1.mergeActions)(actions);
|
|
97
|
-
if (mergedActions) {
|
|
98
|
-
registerActions(formId, mergedActions);
|
|
99
|
-
}
|
|
82
|
+
// 핸들러가 제공되면 글로벌에 동기적으로 등록 / Register handlers to global synchronously if provided
|
|
83
|
+
if (onSubmit || onValidate || onComplete) {
|
|
84
|
+
registerHandlers(formId, {
|
|
85
|
+
onSubmit,
|
|
86
|
+
onValidate,
|
|
87
|
+
onComplete,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
// actions가 제공되면 글로벌에 동기적으로 등록 / Register actions to global synchronously if provided
|
|
91
|
+
if (actions) {
|
|
92
|
+
const mergedActions = (0, utils_1.mergeActions)(actions);
|
|
93
|
+
if (mergedActions) {
|
|
94
|
+
registerActions(formId, mergedActions);
|
|
100
95
|
}
|
|
101
|
-
}
|
|
96
|
+
}
|
|
102
97
|
// 글로벌 핸들러 가져오기 / Get global handlers
|
|
103
98
|
const globalHandlers = getHandlers(formId);
|
|
104
99
|
// 글로벌 actions 가져오기 / Get global actions
|
|
@@ -169,8 +164,65 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (formId: ${f
|
|
|
169
164
|
unsubscribers.forEach((unsub) => unsub());
|
|
170
165
|
};
|
|
171
166
|
}, [formId, watch, store, globalActions, getActions, form.submit]);
|
|
167
|
+
// actions를 동적으로 가져오는 getter 생성 / Create getter to dynamically fetch actions
|
|
168
|
+
const actionsGetter = (0, react_1.useMemo)(() => {
|
|
169
|
+
return new Proxy({}, {
|
|
170
|
+
get: (_target, prop) => {
|
|
171
|
+
// 항상 최신 글로벌 actions를 가져옴 / Always get the latest global actions
|
|
172
|
+
const currentGlobalActions = getActions(formId);
|
|
173
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
174
|
+
const action = currentEffectiveActions[prop];
|
|
175
|
+
if (typeof action === "function") {
|
|
176
|
+
// context를 바인딩하여 반환 / Return with context binding
|
|
177
|
+
return (...args) => {
|
|
178
|
+
const context = {
|
|
179
|
+
values: store.getValues(),
|
|
180
|
+
getValue: (field) => store.getValue(field),
|
|
181
|
+
setValue: (field, value) => store.setValue(field, value),
|
|
182
|
+
setValues: (values) => {
|
|
183
|
+
const currentValues = store.getValues();
|
|
184
|
+
const newValues = {
|
|
185
|
+
...currentValues,
|
|
186
|
+
...values,
|
|
187
|
+
};
|
|
188
|
+
store.setValues(newValues);
|
|
189
|
+
},
|
|
190
|
+
reset: () => store.reset(),
|
|
191
|
+
submit: form.submit,
|
|
192
|
+
actions: {}, // Will be filled after
|
|
193
|
+
};
|
|
194
|
+
context.actions = actionsGetter;
|
|
195
|
+
return action(context, ...args);
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
return action;
|
|
199
|
+
},
|
|
200
|
+
has: (_target, prop) => {
|
|
201
|
+
const currentGlobalActions = getActions(formId);
|
|
202
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
203
|
+
return prop in currentEffectiveActions;
|
|
204
|
+
},
|
|
205
|
+
ownKeys: (_target) => {
|
|
206
|
+
const currentGlobalActions = getActions(formId);
|
|
207
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
208
|
+
return Reflect.ownKeys(currentEffectiveActions);
|
|
209
|
+
},
|
|
210
|
+
getOwnPropertyDescriptor: (_target, prop) => {
|
|
211
|
+
const currentGlobalActions = getActions(formId);
|
|
212
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
213
|
+
if (prop in currentEffectiveActions) {
|
|
214
|
+
return {
|
|
215
|
+
enumerable: true,
|
|
216
|
+
configurable: true,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
return undefined;
|
|
220
|
+
},
|
|
221
|
+
});
|
|
222
|
+
}, [formId, actions, getActions, store, form.submit]);
|
|
172
223
|
return {
|
|
173
224
|
...form,
|
|
225
|
+
actions: actionsGetter, // 동적 actions getter로 교체 / Replace with dynamic actions getter
|
|
174
226
|
formId, // 글로벌 폼 ID 추가 제공 / Provide additional global form ID
|
|
175
227
|
_store: store, // 글로벌 스토어 직접 접근용 / Direct access to global store
|
|
176
228
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../hooks/useGlobalForm.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;
|
|
1
|
+
{"version":3,"file":"useGlobalForm.js","sourceRoot":"","sources":["../../hooks/useGlobalForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -188,8 +188,64 @@ Details: GlobalFormaContext must be used within GlobalFormaProvider (stateId: ${
|
|
|
188
188
|
};
|
|
189
189
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
190
190
|
}, []); // 완전히 빈 의존성 배열로 마운트 시 한 번만 실행
|
|
191
|
+
// actions를 동적으로 가져오는 getter 생성 / Create getter to dynamically fetch actions
|
|
192
|
+
const actionsGetter = (0, react_1.useMemo)(() => {
|
|
193
|
+
return new Proxy({}, {
|
|
194
|
+
get: (_target, prop) => {
|
|
195
|
+
// 항상 최신 글로벌 actions를 가져옴 / Always get the latest global actions
|
|
196
|
+
const currentGlobalActions = getActions(stateId);
|
|
197
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
198
|
+
const action = currentEffectiveActions[prop];
|
|
199
|
+
if (typeof action === "function") {
|
|
200
|
+
// context를 바인딩하여 반환 / Return with context binding
|
|
201
|
+
return (...args) => {
|
|
202
|
+
const context = {
|
|
203
|
+
values: store.getValues(),
|
|
204
|
+
getValue: (field) => store.getValue(field),
|
|
205
|
+
setValue: (field, value) => store.setValue(field, value),
|
|
206
|
+
setValues: (values) => {
|
|
207
|
+
const currentValues = store.getValues();
|
|
208
|
+
const newValues = {
|
|
209
|
+
...currentValues,
|
|
210
|
+
...values,
|
|
211
|
+
};
|
|
212
|
+
store.setValues(newValues);
|
|
213
|
+
},
|
|
214
|
+
reset: () => store.reset(),
|
|
215
|
+
actions: {}, // Will be filled after
|
|
216
|
+
};
|
|
217
|
+
context.actions = actionsGetter;
|
|
218
|
+
return action(context, ...args);
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
return action;
|
|
222
|
+
},
|
|
223
|
+
has: (_target, prop) => {
|
|
224
|
+
const currentGlobalActions = getActions(stateId);
|
|
225
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
226
|
+
return prop in currentEffectiveActions;
|
|
227
|
+
},
|
|
228
|
+
ownKeys: (_target) => {
|
|
229
|
+
const currentGlobalActions = getActions(stateId);
|
|
230
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
231
|
+
return Reflect.ownKeys(currentEffectiveActions);
|
|
232
|
+
},
|
|
233
|
+
getOwnPropertyDescriptor: (_target, prop) => {
|
|
234
|
+
const currentGlobalActions = getActions(stateId);
|
|
235
|
+
const currentEffectiveActions = actions || currentGlobalActions || {};
|
|
236
|
+
if (prop in currentEffectiveActions) {
|
|
237
|
+
return {
|
|
238
|
+
enumerable: true,
|
|
239
|
+
configurable: true,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
return undefined;
|
|
243
|
+
},
|
|
244
|
+
});
|
|
245
|
+
}, [stateId, actions, getActions, store]);
|
|
191
246
|
return {
|
|
192
247
|
...formaState,
|
|
248
|
+
actions: actionsGetter, // 동적 actions getter로 교체 / Replace with dynamic actions getter
|
|
193
249
|
stateId, // 글로벌 FormaState ID 추가 제공 / Provide additional global FormaState ID
|
|
194
250
|
_store: store, // 글로벌 스토어 직접 접근용 (이미 formaState에 있지만 명시적으로 재정의) / Direct access to global store
|
|
195
251
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGlobalFormaState.js","sourceRoot":"","sources":["../../hooks/useGlobalFormaState.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;AA6GH,
|
|
1
|
+
{"version":3,"file":"useGlobalFormaState.js","sourceRoot":"","sources":["../../hooks/useGlobalFormaState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ehfuse/forma",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.5",
|
|
4
4
|
"description": "Advanced React state management library with individual field subscriptions - supports both forms and general state management with useFormaState",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|