fragment-ts 3.0.11 → 3.0.12
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/decorators/frontend.decorators.d.ts +10 -0
- package/dist/core/decorators/frontend.decorators.d.ts.map +1 -1
- package/dist/core/decorators/frontend.decorators.js +105 -2
- package/dist/core/decorators/frontend.decorators.js.map +1 -1
- package/dist/core/metadata/metadata-keys.d.ts +5 -0
- package/dist/core/metadata/metadata-keys.d.ts.map +1 -1
- package/dist/core/metadata/metadata-keys.js +5 -0
- package/dist/core/metadata/metadata-keys.js.map +1 -1
- package/dist/platform/cli/scaffold/init/init.scaffold.js +2 -2
- package/dist/platform/web/react/fragment-react-runtime.d.ts.map +1 -1
- package/dist/platform/web/react/fragment-react-runtime.js +43 -2
- package/dist/platform/web/react/fragment-react-runtime.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ export interface RouteOptions {
|
|
|
4
4
|
template?: string;
|
|
5
5
|
layout?: string;
|
|
6
6
|
}
|
|
7
|
+
export declare function applyMobxFields(instance: any, source: Function): void;
|
|
7
8
|
export declare function FragmentStore(): ClassDecorator;
|
|
8
9
|
export declare function FragmentComponent(): ClassDecorator;
|
|
9
10
|
export declare function FragmentTemplate(options: {
|
|
@@ -24,12 +25,21 @@ export declare function UseStore(token: Function): PropertyDecorator;
|
|
|
24
25
|
export declare function InjectStore(token: Function): PropertyDecorator;
|
|
25
26
|
export declare function StoreState<TStore, TValue>(token: new () => TStore, selector: (store: TStore) => TValue): PropertyDecorator;
|
|
26
27
|
export declare function Observable(): PropertyDecorator;
|
|
28
|
+
/** Alias for @Observable */
|
|
27
29
|
export declare function State(): PropertyDecorator;
|
|
28
30
|
export declare function Computed(): MethodDecorator;
|
|
31
|
+
/** Alias for @Computed */
|
|
29
32
|
export declare function Selector(): MethodDecorator;
|
|
30
33
|
export declare function Action(): MethodDecorator;
|
|
34
|
+
/** Alias for @Action */
|
|
31
35
|
export declare function Mutation(): MethodDecorator;
|
|
32
36
|
export declare function Flow(): MethodDecorator;
|
|
37
|
+
/** Alias for @Flow */
|
|
33
38
|
export declare function AsyncAction(): MethodDecorator;
|
|
39
|
+
export declare function OnMount(): MethodDecorator;
|
|
40
|
+
export declare function OnUnmount(): MethodDecorator;
|
|
41
|
+
export declare function AutorunEffect(): MethodDecorator;
|
|
42
|
+
export declare function OnEffect<T>(selector: (self: T) => any): MethodDecorator;
|
|
43
|
+
export declare function WhenEffect<T>(predicate: (self: T) => boolean): MethodDecorator;
|
|
34
44
|
export type { FragmentWebRouteContext };
|
|
35
45
|
//# sourceMappingURL=frontend.decorators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend.decorators.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/frontend.decorators.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"frontend.decorators.d.ts","sourceRoot":"","sources":["../../../src/core/decorators/frontend.decorators.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAY7E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgCD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,CAmBrE;AAMD,wBAAgB,aAAa,IAAI,cAAc,CAW9C;AAMD,wBAAgB,iBAAiB,IAAI,cAAc,CA2BlD;AAMD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAY1E;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,cAAc,CAExE;AAMD,wBAAgB,YAAY,IAAI,cAAc,CAU7C;AAMD,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,cAAc,CAa3D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAE1D;AAED,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAE3D;AAED,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAE5D;AAED,wBAAgB,YAAY,IAAI,iBAAiB,CAehD;AAED,wBAAgB,aAAa,IAAI,iBAAiB,CAejD;AAED,wBAAgB,YAAY,IAAI,iBAAiB,CAehD;AAMD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,iBAAiB,CAE3D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,iBAAiB,CAE9D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EACvC,KAAK,EAAE,UAAU,MAAM,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAClC,iBAAiB,CAWnB;AAQD,wBAAgB,UAAU,IAAI,iBAAiB,CAI9C;AAED,4BAA4B;AAC5B,wBAAgB,KAAK,IAAI,iBAAiB,CAEzC;AAED,wBAAgB,QAAQ,IAAI,eAAe,CAI1C;AAED,0BAA0B;AAC1B,wBAAgB,QAAQ,IAAI,eAAe,CAE1C;AAED,wBAAgB,MAAM,IAAI,eAAe,CAIxC;AAED,wBAAwB;AACxB,wBAAgB,QAAQ,IAAI,eAAe,CAE1C;AAED,wBAAgB,IAAI,IAAI,eAAe,CAItC;AAED,sBAAsB;AACtB,wBAAgB,WAAW,IAAI,eAAe,CAE7C;AAOD,wBAAgB,OAAO,IAAI,eAAe,CAQzC;AAED,wBAAgB,SAAS,IAAI,eAAe,CAc3C;AAED,wBAAgB,aAAa,IAAI,eAAe,CAQ/C;AAED,wBAAgB,QAAQ,CAAC,CAAC,EACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG,GACzB,eAAe,CAejB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GAC9B,eAAe,CAejB;AAsBD,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyMobxFields = applyMobxFields;
|
|
3
4
|
exports.FragmentStore = FragmentStore;
|
|
4
5
|
exports.FragmentComponent = FragmentComponent;
|
|
5
6
|
exports.FragmentTemplate = FragmentTemplate;
|
|
@@ -23,17 +24,50 @@ exports.Action = Action;
|
|
|
23
24
|
exports.Mutation = Mutation;
|
|
24
25
|
exports.Flow = Flow;
|
|
25
26
|
exports.AsyncAction = AsyncAction;
|
|
27
|
+
exports.OnMount = OnMount;
|
|
28
|
+
exports.OnUnmount = OnUnmount;
|
|
29
|
+
exports.AutorunEffect = AutorunEffect;
|
|
30
|
+
exports.OnEffect = OnEffect;
|
|
31
|
+
exports.WhenEffect = WhenEffect;
|
|
26
32
|
const injectable_decorator_1 = require("./injectable.decorator");
|
|
27
33
|
const injection_decorators_1 = require("./injection.decorators");
|
|
28
34
|
const metadata_keys_1 = require("../metadata/metadata-keys");
|
|
29
35
|
const metadata_storage_1 = require("../metadata/metadata-storage");
|
|
30
36
|
const di_container_1 = require("../container/di-container");
|
|
37
|
+
const mobx_1 = require("mobx");
|
|
38
|
+
// ─────────────────────────────────────────────────────────────
|
|
39
|
+
// Internal helper — push MobX field metadata onto the class
|
|
40
|
+
// ─────────────────────────────────────────────────────────────
|
|
31
41
|
function pushMobxField(target, propertyKey, kind) {
|
|
32
42
|
const ctor = typeof target === "function" ? target : target.constructor;
|
|
33
43
|
const current = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.MOBX_FIELDS, ctor) || [];
|
|
34
44
|
current.push({ key: String(propertyKey), kind });
|
|
35
45
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.MOBX_FIELDS, current, ctor);
|
|
36
46
|
}
|
|
47
|
+
// ─────────────────────────────────────────────────────────────
|
|
48
|
+
// Internal helper — apply makeObservable() from collected fields
|
|
49
|
+
// Called by FragmentStore and FragmentComponent after instantiation
|
|
50
|
+
// ─────────────────────────────────────────────────────────────
|
|
51
|
+
function applyMobxFields(instance, source) {
|
|
52
|
+
const fields = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.MOBX_FIELDS, source) || [];
|
|
53
|
+
if (fields.length === 0)
|
|
54
|
+
return;
|
|
55
|
+
const annotations = {};
|
|
56
|
+
for (const { key, kind } of fields) {
|
|
57
|
+
if (kind === "observable")
|
|
58
|
+
annotations[key] = mobx_1.observable;
|
|
59
|
+
else if (kind === "computed")
|
|
60
|
+
annotations[key] = mobx_1.computed;
|
|
61
|
+
else if (kind === "action")
|
|
62
|
+
annotations[key] = mobx_1.action;
|
|
63
|
+
else if (kind === "flow")
|
|
64
|
+
annotations[key] = mobx_1.flow;
|
|
65
|
+
}
|
|
66
|
+
(0, mobx_1.makeObservable)(instance, annotations);
|
|
67
|
+
}
|
|
68
|
+
// ─────────────────────────────────────────────────────────────
|
|
69
|
+
// Store
|
|
70
|
+
// ─────────────────────────────────────────────────────────────
|
|
37
71
|
function FragmentStore() {
|
|
38
72
|
return (target) => {
|
|
39
73
|
(0, injectable_decorator_1.Injectable)("singleton")(target);
|
|
@@ -45,15 +79,20 @@ function FragmentStore() {
|
|
|
45
79
|
});
|
|
46
80
|
};
|
|
47
81
|
}
|
|
82
|
+
// ─────────────────────────────────────────────────────────────
|
|
83
|
+
// Component
|
|
84
|
+
// ─────────────────────────────────────────────────────────────
|
|
48
85
|
function FragmentComponent() {
|
|
49
86
|
return (target) => {
|
|
50
87
|
(0, injectable_decorator_1.Injectable)("transient")(target);
|
|
51
88
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.FRAGMENT_COMPONENT, true, target);
|
|
52
89
|
const { createFragmentComponent, } = require("../../platform/web/react/fragment-react-runtime");
|
|
53
90
|
const wrapped = createFragmentComponent(target);
|
|
91
|
+
// copy all metadata from original → wrapper
|
|
54
92
|
Reflect.getMetadataKeys(target).forEach((key) => {
|
|
55
93
|
Reflect.defineMetadata(key, Reflect.getMetadata(key, target), wrapped);
|
|
56
94
|
});
|
|
95
|
+
// register the wrapper, not the original
|
|
57
96
|
metadata_storage_1.MetadataStorage.getInstance().addClass({
|
|
58
97
|
target: wrapped,
|
|
59
98
|
type: "ui-component",
|
|
@@ -62,6 +101,9 @@ function FragmentComponent() {
|
|
|
62
101
|
return wrapped;
|
|
63
102
|
};
|
|
64
103
|
}
|
|
104
|
+
// ─────────────────────────────────────────────────────────────
|
|
105
|
+
// Template / Layout
|
|
106
|
+
// ─────────────────────────────────────────────────────────────
|
|
65
107
|
function FragmentTemplate(options) {
|
|
66
108
|
return (target) => {
|
|
67
109
|
(0, injectable_decorator_1.Injectable)("transient")(target);
|
|
@@ -77,6 +119,9 @@ function FragmentTemplate(options) {
|
|
|
77
119
|
function FragmentLayout(options) {
|
|
78
120
|
return FragmentTemplate(options);
|
|
79
121
|
}
|
|
122
|
+
// ─────────────────────────────────────────────────────────────
|
|
123
|
+
// View
|
|
124
|
+
// ─────────────────────────────────────────────────────────────
|
|
80
125
|
function FragmentView() {
|
|
81
126
|
return (target) => {
|
|
82
127
|
(0, injectable_decorator_1.Injectable)("transient")(target);
|
|
@@ -87,6 +132,9 @@ function FragmentView() {
|
|
|
87
132
|
});
|
|
88
133
|
};
|
|
89
134
|
}
|
|
135
|
+
// ─────────────────────────────────────────────────────────────
|
|
136
|
+
// Route binding
|
|
137
|
+
// ─────────────────────────────────────────────────────────────
|
|
90
138
|
function Route(options) {
|
|
91
139
|
return (target) => {
|
|
92
140
|
const resolved = {
|
|
@@ -127,6 +175,9 @@ function RouteContext() {
|
|
|
127
175
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.FRONTEND_ROUTE_CONTEXT, current, target.constructor);
|
|
128
176
|
};
|
|
129
177
|
}
|
|
178
|
+
// ─────────────────────────────────────────────────────────────
|
|
179
|
+
// Store injection
|
|
180
|
+
// ─────────────────────────────────────────────────────────────
|
|
130
181
|
function UseStore(token) {
|
|
131
182
|
return (0, injection_decorators_1.Inject)(token);
|
|
132
183
|
}
|
|
@@ -145,11 +196,17 @@ function StoreState(token, selector) {
|
|
|
145
196
|
});
|
|
146
197
|
};
|
|
147
198
|
}
|
|
199
|
+
// ─────────────────────────────────────────────────────────────
|
|
200
|
+
// MobX field decorators
|
|
201
|
+
// These collect metadata — applyMobxFields() in the runtime
|
|
202
|
+
// calls makeObservable() with all of them at once after instantiation
|
|
203
|
+
// ─────────────────────────────────────────────────────────────
|
|
148
204
|
function Observable() {
|
|
149
205
|
return (target, propertyKey) => {
|
|
150
206
|
pushMobxField(target, propertyKey, "observable");
|
|
151
207
|
};
|
|
152
208
|
}
|
|
209
|
+
/** Alias for @Observable */
|
|
153
210
|
function State() {
|
|
154
211
|
return Observable();
|
|
155
212
|
}
|
|
@@ -158,6 +215,7 @@ function Computed() {
|
|
|
158
215
|
pushMobxField(target, propertyKey, "computed");
|
|
159
216
|
};
|
|
160
217
|
}
|
|
218
|
+
/** Alias for @Computed */
|
|
161
219
|
function Selector() {
|
|
162
220
|
return Computed();
|
|
163
221
|
}
|
|
@@ -166,6 +224,7 @@ function Action() {
|
|
|
166
224
|
pushMobxField(target, propertyKey, "action");
|
|
167
225
|
};
|
|
168
226
|
}
|
|
227
|
+
/** Alias for @Action */
|
|
169
228
|
function Mutation() {
|
|
170
229
|
return Action();
|
|
171
230
|
}
|
|
@@ -174,13 +233,57 @@ function Flow() {
|
|
|
174
233
|
pushMobxField(target, propertyKey, "flow");
|
|
175
234
|
};
|
|
176
235
|
}
|
|
236
|
+
/** Alias for @Flow */
|
|
177
237
|
function AsyncAction() {
|
|
178
238
|
return Flow();
|
|
179
239
|
}
|
|
180
|
-
|
|
240
|
+
// ─────────────────────────────────────────────────────────────
|
|
241
|
+
// Lifecycle decorators
|
|
242
|
+
// Consumed by wireLifecycle() in fragment-react-runtime.ts
|
|
243
|
+
// ─────────────────────────────────────────────────────────────
|
|
244
|
+
function OnMount() {
|
|
245
|
+
return (target, propertyKey) => {
|
|
246
|
+
const current = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.ON_MOUNT, target.constructor) ||
|
|
247
|
+
[];
|
|
248
|
+
current.push(String(propertyKey));
|
|
249
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.ON_MOUNT, current, target.constructor);
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
function OnUnmount() {
|
|
253
|
+
return (target, propertyKey) => {
|
|
254
|
+
const current = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.ON_UNMOUNT, target.constructor) || [];
|
|
255
|
+
current.push(String(propertyKey));
|
|
256
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.ON_UNMOUNT, current, target.constructor);
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
function AutorunEffect() {
|
|
181
260
|
return (target, propertyKey) => {
|
|
182
|
-
const current = Reflect.getMetadata(
|
|
261
|
+
const current = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.AUTORUN, target.constructor) ||
|
|
183
262
|
[];
|
|
263
|
+
current.push(String(propertyKey));
|
|
264
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.AUTORUN, current, target.constructor);
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
function OnEffect(selector) {
|
|
268
|
+
return (target, propertyKey) => {
|
|
269
|
+
const current = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.ON_EFFECT, target.constructor) || [];
|
|
270
|
+
current.push({ key: String(propertyKey), selector });
|
|
271
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.ON_EFFECT, current, target.constructor);
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
function WhenEffect(predicate) {
|
|
275
|
+
return (target, propertyKey) => {
|
|
276
|
+
const current = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.WHEN_EFFECT, target.constructor) || [];
|
|
277
|
+
current.push({ key: String(propertyKey), predicate });
|
|
278
|
+
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.WHEN_EFFECT, current, target.constructor);
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
// ─────────────────────────────────────────────────────────────
|
|
282
|
+
// Internal helpers
|
|
283
|
+
// ─────────────────────────────────────────────────────────────
|
|
284
|
+
function createRouteBindingDecorator(metadataKey, name) {
|
|
285
|
+
return (target, propertyKey) => {
|
|
286
|
+
const current = Reflect.getMetadata(metadataKey, target.constructor) || [];
|
|
184
287
|
current.push({ propertyKey: String(propertyKey), name });
|
|
185
288
|
Reflect.defineMetadata(metadataKey, current, target.constructor);
|
|
186
289
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend.decorators.js","sourceRoot":"","sources":["../../../src/core/decorators/frontend.decorators.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"frontend.decorators.js","sourceRoot":"","sources":["../../../src/core/decorators/frontend.decorators.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,11 @@ export declare const METADATA_KEYS: {
|
|
|
60
60
|
readonly FRONTEND_ROUTE_RESPONSE: "fragment:frontend-route-response";
|
|
61
61
|
readonly FRONTEND_ROUTE_CONTEXT: "fragment:frontend-route-context";
|
|
62
62
|
readonly MOBX_FIELDS: "fragment:mobx-fields";
|
|
63
|
+
readonly ON_MOUNT: "fragment:on_mount";
|
|
64
|
+
readonly ON_UNMOUNT: "fragment:on_unmount";
|
|
65
|
+
readonly AUTORUN: "fragment:autorun";
|
|
66
|
+
readonly ON_EFFECT: "fragment:on_effect";
|
|
67
|
+
readonly WHEN_EFFECT: "fragment:when_effect";
|
|
63
68
|
readonly API_TAGS: "fragment:api-tags";
|
|
64
69
|
readonly API_OPERATION: "fragment:api-operation";
|
|
65
70
|
readonly API_RESPONSES: "fragment:api-responses";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-keys.d.ts","sourceRoot":"","sources":["../../../src/core/metadata/metadata-keys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"metadata-keys.d.ts","sourceRoot":"","sources":["../../../src/core/metadata/metadata-keys.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmGhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -75,6 +75,11 @@ exports.METADATA_KEYS = {
|
|
|
75
75
|
FRONTEND_ROUTE_RESPONSE: "fragment:frontend-route-response",
|
|
76
76
|
FRONTEND_ROUTE_CONTEXT: "fragment:frontend-route-context",
|
|
77
77
|
MOBX_FIELDS: "fragment:mobx-fields",
|
|
78
|
+
ON_MOUNT: 'fragment:on_mount',
|
|
79
|
+
ON_UNMOUNT: 'fragment:on_unmount',
|
|
80
|
+
AUTORUN: 'fragment:autorun',
|
|
81
|
+
ON_EFFECT: 'fragment:on_effect',
|
|
82
|
+
WHEN_EFFECT: 'fragment:when_effect',
|
|
78
83
|
// Docs
|
|
79
84
|
API_TAGS: "fragment:api-tags",
|
|
80
85
|
API_OPERATION: "fragment:api-operation",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-keys.js","sourceRoot":"","sources":["../../../src/core/metadata/metadata-keys.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,mBAAmB;IACnB,WAAW,EAAE,sBAAsB;IACnC,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,qBAAqB;IACjC,OAAO,EAAE,kBAAkB;IAC3B,eAAe,EAAE,0BAA0B;IAC3C,UAAU,EAAE,qBAAqB;IACjC,kBAAkB,EAAE,6BAA6B;IACjD,KAAK,EAAE,gBAAgB;IAEvB,sBAAsB;IACtB,SAAS,EAAE,oBAAoB;IAC/B,MAAM,EAAE,iBAAiB;IACzB,iBAAiB,EAAE,4BAA4B;IAC/C,SAAS,EAAE,oBAAoB;IAC/B,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,eAAe;IAErB,oBAAoB;IACpB,WAAW,EAAE,sBAAsB;IACnC,UAAU,EAAE,qBAAqB;IACjC,cAAc,EAAE,yBAAyB;IACzC,WAAW,EAAE,sBAAsB;IACnC,aAAa,EAAE,wBAAwB;IACvC,cAAc,EAAE,yBAAyB;IAEzC,uBAAuB;IACvB,cAAc,EAAE,yBAAyB;IAEzC,yBAAyB;IACzB,oBAAoB,EAAE,+BAA+B;IACrD,2BAA2B,EAAE,sCAAsC;IACnE,uBAAuB,EAAE,kCAAkC;IAC3D,mBAAmB,EAAE,8BAA8B;IAEnD,sBAAsB;IACtB,cAAc,EAAE,yBAAyB;IACzC,UAAU,EAAE,qBAAqB;IACjC,gBAAgB,EAAE,2BAA2B;IAC7C,WAAW,EAAE,sBAAsB;IACnC,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,qBAAqB;IACjC,KAAK,EAAE,gBAAgB;IACvB,gBAAgB,EAAE,2BAA2B;IAC7C,KAAK,EAAE,gBAAgB;IAEvB,aAAa;IACb,QAAQ,EAAE,mBAAmB;IAC7B,SAAS,EAAE,oBAAoB;IAC/B,GAAG,EAAE,cAAc;IACnB,SAAS,EAAE,oBAAoB;IAC/B,MAAM,EAAE,iBAAiB;IAEzB,oBAAoB;IACpB,cAAc,EAAE,yBAAyB;IAEzC,SAAS;IACT,MAAM,EAAE,iBAAiB;IACzB,iBAAiB,EAAE,4BAA4B;IAC/C,qBAAqB,EAAE,gCAAgC;IAEvD,SAAS;IACT,MAAM,EAAE,iBAAiB;IACzB,aAAa,EAAE,wBAAwB;IAEvC,gBAAgB;IAChB,oBAAoB,EAAE,+BAA+B;IAErD,OAAO;IACP,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,mBAAmB;IAC7B,cAAc,EAAE,gBAAgB;IAChC,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,yBAAyB;IACzC,qBAAqB,EAAE,gCAAgC;IACvD,oBAAoB,EAAE,+BAA+B;IACrD,sBAAsB,EAAE,iCAAiC;IACzD,sBAAsB,EAAE,iCAAiC;IACzD,uBAAuB,EAAE,kCAAkC;IAC3D,sBAAsB,EAAE,iCAAiC;IACzD,WAAW,EAAE,sBAAsB;IAEnC,OAAO;IACP,QAAQ,EAAE,mBAAmB;IAC7B,aAAa,EAAE,wBAAwB;IACvC,aAAa,EAAE,wBAAwB;IACvC,cAAc,EAAE,yBAAyB;IACzC,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE,mBAAmB;IAC7B,aAAa,EAAE,wBAAwB;CAC/B,CAAC"}
|
|
1
|
+
{"version":3,"file":"metadata-keys.js","sourceRoot":"","sources":["../../../src/core/metadata/metadata-keys.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC3B,mBAAmB;IACnB,WAAW,EAAE,sBAAsB;IACnC,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,qBAAqB;IACjC,OAAO,EAAE,kBAAkB;IAC3B,eAAe,EAAE,0BAA0B;IAC3C,UAAU,EAAE,qBAAqB;IACjC,kBAAkB,EAAE,6BAA6B;IACjD,KAAK,EAAE,gBAAgB;IAEvB,sBAAsB;IACtB,SAAS,EAAE,oBAAoB;IAC/B,MAAM,EAAE,iBAAiB;IACzB,iBAAiB,EAAE,4BAA4B;IAC/C,SAAS,EAAE,oBAAoB;IAC/B,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,mBAAmB;IAC7B,IAAI,EAAE,eAAe;IAErB,oBAAoB;IACpB,WAAW,EAAE,sBAAsB;IACnC,UAAU,EAAE,qBAAqB;IACjC,cAAc,EAAE,yBAAyB;IACzC,WAAW,EAAE,sBAAsB;IACnC,aAAa,EAAE,wBAAwB;IACvC,cAAc,EAAE,yBAAyB;IAEzC,uBAAuB;IACvB,cAAc,EAAE,yBAAyB;IAEzC,yBAAyB;IACzB,oBAAoB,EAAE,+BAA+B;IACrD,2BAA2B,EAAE,sCAAsC;IACnE,uBAAuB,EAAE,kCAAkC;IAC3D,mBAAmB,EAAE,8BAA8B;IAEnD,sBAAsB;IACtB,cAAc,EAAE,yBAAyB;IACzC,UAAU,EAAE,qBAAqB;IACjC,gBAAgB,EAAE,2BAA2B;IAC7C,WAAW,EAAE,sBAAsB;IACnC,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,qBAAqB;IACjC,KAAK,EAAE,gBAAgB;IACvB,gBAAgB,EAAE,2BAA2B;IAC7C,KAAK,EAAE,gBAAgB;IAEvB,aAAa;IACb,QAAQ,EAAE,mBAAmB;IAC7B,SAAS,EAAE,oBAAoB;IAC/B,GAAG,EAAE,cAAc;IACnB,SAAS,EAAE,oBAAoB;IAC/B,MAAM,EAAE,iBAAiB;IAEzB,oBAAoB;IACpB,cAAc,EAAE,yBAAyB;IAEzC,SAAS;IACT,MAAM,EAAE,iBAAiB;IACzB,iBAAiB,EAAE,4BAA4B;IAC/C,qBAAqB,EAAE,gCAAgC;IAEvD,SAAS;IACT,MAAM,EAAE,iBAAiB;IACzB,aAAa,EAAE,wBAAwB;IAEvC,gBAAgB;IAChB,oBAAoB,EAAE,+BAA+B;IAErD,OAAO;IACP,GAAG,EAAE,cAAc;IACnB,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,mBAAmB;IAC7B,cAAc,EAAE,gBAAgB;IAChC,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,cAAc,EAAE,yBAAyB;IACzC,qBAAqB,EAAE,gCAAgC;IACvD,oBAAoB,EAAE,+BAA+B;IACrD,sBAAsB,EAAE,iCAAiC;IACzD,sBAAsB,EAAE,iCAAiC;IACzD,uBAAuB,EAAE,kCAAkC;IAC3D,sBAAsB,EAAE,iCAAiC;IACzD,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE,mBAAmB;IAC7B,UAAU,EAAE,qBAAqB;IACjC,OAAO,EAAE,kBAAkB;IAC3B,SAAS,EAAE,oBAAoB;IAC/B,WAAW,EAAE,sBAAsB;IAEnC,OAAO;IACP,QAAQ,EAAE,mBAAmB;IAC7B,aAAa,EAAE,wBAAwB;IACvC,aAAa,EAAE,wBAAwB;IACvC,cAAc,EAAE,yBAAyB;IACzC,WAAW,EAAE,sBAAsB;IACnC,QAAQ,EAAE,mBAAmB;IAC7B,aAAa,EAAE,wBAAwB;CAC/B,CAAC"}
|
|
@@ -69,7 +69,7 @@ async function generatePluginProject(projectPath, config) {
|
|
|
69
69
|
},
|
|
70
70
|
keywords: ["fragment", "fragment-plugin"],
|
|
71
71
|
peerDependencies: {
|
|
72
|
-
"fragment-ts": "^3.0.
|
|
72
|
+
"fragment-ts": "^3.0.12",
|
|
73
73
|
},
|
|
74
74
|
devDependencies: {
|
|
75
75
|
typescript: "^5.3.3",
|
|
@@ -126,7 +126,7 @@ async function createConfigFiles(projectPath, projectName, config) {
|
|
|
126
126
|
devDependencies.prettier = "^3.2.5";
|
|
127
127
|
}
|
|
128
128
|
const dependencies = {
|
|
129
|
-
"fragment-ts": "^3.0.
|
|
129
|
+
"fragment-ts": "^3.0.12",
|
|
130
130
|
"reflect-metadata": "^0.1.13",
|
|
131
131
|
};
|
|
132
132
|
const packageJson = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-react-runtime.d.ts","sourceRoot":"","sources":["../../../../src/platform/web/react/fragment-react-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fragment-react-runtime.d.ts","sourceRoot":"","sources":["../../../../src/platform/web/react/fragment-react-runtime.ts"],"names":[],"mappings":"AAqDA,wBAAgB,uBAAuB,CACrC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,cAAc,EAAE,UAAU,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CA8CvD;AAED,wBAAgB,uBAAuB,CACrC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,cAAc,EAAE,UAAU,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAMpD;AAED,wBAAgB,0BAA0B,CACxC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxD,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAWxD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAC1C,KAAK,EAAE,UAAU,MAAM,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAClC,MAAM,CAGR"}
|
|
@@ -6,16 +6,57 @@ exports.fragmentStatelessComponent = fragmentStatelessComponent;
|
|
|
6
6
|
exports.useFragmentStore = useFragmentStore;
|
|
7
7
|
exports.useStoreState = useStoreState;
|
|
8
8
|
const di_container_1 = require("../../../core/container/di-container");
|
|
9
|
+
const metadata_keys_1 = require("../../../core/metadata/metadata-keys");
|
|
10
|
+
const mobx_1 = require("mobx");
|
|
9
11
|
const componentCache = new WeakMap();
|
|
12
|
+
function getMeta(key, target) {
|
|
13
|
+
return Reflect.getMetadata(key, target) || [];
|
|
14
|
+
}
|
|
15
|
+
function wireLifecycle(instance, source, useEffect) {
|
|
16
|
+
const onMounts = getMeta(metadata_keys_1.METADATA_KEYS.ON_MOUNT, source);
|
|
17
|
+
const onUnmounts = getMeta(metadata_keys_1.METADATA_KEYS.ON_UNMOUNT, source);
|
|
18
|
+
const autoruns = getMeta(metadata_keys_1.METADATA_KEYS.AUTORUN, source);
|
|
19
|
+
const reactions = getMeta(metadata_keys_1.METADATA_KEYS.ON_EFFECT, source);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
const disposers = [];
|
|
22
|
+
// @OnMount
|
|
23
|
+
onMounts?.forEach((key) => instance[key]?.());
|
|
24
|
+
// @AutorunEffect
|
|
25
|
+
autoruns?.forEach((key) => {
|
|
26
|
+
disposers.push((0, mobx_1.autorun)(() => instance[key]()));
|
|
27
|
+
});
|
|
28
|
+
// @OnEffect(selector)
|
|
29
|
+
reactions?.forEach(({ key, selector }) => {
|
|
30
|
+
disposers.push((0, mobx_1.reaction)(() => selector(instance), (val, prev) => instance[key](val, prev)));
|
|
31
|
+
});
|
|
32
|
+
return () => {
|
|
33
|
+
// @OnUnmount
|
|
34
|
+
onUnmounts?.forEach((key) => instance[key]?.());
|
|
35
|
+
// dispose all reactions/autoruns
|
|
36
|
+
disposers.forEach((d) => d());
|
|
37
|
+
};
|
|
38
|
+
}, []);
|
|
39
|
+
}
|
|
10
40
|
function createFragmentComponent(componentClass) {
|
|
11
41
|
const source = componentClass.__fragmentOriginalTarget || componentClass;
|
|
12
42
|
if (componentCache.has(source)) {
|
|
13
43
|
return componentCache.get(source);
|
|
14
44
|
}
|
|
15
45
|
const { observer } = require("mobx-react-lite");
|
|
46
|
+
const { useRef, useEffect } = require("react");
|
|
16
47
|
const wrapped = observer((props) => {
|
|
17
|
-
|
|
18
|
-
|
|
48
|
+
// ✅ instance created once per mount, persists across re-renders
|
|
49
|
+
const instanceRef = useRef(null);
|
|
50
|
+
if (!instanceRef.current) {
|
|
51
|
+
instanceRef.current = di_container_1.DIContainer.getInstance().resolve(source);
|
|
52
|
+
}
|
|
53
|
+
const instance = instanceRef.current;
|
|
54
|
+
// ✅ props applied every render since they can change
|
|
55
|
+
if (props && Object.keys(props).length) {
|
|
56
|
+
Object.assign(instance, props);
|
|
57
|
+
}
|
|
58
|
+
// ✅ wire @OnMount / @OnUnmount / @AutorunEffect / @OnEffect
|
|
59
|
+
wireLifecycle(instance, source, useEffect);
|
|
19
60
|
return instance.render(props);
|
|
20
61
|
});
|
|
21
62
|
wrapped.displayName = source.name;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-react-runtime.js","sourceRoot":"","sources":["../../../../src/platform/web/react/fragment-react-runtime.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"fragment-react-runtime.js","sourceRoot":"","sources":["../../../../src/platform/web/react/fragment-react-runtime.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fragment-ts",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.12",
|
|
4
4
|
"description": "Fragment TS is a Spring Boot-inspired TypeScript framework for Express and TypeORM, built around dependency injection and decorators, with a fully modular CLI. It now supports installable API and Web surfaces so backend controllers and React-driven pages can live in one modular runtime.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|