fragment-ts 3.0.10 → 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 +112 -5
- 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,19 +79,31 @@ 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);
|
|
89
|
+
const { createFragmentComponent, } = require("../../platform/web/react/fragment-react-runtime");
|
|
90
|
+
const wrapped = createFragmentComponent(target);
|
|
91
|
+
// copy all metadata from original → wrapper
|
|
92
|
+
Reflect.getMetadataKeys(target).forEach((key) => {
|
|
93
|
+
Reflect.defineMetadata(key, Reflect.getMetadata(key, target), wrapped);
|
|
94
|
+
});
|
|
95
|
+
// register the wrapper, not the original
|
|
52
96
|
metadata_storage_1.MetadataStorage.getInstance().addClass({
|
|
53
|
-
target,
|
|
97
|
+
target: wrapped,
|
|
54
98
|
type: "ui-component",
|
|
55
99
|
scope: "transient",
|
|
56
100
|
});
|
|
57
|
-
|
|
58
|
-
return createFragmentComponent(target);
|
|
101
|
+
return wrapped;
|
|
59
102
|
};
|
|
60
103
|
}
|
|
104
|
+
// ─────────────────────────────────────────────────────────────
|
|
105
|
+
// Template / Layout
|
|
106
|
+
// ─────────────────────────────────────────────────────────────
|
|
61
107
|
function FragmentTemplate(options) {
|
|
62
108
|
return (target) => {
|
|
63
109
|
(0, injectable_decorator_1.Injectable)("transient")(target);
|
|
@@ -73,6 +119,9 @@ function FragmentTemplate(options) {
|
|
|
73
119
|
function FragmentLayout(options) {
|
|
74
120
|
return FragmentTemplate(options);
|
|
75
121
|
}
|
|
122
|
+
// ─────────────────────────────────────────────────────────────
|
|
123
|
+
// View
|
|
124
|
+
// ─────────────────────────────────────────────────────────────
|
|
76
125
|
function FragmentView() {
|
|
77
126
|
return (target) => {
|
|
78
127
|
(0, injectable_decorator_1.Injectable)("transient")(target);
|
|
@@ -83,6 +132,9 @@ function FragmentView() {
|
|
|
83
132
|
});
|
|
84
133
|
};
|
|
85
134
|
}
|
|
135
|
+
// ─────────────────────────────────────────────────────────────
|
|
136
|
+
// Route binding
|
|
137
|
+
// ─────────────────────────────────────────────────────────────
|
|
86
138
|
function Route(options) {
|
|
87
139
|
return (target) => {
|
|
88
140
|
const resolved = {
|
|
@@ -123,6 +175,9 @@ function RouteContext() {
|
|
|
123
175
|
Reflect.defineMetadata(metadata_keys_1.METADATA_KEYS.FRONTEND_ROUTE_CONTEXT, current, target.constructor);
|
|
124
176
|
};
|
|
125
177
|
}
|
|
178
|
+
// ─────────────────────────────────────────────────────────────
|
|
179
|
+
// Store injection
|
|
180
|
+
// ─────────────────────────────────────────────────────────────
|
|
126
181
|
function UseStore(token) {
|
|
127
182
|
return (0, injection_decorators_1.Inject)(token);
|
|
128
183
|
}
|
|
@@ -141,11 +196,17 @@ function StoreState(token, selector) {
|
|
|
141
196
|
});
|
|
142
197
|
};
|
|
143
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
|
+
// ─────────────────────────────────────────────────────────────
|
|
144
204
|
function Observable() {
|
|
145
205
|
return (target, propertyKey) => {
|
|
146
206
|
pushMobxField(target, propertyKey, "observable");
|
|
147
207
|
};
|
|
148
208
|
}
|
|
209
|
+
/** Alias for @Observable */
|
|
149
210
|
function State() {
|
|
150
211
|
return Observable();
|
|
151
212
|
}
|
|
@@ -154,6 +215,7 @@ function Computed() {
|
|
|
154
215
|
pushMobxField(target, propertyKey, "computed");
|
|
155
216
|
};
|
|
156
217
|
}
|
|
218
|
+
/** Alias for @Computed */
|
|
157
219
|
function Selector() {
|
|
158
220
|
return Computed();
|
|
159
221
|
}
|
|
@@ -162,6 +224,7 @@ function Action() {
|
|
|
162
224
|
pushMobxField(target, propertyKey, "action");
|
|
163
225
|
};
|
|
164
226
|
}
|
|
227
|
+
/** Alias for @Action */
|
|
165
228
|
function Mutation() {
|
|
166
229
|
return Action();
|
|
167
230
|
}
|
|
@@ -170,13 +233,57 @@ function Flow() {
|
|
|
170
233
|
pushMobxField(target, propertyKey, "flow");
|
|
171
234
|
};
|
|
172
235
|
}
|
|
236
|
+
/** Alias for @Flow */
|
|
173
237
|
function AsyncAction() {
|
|
174
238
|
return Flow();
|
|
175
239
|
}
|
|
176
|
-
|
|
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() {
|
|
177
260
|
return (target, propertyKey) => {
|
|
178
|
-
const current = Reflect.getMetadata(
|
|
261
|
+
const current = Reflect.getMetadata(metadata_keys_1.METADATA_KEYS.AUTORUN, target.constructor) ||
|
|
179
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) || [];
|
|
180
287
|
current.push({ propertyKey: String(propertyKey), name });
|
|
181
288
|
Reflect.defineMetadata(metadataKey, current, target.constructor);
|
|
182
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",
|