@kithinji/orca 1.0.18 → 1.0.20
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/browser/index.iife.js +133 -125
- package/dist/browser/index.iife.js.map +3 -3
- package/dist/browser/index.mjs +728 -638
- package/dist/browser/index.mjs.map +4 -4
- package/dist/node/index.cjs +64 -104
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.mjs +64 -104
- package/dist/node/index.mjs.map +1 -1
- package/dist/types/browser/modules/router_module/navigate.d.ts +4 -0
- package/dist/types/browser/modules/router_module/navigate.d.ts.map +1 -1
- package/dist/types/shared/jsx/types.d.ts +44 -0
- package/dist/types/shared/jsx/types.d.ts.map +1 -1
- package/package.json +4 -4
- package/README.md +0 -541
|
@@ -7,8 +7,7 @@ var kithinjiorca = (() => {
|
|
|
7
7
|
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
8
8
|
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
9
9
|
}) : x)(function(x) {
|
|
10
|
-
if (typeof require !== "undefined")
|
|
11
|
-
return require.apply(this, arguments);
|
|
10
|
+
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
12
11
|
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
13
12
|
});
|
|
14
13
|
var __export = (target, all) => {
|
|
@@ -269,35 +268,35 @@ var kithinjiorca = (() => {
|
|
|
269
268
|
var store = new Store();
|
|
270
269
|
|
|
271
270
|
// src/shared/symbols.ts
|
|
272
|
-
var DECLARATIONS_KEY = Symbol("orca:declarations");
|
|
273
|
-
var PROVIDERS_KEY = Symbol("orca:providers");
|
|
274
|
-
var CONTROLLERS_KEY = Symbol("orca:controllers");
|
|
275
|
-
var BOOTSTRAP = Symbol("orca:bootstrap");
|
|
276
|
-
var BOOTSTRAP_VNODE = Symbol("orca:bootstrap:vnode");
|
|
277
|
-
var IMPORTS_KEY = Symbol("orca:imports");
|
|
278
|
-
var EXPORTS_KEY = Symbol("orca:exports");
|
|
279
|
-
var INJECTABLE = Symbol("orca:injectable");
|
|
280
|
-
var COMPONENT = Symbol("orca:component");
|
|
281
|
-
var COMPONENT_PROVIDERS = Symbol("orca:component:providers");
|
|
282
|
-
var COMPONENT_DEPS = Symbol("orca:component:deps");
|
|
283
|
-
var COMPONENT_ROUTE = Symbol("orca:component:route");
|
|
284
|
-
var INJECT_TOKENS_KEY = Symbol("orca:injectTokens");
|
|
285
|
-
var NODE = Symbol("orca:node");
|
|
271
|
+
var DECLARATIONS_KEY = /* @__PURE__ */ Symbol("orca:declarations");
|
|
272
|
+
var PROVIDERS_KEY = /* @__PURE__ */ Symbol("orca:providers");
|
|
273
|
+
var CONTROLLERS_KEY = /* @__PURE__ */ Symbol("orca:controllers");
|
|
274
|
+
var BOOTSTRAP = /* @__PURE__ */ Symbol("orca:bootstrap");
|
|
275
|
+
var BOOTSTRAP_VNODE = /* @__PURE__ */ Symbol("orca:bootstrap:vnode");
|
|
276
|
+
var IMPORTS_KEY = /* @__PURE__ */ Symbol("orca:imports");
|
|
277
|
+
var EXPORTS_KEY = /* @__PURE__ */ Symbol("orca:exports");
|
|
278
|
+
var INJECTABLE = /* @__PURE__ */ Symbol("orca:injectable");
|
|
279
|
+
var COMPONENT = /* @__PURE__ */ Symbol("orca:component");
|
|
280
|
+
var COMPONENT_PROVIDERS = /* @__PURE__ */ Symbol("orca:component:providers");
|
|
281
|
+
var COMPONENT_DEPS = /* @__PURE__ */ Symbol("orca:component:deps");
|
|
282
|
+
var COMPONENT_ROUTE = /* @__PURE__ */ Symbol("orca:component:route");
|
|
283
|
+
var INJECT_TOKENS_KEY = /* @__PURE__ */ Symbol("orca:injectTokens");
|
|
284
|
+
var NODE = /* @__PURE__ */ Symbol("orca:node");
|
|
286
285
|
var DESIGN_PARAMTYPES = "design:paramtypes";
|
|
287
|
-
var CONTROLLER = Symbol("orca:controller");
|
|
288
|
-
var CONTROLLER_PREFIX_KEY = Symbol("orca:controllerPrefix");
|
|
289
|
-
var PARAMS_META_KEY = Symbol("orca:paramsMeta");
|
|
290
|
-
var HTTP_METHOD_KEY = Symbol("orca:method");
|
|
291
|
-
var PATH_KEY = Symbol("orca:path");
|
|
292
|
-
var EXPRESS_ADAPTER_HOST = Symbol("orca:express");
|
|
293
|
-
var SIGNATURE_METADATA_KEY = Symbol("orca:signature:schemas");
|
|
294
|
-
var SSE_ROUTE = Symbol("orca:sse:route");
|
|
295
|
-
var EVENT_HANDLER = Symbol("orca:event:handler");
|
|
296
|
-
var ERROR_ELEMENT = Symbol.for("orca:error");
|
|
297
|
-
var ORCA_ELEMENT_TYPE = Symbol.for("orca:element");
|
|
298
|
-
var ORCA_FRAGMENT_TYPE = Symbol.for("orca:fragment");
|
|
299
|
-
var ORCA_CLIENT_COMPONENT = Symbol.for("orca.client.component");
|
|
300
|
-
var PENDING_REFERENCE_TYPE = Symbol.for("orca:pending_reference");
|
|
286
|
+
var CONTROLLER = /* @__PURE__ */ Symbol("orca:controller");
|
|
287
|
+
var CONTROLLER_PREFIX_KEY = /* @__PURE__ */ Symbol("orca:controllerPrefix");
|
|
288
|
+
var PARAMS_META_KEY = /* @__PURE__ */ Symbol("orca:paramsMeta");
|
|
289
|
+
var HTTP_METHOD_KEY = /* @__PURE__ */ Symbol("orca:method");
|
|
290
|
+
var PATH_KEY = /* @__PURE__ */ Symbol("orca:path");
|
|
291
|
+
var EXPRESS_ADAPTER_HOST = /* @__PURE__ */ Symbol("orca:express");
|
|
292
|
+
var SIGNATURE_METADATA_KEY = /* @__PURE__ */ Symbol("orca:signature:schemas");
|
|
293
|
+
var SSE_ROUTE = /* @__PURE__ */ Symbol("orca:sse:route");
|
|
294
|
+
var EVENT_HANDLER = /* @__PURE__ */ Symbol("orca:event:handler");
|
|
295
|
+
var ERROR_ELEMENT = /* @__PURE__ */ Symbol.for("orca:error");
|
|
296
|
+
var ORCA_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("orca:element");
|
|
297
|
+
var ORCA_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("orca:fragment");
|
|
298
|
+
var ORCA_CLIENT_COMPONENT = /* @__PURE__ */ Symbol.for("orca.client.component");
|
|
299
|
+
var PENDING_REFERENCE_TYPE = /* @__PURE__ */ Symbol.for("orca:pending_reference");
|
|
301
300
|
|
|
302
301
|
// src/shared/types.ts
|
|
303
302
|
var HandlerParamType = /* @__PURE__ */ ((HandlerParamType2) => {
|
|
@@ -766,8 +765,7 @@ var kithinjiorca = (() => {
|
|
|
766
765
|
createInstance(provider) {
|
|
767
766
|
if ("useValue" in provider && provider.useValue !== void 0)
|
|
768
767
|
return provider.useValue;
|
|
769
|
-
if (provider.useExisting)
|
|
770
|
-
return this.resolve(provider.useExisting);
|
|
768
|
+
if (provider.useExisting) return this.resolve(provider.useExisting);
|
|
771
769
|
if (provider.useFactory) {
|
|
772
770
|
const deps2 = (provider.deps || []).map((d) => this.resolve(d));
|
|
773
771
|
return provider.useFactory(...deps2);
|
|
@@ -807,10 +805,8 @@ var kithinjiorca = (() => {
|
|
|
807
805
|
const props = {};
|
|
808
806
|
if (config) {
|
|
809
807
|
for (const propName in config) {
|
|
810
|
-
if (propName === "key")
|
|
811
|
-
|
|
812
|
-
if (propName === "ref")
|
|
813
|
-
continue;
|
|
808
|
+
if (propName === "key") continue;
|
|
809
|
+
if (propName === "ref") continue;
|
|
814
810
|
props[propName] = config[propName];
|
|
815
811
|
}
|
|
816
812
|
}
|
|
@@ -855,18 +851,15 @@ var kithinjiorca = (() => {
|
|
|
855
851
|
const normalized = [];
|
|
856
852
|
for (let i = 0; i < children.length; i++) {
|
|
857
853
|
const child = normalizeChild(children[i]);
|
|
858
|
-
if (child === null)
|
|
859
|
-
continue;
|
|
854
|
+
if (child === null) continue;
|
|
860
855
|
if (Array.isArray(child)) {
|
|
861
856
|
normalized.push(...child);
|
|
862
857
|
} else {
|
|
863
858
|
normalized.push(child);
|
|
864
859
|
}
|
|
865
860
|
}
|
|
866
|
-
if (normalized.length === 0)
|
|
867
|
-
|
|
868
|
-
if (normalized.length === 1)
|
|
869
|
-
return normalized[0];
|
|
861
|
+
if (normalized.length === 0) return null;
|
|
862
|
+
if (normalized.length === 1) return normalized[0];
|
|
870
863
|
return normalized;
|
|
871
864
|
}
|
|
872
865
|
function normalizeChild(child) {
|
|
@@ -921,8 +914,7 @@ var kithinjiorca = (() => {
|
|
|
921
914
|
if (typeof vnode.type === "string") {
|
|
922
915
|
const { children, ...attrs } = vnode.props;
|
|
923
916
|
const attrsStr = Object.entries(attrs).map(([key, value]) => {
|
|
924
|
-
if (value === true)
|
|
925
|
-
return key;
|
|
917
|
+
if (value === true) return key;
|
|
926
918
|
if (value === false || value === null || value === void 0)
|
|
927
919
|
return "";
|
|
928
920
|
return `${key}="${this.escapeHtml(String(value))}"`;
|
|
@@ -997,10 +989,8 @@ var kithinjiorca = (() => {
|
|
|
997
989
|
}
|
|
998
990
|
}
|
|
999
991
|
buildSyncTree(vnode, injector) {
|
|
1000
|
-
if (vnode == null || typeof vnode !== "object")
|
|
1001
|
-
|
|
1002
|
-
if (vnode.$$typeof !== ORCA_ELEMENT_TYPE)
|
|
1003
|
-
return vnode;
|
|
992
|
+
if (vnode == null || typeof vnode !== "object") return vnode;
|
|
993
|
+
if (vnode.$$typeof !== ORCA_ELEMENT_TYPE) return vnode;
|
|
1004
994
|
if (this.renderingNodes.has(vnode)) {
|
|
1005
995
|
throw new Error(
|
|
1006
996
|
`Circular reference detected while rendering component "${vnode.type?.name}".`
|
|
@@ -1084,8 +1074,7 @@ var kithinjiorca = (() => {
|
|
|
1084
1074
|
return this.buildSyncTree(childVNode, componentInjector);
|
|
1085
1075
|
}
|
|
1086
1076
|
mapChildren(children, injector) {
|
|
1087
|
-
if (children == null)
|
|
1088
|
-
return void 0;
|
|
1077
|
+
if (children == null) return void 0;
|
|
1089
1078
|
if (typeof children === "string" || typeof children === "number") {
|
|
1090
1079
|
return children;
|
|
1091
1080
|
}
|
|
@@ -1188,8 +1177,7 @@ var kithinjiorca = (() => {
|
|
|
1188
1177
|
}).catch((err) => Promise.reject({ id, error: err }));
|
|
1189
1178
|
this.pending.set(id, { abortController, promise: raced });
|
|
1190
1179
|
raced.then((resolved) => {
|
|
1191
|
-
if (this.processedIds.has(id))
|
|
1192
|
-
return;
|
|
1180
|
+
if (this.processedIds.has(id)) return;
|
|
1193
1181
|
this.processedIds.add(id);
|
|
1194
1182
|
this.queueResolvers.shift()?.({
|
|
1195
1183
|
...resolved,
|
|
@@ -1263,12 +1251,10 @@ var kithinjiorca = (() => {
|
|
|
1263
1251
|
}
|
|
1264
1252
|
}
|
|
1265
1253
|
findById(id) {
|
|
1266
|
-
if (this.id === id)
|
|
1267
|
-
return this;
|
|
1254
|
+
if (this.id === id) return this;
|
|
1268
1255
|
for (const child of this.children) {
|
|
1269
1256
|
const found = child.findById(id);
|
|
1270
|
-
if (found)
|
|
1271
|
-
return found;
|
|
1257
|
+
if (found) return found;
|
|
1272
1258
|
}
|
|
1273
1259
|
return null;
|
|
1274
1260
|
}
|
|
@@ -1345,9 +1331,9 @@ var kithinjiorca = (() => {
|
|
|
1345
1331
|
function effect(fn) {
|
|
1346
1332
|
const deps = /* @__PURE__ */ new Set();
|
|
1347
1333
|
let cleanupFn;
|
|
1348
|
-
const runner = () => {
|
|
1334
|
+
const runner = (() => {
|
|
1349
1335
|
runner.execute();
|
|
1350
|
-
};
|
|
1336
|
+
});
|
|
1351
1337
|
runner.deps = deps;
|
|
1352
1338
|
runner.execute = () => {
|
|
1353
1339
|
if (cleanupFn) {
|
|
@@ -1463,8 +1449,7 @@ var kithinjiorca = (() => {
|
|
|
1463
1449
|
}
|
|
1464
1450
|
return {
|
|
1465
1451
|
unsubscribe: () => {
|
|
1466
|
-
if (isUnsubscribed)
|
|
1467
|
-
return;
|
|
1452
|
+
if (isUnsubscribed) return;
|
|
1468
1453
|
isUnsubscribed = true;
|
|
1469
1454
|
if (cleanup) {
|
|
1470
1455
|
try {
|
|
@@ -1928,8 +1913,7 @@ var kithinjiorca = (() => {
|
|
|
1928
1913
|
};
|
|
1929
1914
|
}
|
|
1930
1915
|
next(value) {
|
|
1931
|
-
if (this._isCompleted || this._hasError)
|
|
1932
|
-
return;
|
|
1916
|
+
if (this._isCompleted || this._hasError) return;
|
|
1933
1917
|
const currentSubscribers = Array.from(this.subscribers);
|
|
1934
1918
|
currentSubscribers.forEach((observer) => {
|
|
1935
1919
|
if (this.subscribers.has(observer)) {
|
|
@@ -1942,8 +1926,7 @@ var kithinjiorca = (() => {
|
|
|
1942
1926
|
});
|
|
1943
1927
|
}
|
|
1944
1928
|
error(err) {
|
|
1945
|
-
if (this._isCompleted || this._hasError)
|
|
1946
|
-
return;
|
|
1929
|
+
if (this._isCompleted || this._hasError) return;
|
|
1947
1930
|
this._hasError = true;
|
|
1948
1931
|
const currentSubscribers = Array.from(this.subscribers);
|
|
1949
1932
|
currentSubscribers.forEach((observer) => {
|
|
@@ -1958,8 +1941,7 @@ var kithinjiorca = (() => {
|
|
|
1958
1941
|
this.subscribers.clear();
|
|
1959
1942
|
}
|
|
1960
1943
|
complete() {
|
|
1961
|
-
if (this._isCompleted || this._hasError)
|
|
1962
|
-
return;
|
|
1944
|
+
if (this._isCompleted || this._hasError) return;
|
|
1963
1945
|
this._isCompleted = true;
|
|
1964
1946
|
const currentSubscribers = Array.from(this.subscribers);
|
|
1965
1947
|
currentSubscribers.forEach((observer) => {
|
|
@@ -2020,12 +2002,8 @@ var kithinjiorca = (() => {
|
|
|
2020
2002
|
// src/shared/module_libs/http_client/module.ts
|
|
2021
2003
|
var __decorate = function(decorators, target, key, desc) {
|
|
2022
2004
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2023
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
2024
|
-
|
|
2025
|
-
else
|
|
2026
|
-
for (var i = decorators.length - 1; i >= 0; i--)
|
|
2027
|
-
if (d = decorators[i])
|
|
2028
|
-
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2005
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2006
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2029
2007
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2030
2008
|
};
|
|
2031
2009
|
var HttpClient = class HttpClient2 {
|
|
@@ -2344,10 +2322,8 @@ var kithinjiorca = (() => {
|
|
|
2344
2322
|
}
|
|
2345
2323
|
}
|
|
2346
2324
|
normalizeAttributeKey(key) {
|
|
2347
|
-
if (key === "className")
|
|
2348
|
-
|
|
2349
|
-
if (key === "htmlFor")
|
|
2350
|
-
return "for";
|
|
2325
|
+
if (key === "className") return "class";
|
|
2326
|
+
if (key === "htmlFor") return "for";
|
|
2351
2327
|
return key;
|
|
2352
2328
|
}
|
|
2353
2329
|
applyStyles(styles, dom) {
|
|
@@ -2367,8 +2343,7 @@ var kithinjiorca = (() => {
|
|
|
2367
2343
|
async loadClientComponent(path, name, props, container) {
|
|
2368
2344
|
try {
|
|
2369
2345
|
let register2 = function(Cls, injector2) {
|
|
2370
|
-
if (seen.has(Cls))
|
|
2371
|
-
return;
|
|
2346
|
+
if (seen.has(Cls)) return;
|
|
2372
2347
|
seen.add(Cls);
|
|
2373
2348
|
injector2.addProvider({
|
|
2374
2349
|
provide: Cls,
|
|
@@ -2442,8 +2417,7 @@ var kithinjiorca = (() => {
|
|
|
2442
2417
|
}
|
|
2443
2418
|
}
|
|
2444
2419
|
async process() {
|
|
2445
|
-
if (this.isProcessing)
|
|
2446
|
-
return;
|
|
2420
|
+
if (this.isProcessing) return;
|
|
2447
2421
|
this.isProcessing = true;
|
|
2448
2422
|
while (this.mailbox.length > 0) {
|
|
2449
2423
|
const message = this.mailbox.shift();
|
|
@@ -2477,17 +2451,12 @@ var kithinjiorca = (() => {
|
|
|
2477
2451
|
var import_socket = __require("socket.io-client");
|
|
2478
2452
|
var __decorate2 = function(decorators, target, key, desc) {
|
|
2479
2453
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2480
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
2481
|
-
|
|
2482
|
-
else
|
|
2483
|
-
for (var i = decorators.length - 1; i >= 0; i--)
|
|
2484
|
-
if (d = decorators[i])
|
|
2485
|
-
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2454
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2455
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2486
2456
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2487
2457
|
};
|
|
2488
2458
|
var __metadata = function(k, v) {
|
|
2489
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
2490
|
-
return Reflect.metadata(k, v);
|
|
2459
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
2491
2460
|
};
|
|
2492
2461
|
var Actor = class Actor2 extends BaseActor {
|
|
2493
2462
|
constructor() {
|
|
@@ -2546,17 +2515,12 @@ var kithinjiorca = (() => {
|
|
|
2546
2515
|
// src/browser/modules/router_module/navigate.ts
|
|
2547
2516
|
var __decorate3 = function(decorators, target, key, desc) {
|
|
2548
2517
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2549
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
2550
|
-
|
|
2551
|
-
else
|
|
2552
|
-
for (var i = decorators.length - 1; i >= 0; i--)
|
|
2553
|
-
if (d = decorators[i])
|
|
2554
|
-
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2518
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2519
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2555
2520
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2556
2521
|
};
|
|
2557
2522
|
var __metadata2 = function(k, v) {
|
|
2558
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
2559
|
-
return Reflect.metadata(k, v);
|
|
2523
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
2560
2524
|
};
|
|
2561
2525
|
var __param = function(paramIndex, decorator) {
|
|
2562
2526
|
return function(target, key) {
|
|
@@ -2567,35 +2531,81 @@ var kithinjiorca = (() => {
|
|
|
2567
2531
|
constructor(oscUrl) {
|
|
2568
2532
|
this.oscUrl = oscUrl;
|
|
2569
2533
|
this.cursor = 0;
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
history.
|
|
2534
|
+
this.STORAGE_KEY = "navigate_stack";
|
|
2535
|
+
const savedState = this.loadFromStorage();
|
|
2536
|
+
const historyCursor = history.state?.cursor;
|
|
2537
|
+
if (savedState && historyCursor !== void 0) {
|
|
2538
|
+
this.cursor = historyCursor;
|
|
2539
|
+
const restoredPages = savedState.routes.map(() => null);
|
|
2540
|
+
const currentRoute = window.location.pathname + window.location.search;
|
|
2541
|
+
const stream = this.createStreamForRoute(currentRoute);
|
|
2542
|
+
restoredPages[this.cursor] = stream;
|
|
2543
|
+
this.pages = new BehaviorSubject(restoredPages);
|
|
2544
|
+
} else {
|
|
2545
|
+
const initialStream = this.createStreamForCurrentUrl();
|
|
2546
|
+
this.pages = new BehaviorSubject([initialStream]);
|
|
2547
|
+
this.cursor = 0;
|
|
2548
|
+
history.replaceState({ cursor: 0 }, "");
|
|
2549
|
+
this.saveToStorage();
|
|
2550
|
+
}
|
|
2573
2551
|
window.addEventListener("popstate", (e) => {
|
|
2574
|
-
const
|
|
2575
|
-
this.cursor =
|
|
2576
|
-
|
|
2552
|
+
const newCursor = e.state?.cursor ?? 0;
|
|
2553
|
+
this.cursor = newCursor;
|
|
2554
|
+
const currentPages = [...this.pages.$value || []];
|
|
2555
|
+
if (!currentPages[newCursor]) {
|
|
2556
|
+
const savedState2 = this.loadFromStorage();
|
|
2557
|
+
const route = savedState2?.routes[newCursor] || window.location.pathname + window.location.search;
|
|
2558
|
+
const stream = this.createStreamForRoute(route);
|
|
2559
|
+
currentPages[newCursor] = stream;
|
|
2560
|
+
}
|
|
2561
|
+
this.pages.next(currentPages);
|
|
2577
2562
|
});
|
|
2578
2563
|
}
|
|
2579
|
-
|
|
2564
|
+
loadFromStorage() {
|
|
2565
|
+
try {
|
|
2566
|
+
const saved = localStorage.getItem(this.STORAGE_KEY);
|
|
2567
|
+
return saved ? JSON.parse(saved) : null;
|
|
2568
|
+
} catch {
|
|
2569
|
+
return null;
|
|
2570
|
+
}
|
|
2571
|
+
}
|
|
2572
|
+
saveToStorage() {
|
|
2573
|
+
try {
|
|
2574
|
+
const currentPages = this.pages.$value || [];
|
|
2575
|
+
const routes = currentPages.map((page, index) => {
|
|
2576
|
+
if (page && typeof page === "object" && "__route" in page) {
|
|
2577
|
+
return page.__route;
|
|
2578
|
+
}
|
|
2579
|
+
const savedState = this.loadFromStorage();
|
|
2580
|
+
return savedState?.routes[index] || "";
|
|
2581
|
+
});
|
|
2582
|
+
const state = {
|
|
2583
|
+
routes,
|
|
2584
|
+
cursor: this.cursor
|
|
2585
|
+
};
|
|
2586
|
+
localStorage.setItem(this.STORAGE_KEY, JSON.stringify(state));
|
|
2587
|
+
} catch {
|
|
2588
|
+
}
|
|
2589
|
+
}
|
|
2590
|
+
createStreamForRoute(route) {
|
|
2580
2591
|
const http = new HttpClient();
|
|
2581
2592
|
let url = this.oscUrl;
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
if (path !== "/") {
|
|
2585
|
-
const fullRoute = search ? `${path}${search}` : path;
|
|
2586
|
-
url = `${this.oscUrl}?c=${encodeURIComponent(fullRoute)}`;
|
|
2593
|
+
if (route && route !== "/") {
|
|
2594
|
+
url = `${this.oscUrl}?c=${encodeURIComponent(route)}`;
|
|
2587
2595
|
}
|
|
2588
2596
|
return http.post(url, {
|
|
2589
2597
|
stream: "ndjson",
|
|
2590
2598
|
reviver: symbolValueReviver
|
|
2591
2599
|
});
|
|
2592
2600
|
}
|
|
2601
|
+
createStreamForCurrentUrl() {
|
|
2602
|
+
const path = window.location.pathname;
|
|
2603
|
+
const search = window.location.search;
|
|
2604
|
+
const fullPath = search ? `${path}${search}` : path;
|
|
2605
|
+
return this.createStreamForRoute(fullPath);
|
|
2606
|
+
}
|
|
2593
2607
|
go(path) {
|
|
2594
|
-
const
|
|
2595
|
-
const stream = http.post(`${this.oscUrl}?c=${path}`, {
|
|
2596
|
-
stream: "ndjson",
|
|
2597
|
-
reviver: symbolValueReviver
|
|
2598
|
-
});
|
|
2608
|
+
const stream = this.createStreamForRoute(path);
|
|
2599
2609
|
stream.__route = path;
|
|
2600
2610
|
this.push(stream);
|
|
2601
2611
|
}
|
|
@@ -2610,12 +2620,14 @@ var kithinjiorca = (() => {
|
|
|
2610
2620
|
newPages.push(item);
|
|
2611
2621
|
history.pushState({ cursor: this.cursor }, "", route);
|
|
2612
2622
|
this.pages.next(newPages);
|
|
2623
|
+
this.saveToStorage();
|
|
2613
2624
|
}
|
|
2614
2625
|
replace(item) {
|
|
2615
2626
|
const currentPages = [...this.pages.$value || []];
|
|
2616
2627
|
currentPages[this.cursor] = item;
|
|
2617
2628
|
history.replaceState({ cursor: this.cursor }, "");
|
|
2618
2629
|
this.pages.next(currentPages);
|
|
2630
|
+
this.saveToStorage();
|
|
2619
2631
|
}
|
|
2620
2632
|
resolveStream(index, element) {
|
|
2621
2633
|
const currentPages = [...this.pages.$value || []];
|
|
@@ -2625,13 +2637,12 @@ var kithinjiorca = (() => {
|
|
|
2625
2637
|
}
|
|
2626
2638
|
}
|
|
2627
2639
|
goBack() {
|
|
2628
|
-
if (this.
|
|
2640
|
+
if (this.canGoBack()) {
|
|
2629
2641
|
history.back();
|
|
2630
2642
|
}
|
|
2631
2643
|
}
|
|
2632
2644
|
goForward() {
|
|
2633
|
-
|
|
2634
|
-
if (this.cursor < currentPages.length - 1) {
|
|
2645
|
+
if (this.canGoForward()) {
|
|
2635
2646
|
history.forward();
|
|
2636
2647
|
}
|
|
2637
2648
|
}
|
|
@@ -2648,8 +2659,10 @@ var kithinjiorca = (() => {
|
|
|
2648
2659
|
}
|
|
2649
2660
|
clear() {
|
|
2650
2661
|
this.cursor = 0;
|
|
2651
|
-
this.
|
|
2662
|
+
const initialStream = this.createStreamForCurrentUrl();
|
|
2663
|
+
this.pages.next([initialStream]);
|
|
2652
2664
|
history.replaceState({ cursor: 0 }, "");
|
|
2665
|
+
this.saveToStorage();
|
|
2653
2666
|
}
|
|
2654
2667
|
};
|
|
2655
2668
|
Navigate = __decorate3([
|
|
@@ -2660,17 +2673,12 @@ var kithinjiorca = (() => {
|
|
|
2660
2673
|
// src/browser/modules/router_module/outlet.ts
|
|
2661
2674
|
var __decorate4 = function(decorators, target, key, desc) {
|
|
2662
2675
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2663
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
2664
|
-
|
|
2665
|
-
else
|
|
2666
|
-
for (var i = decorators.length - 1; i >= 0; i--)
|
|
2667
|
-
if (d = decorators[i])
|
|
2668
|
-
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2676
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2677
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
2669
2678
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
2670
2679
|
};
|
|
2671
2680
|
var __metadata3 = function(k, v) {
|
|
2672
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
2673
|
-
return Reflect.metadata(k, v);
|
|
2681
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
2674
2682
|
};
|
|
2675
2683
|
var _a;
|
|
2676
2684
|
var RouterOutlet = class RouterOutlet2 extends OrcaComponent {
|