@finesoft/front 0.1.2 → 0.1.3
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/index.cjs +79 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +84 -519
- package/dist/index.d.ts +84 -519
- package/dist/index.js +76 -6
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -89,7 +89,7 @@ __export(index_exports, {
|
|
|
89
89
|
});
|
|
90
90
|
module.exports = __toCommonJS(index_exports);
|
|
91
91
|
|
|
92
|
-
// ../core/
|
|
92
|
+
// ../core/src/actions/types.ts
|
|
93
93
|
var ACTION_KINDS = {
|
|
94
94
|
FLOW: "flow",
|
|
95
95
|
EXTERNAL_URL: "externalUrl",
|
|
@@ -110,6 +110,8 @@ function makeFlowAction(url, presentationContext) {
|
|
|
110
110
|
function makeExternalUrlAction(url) {
|
|
111
111
|
return { kind: ACTION_KINDS.EXTERNAL_URL, url };
|
|
112
112
|
}
|
|
113
|
+
|
|
114
|
+
// ../core/src/actions/dispatcher.ts
|
|
113
115
|
var ActionDispatcher = class {
|
|
114
116
|
handlers = /* @__PURE__ */ new Map();
|
|
115
117
|
wiredActions = /* @__PURE__ */ new Set();
|
|
@@ -142,6 +144,8 @@ var ActionDispatcher = class {
|
|
|
142
144
|
await handler(action);
|
|
143
145
|
}
|
|
144
146
|
};
|
|
147
|
+
|
|
148
|
+
// ../core/src/intents/dispatcher.ts
|
|
145
149
|
var IntentDispatcher = class {
|
|
146
150
|
controllers = /* @__PURE__ */ new Map();
|
|
147
151
|
/** 注册一个 IntentController */
|
|
@@ -163,6 +167,8 @@ var IntentDispatcher = class {
|
|
|
163
167
|
return this.controllers.has(intentId);
|
|
164
168
|
}
|
|
165
169
|
};
|
|
170
|
+
|
|
171
|
+
// ../core/src/dependencies/container.ts
|
|
166
172
|
var Container = class {
|
|
167
173
|
registrations = /* @__PURE__ */ new Map();
|
|
168
174
|
/** 注册依赖(默认单例) */
|
|
@@ -196,12 +202,16 @@ var Container = class {
|
|
|
196
202
|
this.registrations.clear();
|
|
197
203
|
}
|
|
198
204
|
};
|
|
205
|
+
|
|
206
|
+
// ../core/src/logger/base.ts
|
|
199
207
|
var BaseLogger = class {
|
|
200
208
|
category;
|
|
201
209
|
constructor(category) {
|
|
202
210
|
this.category = category;
|
|
203
211
|
}
|
|
204
212
|
};
|
|
213
|
+
|
|
214
|
+
// ../core/src/logger/local-storage-filter.ts
|
|
205
215
|
var LEVEL_TO_NUM = {
|
|
206
216
|
"*": 4,
|
|
207
217
|
debug: 4,
|
|
@@ -261,6 +271,8 @@ function resetFilterCache() {
|
|
|
261
271
|
cachedRules = void 0;
|
|
262
272
|
cachedRaw = void 0;
|
|
263
273
|
}
|
|
274
|
+
|
|
275
|
+
// ../core/src/logger/console.ts
|
|
264
276
|
var ConsoleLogger = class extends BaseLogger {
|
|
265
277
|
debug(...args) {
|
|
266
278
|
if (shouldLog(this.category, "debug")) {
|
|
@@ -290,6 +302,8 @@ var ConsoleLoggerFactory = class {
|
|
|
290
302
|
return new ConsoleLogger(category);
|
|
291
303
|
}
|
|
292
304
|
};
|
|
305
|
+
|
|
306
|
+
// ../core/src/dependencies/make-dependencies.ts
|
|
293
307
|
var DEP_KEYS = {
|
|
294
308
|
LOGGER: "logger",
|
|
295
309
|
LOGGER_FACTORY: "loggerFactory",
|
|
@@ -380,6 +394,8 @@ function makeDependencies(container, options = {}) {
|
|
|
380
394
|
);
|
|
381
395
|
container.register(DEP_KEYS.FETCH, () => fetchFn);
|
|
382
396
|
}
|
|
397
|
+
|
|
398
|
+
// ../core/src/router/router.ts
|
|
383
399
|
var Router = class {
|
|
384
400
|
routes = [];
|
|
385
401
|
/** 添加路由规则 */
|
|
@@ -448,6 +464,8 @@ var Router = class {
|
|
|
448
464
|
}
|
|
449
465
|
}
|
|
450
466
|
};
|
|
467
|
+
|
|
468
|
+
// ../core/src/logger/composite.ts
|
|
451
469
|
var CompositeLoggerFactory = class {
|
|
452
470
|
constructor(factories) {
|
|
453
471
|
this.factories = factories;
|
|
@@ -481,6 +499,8 @@ var CompositeLogger = class {
|
|
|
481
499
|
return "";
|
|
482
500
|
}
|
|
483
501
|
};
|
|
502
|
+
|
|
503
|
+
// ../core/src/prefetched-intents/stable-stringify.ts
|
|
484
504
|
function stableStringify(obj) {
|
|
485
505
|
if (obj === null || obj === void 0) return String(obj);
|
|
486
506
|
if (typeof obj !== "object") return JSON.stringify(obj);
|
|
@@ -493,6 +513,8 @@ function stableStringify(obj) {
|
|
|
493
513
|
);
|
|
494
514
|
return "{" + parts.join(",") + "}";
|
|
495
515
|
}
|
|
516
|
+
|
|
517
|
+
// ../core/src/prefetched-intents/prefetched-intents.ts
|
|
496
518
|
var PrefetchedIntents = class _PrefetchedIntents {
|
|
497
519
|
intents;
|
|
498
520
|
constructor(intents) {
|
|
@@ -535,6 +557,8 @@ var PrefetchedIntents = class _PrefetchedIntents {
|
|
|
535
557
|
return this.intents.size;
|
|
536
558
|
}
|
|
537
559
|
};
|
|
560
|
+
|
|
561
|
+
// ../core/src/framework.ts
|
|
538
562
|
var Framework = class _Framework {
|
|
539
563
|
container;
|
|
540
564
|
intentDispatcher;
|
|
@@ -609,6 +633,8 @@ var Framework = class _Framework {
|
|
|
609
633
|
this.container.dispose();
|
|
610
634
|
}
|
|
611
635
|
};
|
|
636
|
+
|
|
637
|
+
// ../core/src/http/client.ts
|
|
612
638
|
var HttpError = class extends Error {
|
|
613
639
|
constructor(status, statusText, body) {
|
|
614
640
|
super(`HTTP ${status}: ${statusText}`);
|
|
@@ -687,6 +713,8 @@ var HttpClient = class {
|
|
|
687
713
|
return `${url.pathname}${url.search}`;
|
|
688
714
|
}
|
|
689
715
|
};
|
|
716
|
+
|
|
717
|
+
// ../core/src/intents/base-controller.ts
|
|
690
718
|
var BaseController = class {
|
|
691
719
|
/**
|
|
692
720
|
* 错误回退 — 子类可选覆写
|
|
@@ -718,6 +746,8 @@ var BaseController = class {
|
|
|
718
746
|
}
|
|
719
747
|
}
|
|
720
748
|
};
|
|
749
|
+
|
|
750
|
+
// ../core/src/data/mapper.ts
|
|
721
751
|
function pipe(...mappers) {
|
|
722
752
|
return (input) => mappers.reduce((acc, mapper) => mapper(acc), input);
|
|
723
753
|
}
|
|
@@ -733,6 +763,8 @@ function pipeAsync(...mappers) {
|
|
|
733
763
|
function mapEach(mapper) {
|
|
734
764
|
return (items) => items.map(mapper);
|
|
735
765
|
}
|
|
766
|
+
|
|
767
|
+
// ../core/src/bootstrap/define-routes.ts
|
|
736
768
|
function defineRoutes(framework, definitions) {
|
|
737
769
|
const registeredIntents = /* @__PURE__ */ new Set();
|
|
738
770
|
for (const def of definitions) {
|
|
@@ -743,6 +775,8 @@ function defineRoutes(framework, definitions) {
|
|
|
743
775
|
framework.router.add(def.path, def.intentId);
|
|
744
776
|
}
|
|
745
777
|
}
|
|
778
|
+
|
|
779
|
+
// ../core/src/utils/lru-map.ts
|
|
746
780
|
var LruMap = class {
|
|
747
781
|
map = /* @__PURE__ */ new Map();
|
|
748
782
|
capacity;
|
|
@@ -781,12 +815,16 @@ var LruMap = class {
|
|
|
781
815
|
this.map.clear();
|
|
782
816
|
}
|
|
783
817
|
};
|
|
818
|
+
|
|
819
|
+
// ../core/src/utils/optional.ts
|
|
784
820
|
function isSome(value) {
|
|
785
821
|
return value !== null && value !== void 0;
|
|
786
822
|
}
|
|
787
823
|
function isNone(value) {
|
|
788
824
|
return value === null || value === void 0;
|
|
789
825
|
}
|
|
826
|
+
|
|
827
|
+
// ../core/src/utils/url.ts
|
|
790
828
|
function removeScheme(url) {
|
|
791
829
|
return url.replace(/^https?:\/\//, "");
|
|
792
830
|
}
|
|
@@ -815,6 +853,8 @@ function buildUrl(path, params) {
|
|
|
815
853
|
const qs = searchParams.toString();
|
|
816
854
|
return qs ? `${path}?${qs}` : path;
|
|
817
855
|
}
|
|
856
|
+
|
|
857
|
+
// ../core/src/utils/uuid.ts
|
|
818
858
|
function generateUuid() {
|
|
819
859
|
if (typeof crypto !== "undefined" && crypto.randomUUID) {
|
|
820
860
|
return crypto.randomUUID();
|
|
@@ -826,7 +866,7 @@ function generateUuid() {
|
|
|
826
866
|
});
|
|
827
867
|
}
|
|
828
868
|
|
|
829
|
-
// ../browser/
|
|
869
|
+
// ../browser/src/action-handlers/external-url-action.ts
|
|
830
870
|
function registerExternalUrlHandler(deps) {
|
|
831
871
|
const { framework, log } = deps;
|
|
832
872
|
framework.onAction(
|
|
@@ -837,6 +877,8 @@ function registerExternalUrlHandler(deps) {
|
|
|
837
877
|
}
|
|
838
878
|
);
|
|
839
879
|
}
|
|
880
|
+
|
|
881
|
+
// ../browser/src/utils/try-scroll.ts
|
|
840
882
|
var MAX_TRIES = 100;
|
|
841
883
|
var FUDGE = 16;
|
|
842
884
|
var pendingFrame = null;
|
|
@@ -876,6 +918,8 @@ function tryScroll(log, getScrollableElement, scrollY) {
|
|
|
876
918
|
pendingFrame = null;
|
|
877
919
|
});
|
|
878
920
|
}
|
|
921
|
+
|
|
922
|
+
// ../browser/src/utils/history.ts
|
|
879
923
|
var HISTORY_SIZE_LIMIT = 10;
|
|
880
924
|
var History = class {
|
|
881
925
|
entries;
|
|
@@ -962,6 +1006,8 @@ var History = class {
|
|
|
962
1006
|
}
|
|
963
1007
|
}
|
|
964
1008
|
};
|
|
1009
|
+
|
|
1010
|
+
// ../browser/src/action-handlers/flow-action.ts
|
|
965
1011
|
function registerFlowActionHandler(deps) {
|
|
966
1012
|
const { framework, log, callbacks, updateApp } = deps;
|
|
967
1013
|
let isFirstPage = true;
|
|
@@ -1066,6 +1112,8 @@ function registerFlowActionHandler(deps) {
|
|
|
1066
1112
|
})();
|
|
1067
1113
|
}
|
|
1068
1114
|
}
|
|
1115
|
+
|
|
1116
|
+
// ../browser/src/action-handlers/register.ts
|
|
1069
1117
|
function registerActionHandlers(deps) {
|
|
1070
1118
|
const { framework, log, callbacks, updateApp } = deps;
|
|
1071
1119
|
registerFlowActionHandler({
|
|
@@ -1076,6 +1124,8 @@ function registerActionHandlers(deps) {
|
|
|
1076
1124
|
});
|
|
1077
1125
|
registerExternalUrlHandler({ framework, log });
|
|
1078
1126
|
}
|
|
1127
|
+
|
|
1128
|
+
// ../browser/src/server-data.ts
|
|
1079
1129
|
var SERVER_DATA_ID = "serialized-server-data";
|
|
1080
1130
|
function deserializeServerData() {
|
|
1081
1131
|
const script = document.getElementById(SERVER_DATA_ID);
|
|
@@ -1094,6 +1144,8 @@ function createPrefetchedIntentsFromDom() {
|
|
|
1094
1144
|
}
|
|
1095
1145
|
return PrefetchedIntents.fromArray(data);
|
|
1096
1146
|
}
|
|
1147
|
+
|
|
1148
|
+
// ../browser/src/start-app.ts
|
|
1097
1149
|
async function startBrowserApp(config) {
|
|
1098
1150
|
const { bootstrap, defaultLocale = "en", mount, callbacks } = config;
|
|
1099
1151
|
const prefetchedIntents = createPrefetchedIntentsFromDom();
|
|
@@ -1125,7 +1177,7 @@ async function startBrowserApp(config) {
|
|
|
1125
1177
|
}
|
|
1126
1178
|
}
|
|
1127
1179
|
|
|
1128
|
-
// ../ssr/
|
|
1180
|
+
// ../ssr/src/render.ts
|
|
1129
1181
|
async function ssrRender(options) {
|
|
1130
1182
|
const { url, frameworkConfig, bootstrap, getErrorPage, renderApp } = options;
|
|
1131
1183
|
const framework = Framework.create(frameworkConfig);
|
|
@@ -1154,6 +1206,8 @@ async function ssrRender(options) {
|
|
|
1154
1206
|
serverData
|
|
1155
1207
|
};
|
|
1156
1208
|
}
|
|
1209
|
+
|
|
1210
|
+
// ../ssr/src/create-render.ts
|
|
1157
1211
|
function createSSRRender(config) {
|
|
1158
1212
|
const { bootstrap, getErrorPage, renderApp, frameworkConfig } = config;
|
|
1159
1213
|
return (url, locale) => ssrRender({
|
|
@@ -1164,12 +1218,16 @@ function createSSRRender(config) {
|
|
|
1164
1218
|
renderApp: (page) => renderApp(page, locale)
|
|
1165
1219
|
});
|
|
1166
1220
|
}
|
|
1221
|
+
|
|
1222
|
+
// ../ssr/src/inject.ts
|
|
1167
1223
|
function injectSSRContent(options) {
|
|
1168
1224
|
const { template, locale, head, css, html, serializedData } = options;
|
|
1169
1225
|
const cssTag = css ? `<style>${css}</style>` : "";
|
|
1170
1226
|
return template.replace("<!--ssr-lang-->", locale).replace("<!--ssr-head-->", `${head}
|
|
1171
1227
|
${cssTag}`).replace("<!--ssr-body-->", html).replace("<!--ssr-data-->", serializedData);
|
|
1172
1228
|
}
|
|
1229
|
+
|
|
1230
|
+
// ../ssr/src/server-data.ts
|
|
1173
1231
|
var HTML_REPLACEMENTS = {
|
|
1174
1232
|
"<": "\\u003C",
|
|
1175
1233
|
">": "\\u003E",
|
|
@@ -1186,11 +1244,10 @@ function serializeServerData(data) {
|
|
|
1186
1244
|
);
|
|
1187
1245
|
}
|
|
1188
1246
|
|
|
1189
|
-
// ../server/
|
|
1247
|
+
// ../server/src/app.ts
|
|
1190
1248
|
var import_hono = require("hono");
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
var import_meta = {};
|
|
1249
|
+
|
|
1250
|
+
// ../server/src/locale.ts
|
|
1194
1251
|
var DEFAULT_SUPPORTED = ["zh", "en"];
|
|
1195
1252
|
var DEFAULT_LOCALE = "en";
|
|
1196
1253
|
function parseAcceptLanguage(header, supported = DEFAULT_SUPPORTED, fallback = DEFAULT_LOCALE) {
|
|
@@ -1210,6 +1267,9 @@ function parseAcceptLanguage(header, supported = DEFAULT_SUPPORTED, fallback = D
|
|
|
1210
1267
|
}
|
|
1211
1268
|
return fallback;
|
|
1212
1269
|
}
|
|
1270
|
+
|
|
1271
|
+
// ../server/src/app.ts
|
|
1272
|
+
var import_meta = {};
|
|
1213
1273
|
function createSSRApp(options) {
|
|
1214
1274
|
const {
|
|
1215
1275
|
root,
|
|
@@ -1281,6 +1341,11 @@ function createSSRApp(options) {
|
|
|
1281
1341
|
});
|
|
1282
1342
|
return app;
|
|
1283
1343
|
}
|
|
1344
|
+
|
|
1345
|
+
// ../server/src/create-server.ts
|
|
1346
|
+
var import_hono3 = require("hono");
|
|
1347
|
+
|
|
1348
|
+
// ../server/src/runtime.ts
|
|
1284
1349
|
function detectRuntime() {
|
|
1285
1350
|
return {
|
|
1286
1351
|
isDeno: typeof globalThis.Deno !== "undefined",
|
|
@@ -1306,6 +1371,9 @@ async function resolveRoot(importMetaUrl, levelsUp = 0) {
|
|
|
1306
1371
|
}
|
|
1307
1372
|
return dir;
|
|
1308
1373
|
}
|
|
1374
|
+
|
|
1375
|
+
// ../server/src/start.ts
|
|
1376
|
+
var import_hono2 = require("hono");
|
|
1309
1377
|
async function startServer(options) {
|
|
1310
1378
|
const { app, root, port = 3e3, isProduction, vite } = options;
|
|
1311
1379
|
const { isDeno, isBun, isVercel } = options.runtime ?? detectRuntime();
|
|
@@ -1341,7 +1409,7 @@ async function startServer(options) {
|
|
|
1341
1409
|
} else {
|
|
1342
1410
|
const { serveStatic } = await import("@hono/node-server/serve-static");
|
|
1343
1411
|
const { resolve } = await import("path");
|
|
1344
|
-
const prodApp = new
|
|
1412
|
+
const prodApp = new import_hono2.Hono();
|
|
1345
1413
|
prodApp.use("/*", serveStatic({ root: resolve(root, "dist/client") }));
|
|
1346
1414
|
prodApp.route("/", app);
|
|
1347
1415
|
const { serve } = await import("@hono/node-server");
|
|
@@ -1353,6 +1421,8 @@ async function startServer(options) {
|
|
|
1353
1421
|
}
|
|
1354
1422
|
return { vite };
|
|
1355
1423
|
}
|
|
1424
|
+
|
|
1425
|
+
// ../server/src/create-server.ts
|
|
1356
1426
|
async function createServer(config = {}) {
|
|
1357
1427
|
const {
|
|
1358
1428
|
root: rootOverride,
|
|
@@ -1383,7 +1453,7 @@ async function createServer(config = {}) {
|
|
|
1383
1453
|
appType: "custom"
|
|
1384
1454
|
});
|
|
1385
1455
|
}
|
|
1386
|
-
const app = new
|
|
1456
|
+
const app = new import_hono3.Hono();
|
|
1387
1457
|
if (setup) {
|
|
1388
1458
|
await setup(app);
|
|
1389
1459
|
}
|