@kithinji/orca 1.0.26 → 1.0.29

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.
Files changed (52) hide show
  1. package/dist/browser/index.iife.js +429 -714
  2. package/dist/browser/index.iife.js.map +4 -4
  3. package/dist/browser/index.mjs +1272 -750
  4. package/dist/browser/index.mjs.map +4 -4
  5. package/dist/node/index.cjs +563 -676
  6. package/dist/node/index.cjs.map +4 -4
  7. package/dist/node/index.mjs +543 -647
  8. package/dist/node/index.mjs.map +4 -4
  9. package/dist/types/browser/factory.d.ts +1 -1
  10. package/dist/types/browser/factory.d.ts.map +1 -1
  11. package/dist/types/browser/modules/router_module/navigate.d.ts +13 -5
  12. package/dist/types/browser/modules/router_module/navigate.d.ts.map +1 -1
  13. package/dist/types/browser/modules/router_module/outlet.d.ts +3 -2
  14. package/dist/types/browser/modules/router_module/outlet.d.ts.map +1 -1
  15. package/dist/types/index.browser.d.ts +0 -2
  16. package/dist/types/index.browser.d.ts.map +1 -1
  17. package/dist/types/index.node.d.ts +0 -2
  18. package/dist/types/index.node.d.ts.map +1 -1
  19. package/dist/types/node/factory.d.ts +1 -0
  20. package/dist/types/node/factory.d.ts.map +1 -1
  21. package/dist/types/shared/decorators.d.ts +13 -1
  22. package/dist/types/shared/decorators.d.ts.map +1 -1
  23. package/dist/types/shared/dom/osc.d.ts.map +1 -1
  24. package/dist/types/shared/index.d.ts +0 -2
  25. package/dist/types/shared/index.d.ts.map +1 -1
  26. package/dist/types/shared/jsx/types.d.ts +3 -0
  27. package/dist/types/shared/jsx/types.d.ts.map +1 -1
  28. package/dist/types/shared/module/compiler.d.ts +3 -0
  29. package/dist/types/shared/module/compiler.d.ts.map +1 -1
  30. package/dist/types/shared/module/injector.d.ts +8 -1
  31. package/dist/types/shared/module/injector.d.ts.map +1 -1
  32. package/dist/types/shared/module_libs/http_client/module.d.ts +1 -1
  33. package/dist/types/shared/module_libs/http_client/module.d.ts.map +1 -1
  34. package/dist/types/shared/signal/index.d.ts +1 -0
  35. package/dist/types/shared/signal/index.d.ts.map +1 -1
  36. package/dist/types/shared/signal/utils.d.ts +4 -0
  37. package/dist/types/shared/signal/utils.d.ts.map +1 -0
  38. package/dist/types/shared/symbols.d.ts +3 -0
  39. package/dist/types/shared/symbols.d.ts.map +1 -1
  40. package/dist/types/shared/types.d.ts +40 -4
  41. package/dist/types/shared/types.d.ts.map +1 -1
  42. package/package.json +3 -1
  43. package/dist/types/shared/macros/index.d.ts +0 -2
  44. package/dist/types/shared/macros/index.d.ts.map +0 -1
  45. package/dist/types/shared/observable/bsubject.d.ts +0 -11
  46. package/dist/types/shared/observable/bsubject.d.ts.map +0 -1
  47. package/dist/types/shared/observable/index.d.ts +0 -4
  48. package/dist/types/shared/observable/index.d.ts.map +0 -1
  49. package/dist/types/shared/observable/observable.d.ts +0 -39
  50. package/dist/types/shared/observable/observable.d.ts.map +0 -1
  51. package/dist/types/shared/observable/subject.d.ts +0 -15
  52. package/dist/types/shared/observable/subject.d.ts.map +0 -1
@@ -17,11 +17,11 @@ var __export = (target, all) => {
17
17
  for (var name in all)
18
18
  __defProp(target, name, { get: all[name], enumerable: true });
19
19
  };
20
- var __copyProps = (to, from2, except, desc) => {
21
- if (from2 && typeof from2 === "object" || typeof from2 === "function") {
22
- for (let key2 of __getOwnPropNames(from2))
20
+ var __copyProps = (to, from, except, desc) => {
21
+ if (from && typeof from === "object" || typeof from === "function") {
22
+ for (let key2 of __getOwnPropNames(from))
23
23
  if (!__hasOwnProp.call(to, key2) && key2 !== except)
24
- __defProp(to, key2, { get: () => from2[key2], enumerable: !(desc = __getOwnPropDesc(from2, key2)) || desc.enumerable });
24
+ __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable });
25
25
  }
26
26
  return to;
27
27
  };
@@ -88,15 +88,15 @@ var require_Reflect = __commonJS({
88
88
  } : function() {
89
89
  return MakeDictionary({});
90
90
  },
91
- has: downLevel ? function(map2, key2) {
92
- return hasOwn.call(map2, key2);
93
- } : function(map2, key2) {
94
- return key2 in map2;
91
+ has: downLevel ? function(map, key2) {
92
+ return hasOwn.call(map, key2);
93
+ } : function(map, key2) {
94
+ return key2 in map;
95
95
  },
96
- get: downLevel ? function(map2, key2) {
97
- return hasOwn.call(map2, key2) ? map2[key2] : void 0;
98
- } : function(map2, key2) {
99
- return map2[key2];
96
+ get: downLevel ? function(map, key2) {
97
+ return hasOwn.call(map, key2) ? map[key2] : void 0;
98
+ } : function(map, key2) {
99
+ return map[key2];
100
100
  }
101
101
  };
102
102
  var functionPrototype = Object.getPrototypeOf(Function);
@@ -2670,7 +2670,6 @@ __export(shared_exports, {
2670
2670
  BOOTSTRAP: () => BOOTSTRAP,
2671
2671
  BOOTSTRAP_VNODE: () => BOOTSTRAP_VNODE,
2672
2672
  BaseActor: () => BaseActor,
2673
- BehaviorSubject: () => BehaviorSubject,
2674
2673
  Body: () => Body,
2675
2674
  COMPONENT: () => COMPONENT,
2676
2675
  COMPONENT_DEPS: () => COMPONENT_DEPS,
@@ -2689,6 +2688,7 @@ __export(shared_exports, {
2689
2688
  EXPORTS_KEY: () => EXPORTS_KEY,
2690
2689
  EXPRESS_ADAPTER_HOST: () => EXPRESS_ADAPTER_HOST,
2691
2690
  Fragment: () => Fragment,
2691
+ GUARDS_KEY: () => GUARDS_KEY,
2692
2692
  Get: () => Get,
2693
2693
  HTTP_METHOD_KEY: () => HTTP_METHOD_KEY,
2694
2694
  HandlerParamType: () => HandlerParamType,
@@ -2698,6 +2698,7 @@ __export(shared_exports, {
2698
2698
  IMPORTS_KEY: () => IMPORTS_KEY,
2699
2699
  INJECTABLE: () => INJECTABLE,
2700
2700
  INJECT_TOKENS_KEY: () => INJECT_TOKENS_KEY,
2701
+ INTERCEPTORS_KEY: () => INTERCEPTORS_KEY,
2701
2702
  Inject: () => Inject,
2702
2703
  Injectable: () => Injectable,
2703
2704
  Injector: () => Injector,
@@ -2708,7 +2709,6 @@ __export(shared_exports, {
2708
2709
  ORCA_ELEMENT_TYPE: () => ORCA_ELEMENT_TYPE,
2709
2710
  ORCA_FRAGMENT_TYPE: () => ORCA_FRAGMENT_TYPE,
2710
2711
  OSC: () => OSC,
2711
- Observable: () => Observable,
2712
2712
  OrcaComponent: () => OrcaComponent,
2713
2713
  PARAMS_META_KEY: () => PARAMS_META_KEY,
2714
2714
  PATH_KEY: () => PATH_KEY,
@@ -2718,60 +2718,67 @@ __export(shared_exports, {
2718
2718
  Post: () => Post,
2719
2719
  ProviderNormalizer: () => ProviderNormalizer,
2720
2720
  Query: () => Query,
2721
+ REQUEST_CONTEXT: () => REQUEST_CONTEXT,
2722
+ Req: () => Req,
2723
+ Res: () => Res,
2721
2724
  SIGNATURE_METADATA_KEY: () => SIGNATURE_METADATA_KEY,
2722
2725
  SSE_ROUTE: () => SSE_ROUTE,
2726
+ SetMetadata: () => SetMetadata,
2727
+ Shared: () => Shared,
2723
2728
  Signature: () => Signature,
2724
2729
  Sse: () => Sse,
2725
2730
  StreamRenderer: () => StreamRenderer,
2726
2731
  StringRenderer: () => StringRenderer,
2727
- Subject: () => Subject,
2728
2732
  Subscribe: () => Subscribe,
2733
+ UploadedFile: () => UploadedFile,
2734
+ UploadedFiles: () => UploadedFiles,
2735
+ UseGuards: () => UseGuards,
2736
+ UseInterceptors: () => UseInterceptors,
2729
2737
  VNode: () => VNode,
2730
- assert$: () => assert$,
2738
+ applyDecorators: () => applyDecorators,
2731
2739
  batch: () => batch,
2732
- catchError: () => catchError,
2733
2740
  collectAllProvidersFromNode: () => collectAllProvidersFromNode,
2734
2741
  computed: () => computed,
2735
- concatMap: () => concatMap,
2736
2742
  createRoot: () => createRoot,
2737
- debounceTime: () => debounceTime,
2738
- distinctUntilChanged: () => distinctUntilChanged,
2739
2743
  effect: () => effect,
2740
- filter: () => filter2,
2741
- from: () => from,
2742
2744
  getCurrentInjector: () => getCurrentInjector,
2745
+ getGuards: () => getGuards,
2746
+ getInterceptors: () => getInterceptors,
2743
2747
  getSignatureMetadata: () => getSignatureMetadata,
2744
2748
  hasSignature: () => hasSignature,
2745
- interval: () => interval,
2746
2749
  isClassComponent: () => isClassComponent,
2747
2750
  isFragment: () => isFragment,
2748
2751
  isIntrinsicElement: () => isIntrinsicElement,
2749
- isObservable: () => isObservable,
2750
2752
  isSignal: () => isSignal,
2751
2753
  jsx: () => jsx,
2752
2754
  jsxs: () => jsxs,
2753
- map: () => map,
2754
- mergeMap: () => mergeMap,
2755
- observable: () => observable,
2756
- of: () => of,
2755
+ mixin: () => mixin,
2757
2756
  parseSignatureSchemas: () => parseSignatureSchemas,
2758
- reduce: () => reduce,
2759
- scan: () => scan,
2760
2757
  setCurrentInjector: () => setCurrentInjector,
2761
2758
  signal: () => signal,
2762
- skip: () => skip,
2763
- startWith: () => startWith,
2764
2759
  store: () => store,
2765
- switchMap: () => switchMap,
2766
2760
  symbolValueReplacer: () => symbolValueReplacer,
2767
2761
  symbolValueReviver: () => symbolValueReviver,
2768
- take: () => take,
2769
- tap: () => tap,
2770
- throttleTime: () => throttleTime,
2771
2762
  toSignal: () => toSignal,
2772
2763
  untracked: () => untracked
2773
2764
  });
2774
2765
 
2766
+ // ../../node_modules/.pnpm/uid@2.0.2/node_modules/uid/dist/index.mjs
2767
+ var IDX = 256;
2768
+ var HEX = [];
2769
+ var SIZE = 256;
2770
+ var BUFFER;
2771
+ while (IDX--) HEX[IDX] = (IDX + 256).toString(16).substring(1);
2772
+ function uid(len) {
2773
+ var i = 0, tmp = len || 11;
2774
+ if (!BUFFER || IDX + tmp > SIZE * 2) {
2775
+ for (BUFFER = "", IDX = 0; i < SIZE; i++) {
2776
+ BUFFER += HEX[Math.random() * 256 | 0];
2777
+ }
2778
+ }
2779
+ return BUFFER.substring(IDX, IDX++ + tmp);
2780
+ }
2781
+
2775
2782
  // src/shared/store.ts
2776
2783
  var Store = class {
2777
2784
  constructor() {
@@ -2816,6 +2823,9 @@ var EXPRESS_ADAPTER_HOST = /* @__PURE__ */ Symbol("orca:express");
2816
2823
  var SIGNATURE_METADATA_KEY = /* @__PURE__ */ Symbol("orca:signature:schemas");
2817
2824
  var SSE_ROUTE = /* @__PURE__ */ Symbol("orca:sse:route");
2818
2825
  var EVENT_HANDLER = /* @__PURE__ */ Symbol("orca:event:handler");
2826
+ var INTERCEPTORS_KEY = /* @__PURE__ */ Symbol("interceptors");
2827
+ var GUARDS_KEY = /* @__PURE__ */ Symbol("guards");
2828
+ var REQUEST_CONTEXT = /* @__PURE__ */ Symbol("orca:request");
2819
2829
  var ERROR_ELEMENT = /* @__PURE__ */ Symbol.for("orca:error");
2820
2830
  var ORCA_ELEMENT_TYPE = /* @__PURE__ */ Symbol.for("orca:element");
2821
2831
  var ORCA_FRAGMENT_TYPE = /* @__PURE__ */ Symbol.for("orca:fragment");
@@ -2830,6 +2840,8 @@ var HandlerParamType = /* @__PURE__ */ ((HandlerParamType2) => {
2830
2840
  HandlerParamType2["HEADERS"] = "HEADERS";
2831
2841
  HandlerParamType2["REQUEST"] = "REQUEST";
2832
2842
  HandlerParamType2["RESPONSE"] = "RESPONSE";
2843
+ HandlerParamType2["FILE"] = "FILE";
2844
+ HandlerParamType2["FILES"] = "FILES";
2833
2845
  return HandlerParamType2;
2834
2846
  })(HandlerParamType || {});
2835
2847
  var HttpMethod = /* @__PURE__ */ ((HttpMethod2) => {
@@ -2855,6 +2867,13 @@ function Injectable() {
2855
2867
  return target;
2856
2868
  };
2857
2869
  }
2870
+ function mixin(mixinClass) {
2871
+ Object.defineProperty(mixinClass, "name", {
2872
+ value: uid(21)
2873
+ });
2874
+ Injectable()(mixinClass);
2875
+ return mixinClass;
2876
+ }
2858
2877
  function Component(params = {}) {
2859
2878
  return function(target) {
2860
2879
  store.update("components", (current) => {
@@ -2871,7 +2890,7 @@ function Component(params = {}) {
2871
2890
  }
2872
2891
  Reflect.defineMetadata(COMPONENT, true, target);
2873
2892
  Reflect.defineMetadata(COMPONENT_PROVIDERS, params.providers || [], target);
2874
- Reflect.defineMetadata(COMPONENT_DEPS, params.deps || [], target);
2893
+ Reflect.defineMetadata(COMPONENT_DEPS, params.inject || [], target);
2875
2894
  return target;
2876
2895
  };
2877
2896
  }
@@ -2915,6 +2934,18 @@ function Body(key2) {
2915
2934
  function Query(key2) {
2916
2935
  return getHandlerParamDecorator("QUERY" /* QUERY */, key2);
2917
2936
  }
2937
+ function UploadedFile() {
2938
+ return getHandlerParamDecorator("FILE" /* FILE */);
2939
+ }
2940
+ function UploadedFiles() {
2941
+ return getHandlerParamDecorator("FILES" /* FILES */);
2942
+ }
2943
+ function Req() {
2944
+ return getHandlerParamDecorator("REQUEST" /* REQUEST */);
2945
+ }
2946
+ function Res() {
2947
+ return getHandlerParamDecorator("RESPONSE" /* RESPONSE */);
2948
+ }
2918
2949
  function getRouteDecorator(httpMethod, path) {
2919
2950
  return function(target, key2, descriptor) {
2920
2951
  Reflect.defineMetadata(HTTP_METHOD_KEY, httpMethod, target, key2);
@@ -2934,6 +2965,10 @@ function Sse(path) {
2934
2965
  Reflect.defineMetadata(HTTP_METHOD_KEY, "get" /* GET */, target, propertyKey);
2935
2966
  };
2936
2967
  }
2968
+ function Shared() {
2969
+ return function(target, _propertyKey, parameterIndex) {
2970
+ };
2971
+ }
2937
2972
  function Subscribe(pattern) {
2938
2973
  return function(target, propertyKey, descriptor) {
2939
2974
  Reflect.defineMetadata(EVENT_HANDLER, pattern, target, propertyKey);
@@ -2972,6 +3007,61 @@ function parseSignatureSchemas(schemas, paramCount) {
2972
3007
  }
2973
3008
  return { paramSchemas, returnSchema };
2974
3009
  }
3010
+ function UseInterceptors(...interceptors) {
3011
+ return function(target, propertyKey, descriptor) {
3012
+ if (propertyKey && descriptor) {
3013
+ const existing = Reflect.getMetadata(INTERCEPTORS_KEY, target, propertyKey) || [];
3014
+ Reflect.defineMetadata(INTERCEPTORS_KEY, [...existing, ...interceptors], target, propertyKey);
3015
+ } else {
3016
+ const existing = Reflect.getMetadata(INTERCEPTORS_KEY, target) || [];
3017
+ Reflect.defineMetadata(INTERCEPTORS_KEY, [...existing, ...interceptors], target);
3018
+ }
3019
+ };
3020
+ }
3021
+ function getInterceptors(target, propertyKey) {
3022
+ const classInterceptors = Reflect.getMetadata(INTERCEPTORS_KEY, target.constructor) || [];
3023
+ const methodInterceptors = Reflect.getMetadata(INTERCEPTORS_KEY, target, propertyKey) || [];
3024
+ return [...classInterceptors, ...methodInterceptors];
3025
+ }
3026
+ function UseGuards(...guards) {
3027
+ return function(target, propertyKey, descriptor) {
3028
+ if (propertyKey && descriptor) {
3029
+ const existing = Reflect.getMetadata(GUARDS_KEY, target, propertyKey) || [];
3030
+ Reflect.defineMetadata(GUARDS_KEY, [...existing, ...guards], target, propertyKey);
3031
+ } else {
3032
+ const existing = Reflect.getMetadata(GUARDS_KEY, target) || [];
3033
+ Reflect.defineMetadata(GUARDS_KEY, [...existing, ...guards], target);
3034
+ }
3035
+ };
3036
+ }
3037
+ function getGuards(target, propertyKey) {
3038
+ const classGuards = Reflect.getMetadata(GUARDS_KEY, target.constructor) || [];
3039
+ const methodGuards = Reflect.getMetadata(GUARDS_KEY, target, propertyKey) || [];
3040
+ return [...classGuards, ...methodGuards];
3041
+ }
3042
+ var SetMetadata = (metadataKey, metadataValue) => {
3043
+ const decoratorFactory = (target, key2, descriptor) => {
3044
+ if (descriptor) {
3045
+ Reflect.defineMetadata(metadataKey, metadataValue, descriptor.value);
3046
+ return descriptor;
3047
+ }
3048
+ Reflect.defineMetadata(metadataKey, metadataValue, target);
3049
+ return target;
3050
+ };
3051
+ decoratorFactory.KEY = metadataKey;
3052
+ return decoratorFactory;
3053
+ };
3054
+ function applyDecorators(...decorators) {
3055
+ return (target, propertyKey, descriptor) => {
3056
+ for (const decorator of decorators) {
3057
+ if (target instanceof Function && !descriptor) {
3058
+ decorator(target);
3059
+ continue;
3060
+ }
3061
+ decorator(target, propertyKey, descriptor);
3062
+ }
3063
+ };
3064
+ }
2975
3065
 
2976
3066
  // src/shared/module/node.ts
2977
3067
  var ProviderNormalizer = class {
@@ -3033,10 +3123,11 @@ var Compiler = class {
3033
3123
  }
3034
3124
  createNode(moduleOrDynamic) {
3035
3125
  const target = this.isDynamicModule(moduleOrDynamic) ? moduleOrDynamic.module : moduleOrDynamic;
3036
- if (this.nodes.has(target.name))
3037
- return this.nodes.get(target.name);
3038
- const node = new Node2(target.name);
3039
- this.nodes.set(target.name, node);
3126
+ const nodeKey = this.getNodeKey(moduleOrDynamic, target);
3127
+ if (this.nodes.has(nodeKey))
3128
+ return this.nodes.get(nodeKey);
3129
+ const node = new Node2(nodeKey);
3130
+ this.nodes.set(nodeKey, node);
3040
3131
  const imports = this.getImports(moduleOrDynamic);
3041
3132
  node.setChildren(imports.map((imp) => this.createNode(imp)));
3042
3133
  const providers = this.getProviders(moduleOrDynamic);
@@ -3075,6 +3166,38 @@ var Compiler = class {
3075
3166
  this.getExports(moduleOrDynamic).forEach((exp) => node.addExport(exp));
3076
3167
  return node;
3077
3168
  }
3169
+ getNodeKey(moduleOrDynamic, target) {
3170
+ if (this.isDynamicModule(moduleOrDynamic)) {
3171
+ if (moduleOrDynamic.__uniqueId) {
3172
+ return `${target.name}:${moduleOrDynamic.__uniqueId}`;
3173
+ }
3174
+ const autoId = this.generateAutoId(moduleOrDynamic);
3175
+ if (autoId) {
3176
+ return `${target.name}:${autoId}`;
3177
+ }
3178
+ }
3179
+ return target.name;
3180
+ }
3181
+ generateAutoId(dynamicModule) {
3182
+ const parts2 = [];
3183
+ if (dynamicModule.providers && dynamicModule.providers.length > 0) {
3184
+ const providerTokens = dynamicModule.providers.map((p) => this.getProviderToken(p)).map((t) => typeof t === "function" ? t.name : String(t)).sort().join(",");
3185
+ parts2.push(`p:${providerTokens}`);
3186
+ }
3187
+ if (dynamicModule.exports && dynamicModule.exports.length > 0) {
3188
+ const exportTokens = dynamicModule.exports.map((t) => typeof t === "function" ? t.name : String(t)).sort().join(",");
3189
+ parts2.push(`e:${exportTokens}`);
3190
+ }
3191
+ if (dynamicModule.controllers && dynamicModule.controllers.length > 0) {
3192
+ const controllerNames = dynamicModule.controllers.map((c) => c.name).sort().join(",");
3193
+ parts2.push(`c:${controllerNames}`);
3194
+ }
3195
+ if (dynamicModule.declarations && dynamicModule.declarations.length > 0) {
3196
+ const declarationNames = dynamicModule.declarations.map((d) => d.name).sort().join(",");
3197
+ parts2.push(`d:${declarationNames}`);
3198
+ }
3199
+ return parts2.length > 0 ? parts2.join("|") : null;
3200
+ }
3078
3201
  validate(rootNode) {
3079
3202
  const errors = [];
3080
3203
  const allNodes = /* @__PURE__ */ new Map();
@@ -3171,14 +3294,23 @@ var Compiler = class {
3171
3294
  return typeof provider === "function" ? provider : provider.provide;
3172
3295
  }
3173
3296
  extractDependencies(item) {
3174
- if (typeof item === "object" && "deps" in item && item.deps)
3175
- return item.deps;
3297
+ if (typeof item === "object" && "inject" in item && item.inject) {
3298
+ return item.inject.filter((dep) => {
3299
+ if (this.isOptionalDependency(dep)) {
3300
+ return !dep.optional;
3301
+ }
3302
+ return true;
3303
+ }).map((dep) => this.isOptionalDependency(dep) ? dep.token : dep);
3304
+ }
3176
3305
  if (typeof item === "object" && item.useClass)
3177
3306
  return this.getConstructorDependencies(item.useClass);
3178
3307
  if (typeof item === "function")
3179
3308
  return this.getConstructorDependencies(item);
3180
3309
  return [];
3181
3310
  }
3311
+ isOptionalDependency(dep) {
3312
+ return typeof dep === "object" && "token" in dep && "optional" in dep;
3313
+ }
3182
3314
  getConstructorDependencies(constructor) {
3183
3315
  const injectTokens = Reflect.getOwnMetadata(INJECT_TOKENS_KEY, constructor) || /* @__PURE__ */ new Map();
3184
3316
  const paramTypes = Reflect.getMetadata(DESIGN_PARAMTYPES, constructor) || [];
@@ -3253,9 +3385,10 @@ var Compiler = class {
3253
3385
  };
3254
3386
 
3255
3387
  // src/shared/module/injector.ts
3256
- var Injector = class {
3388
+ var Injector = class _Injector {
3257
3389
  constructor(providers, parent) {
3258
3390
  this.instanceCache = /* @__PURE__ */ new Map();
3391
+ this.promiseCache = /* @__PURE__ */ new Map();
3259
3392
  this.providerMap = /* @__PURE__ */ new Map();
3260
3393
  this.parent = parent;
3261
3394
  providers.forEach((p) => {
@@ -3263,14 +3396,20 @@ var Injector = class {
3263
3396
  this.providerMap.set(normalized.provide, normalized);
3264
3397
  });
3265
3398
  }
3399
+ createChild(providers) {
3400
+ return new _Injector(providers, this);
3401
+ }
3266
3402
  addProvider(provider) {
3267
3403
  const normalized = ProviderNormalizer.normalize(provider);
3268
3404
  this.providerMap.set(normalized.provide, normalized);
3269
3405
  }
3270
- resolve(token) {
3406
+ async resolve(token) {
3271
3407
  if (this.instanceCache.has(token)) {
3272
3408
  return this.instanceCache.get(token);
3273
3409
  }
3410
+ if (this.promiseCache.has(token)) {
3411
+ return this.promiseCache.get(token);
3412
+ }
3274
3413
  const provider = this.providerMap.get(token);
3275
3414
  if (!provider) {
3276
3415
  if (this.parent) {
@@ -3280,23 +3419,101 @@ var Injector = class {
3280
3419
  `No provider for token: ${typeof token === "function" ? token.name : String(token)}`
3281
3420
  );
3282
3421
  }
3283
- const instance = this.createInstance(provider);
3422
+ const instancePromise = this.createInstance(provider);
3423
+ this.promiseCache.set(token, instancePromise);
3424
+ try {
3425
+ const instance = await instancePromise;
3426
+ if (provider.scope !== "transient") {
3427
+ this.instanceCache.set(token, instance);
3428
+ }
3429
+ return instance;
3430
+ } finally {
3431
+ this.promiseCache.delete(token);
3432
+ }
3433
+ }
3434
+ resolveSync(token) {
3435
+ if (this.instanceCache.has(token)) {
3436
+ return this.instanceCache.get(token);
3437
+ }
3438
+ const provider = this.providerMap.get(token);
3439
+ if (!provider) {
3440
+ if (this.parent) {
3441
+ return this.parent.resolveSync(token);
3442
+ }
3443
+ throw new Error(
3444
+ `No provider for token: ${typeof token === "function" ? token.name : String(token)}`
3445
+ );
3446
+ }
3447
+ const instance = this.createInstanceSync(provider);
3284
3448
  if (provider.scope !== "transient") {
3285
3449
  this.instanceCache.set(token, instance);
3286
3450
  }
3287
3451
  return instance;
3288
3452
  }
3289
- createInstance(provider) {
3290
- if ("useValue" in provider && provider.useValue !== void 0)
3291
- return provider.useValue;
3453
+ async createInstance(provider) {
3454
+ if ("useValue" in provider) return provider.useValue;
3292
3455
  if (provider.useExisting) return this.resolve(provider.useExisting);
3293
3456
  if (provider.useFactory) {
3294
- const deps2 = (provider.deps || []).map((d) => this.resolve(d));
3457
+ const deps2 = await Promise.all(
3458
+ (provider.inject || []).map((d) => this.resolveDependency(d))
3459
+ );
3295
3460
  return provider.useFactory(...deps2);
3296
3461
  }
3297
3462
  const Ctor = provider.useClass || provider.provide;
3298
- const deps = provider.deps || this.getConstructorDeps(Ctor);
3299
- return new Ctor(...deps.map((d) => this.resolve(d)));
3463
+ const deps = provider.inject || this.getConstructorDeps(Ctor);
3464
+ const resolvedDeps = await Promise.all(
3465
+ deps.map((d) => this.resolveDependency(d))
3466
+ );
3467
+ return new Ctor(...resolvedDeps);
3468
+ }
3469
+ createInstanceSync(provider) {
3470
+ if ("useValue" in provider && provider.useValue !== void 0)
3471
+ return provider.useValue;
3472
+ if (provider.useExisting) return this.resolveSync(provider.useExisting);
3473
+ if (provider.useFactory) {
3474
+ const deps2 = (provider.inject || []).map(
3475
+ (d) => this.resolveDependencySync(d)
3476
+ );
3477
+ const result = provider.useFactory(...deps2);
3478
+ if (result instanceof Promise) {
3479
+ throw new Error(
3480
+ `Async factory detected but resolveSync() was called. Use resolve() instead.`
3481
+ );
3482
+ }
3483
+ return result;
3484
+ }
3485
+ const Ctor = provider.useClass || provider.provide;
3486
+ const deps = provider.inject || this.getConstructorDeps(Ctor);
3487
+ return new Ctor(...deps.map((d) => this.resolveDependencySync(d)));
3488
+ }
3489
+ async resolveDependency(dep) {
3490
+ if (this.isOptionalDependency(dep)) {
3491
+ try {
3492
+ return await this.resolve(dep.token);
3493
+ } catch (error) {
3494
+ if (dep.optional) {
3495
+ return void 0;
3496
+ }
3497
+ throw error;
3498
+ }
3499
+ }
3500
+ return this.resolve(dep);
3501
+ }
3502
+ resolveDependencySync(dep) {
3503
+ if (this.isOptionalDependency(dep)) {
3504
+ try {
3505
+ return this.resolveSync(dep.token);
3506
+ } catch (error) {
3507
+ if (dep.optional) {
3508
+ return void 0;
3509
+ }
3510
+ throw error;
3511
+ }
3512
+ }
3513
+ return this.resolveSync(dep);
3514
+ }
3515
+ isOptionalDependency(dep) {
3516
+ return typeof dep === "object" && dep !== null && "token" in dep && "optional" in dep;
3300
3517
  }
3301
3518
  getConstructorDeps(ctor) {
3302
3519
  const injectTokens = Reflect.getOwnMetadata(INJECT_TOKENS_KEY, ctor) || /* @__PURE__ */ new Map();
@@ -3378,14 +3595,14 @@ function v4(options, buf, offset) {
3378
3595
  var v4_default = v4;
3379
3596
 
3380
3597
  // src/shared/jsx/jsx-runtime.ts
3381
- function jsx(type, config, maybeKey) {
3382
- const key2 = maybeKey !== void 0 ? maybeKey : config?.key ?? null;
3598
+ function jsx(type, config2, maybeKey) {
3599
+ const key2 = maybeKey !== void 0 ? maybeKey : config2?.key ?? null;
3383
3600
  const props = {};
3384
- if (config) {
3385
- for (const propName in config) {
3601
+ if (config2) {
3602
+ for (const propName in config2) {
3386
3603
  if (propName === "key") continue;
3387
3604
  if (propName === "ref") continue;
3388
- props[propName] = config[propName];
3605
+ props[propName] = config2[propName];
3389
3606
  }
3390
3607
  }
3391
3608
  if (props.children !== void 0) {
@@ -3522,14 +3739,14 @@ var StringRenderer = class {
3522
3739
  return "";
3523
3740
  }
3524
3741
  escapeHtml(text) {
3525
- const map2 = {
3742
+ const map = {
3526
3743
  "&": "&amp;",
3527
3744
  "<": "&lt;",
3528
3745
  ">": "&gt;",
3529
3746
  '"': "&quot;",
3530
3747
  "'": "&#039;"
3531
3748
  };
3532
- return text.replace(/[&<>"']/g, (m) => map2[m]);
3749
+ return text.replace(/[&<>"']/g, (m) => map[m]);
3533
3750
  }
3534
3751
  };
3535
3752
 
@@ -6149,7 +6366,7 @@ function encodeXML(str) {
6149
6366
  }
6150
6367
  return ret + str.substr(lastIdx);
6151
6368
  }
6152
- function getEscaper(regex, map2) {
6369
+ function getEscaper(regex, map) {
6153
6370
  return function escape3(data) {
6154
6371
  let match;
6155
6372
  let lastIdx = 0;
@@ -6158,7 +6375,7 @@ function getEscaper(regex, map2) {
6158
6375
  if (lastIdx !== match.index) {
6159
6376
  result += data.substring(lastIdx, match.index);
6160
6377
  }
6161
- result += map2.get(match[0].charCodeAt(0));
6378
+ result += map.get(match[0].charCodeAt(0));
6162
6379
  lastIdx = match.index + 1;
6163
6380
  }
6164
6381
  return result + data.substring(lastIdx);
@@ -7617,9 +7834,9 @@ function dispatch(event, listener) {
7617
7834
  return event._stopImmediatePropagationFlag;
7618
7835
  }
7619
7836
  function invokeListeners({ currentTarget, target }) {
7620
- const map2 = wm.get(currentTarget);
7621
- if (map2 && map2.has(this.type)) {
7622
- const listeners = map2.get(this.type);
7837
+ const map = wm.get(currentTarget);
7838
+ if (map && map.has(this.type)) {
7839
+ const listeners = map.get(this.type);
7623
7840
  if (currentTarget === target) {
7624
7841
  this.eventPhase = this.AT_TARGET;
7625
7842
  } else {
@@ -7649,17 +7866,17 @@ var DOMEventTarget = class {
7649
7866
  return null;
7650
7867
  }
7651
7868
  addEventListener(type, listener, options) {
7652
- const map2 = wm.get(this);
7653
- if (!map2.has(type))
7654
- map2.set(type, /* @__PURE__ */ new Map());
7655
- map2.get(type).set(listener, options);
7869
+ const map = wm.get(this);
7870
+ if (!map.has(type))
7871
+ map.set(type, /* @__PURE__ */ new Map());
7872
+ map.get(type).set(listener, options);
7656
7873
  }
7657
7874
  removeEventListener(type, listener) {
7658
- const map2 = wm.get(this);
7659
- if (map2.has(type)) {
7660
- const listeners = map2.get(type);
7875
+ const map = wm.get(this);
7876
+ if (map.has(type)) {
7877
+ const listeners = map.get(type);
7661
7878
  if (listeners.delete(listener) && !listeners.size)
7662
- map2.delete(type);
7879
+ map.delete(type);
7663
7880
  }
7664
7881
  }
7665
7882
  dispatchEvent(event) {
@@ -8992,15 +9209,15 @@ var filters = {
8992
9209
  return (parent == null || !adapter2.isTag(parent)) && next(elem);
8993
9210
  };
8994
9211
  },
8995
- scope(next, rule, options, context) {
9212
+ scope(next, rule, options, context2) {
8996
9213
  const { equals } = options;
8997
- if (!context || context.length === 0) {
9214
+ if (!context2 || context2.length === 0) {
8998
9215
  return filters["root"](next, rule, options);
8999
9216
  }
9000
- if (context.length === 1) {
9001
- return (elem) => equals(context[0], elem) && next(elem);
9217
+ if (context2.length === 1) {
9218
+ return (elem) => equals(context2[0], elem) && next(elem);
9002
9219
  }
9003
- return (elem) => context.includes(elem) && next(elem);
9220
+ return (elem) => context2.includes(elem) && next(elem);
9004
9221
  },
9005
9222
  hover: dynamicStatePseudo("isHovered"),
9006
9223
  visited: dynamicStatePseudo("isVisited"),
@@ -9149,8 +9366,8 @@ function copyOptions(options) {
9149
9366
  equals: options.equals
9150
9367
  };
9151
9368
  }
9152
- var is = (next, token, options, context, compileToken2) => {
9153
- const func = compileToken2(token, copyOptions(options), context);
9369
+ var is = (next, token, options, context2, compileToken2) => {
9370
+ const func = compileToken2(token, copyOptions(options), context2);
9154
9371
  return func === import_boolbase4.default.trueFunc ? next : func === import_boolbase4.default.falseFunc ? import_boolbase4.default.falseFunc : (elem) => func(elem) && next(elem);
9155
9372
  };
9156
9373
  var subselects = {
@@ -9160,28 +9377,28 @@ var subselects = {
9160
9377
  */
9161
9378
  matches: is,
9162
9379
  where: is,
9163
- not(next, token, options, context, compileToken2) {
9164
- const func = compileToken2(token, copyOptions(options), context);
9380
+ not(next, token, options, context2, compileToken2) {
9381
+ const func = compileToken2(token, copyOptions(options), context2);
9165
9382
  return func === import_boolbase4.default.falseFunc ? next : func === import_boolbase4.default.trueFunc ? import_boolbase4.default.falseFunc : (elem) => !func(elem) && next(elem);
9166
9383
  },
9167
9384
  has(next, subselect, options, _context, compileToken2) {
9168
9385
  const { adapter: adapter2 } = options;
9169
9386
  const opts = copyOptions(options);
9170
9387
  opts.relativeSelector = true;
9171
- const context = subselect.some((s) => s.some(isTraversal2)) ? (
9388
+ const context2 = subselect.some((s) => s.some(isTraversal2)) ? (
9172
9389
  // Used as a placeholder. Will be replaced with the actual element.
9173
9390
  [PLACEHOLDER_ELEMENT]
9174
9391
  ) : void 0;
9175
- const compiled = compileToken2(subselect, opts, context);
9392
+ const compiled = compileToken2(subselect, opts, context2);
9176
9393
  if (compiled === import_boolbase4.default.falseFunc)
9177
9394
  return import_boolbase4.default.falseFunc;
9178
9395
  const hasElement = ensureIsTag(compiled, adapter2);
9179
- if (context && compiled !== import_boolbase4.default.trueFunc) {
9396
+ if (context2 && compiled !== import_boolbase4.default.trueFunc) {
9180
9397
  const { shouldTestNextSiblings = false } = compiled;
9181
9398
  return (elem) => {
9182
9399
  if (!next(elem))
9183
9400
  return false;
9184
- context[0] = elem;
9401
+ context2[0] = elem;
9185
9402
  const childs = adapter2.getChildren(elem);
9186
9403
  const nextElements = shouldTestNextSiblings ? [...childs, ...getNextSiblings(elem, adapter2)] : childs;
9187
9404
  return adapter2.existsOne(hasElement, nextElements);
@@ -9192,14 +9409,14 @@ var subselects = {
9192
9409
  };
9193
9410
 
9194
9411
  // ../../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/esm/pseudo-selectors/index.js
9195
- function compilePseudoSelector(next, selector, options, context, compileToken2) {
9412
+ function compilePseudoSelector(next, selector, options, context2, compileToken2) {
9196
9413
  var _a4;
9197
9414
  const { name, data } = selector;
9198
9415
  if (Array.isArray(data)) {
9199
9416
  if (!(name in subselects)) {
9200
9417
  throw new Error(`Unknown pseudo-class :${name}(${data})`);
9201
9418
  }
9202
- return subselects[name](next, data, options, context, compileToken2);
9419
+ return subselects[name](next, data, options, context2, compileToken2);
9203
9420
  }
9204
9421
  const userPseudo = (_a4 = options.pseudos) === null || _a4 === void 0 ? void 0 : _a4[name];
9205
9422
  const stringPseudo = typeof userPseudo === "string" ? userPseudo : aliases[name];
@@ -9208,14 +9425,14 @@ function compilePseudoSelector(next, selector, options, context, compileToken2)
9208
9425
  throw new Error(`Pseudo ${name} doesn't have any arguments`);
9209
9426
  }
9210
9427
  const alias = parse(stringPseudo);
9211
- return subselects["is"](next, alias, options, context, compileToken2);
9428
+ return subselects["is"](next, alias, options, context2, compileToken2);
9212
9429
  }
9213
9430
  if (typeof userPseudo === "function") {
9214
9431
  verifyPseudoArgs(userPseudo, name, data, 1);
9215
9432
  return (elem) => userPseudo(elem, data) && next(elem);
9216
9433
  }
9217
9434
  if (name in filters) {
9218
- return filters[name](next, data, options, context);
9435
+ return filters[name](next, data, options, context2);
9219
9436
  }
9220
9437
  if (name in pseudos) {
9221
9438
  const pseudo = pseudos[name];
@@ -9233,7 +9450,7 @@ function getElementParent(node, adapter2) {
9233
9450
  }
9234
9451
  return null;
9235
9452
  }
9236
- function compileGeneralSelector(next, selector, options, context, compileToken2) {
9453
+ function compileGeneralSelector(next, selector, options, context2, compileToken2) {
9237
9454
  const { adapter: adapter2, equals } = options;
9238
9455
  switch (selector.type) {
9239
9456
  case SelectorType.PseudoElement: {
@@ -9252,7 +9469,7 @@ function compileGeneralSelector(next, selector, options, context, compileToken2)
9252
9469
  return attributeRules[selector.action](next, selector, options);
9253
9470
  }
9254
9471
  case SelectorType.Pseudo: {
9255
- return compilePseudoSelector(next, selector, options, context, compileToken2);
9472
+ return compilePseudoSelector(next, selector, options, context2, compileToken2);
9256
9473
  }
9257
9474
  // Tags
9258
9475
  case SelectorType.Tag: {
@@ -9360,13 +9577,13 @@ function compileGeneralSelector(next, selector, options, context, compileToken2)
9360
9577
  }
9361
9578
 
9362
9579
  // ../../node_modules/.pnpm/css-select@5.2.2/node_modules/css-select/lib/esm/compile.js
9363
- function compile2(selector, options, context) {
9364
- const next = compileUnsafe(selector, options, context);
9580
+ function compile2(selector, options, context2) {
9581
+ const next = compileUnsafe(selector, options, context2);
9365
9582
  return ensureIsTag(next, options.adapter);
9366
9583
  }
9367
- function compileUnsafe(selector, options, context) {
9584
+ function compileUnsafe(selector, options, context2) {
9368
9585
  const token = typeof selector === "string" ? parse(selector) : selector;
9369
- return compileToken(token, options, context);
9586
+ return compileToken(token, options, context2);
9370
9587
  }
9371
9588
  function includesScopePseudo(t) {
9372
9589
  return t.type === SelectorType.Pseudo && (t.name === "scope" || Array.isArray(t.data) && t.data.some((data) => data.some(includesScopePseudo)));
@@ -9380,8 +9597,8 @@ var SCOPE_TOKEN = {
9380
9597
  name: "scope",
9381
9598
  data: null
9382
9599
  };
9383
- function absolutize(token, { adapter: adapter2 }, context) {
9384
- const hasContext = !!(context === null || context === void 0 ? void 0 : context.every((e) => {
9600
+ function absolutize(token, { adapter: adapter2 }, context2) {
9601
+ const hasContext = !!(context2 === null || context2 === void 0 ? void 0 : context2.every((e) => {
9385
9602
  const parent = adapter2.isTag(e) && adapter2.getParent(e);
9386
9603
  return e === PLACEHOLDER_ELEMENT || parent && adapter2.isTag(parent);
9387
9604
  }));
@@ -9395,12 +9612,12 @@ function absolutize(token, { adapter: adapter2 }, context) {
9395
9612
  t.unshift(SCOPE_TOKEN);
9396
9613
  }
9397
9614
  }
9398
- function compileToken(token, options, context) {
9615
+ function compileToken(token, options, context2) {
9399
9616
  var _a4;
9400
9617
  token.forEach(sortByProcedure);
9401
- context = (_a4 = options.context) !== null && _a4 !== void 0 ? _a4 : context;
9402
- const isArrayContext = Array.isArray(context);
9403
- const finalContext = context && (Array.isArray(context) ? context : [context]);
9618
+ context2 = (_a4 = options.context) !== null && _a4 !== void 0 ? _a4 : context2;
9619
+ const isArrayContext = Array.isArray(context2);
9620
+ const finalContext = context2 && (Array.isArray(context2) ? context2 : [context2]);
9404
9621
  if (options.relativeSelector !== false) {
9405
9622
  absolutize(token, options, finalContext);
9406
9623
  } else if (token.some((t) => t.length > 0 && isTraversal2(t[0]))) {
@@ -9422,9 +9639,9 @@ function compileToken(token, options, context) {
9422
9639
  query2.shouldTestNextSiblings = shouldTestNextSiblings;
9423
9640
  return query2;
9424
9641
  }
9425
- function compileRules(rules, options, context) {
9642
+ function compileRules(rules, options, context2) {
9426
9643
  var _a4;
9427
- return rules.reduce((previous, rule) => previous === import_boolbase5.default.falseFunc ? import_boolbase5.default.falseFunc : compileGeneralSelector(previous, rule, options, context, compileToken), (_a4 = options.rootFunc) !== null && _a4 !== void 0 ? _a4 : import_boolbase5.default.trueFunc);
9644
+ return rules.reduce((previous, rule) => previous === import_boolbase5.default.falseFunc ? import_boolbase5.default.falseFunc : compileGeneralSelector(previous, rule, options, context2, compileToken), (_a4 = options.rootFunc) !== null && _a4 !== void 0 ? _a4 : import_boolbase5.default.trueFunc);
9428
9645
  }
9429
9646
  function reduceRules(a, b) {
9430
9647
  if (b === import_boolbase5.default.falseFunc || a === import_boolbase5.default.trueFunc) {
@@ -9452,9 +9669,9 @@ function convertOptionFormats(options) {
9452
9669
  return opts;
9453
9670
  }
9454
9671
  function wrapCompile(func) {
9455
- return function addAdapter(selector, options, context) {
9672
+ return function addAdapter(selector, options, context2) {
9456
9673
  const opts = convertOptionFormats(options);
9457
- return func(selector, opts, context);
9674
+ return func(selector, opts, context2);
9458
9675
  };
9459
9676
  }
9460
9677
  var compile3 = wrapCompile(compile2);
@@ -13229,7 +13446,7 @@ var StreamRenderer = class {
13229
13446
  );
13230
13447
  }
13231
13448
  }
13232
- const instance = componentInjector.resolve(ComponentClass);
13449
+ const instance = componentInjector.resolveSync(ComponentClass);
13233
13450
  const mergedProps = Object.create(
13234
13451
  Object.getPrototypeOf(instance.props || {})
13235
13452
  );
@@ -13597,86 +13814,7 @@ function untracked(fn) {
13597
13814
  }
13598
13815
  }
13599
13816
 
13600
- // src/shared/observable/observable.ts
13601
- var Observable = class {
13602
- constructor(producer) {
13603
- this.producer = producer;
13604
- this.__isObservable = true;
13605
- }
13606
- subscribe(observerOrNext, error, complete) {
13607
- const observer = typeof observerOrNext === "function" ? { next: observerOrNext, error, complete } : observerOrNext;
13608
- let cleanup;
13609
- let isUnsubscribed = false;
13610
- if (this.producer) {
13611
- try {
13612
- cleanup = this.producer(observer);
13613
- } catch (err) {
13614
- if (observer.error) {
13615
- try {
13616
- observer.error(err);
13617
- } catch (e) {
13618
- console.error("Error in error handler during subscription:", e);
13619
- }
13620
- } else {
13621
- throw err;
13622
- }
13623
- }
13624
- }
13625
- return {
13626
- unsubscribe: () => {
13627
- if (isUnsubscribed) return;
13628
- isUnsubscribed = true;
13629
- if (cleanup) {
13630
- try {
13631
- cleanup();
13632
- } catch (err) {
13633
- console.error("Error during cleanup:", err);
13634
- }
13635
- }
13636
- }
13637
- };
13638
- }
13639
- pipe(...operations) {
13640
- if (operations.length === 0) {
13641
- return this;
13642
- }
13643
- return operations.reduce((prev, fn) => fn(prev), this);
13644
- }
13645
- };
13646
- function from(iterable) {
13647
- return new Observable((observer) => {
13648
- try {
13649
- for (const value2 of iterable) {
13650
- observer.next(value2);
13651
- }
13652
- observer.complete?.();
13653
- } catch (err) {
13654
- observer.error?.(err);
13655
- }
13656
- });
13657
- }
13658
- function interval(ms) {
13659
- return new Observable((observer) => {
13660
- let count = 0;
13661
- const id = setInterval(() => {
13662
- observer.next(count++);
13663
- }, ms);
13664
- return () => clearInterval(id);
13665
- });
13666
- }
13667
- function of(...values) {
13668
- return new Observable((observer) => {
13669
- try {
13670
- values.forEach((value2) => observer.next(value2));
13671
- observer.complete?.();
13672
- } catch (err) {
13673
- observer.error?.(err);
13674
- }
13675
- });
13676
- }
13677
- function observable(producer) {
13678
- return new Observable(producer);
13679
- }
13817
+ // src/shared/signal/utils.ts
13680
13818
  function toSignal(obs, instance) {
13681
13819
  const sig = signal(void 0);
13682
13820
  const subst = obs.subscribe((val) => {
@@ -13688,495 +13826,817 @@ function toSignal(obs, instance) {
13688
13826
  ];
13689
13827
  return sig;
13690
13828
  }
13691
- function isObservable(value2) {
13692
- return value2 && value2.__isObservable === true;
13693
- }
13694
- function map(fn) {
13695
- return (source) => {
13696
- return new Observable((observer) => {
13697
- const subscription = source.subscribe(
13698
- (value2) => {
13699
- try {
13700
- observer.next(fn(value2));
13701
- } catch (err) {
13702
- observer.error?.(err);
13703
- }
13704
- },
13705
- (err) => observer.error?.(err),
13706
- () => observer.complete?.()
13707
- );
13708
- return () => subscription.unsubscribe();
13709
- });
13710
- };
13711
- }
13712
- function filter2(predicate) {
13713
- return (source) => {
13714
- return new Observable((observer) => {
13715
- const subscription = source.subscribe(
13716
- (value2) => {
13717
- try {
13718
- if (predicate(value2)) {
13719
- observer.next(value2);
13720
- }
13721
- } catch (err) {
13722
- observer.error?.(err);
13723
- }
13724
- },
13725
- (err) => observer.error?.(err),
13726
- () => observer.complete?.()
13727
- );
13728
- return () => subscription.unsubscribe();
13729
- });
13829
+
13830
+ // src/shared/component.ts
13831
+ var OrcaComponent = class {
13832
+ constructor() {
13833
+ this.__cleanup = [];
13834
+ }
13835
+ onInit() {
13836
+ }
13837
+ onDestroy() {
13838
+ this.__cleanup.forEach((cb) => cb());
13839
+ }
13840
+ pushDrop(fn) {
13841
+ this.__cleanup.push(fn);
13842
+ }
13843
+ };
13844
+
13845
+ // ../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs
13846
+ var extendStatics = function(d, b) {
13847
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
13848
+ d2.__proto__ = b2;
13849
+ } || function(d2, b2) {
13850
+ for (var p in b2) if (Object.prototype.hasOwnProperty.call(b2, p)) d2[p] = b2[p];
13730
13851
  };
13852
+ return extendStatics(d, b);
13853
+ };
13854
+ function __extends(d, b) {
13855
+ if (typeof b !== "function" && b !== null)
13856
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
13857
+ extendStatics(d, b);
13858
+ function __() {
13859
+ this.constructor = d;
13860
+ }
13861
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13731
13862
  }
13732
- function tap(fn) {
13733
- return (source) => {
13734
- return new Observable((observer) => {
13735
- const subscription = source.subscribe(
13736
- (value2) => {
13737
- try {
13738
- fn(value2);
13739
- observer.next(value2);
13740
- } catch (err) {
13741
- observer.error?.(err);
13742
- }
13743
- },
13744
- (err) => observer.error?.(err),
13745
- () => observer.complete?.()
13746
- );
13747
- return () => subscription.unsubscribe();
13748
- });
13863
+ function __values(o) {
13864
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
13865
+ if (m) return m.call(o);
13866
+ if (o && typeof o.length === "number") return {
13867
+ next: function() {
13868
+ if (o && i >= o.length) o = void 0;
13869
+ return { value: o && o[i++], done: !o };
13870
+ }
13749
13871
  };
13872
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
13750
13873
  }
13751
- function take(count) {
13752
- return (source) => {
13753
- return new Observable((observer) => {
13754
- let taken = 0;
13755
- const subscription = source.subscribe(
13756
- (value2) => {
13757
- if (taken < count) {
13758
- observer.next(value2);
13759
- taken++;
13760
- if (taken === count) {
13761
- observer.complete?.();
13762
- subscription.unsubscribe();
13763
- }
13764
- }
13765
- },
13766
- (err) => observer.error?.(err),
13767
- () => observer.complete?.()
13768
- );
13769
- return () => subscription.unsubscribe();
13770
- });
13771
- };
13874
+ function __read(o, n) {
13875
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
13876
+ if (!m) return o;
13877
+ var i = m.call(o), r, ar = [], e;
13878
+ try {
13879
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
13880
+ } catch (error) {
13881
+ e = { error };
13882
+ } finally {
13883
+ try {
13884
+ if (r && !r.done && (m = i["return"])) m.call(i);
13885
+ } finally {
13886
+ if (e) throw e.error;
13887
+ }
13888
+ }
13889
+ return ar;
13772
13890
  }
13773
- function skip(count) {
13774
- return (source) => {
13775
- return new Observable((observer) => {
13776
- let skipped = 0;
13777
- const subscription = source.subscribe(
13778
- (value2) => {
13779
- if (skipped < count) {
13780
- skipped++;
13781
- } else {
13782
- observer.next(value2);
13783
- }
13784
- },
13785
- (err) => observer.error?.(err),
13786
- () => observer.complete?.()
13787
- );
13788
- return () => subscription.unsubscribe();
13789
- });
13790
- };
13891
+ function __spreadArray(to, from, pack) {
13892
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
13893
+ if (ar || !(i in from)) {
13894
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
13895
+ ar[i] = from[i];
13896
+ }
13897
+ }
13898
+ return to.concat(ar || Array.prototype.slice.call(from));
13791
13899
  }
13792
- function debounceTime(ms) {
13793
- return (source) => {
13794
- return new Observable((observer) => {
13795
- let timeoutId;
13796
- const subscription = source.subscribe(
13797
- (value2) => {
13798
- clearTimeout(timeoutId);
13799
- timeoutId = setTimeout(() => {
13800
- observer.next(value2);
13801
- }, ms);
13802
- },
13803
- (err) => observer.error?.(err),
13804
- () => observer.complete?.()
13805
- );
13806
- return () => {
13807
- clearTimeout(timeoutId);
13808
- subscription.unsubscribe();
13809
- };
13810
- });
13811
- };
13900
+
13901
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/isFunction.js
13902
+ function isFunction(value2) {
13903
+ return typeof value2 === "function";
13812
13904
  }
13813
- function throttleTime(ms) {
13814
- return (source) => {
13815
- return new Observable((observer) => {
13816
- let lastEmit = 0;
13817
- const subscription = source.subscribe(
13818
- (value2) => {
13819
- const now = Date.now();
13820
- if (now - lastEmit >= ms) {
13821
- lastEmit = now;
13822
- observer.next(value2);
13823
- }
13824
- },
13825
- (err) => observer.error?.(err),
13826
- () => observer.complete?.()
13827
- );
13828
- return () => subscription.unsubscribe();
13829
- });
13905
+
13906
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js
13907
+ function createErrorClass(createImpl) {
13908
+ var _super = function(instance) {
13909
+ Error.call(instance);
13910
+ instance.stack = new Error().stack;
13830
13911
  };
13831
- }
13832
- function distinctUntilChanged(compare) {
13833
- return (source) => {
13834
- return new Observable((observer) => {
13835
- let hasLast = false;
13836
- let last;
13837
- const subscription = source.subscribe(
13838
- (value2) => {
13839
- const isDistinct = !hasLast || (compare ? !compare(last, value2) : last !== value2);
13840
- if (isDistinct) {
13841
- hasLast = true;
13842
- last = value2;
13843
- observer.next(value2);
13844
- }
13845
- },
13846
- (err) => observer.error?.(err),
13847
- () => observer.complete?.()
13848
- );
13849
- return () => subscription.unsubscribe();
13850
- });
13912
+ var ctorFunc = createImpl(_super);
13913
+ ctorFunc.prototype = Object.create(Error.prototype);
13914
+ ctorFunc.prototype.constructor = ctorFunc;
13915
+ return ctorFunc;
13916
+ }
13917
+
13918
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js
13919
+ var UnsubscriptionError = createErrorClass(function(_super) {
13920
+ return function UnsubscriptionErrorImpl(errors) {
13921
+ _super(this);
13922
+ this.message = errors ? errors.length + " errors occurred during unsubscription:\n" + errors.map(function(err, i) {
13923
+ return i + 1 + ") " + err.toString();
13924
+ }).join("\n ") : "";
13925
+ this.name = "UnsubscriptionError";
13926
+ this.errors = errors;
13851
13927
  };
13852
- }
13853
- function switchMap(fn) {
13854
- return (source) => {
13855
- return new Observable((observer) => {
13856
- let innerSubscription = null;
13857
- const outerSubscription = source.subscribe(
13858
- (value2) => {
13859
- if (innerSubscription) {
13860
- innerSubscription.unsubscribe();
13861
- }
13928
+ });
13929
+
13930
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js
13931
+ function arrRemove(arr, item) {
13932
+ if (arr) {
13933
+ var index = arr.indexOf(item);
13934
+ 0 <= index && arr.splice(index, 1);
13935
+ }
13936
+ }
13937
+
13938
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscription.js
13939
+ var Subscription = (function() {
13940
+ function Subscription2(initialTeardown) {
13941
+ this.initialTeardown = initialTeardown;
13942
+ this.closed = false;
13943
+ this._parentage = null;
13944
+ this._finalizers = null;
13945
+ }
13946
+ Subscription2.prototype.unsubscribe = function() {
13947
+ var e_1, _a4, e_2, _b;
13948
+ var errors;
13949
+ if (!this.closed) {
13950
+ this.closed = true;
13951
+ var _parentage = this._parentage;
13952
+ if (_parentage) {
13953
+ this._parentage = null;
13954
+ if (Array.isArray(_parentage)) {
13862
13955
  try {
13863
- const innerObservable = fn(value2);
13864
- innerSubscription = innerObservable.subscribe(
13865
- (innerValue) => observer.next(innerValue),
13866
- (err) => observer.error?.(err)
13867
- );
13868
- } catch (err) {
13869
- observer.error?.(err);
13956
+ for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {
13957
+ var parent_1 = _parentage_1_1.value;
13958
+ parent_1.remove(this);
13959
+ }
13960
+ } catch (e_1_1) {
13961
+ e_1 = { error: e_1_1 };
13962
+ } finally {
13963
+ try {
13964
+ if (_parentage_1_1 && !_parentage_1_1.done && (_a4 = _parentage_1.return)) _a4.call(_parentage_1);
13965
+ } finally {
13966
+ if (e_1) throw e_1.error;
13967
+ }
13870
13968
  }
13871
- },
13872
- (err) => observer.error?.(err),
13873
- () => observer.complete?.()
13874
- );
13875
- return () => {
13876
- if (innerSubscription) {
13877
- innerSubscription.unsubscribe();
13969
+ } else {
13970
+ _parentage.remove(this);
13878
13971
  }
13879
- outerSubscription.unsubscribe();
13880
- };
13881
- });
13882
- };
13883
- }
13884
- function mergeMap(fn) {
13885
- return (source) => {
13886
- return new Observable((observer) => {
13887
- const innerSubscriptions = [];
13888
- let outerComplete = false;
13889
- let activeCount = 0;
13890
- const checkComplete = () => {
13891
- if (outerComplete && activeCount === 0) {
13892
- observer.complete?.();
13972
+ }
13973
+ var initialFinalizer = this.initialTeardown;
13974
+ if (isFunction(initialFinalizer)) {
13975
+ try {
13976
+ initialFinalizer();
13977
+ } catch (e) {
13978
+ errors = e instanceof UnsubscriptionError ? e.errors : [e];
13893
13979
  }
13894
- };
13895
- const outerSubscription = source.subscribe(
13896
- (value2) => {
13897
- try {
13898
- const innerObservable = fn(value2);
13899
- activeCount++;
13900
- const innerSub = innerObservable.subscribe(
13901
- (innerValue) => observer.next(innerValue),
13902
- (err) => observer.error?.(err),
13903
- () => {
13904
- activeCount--;
13905
- checkComplete();
13980
+ }
13981
+ var _finalizers = this._finalizers;
13982
+ if (_finalizers) {
13983
+ this._finalizers = null;
13984
+ try {
13985
+ for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {
13986
+ var finalizer = _finalizers_1_1.value;
13987
+ try {
13988
+ execFinalizer(finalizer);
13989
+ } catch (err) {
13990
+ errors = errors !== null && errors !== void 0 ? errors : [];
13991
+ if (err instanceof UnsubscriptionError) {
13992
+ errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));
13993
+ } else {
13994
+ errors.push(err);
13906
13995
  }
13907
- );
13908
- innerSubscriptions.push(innerSub);
13909
- } catch (err) {
13910
- observer.error?.(err);
13996
+ }
13997
+ }
13998
+ } catch (e_2_1) {
13999
+ e_2 = { error: e_2_1 };
14000
+ } finally {
14001
+ try {
14002
+ if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);
14003
+ } finally {
14004
+ if (e_2) throw e_2.error;
13911
14005
  }
13912
- },
13913
- (err) => observer.error?.(err),
13914
- () => {
13915
- outerComplete = true;
13916
- checkComplete();
13917
14006
  }
13918
- );
13919
- return () => {
13920
- innerSubscriptions.forEach((sub) => sub.unsubscribe());
13921
- outerSubscription.unsubscribe();
13922
- };
13923
- });
14007
+ }
14008
+ if (errors) {
14009
+ throw new UnsubscriptionError(errors);
14010
+ }
14011
+ }
13924
14012
  };
13925
- }
13926
- function concatMap(fn) {
13927
- return (source) => {
13928
- return new Observable((observer) => {
13929
- const queue = [];
13930
- let innerSubscription = null;
13931
- let outerComplete = false;
13932
- let isProcessing = false;
13933
- const processNext = () => {
13934
- if (isProcessing || queue.length === 0) {
13935
- if (outerComplete && queue.length === 0) {
13936
- observer.complete?.();
14013
+ Subscription2.prototype.add = function(teardown) {
14014
+ var _a4;
14015
+ if (teardown && teardown !== this) {
14016
+ if (this.closed) {
14017
+ execFinalizer(teardown);
14018
+ } else {
14019
+ if (teardown instanceof Subscription2) {
14020
+ if (teardown.closed || teardown._hasParent(this)) {
14021
+ return;
13937
14022
  }
13938
- return;
14023
+ teardown._addParent(this);
13939
14024
  }
13940
- isProcessing = true;
13941
- const value2 = queue.shift();
13942
- try {
13943
- const innerObservable = fn(value2);
13944
- innerSubscription = innerObservable.subscribe(
13945
- (innerValue) => observer.next(innerValue),
13946
- (err) => observer.error?.(err),
13947
- () => {
13948
- isProcessing = false;
13949
- processNext();
13950
- }
13951
- );
13952
- } catch (err) {
13953
- observer.error?.(err);
13954
- }
13955
- };
13956
- const outerSubscription = source.subscribe(
13957
- (value2) => {
13958
- queue.push(value2);
13959
- processNext();
13960
- },
13961
- (err) => observer.error?.(err),
13962
- () => {
13963
- outerComplete = true;
13964
- if (queue.length === 0 && !isProcessing) {
13965
- observer.complete?.();
13966
- }
13967
- }
13968
- );
13969
- return () => {
13970
- if (innerSubscription) {
13971
- innerSubscription.unsubscribe();
13972
- }
13973
- outerSubscription.unsubscribe();
13974
- };
13975
- });
14025
+ (this._finalizers = (_a4 = this._finalizers) !== null && _a4 !== void 0 ? _a4 : []).push(teardown);
14026
+ }
14027
+ }
14028
+ };
14029
+ Subscription2.prototype._hasParent = function(parent) {
14030
+ var _parentage = this._parentage;
14031
+ return _parentage === parent || Array.isArray(_parentage) && _parentage.includes(parent);
14032
+ };
14033
+ Subscription2.prototype._addParent = function(parent) {
14034
+ var _parentage = this._parentage;
14035
+ this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;
13976
14036
  };
14037
+ Subscription2.prototype._removeParent = function(parent) {
14038
+ var _parentage = this._parentage;
14039
+ if (_parentage === parent) {
14040
+ this._parentage = null;
14041
+ } else if (Array.isArray(_parentage)) {
14042
+ arrRemove(_parentage, parent);
14043
+ }
14044
+ };
14045
+ Subscription2.prototype.remove = function(teardown) {
14046
+ var _finalizers = this._finalizers;
14047
+ _finalizers && arrRemove(_finalizers, teardown);
14048
+ if (teardown instanceof Subscription2) {
14049
+ teardown._removeParent(this);
14050
+ }
14051
+ };
14052
+ Subscription2.EMPTY = (function() {
14053
+ var empty2 = new Subscription2();
14054
+ empty2.closed = true;
14055
+ return empty2;
14056
+ })();
14057
+ return Subscription2;
14058
+ })();
14059
+ var EMPTY_SUBSCRIPTION = Subscription.EMPTY;
14060
+ function isSubscription(value2) {
14061
+ return value2 instanceof Subscription || value2 && "closed" in value2 && isFunction(value2.remove) && isFunction(value2.add) && isFunction(value2.unsubscribe);
13977
14062
  }
13978
- function catchError(handler4) {
13979
- return (source) => {
13980
- return new Observable((observer) => {
13981
- const subscription = source.subscribe(
13982
- (value2) => observer.next(value2),
13983
- (err) => {
13984
- try {
13985
- const fallback = handler4(err);
13986
- const fallbackSub = fallback.subscribe(
13987
- (value2) => observer.next(value2),
13988
- (e) => observer.error?.(e),
13989
- () => observer.complete?.()
13990
- );
13991
- subscription.__fallback = fallbackSub;
13992
- } catch (e) {
13993
- observer.error?.(e);
13994
- }
13995
- },
13996
- () => observer.complete?.()
13997
- );
13998
- return () => {
13999
- if (subscription.__fallback) {
14000
- subscription.__fallback.unsubscribe();
14001
- }
14002
- subscription.unsubscribe();
14063
+ function execFinalizer(finalizer) {
14064
+ if (isFunction(finalizer)) {
14065
+ finalizer();
14066
+ } else {
14067
+ finalizer.unsubscribe();
14068
+ }
14069
+ }
14070
+
14071
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/config.js
14072
+ var config = {
14073
+ onUnhandledError: null,
14074
+ onStoppedNotification: null,
14075
+ Promise: void 0,
14076
+ useDeprecatedSynchronousErrorHandling: false,
14077
+ useDeprecatedNextContext: false
14078
+ };
14079
+
14080
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js
14081
+ var timeoutProvider = {
14082
+ setTimeout: function(handler4, timeout) {
14083
+ var args = [];
14084
+ for (var _i = 2; _i < arguments.length; _i++) {
14085
+ args[_i - 2] = arguments[_i];
14086
+ }
14087
+ var delegate = timeoutProvider.delegate;
14088
+ if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {
14089
+ return delegate.setTimeout.apply(delegate, __spreadArray([handler4, timeout], __read(args)));
14090
+ }
14091
+ return setTimeout.apply(void 0, __spreadArray([handler4, timeout], __read(args)));
14092
+ },
14093
+ clearTimeout: function(handle) {
14094
+ var delegate = timeoutProvider.delegate;
14095
+ return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);
14096
+ },
14097
+ delegate: void 0
14098
+ };
14099
+
14100
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js
14101
+ function reportUnhandledError(err) {
14102
+ timeoutProvider.setTimeout(function() {
14103
+ var onUnhandledError = config.onUnhandledError;
14104
+ if (onUnhandledError) {
14105
+ onUnhandledError(err);
14106
+ } else {
14107
+ throw err;
14108
+ }
14109
+ });
14110
+ }
14111
+
14112
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/noop.js
14113
+ function noop() {
14114
+ }
14115
+
14116
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js
14117
+ var COMPLETE_NOTIFICATION = (function() {
14118
+ return createNotification("C", void 0, void 0);
14119
+ })();
14120
+ function errorNotification(error) {
14121
+ return createNotification("E", void 0, error);
14122
+ }
14123
+ function nextNotification(value2) {
14124
+ return createNotification("N", value2, void 0);
14125
+ }
14126
+ function createNotification(kind, value2, error) {
14127
+ return {
14128
+ kind,
14129
+ value: value2,
14130
+ error
14131
+ };
14132
+ }
14133
+
14134
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/errorContext.js
14135
+ var context = null;
14136
+ function errorContext(cb) {
14137
+ if (config.useDeprecatedSynchronousErrorHandling) {
14138
+ var isRoot = !context;
14139
+ if (isRoot) {
14140
+ context = { errorThrown: false, error: null };
14141
+ }
14142
+ cb();
14143
+ if (isRoot) {
14144
+ var _a4 = context, errorThrown = _a4.errorThrown, error = _a4.error;
14145
+ context = null;
14146
+ if (errorThrown) {
14147
+ throw error;
14148
+ }
14149
+ }
14150
+ } else {
14151
+ cb();
14152
+ }
14153
+ }
14154
+ function captureError(err) {
14155
+ if (config.useDeprecatedSynchronousErrorHandling && context) {
14156
+ context.errorThrown = true;
14157
+ context.error = err;
14158
+ }
14159
+ }
14160
+
14161
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subscriber.js
14162
+ var Subscriber = (function(_super) {
14163
+ __extends(Subscriber2, _super);
14164
+ function Subscriber2(destination) {
14165
+ var _this = _super.call(this) || this;
14166
+ _this.isStopped = false;
14167
+ if (destination) {
14168
+ _this.destination = destination;
14169
+ if (isSubscription(destination)) {
14170
+ destination.add(_this);
14171
+ }
14172
+ } else {
14173
+ _this.destination = EMPTY_OBSERVER;
14174
+ }
14175
+ return _this;
14176
+ }
14177
+ Subscriber2.create = function(next, error, complete) {
14178
+ return new SafeSubscriber(next, error, complete);
14179
+ };
14180
+ Subscriber2.prototype.next = function(value2) {
14181
+ if (this.isStopped) {
14182
+ handleStoppedNotification(nextNotification(value2), this);
14183
+ } else {
14184
+ this._next(value2);
14185
+ }
14186
+ };
14187
+ Subscriber2.prototype.error = function(err) {
14188
+ if (this.isStopped) {
14189
+ handleStoppedNotification(errorNotification(err), this);
14190
+ } else {
14191
+ this.isStopped = true;
14192
+ this._error(err);
14193
+ }
14194
+ };
14195
+ Subscriber2.prototype.complete = function() {
14196
+ if (this.isStopped) {
14197
+ handleStoppedNotification(COMPLETE_NOTIFICATION, this);
14198
+ } else {
14199
+ this.isStopped = true;
14200
+ this._complete();
14201
+ }
14202
+ };
14203
+ Subscriber2.prototype.unsubscribe = function() {
14204
+ if (!this.closed) {
14205
+ this.isStopped = true;
14206
+ _super.prototype.unsubscribe.call(this);
14207
+ this.destination = null;
14208
+ }
14209
+ };
14210
+ Subscriber2.prototype._next = function(value2) {
14211
+ this.destination.next(value2);
14212
+ };
14213
+ Subscriber2.prototype._error = function(err) {
14214
+ try {
14215
+ this.destination.error(err);
14216
+ } finally {
14217
+ this.unsubscribe();
14218
+ }
14219
+ };
14220
+ Subscriber2.prototype._complete = function() {
14221
+ try {
14222
+ this.destination.complete();
14223
+ } finally {
14224
+ this.unsubscribe();
14225
+ }
14226
+ };
14227
+ return Subscriber2;
14228
+ })(Subscription);
14229
+ var _bind = Function.prototype.bind;
14230
+ function bind(fn, thisArg) {
14231
+ return _bind.call(fn, thisArg);
14232
+ }
14233
+ var ConsumerObserver = (function() {
14234
+ function ConsumerObserver2(partialObserver) {
14235
+ this.partialObserver = partialObserver;
14236
+ }
14237
+ ConsumerObserver2.prototype.next = function(value2) {
14238
+ var partialObserver = this.partialObserver;
14239
+ if (partialObserver.next) {
14240
+ try {
14241
+ partialObserver.next(value2);
14242
+ } catch (error) {
14243
+ handleUnhandledError(error);
14244
+ }
14245
+ }
14246
+ };
14247
+ ConsumerObserver2.prototype.error = function(err) {
14248
+ var partialObserver = this.partialObserver;
14249
+ if (partialObserver.error) {
14250
+ try {
14251
+ partialObserver.error(err);
14252
+ } catch (error) {
14253
+ handleUnhandledError(error);
14254
+ }
14255
+ } else {
14256
+ handleUnhandledError(err);
14257
+ }
14258
+ };
14259
+ ConsumerObserver2.prototype.complete = function() {
14260
+ var partialObserver = this.partialObserver;
14261
+ if (partialObserver.complete) {
14262
+ try {
14263
+ partialObserver.complete();
14264
+ } catch (error) {
14265
+ handleUnhandledError(error);
14266
+ }
14267
+ }
14268
+ };
14269
+ return ConsumerObserver2;
14270
+ })();
14271
+ var SafeSubscriber = (function(_super) {
14272
+ __extends(SafeSubscriber2, _super);
14273
+ function SafeSubscriber2(observerOrNext, error, complete) {
14274
+ var _this = _super.call(this) || this;
14275
+ var partialObserver;
14276
+ if (isFunction(observerOrNext) || !observerOrNext) {
14277
+ partialObserver = {
14278
+ next: observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : void 0,
14279
+ error: error !== null && error !== void 0 ? error : void 0,
14280
+ complete: complete !== null && complete !== void 0 ? complete : void 0
14003
14281
  };
14004
- });
14282
+ } else {
14283
+ var context_1;
14284
+ if (_this && config.useDeprecatedNextContext) {
14285
+ context_1 = Object.create(observerOrNext);
14286
+ context_1.unsubscribe = function() {
14287
+ return _this.unsubscribe();
14288
+ };
14289
+ partialObserver = {
14290
+ next: observerOrNext.next && bind(observerOrNext.next, context_1),
14291
+ error: observerOrNext.error && bind(observerOrNext.error, context_1),
14292
+ complete: observerOrNext.complete && bind(observerOrNext.complete, context_1)
14293
+ };
14294
+ } else {
14295
+ partialObserver = observerOrNext;
14296
+ }
14297
+ }
14298
+ _this.destination = new ConsumerObserver(partialObserver);
14299
+ return _this;
14300
+ }
14301
+ return SafeSubscriber2;
14302
+ })(Subscriber);
14303
+ function handleUnhandledError(error) {
14304
+ if (config.useDeprecatedSynchronousErrorHandling) {
14305
+ captureError(error);
14306
+ } else {
14307
+ reportUnhandledError(error);
14308
+ }
14309
+ }
14310
+ function defaultErrorHandler(err) {
14311
+ throw err;
14312
+ }
14313
+ function handleStoppedNotification(notification, subscriber) {
14314
+ var onStoppedNotification = config.onStoppedNotification;
14315
+ onStoppedNotification && timeoutProvider.setTimeout(function() {
14316
+ return onStoppedNotification(notification, subscriber);
14317
+ });
14318
+ }
14319
+ var EMPTY_OBSERVER = {
14320
+ closed: true,
14321
+ next: noop,
14322
+ error: defaultErrorHandler,
14323
+ complete: noop
14324
+ };
14325
+
14326
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/symbol/observable.js
14327
+ var observable = (function() {
14328
+ return typeof Symbol === "function" && Symbol.observable || "@@observable";
14329
+ })();
14330
+
14331
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/identity.js
14332
+ function identity(x) {
14333
+ return x;
14334
+ }
14335
+
14336
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/pipe.js
14337
+ function pipeFromArray(fns) {
14338
+ if (fns.length === 0) {
14339
+ return identity;
14340
+ }
14341
+ if (fns.length === 1) {
14342
+ return fns[0];
14343
+ }
14344
+ return function piped(input) {
14345
+ return fns.reduce(function(prev, fn) {
14346
+ return fn(prev);
14347
+ }, input);
14005
14348
  };
14006
14349
  }
14007
- function startWith(...values) {
14008
- return (source) => {
14009
- return new Observable((observer) => {
14010
- values.forEach((value2) => observer.next(value2));
14011
- const subscription = source.subscribe(
14012
- (value2) => observer.next(value2),
14013
- (err) => observer.error?.(err),
14014
- () => observer.complete?.()
14015
- );
14016
- return () => subscription.unsubscribe();
14350
+
14351
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Observable.js
14352
+ var Observable = (function() {
14353
+ function Observable2(subscribe) {
14354
+ if (subscribe) {
14355
+ this._subscribe = subscribe;
14356
+ }
14357
+ }
14358
+ Observable2.prototype.lift = function(operator) {
14359
+ var observable2 = new Observable2();
14360
+ observable2.source = this;
14361
+ observable2.operator = operator;
14362
+ return observable2;
14363
+ };
14364
+ Observable2.prototype.subscribe = function(observerOrNext, error, complete) {
14365
+ var _this = this;
14366
+ var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);
14367
+ errorContext(function() {
14368
+ var _a4 = _this, operator = _a4.operator, source = _a4.source;
14369
+ subscriber.add(operator ? operator.call(subscriber, source) : source ? _this._subscribe(subscriber) : _this._trySubscribe(subscriber));
14017
14370
  });
14371
+ return subscriber;
14018
14372
  };
14019
- }
14020
- function scan(accumulator, seed) {
14021
- return (source) => {
14022
- return new Observable((observer) => {
14023
- let acc = seed;
14024
- const subscription = source.subscribe(
14025
- (value2) => {
14373
+ Observable2.prototype._trySubscribe = function(sink) {
14374
+ try {
14375
+ return this._subscribe(sink);
14376
+ } catch (err) {
14377
+ sink.error(err);
14378
+ }
14379
+ };
14380
+ Observable2.prototype.forEach = function(next, promiseCtor) {
14381
+ var _this = this;
14382
+ promiseCtor = getPromiseCtor(promiseCtor);
14383
+ return new promiseCtor(function(resolve, reject) {
14384
+ var subscriber = new SafeSubscriber({
14385
+ next: function(value2) {
14026
14386
  try {
14027
- acc = accumulator(acc, value2);
14028
- observer.next(acc);
14387
+ next(value2);
14029
14388
  } catch (err) {
14030
- observer.error?.(err);
14389
+ reject(err);
14390
+ subscriber.unsubscribe();
14031
14391
  }
14032
14392
  },
14033
- (err) => observer.error?.(err),
14034
- () => observer.complete?.()
14035
- );
14036
- return () => subscription.unsubscribe();
14393
+ error: reject,
14394
+ complete: resolve
14395
+ });
14396
+ _this.subscribe(subscriber);
14037
14397
  });
14038
14398
  };
14039
- }
14040
- function reduce(accumulator, seed) {
14041
- return (source) => {
14042
- return new Observable((observer) => {
14043
- let acc = seed;
14044
- const subscription = source.subscribe(
14045
- (value2) => {
14046
- try {
14047
- acc = accumulator(acc, value2);
14048
- } catch (err) {
14049
- observer.error?.(err);
14050
- }
14051
- },
14052
- (err) => observer.error?.(err),
14053
- () => {
14054
- observer.next(acc);
14055
- observer.complete?.();
14056
- }
14057
- );
14058
- return () => subscription.unsubscribe();
14399
+ Observable2.prototype._subscribe = function(subscriber) {
14400
+ var _a4;
14401
+ return (_a4 = this.source) === null || _a4 === void 0 ? void 0 : _a4.subscribe(subscriber);
14402
+ };
14403
+ Observable2.prototype[observable] = function() {
14404
+ return this;
14405
+ };
14406
+ Observable2.prototype.pipe = function() {
14407
+ var operations = [];
14408
+ for (var _i = 0; _i < arguments.length; _i++) {
14409
+ operations[_i] = arguments[_i];
14410
+ }
14411
+ return pipeFromArray(operations)(this);
14412
+ };
14413
+ Observable2.prototype.toPromise = function(promiseCtor) {
14414
+ var _this = this;
14415
+ promiseCtor = getPromiseCtor(promiseCtor);
14416
+ return new promiseCtor(function(resolve, reject) {
14417
+ var value2;
14418
+ _this.subscribe(function(x) {
14419
+ return value2 = x;
14420
+ }, function(err) {
14421
+ return reject(err);
14422
+ }, function() {
14423
+ return resolve(value2);
14424
+ });
14059
14425
  });
14060
14426
  };
14427
+ Observable2.create = function(subscribe) {
14428
+ return new Observable2(subscribe);
14429
+ };
14430
+ return Observable2;
14431
+ })();
14432
+ function getPromiseCtor(promiseCtor) {
14433
+ var _a4;
14434
+ return (_a4 = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a4 !== void 0 ? _a4 : Promise;
14435
+ }
14436
+ function isObserver(value2) {
14437
+ return value2 && isFunction(value2.next) && isFunction(value2.error) && isFunction(value2.complete);
14438
+ }
14439
+ function isSubscriber(value2) {
14440
+ return value2 && value2 instanceof Subscriber || isObserver(value2) && isSubscription(value2);
14061
14441
  }
14062
14442
 
14063
- // src/shared/observable/subject.ts
14064
- var Subject = class extends Observable {
14065
- constructor() {
14066
- super();
14067
- this.subscribers = /* @__PURE__ */ new Set();
14068
- this._isCompleted = false;
14069
- this._hasError = false;
14070
- this._thrownError = null;
14071
- }
14072
- asObservable() {
14073
- return new Observable((observer) => {
14074
- const subscription = this.subscribe(observer);
14075
- return () => subscription.unsubscribe();
14076
- });
14077
- }
14078
- subscribe(observerOrNext, error, complete) {
14079
- if (this._isCompleted) {
14080
- const obs = typeof observerOrNext === "function" ? { complete } : observerOrNext;
14081
- obs.complete?.();
14082
- return { unsubscribe: () => {
14083
- } };
14084
- }
14085
- if (this._hasError) {
14086
- return { unsubscribe: () => {
14087
- } };
14443
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js
14444
+ var ObjectUnsubscribedError = createErrorClass(function(_super) {
14445
+ return function ObjectUnsubscribedErrorImpl() {
14446
+ _super(this);
14447
+ this.name = "ObjectUnsubscribedError";
14448
+ this.message = "object unsubscribed";
14449
+ };
14450
+ });
14451
+
14452
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/Subject.js
14453
+ var Subject = (function(_super) {
14454
+ __extends(Subject2, _super);
14455
+ function Subject2() {
14456
+ var _this = _super.call(this) || this;
14457
+ _this.closed = false;
14458
+ _this.currentObservers = null;
14459
+ _this.observers = [];
14460
+ _this.isStopped = false;
14461
+ _this.hasError = false;
14462
+ _this.thrownError = null;
14463
+ return _this;
14464
+ }
14465
+ Subject2.prototype.lift = function(operator) {
14466
+ var subject = new AnonymousSubject(this, this);
14467
+ subject.operator = operator;
14468
+ return subject;
14469
+ };
14470
+ Subject2.prototype._throwIfClosed = function() {
14471
+ if (this.closed) {
14472
+ throw new ObjectUnsubscribedError();
14088
14473
  }
14089
- const observer = typeof observerOrNext === "function" ? { next: observerOrNext, error, complete } : observerOrNext;
14090
- this.subscribers.add(observer);
14091
- return {
14092
- unsubscribe: () => {
14093
- this.subscribers.delete(observer);
14094
- }
14095
- };
14096
- }
14097
- next(value2) {
14098
- if (this._isCompleted || this._hasError) return;
14099
- const currentSubscribers = Array.from(this.subscribers);
14100
- currentSubscribers.forEach((observer) => {
14101
- if (this.subscribers.has(observer)) {
14474
+ };
14475
+ Subject2.prototype.next = function(value2) {
14476
+ var _this = this;
14477
+ errorContext(function() {
14478
+ var e_1, _a4;
14479
+ _this._throwIfClosed();
14480
+ if (!_this.isStopped) {
14481
+ if (!_this.currentObservers) {
14482
+ _this.currentObservers = Array.from(_this.observers);
14483
+ }
14102
14484
  try {
14103
- observer.next(value2);
14104
- } catch (err) {
14105
- console.error("Error in observer:", err);
14485
+ for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {
14486
+ var observer = _c.value;
14487
+ observer.next(value2);
14488
+ }
14489
+ } catch (e_1_1) {
14490
+ e_1 = { error: e_1_1 };
14491
+ } finally {
14492
+ try {
14493
+ if (_c && !_c.done && (_a4 = _b.return)) _a4.call(_b);
14494
+ } finally {
14495
+ if (e_1) throw e_1.error;
14496
+ }
14106
14497
  }
14107
14498
  }
14108
14499
  });
14109
- }
14110
- error(err) {
14111
- if (this._isCompleted || this._hasError) return;
14112
- this._hasError = true;
14113
- this._thrownError = err;
14114
- for (const observer of this.subscribers) {
14115
- observer.error?.(err);
14116
- }
14117
- this.subscribers.clear();
14118
- }
14119
- complete() {
14120
- if (this._isCompleted || this._hasError) return;
14121
- this._isCompleted = true;
14122
- const currentSubscribers = Array.from(this.subscribers);
14123
- currentSubscribers.forEach((observer) => {
14124
- if (observer.complete) {
14125
- try {
14126
- observer.complete();
14127
- } catch (err) {
14128
- console.error("Error in complete handler:", err);
14500
+ };
14501
+ Subject2.prototype.error = function(err) {
14502
+ var _this = this;
14503
+ errorContext(function() {
14504
+ _this._throwIfClosed();
14505
+ if (!_this.isStopped) {
14506
+ _this.hasError = _this.isStopped = true;
14507
+ _this.thrownError = err;
14508
+ var observers = _this.observers;
14509
+ while (observers.length) {
14510
+ observers.shift().error(err);
14129
14511
  }
14130
14512
  }
14131
14513
  });
14132
- this.subscribers.clear();
14133
- }
14134
- };
14135
-
14136
- // src/shared/observable/bsubject.ts
14137
- var BehaviorSubject = class extends Subject {
14138
- constructor(initialValue) {
14139
- super();
14140
- this._value = initialValue;
14141
- }
14142
- get $value() {
14143
- return this._value;
14144
- }
14145
- next(value2) {
14146
- this._value = value2;
14147
- super.next(value2);
14148
- }
14149
- subscribe(observerOrNext, error, complete) {
14150
- const observer = typeof observerOrNext === "function" ? { next: observerOrNext, error, complete } : observerOrNext;
14151
- if (this._hasError) {
14152
- observer.error?.(this._thrownError);
14153
- return { unsubscribe: () => {
14154
- } };
14514
+ };
14515
+ Subject2.prototype.complete = function() {
14516
+ var _this = this;
14517
+ errorContext(function() {
14518
+ _this._throwIfClosed();
14519
+ if (!_this.isStopped) {
14520
+ _this.isStopped = true;
14521
+ var observers = _this.observers;
14522
+ while (observers.length) {
14523
+ observers.shift().complete();
14524
+ }
14525
+ }
14526
+ });
14527
+ };
14528
+ Subject2.prototype.unsubscribe = function() {
14529
+ this.isStopped = this.closed = true;
14530
+ this.observers = this.currentObservers = null;
14531
+ };
14532
+ Object.defineProperty(Subject2.prototype, "observed", {
14533
+ get: function() {
14534
+ var _a4;
14535
+ return ((_a4 = this.observers) === null || _a4 === void 0 ? void 0 : _a4.length) > 0;
14536
+ },
14537
+ enumerable: false,
14538
+ configurable: true
14539
+ });
14540
+ Subject2.prototype._trySubscribe = function(subscriber) {
14541
+ this._throwIfClosed();
14542
+ return _super.prototype._trySubscribe.call(this, subscriber);
14543
+ };
14544
+ Subject2.prototype._subscribe = function(subscriber) {
14545
+ this._throwIfClosed();
14546
+ this._checkFinalizedStatuses(subscriber);
14547
+ return this._innerSubscribe(subscriber);
14548
+ };
14549
+ Subject2.prototype._innerSubscribe = function(subscriber) {
14550
+ var _this = this;
14551
+ var _a4 = this, hasError = _a4.hasError, isStopped = _a4.isStopped, observers = _a4.observers;
14552
+ if (hasError || isStopped) {
14553
+ return EMPTY_SUBSCRIPTION;
14554
+ }
14555
+ this.currentObservers = null;
14556
+ observers.push(subscriber);
14557
+ return new Subscription(function() {
14558
+ _this.currentObservers = null;
14559
+ arrRemove(observers, subscriber);
14560
+ });
14561
+ };
14562
+ Subject2.prototype._checkFinalizedStatuses = function(subscriber) {
14563
+ var _a4 = this, hasError = _a4.hasError, thrownError = _a4.thrownError, isStopped = _a4.isStopped;
14564
+ if (hasError) {
14565
+ subscriber.error(thrownError);
14566
+ } else if (isStopped) {
14567
+ subscriber.complete();
14155
14568
  }
14156
- if (this._isCompleted) {
14157
- observer.complete?.();
14158
- return { unsubscribe: () => {
14159
- } };
14569
+ };
14570
+ Subject2.prototype.asObservable = function() {
14571
+ var observable2 = new Observable();
14572
+ observable2.source = this;
14573
+ return observable2;
14574
+ };
14575
+ Subject2.create = function(destination, source) {
14576
+ return new AnonymousSubject(destination, source);
14577
+ };
14578
+ return Subject2;
14579
+ })(Observable);
14580
+ var AnonymousSubject = (function(_super) {
14581
+ __extends(AnonymousSubject2, _super);
14582
+ function AnonymousSubject2(destination, source) {
14583
+ var _this = _super.call(this) || this;
14584
+ _this.destination = destination;
14585
+ _this.source = source;
14586
+ return _this;
14587
+ }
14588
+ AnonymousSubject2.prototype.next = function(value2) {
14589
+ var _a4, _b;
14590
+ (_b = (_a4 = this.destination) === null || _a4 === void 0 ? void 0 : _a4.next) === null || _b === void 0 ? void 0 : _b.call(_a4, value2);
14591
+ };
14592
+ AnonymousSubject2.prototype.error = function(err) {
14593
+ var _a4, _b;
14594
+ (_b = (_a4 = this.destination) === null || _a4 === void 0 ? void 0 : _a4.error) === null || _b === void 0 ? void 0 : _b.call(_a4, err);
14595
+ };
14596
+ AnonymousSubject2.prototype.complete = function() {
14597
+ var _a4, _b;
14598
+ (_b = (_a4 = this.destination) === null || _a4 === void 0 ? void 0 : _a4.complete) === null || _b === void 0 ? void 0 : _b.call(_a4);
14599
+ };
14600
+ AnonymousSubject2.prototype._subscribe = function(subscriber) {
14601
+ var _a4, _b;
14602
+ return (_b = (_a4 = this.source) === null || _a4 === void 0 ? void 0 : _a4.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;
14603
+ };
14604
+ return AnonymousSubject2;
14605
+ })(Subject);
14606
+
14607
+ // ../../node_modules/.pnpm/rxjs@7.8.2/node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js
14608
+ var BehaviorSubject = (function(_super) {
14609
+ __extends(BehaviorSubject2, _super);
14610
+ function BehaviorSubject2(_value) {
14611
+ var _this = _super.call(this) || this;
14612
+ _this._value = _value;
14613
+ return _this;
14614
+ }
14615
+ Object.defineProperty(BehaviorSubject2.prototype, "value", {
14616
+ get: function() {
14617
+ return this.getValue();
14618
+ },
14619
+ enumerable: false,
14620
+ configurable: true
14621
+ });
14622
+ BehaviorSubject2.prototype._subscribe = function(subscriber) {
14623
+ var subscription = _super.prototype._subscribe.call(this, subscriber);
14624
+ !subscription.closed && subscriber.next(this._value);
14625
+ return subscription;
14626
+ };
14627
+ BehaviorSubject2.prototype.getValue = function() {
14628
+ var _a4 = this, hasError = _a4.hasError, thrownError = _a4.thrownError, _value = _a4._value;
14629
+ if (hasError) {
14630
+ throw thrownError;
14160
14631
  }
14161
- observer.next(this._value);
14162
- return super.subscribe(observer);
14163
- }
14164
- };
14165
-
14166
- // src/shared/component.ts
14167
- var OrcaComponent = class {
14168
- constructor() {
14169
- this.__cleanup = [];
14170
- }
14171
- onInit() {
14172
- }
14173
- onDestroy() {
14174
- this.__cleanup.forEach((cb) => cb());
14175
- }
14176
- pushDrop(fn) {
14177
- this.__cleanup.push(fn);
14178
- }
14179
- };
14632
+ this._throwIfClosed();
14633
+ return _value;
14634
+ };
14635
+ BehaviorSubject2.prototype.next = function(value2) {
14636
+ _super.prototype.next.call(this, this._value = value2);
14637
+ };
14638
+ return BehaviorSubject2;
14639
+ })(Subject);
14180
14640
 
14181
14641
  // src/shared/module_libs/http_client/module.ts
14182
14642
  var __decorate = function(decorators, target, key2, desc) {
@@ -14626,9 +15086,21 @@ var OSC = class _OSC {
14626
15086
  register2(ComponentClass, injector);
14627
15087
  const cleanProps = { ...props };
14628
15088
  delete cleanProps.__clientComponent;
14629
- const instance = injector.resolve(ComponentClass);
15089
+ const instance = await injector.resolve(ComponentClass);
14630
15090
  instance.__injector = injector;
14631
- instance.props = cleanProps;
15091
+ const mergedProps = Object.create(
15092
+ Object.getPrototypeOf(instance.props || {})
15093
+ );
15094
+ Object.defineProperties(
15095
+ mergedProps,
15096
+ Object.getOwnPropertyDescriptors(instance.props || {})
15097
+ );
15098
+ Object.defineProperties(
15099
+ mergedProps,
15100
+ Object.getOwnPropertyDescriptors(cleanProps || {})
15101
+ );
15102
+ instance.props = mergedProps;
15103
+ instance.onInit?.();
14632
15104
  if (typeof instance.build !== "function") {
14633
15105
  throw new Error(`Component ${name} does not implement build()`);
14634
15106
  }
@@ -14642,11 +15114,6 @@ var OSC = class _OSC {
14642
15114
  }
14643
15115
  };
14644
15116
 
14645
- // src/shared/macros/index.ts
14646
- function assert$(context) {
14647
- return context?.factory.createStringLiteral("assert");
14648
- }
14649
-
14650
15117
  // src/shared/providers/actor.ts
14651
15118
  var BaseActor = class {
14652
15119
  constructor() {
@@ -14997,9 +15464,9 @@ var protocol = 4;
14997
15464
 
14998
15465
  // ../../node_modules/.pnpm/@socket.io+component-emitter@3.1.2/node_modules/@socket.io/component-emitter/lib/esm/index.js
14999
15466
  function Emitter(obj) {
15000
- if (obj) return mixin(obj);
15467
+ if (obj) return mixin2(obj);
15001
15468
  }
15002
- function mixin(obj) {
15469
+ function mixin2(obj) {
15003
15470
  for (var key2 in Emitter.prototype) {
15004
15471
  obj[key2] = Emitter.prototype[key2];
15005
15472
  }
@@ -15161,10 +15628,10 @@ function decode2(qs) {
15161
15628
 
15162
15629
  // ../../node_modules/.pnpm/engine.io-client@6.6.4/node_modules/engine.io-client/build/esm/transport.js
15163
15630
  var TransportError = class extends Error {
15164
- constructor(reason, description, context) {
15631
+ constructor(reason, description, context2) {
15165
15632
  super(reason);
15166
15633
  this.description = description;
15167
- this.context = context;
15634
+ this.context = context2;
15168
15635
  this.type = "TransportError";
15169
15636
  }
15170
15637
  };
@@ -15193,8 +15660,8 @@ var Transport = class extends Emitter {
15193
15660
  * @return {Transport} for chaining
15194
15661
  * @protected
15195
15662
  */
15196
- onError(reason, description, context) {
15197
- super.emitReserved("error", new TransportError(reason, description, context));
15663
+ onError(reason, description, context2) {
15664
+ super.emitReserved("error", new TransportError(reason, description, context2));
15198
15665
  return this;
15199
15666
  }
15200
15667
  /**
@@ -15464,8 +15931,8 @@ var BaseXHR = class extends Polling {
15464
15931
  data
15465
15932
  });
15466
15933
  req.on("success", fn);
15467
- req.on("error", (xhrStatus, context) => {
15468
- this.onError("xhr post error", xhrStatus, context);
15934
+ req.on("error", (xhrStatus, context2) => {
15935
+ this.onError("xhr post error", xhrStatus, context2);
15469
15936
  });
15470
15937
  }
15471
15938
  /**
@@ -15476,8 +15943,8 @@ var BaseXHR = class extends Polling {
15476
15943
  doPoll() {
15477
15944
  const req = this.request();
15478
15945
  req.on("data", this.onData.bind(this));
15479
- req.on("error", (xhrStatus, context) => {
15480
- this.onError("xhr poll error", xhrStatus, context);
15946
+ req.on("error", (xhrStatus, context2) => {
15947
+ this.onError("xhr poll error", xhrStatus, context2);
15481
15948
  });
15482
15949
  this.pollXhr = req;
15483
15950
  }
@@ -18184,30 +18651,39 @@ var Navigate = class Navigate2 {
18184
18651
  this.STORAGE_KEY = "navigate_stack";
18185
18652
  const savedState = this.loadFromStorage();
18186
18653
  const historyCursor = history.state?.cursor;
18187
- if (savedState && historyCursor !== void 0) {
18654
+ if (savedState && historyCursor !== void 0 && savedState.routes[historyCursor]) {
18188
18655
  this.cursor = historyCursor;
18189
- const restoredPages = savedState.routes.map(() => null);
18190
- const currentRoute = window.location.pathname + window.location.search;
18191
- const stream = this.createStreamForRoute(currentRoute);
18192
- restoredPages[this.cursor] = stream;
18656
+ const restoredPages = savedState.routes.map((routeData, idx) => ({
18657
+ content: idx === this.cursor ? this.createStreamForRoute(routeData.path) : null,
18658
+ isOverlay: routeData.isOverlay,
18659
+ route: routeData.path
18660
+ }));
18193
18661
  this.pages = new BehaviorSubject(restoredPages);
18194
18662
  } else {
18195
- const initialStream = this.createStreamForCurrentUrl();
18196
- this.pages = new BehaviorSubject([initialStream]);
18663
+ const initialPath = window.location.pathname + window.location.search;
18664
+ const initialStream = this.createStreamForRoute(initialPath);
18197
18665
  this.cursor = 0;
18198
- history.replaceState({ cursor: 0 }, "");
18666
+ this.pages = new BehaviorSubject([
18667
+ {
18668
+ content: initialStream,
18669
+ isOverlay: false,
18670
+ route: initialPath
18671
+ }
18672
+ ]);
18673
+ history.replaceState({ cursor: 0 }, "", initialPath);
18199
18674
  this.saveToStorage();
18200
18675
  }
18676
+ this.initListeners();
18677
+ }
18678
+ initListeners() {
18201
18679
  window.addEventListener("popstate", (e) => {
18202
18680
  const newCursor = e.state?.cursor ?? 0;
18203
- this.cursor = newCursor;
18204
- const currentPages = [...this.pages.$value || []];
18205
- if (!currentPages[newCursor]) {
18206
- const savedState2 = this.loadFromStorage();
18207
- const route = savedState2?.routes[newCursor] || window.location.pathname + window.location.search;
18208
- const stream = this.createStreamForRoute(route);
18209
- currentPages[newCursor] = stream;
18681
+ const currentPages = [...this.pages.value];
18682
+ if (currentPages[newCursor] && !currentPages[newCursor].content) {
18683
+ const route = currentPages[newCursor].route || window.location.pathname + window.location.search;
18684
+ currentPages[newCursor].content = this.createStreamForRoute(route);
18210
18685
  }
18686
+ this.cursor = newCursor;
18211
18687
  this.pages.next(currentPages);
18212
18688
  });
18213
18689
  }
@@ -18221,75 +18697,77 @@ var Navigate = class Navigate2 {
18221
18697
  }
18222
18698
  saveToStorage() {
18223
18699
  try {
18224
- const currentPages = this.pages.$value || [];
18225
- const routes = currentPages.map((page, index) => {
18226
- if (page && typeof page === "object" && "__route" in page) {
18227
- return page.__route;
18228
- }
18229
- const savedState = this.loadFromStorage();
18230
- return savedState?.routes[index] || "";
18231
- });
18232
18700
  const state = {
18233
- routes,
18701
+ routes: this.pages.value.map((p) => ({
18702
+ path: p.route || "",
18703
+ isOverlay: p.isOverlay
18704
+ })),
18234
18705
  cursor: this.cursor
18235
18706
  };
18236
18707
  localStorage.setItem(this.STORAGE_KEY, JSON.stringify(state));
18237
- } catch {
18708
+ } catch (e) {
18709
+ console.error("Navigation persistence failed", e);
18238
18710
  }
18239
18711
  }
18240
18712
  createStreamForRoute(route) {
18241
18713
  const http = new HttpClient();
18242
18714
  let url2 = this.oscUrl;
18243
18715
  if (route && route !== "/") {
18244
- url2 = `${this.oscUrl}?c=${encodeURIComponent(route)}`;
18716
+ const separator = url2.includes("?") ? "&" : "?";
18717
+ url2 = `${url2}${separator}c=${encodeURIComponent(route)}`;
18245
18718
  }
18246
18719
  return http.post(url2, {
18247
18720
  stream: "ndjson",
18248
18721
  reviver: symbolValueReviver
18249
18722
  });
18250
18723
  }
18251
- createStreamForCurrentUrl() {
18252
- const path = window.location.pathname;
18253
- const search = window.location.search;
18254
- const fullPath = search ? `${path}${search}` : path;
18255
- return this.createStreamForRoute(fullPath);
18256
- }
18257
18724
  go(path) {
18258
18725
  const stream = this.createStreamForRoute(path);
18259
18726
  stream.__route = path;
18260
- this.push(stream);
18727
+ this.push(stream, false);
18261
18728
  }
18262
- push(item) {
18263
- const currentPages = this.pages.$value || [];
18729
+ push(item, isOverlay = false) {
18730
+ const currentPages = this.pages.value || [];
18264
18731
  const newPages = currentPages.slice(0, this.cursor + 1);
18265
18732
  let route = "";
18266
18733
  if (item && typeof item === "object" && "__route" in item) {
18267
18734
  route = item.__route;
18268
18735
  }
18269
18736
  this.cursor++;
18270
- newPages.push(item);
18271
- history.pushState({ cursor: this.cursor }, "", route);
18737
+ newPages.push({
18738
+ content: item,
18739
+ isOverlay,
18740
+ route
18741
+ });
18742
+ history.pushState({ cursor: this.cursor }, "", route || void 0);
18272
18743
  this.pages.next(newPages);
18273
18744
  this.saveToStorage();
18274
18745
  }
18746
+ pushOverlay(item) {
18747
+ this.push(item, true);
18748
+ }
18749
+ pop() {
18750
+ if (this.canGoBack()) {
18751
+ history.back();
18752
+ }
18753
+ }
18275
18754
  replace(item) {
18276
- const currentPages = [...this.pages.$value || []];
18277
- currentPages[this.cursor] = item;
18278
- history.replaceState({ cursor: this.cursor }, "");
18279
- this.pages.next(currentPages);
18280
- this.saveToStorage();
18755
+ const currentPages = [...this.pages.value || []];
18756
+ if (currentPages[this.cursor]) {
18757
+ currentPages[this.cursor].content = item;
18758
+ this.pages.next(currentPages);
18759
+ this.saveToStorage();
18760
+ }
18281
18761
  }
18282
18762
  resolveStream(index, element) {
18283
- const currentPages = [...this.pages.$value || []];
18763
+ const currentPages = [...this.pages.value || []];
18284
18764
  if (index >= 0 && index < currentPages.length) {
18285
- currentPages[index] = element;
18765
+ currentPages[index].content = element;
18286
18766
  this.pages.next(currentPages);
18287
18767
  }
18288
18768
  }
18289
18769
  goBack() {
18290
- if (this.canGoBack()) {
18291
- history.back();
18292
- }
18770
+ this.pop();
18293
18771
  }
18294
18772
  goForward() {
18295
18773
  if (this.canGoForward()) {
@@ -18300,17 +18778,22 @@ var Navigate = class Navigate2 {
18300
18778
  return this.cursor > 0;
18301
18779
  }
18302
18780
  canGoForward() {
18303
- const currentPages = this.pages.$value || [];
18304
- return this.cursor < currentPages.length - 1;
18781
+ return this.cursor < (this.pages.value?.length || 0) - 1;
18305
18782
  }
18306
18783
  getCurrentPage() {
18307
- const currentPages = this.pages.$value || [];
18308
- return currentPages[this.cursor];
18784
+ return this.pages.value[this.cursor];
18309
18785
  }
18310
18786
  clear() {
18311
18787
  this.cursor = 0;
18312
- const initialStream = this.createStreamForCurrentUrl();
18313
- this.pages.next([initialStream]);
18788
+ const initialPath = window.location.pathname + window.location.search;
18789
+ const initialStream = this.createStreamForRoute(initialPath);
18790
+ this.pages.next([
18791
+ {
18792
+ content: initialStream,
18793
+ isOverlay: false,
18794
+ route: initialPath
18795
+ }
18796
+ ]);
18314
18797
  history.replaceState({ cursor: 0 }, "");
18315
18798
  this.saveToStorage();
18316
18799
  }
@@ -18335,42 +18818,87 @@ var RouterOutlet = class RouterOutlet2 extends OrcaComponent {
18335
18818
  constructor(navigate) {
18336
18819
  super();
18337
18820
  this.navigate = navigate;
18338
- this.activeStreamSubscription = null;
18821
+ this.activeStreamSubscriptions = /* @__PURE__ */ new Map();
18339
18822
  }
18340
18823
  build() {
18341
18824
  const anchor = document.createElement("div");
18825
+ anchor.style.position = "relative";
18826
+ anchor.style.width = "100%";
18827
+ anchor.style.height = "100%";
18342
18828
  const subscription = this.navigate.pages.subscribe((pages) => {
18343
- this.renderCurrentPage(anchor, pages);
18829
+ this.renderPages(anchor, pages);
18344
18830
  });
18345
18831
  this.pushDrop(() => subscription.unsubscribe());
18346
18832
  this.pushDrop(() => {
18347
- if (this.activeStreamSubscription) {
18348
- this.activeStreamSubscription.unsubscribe();
18349
- }
18833
+ this.activeStreamSubscriptions.forEach((info) => {
18834
+ info.subscription.unsubscribe();
18835
+ });
18836
+ this.activeStreamSubscriptions.clear();
18350
18837
  });
18351
18838
  return anchor;
18352
18839
  }
18353
- renderCurrentPage(anchor, pages) {
18354
- const currentItem = pages[this.navigate.cursor];
18355
- if (!currentItem) {
18356
- anchor.replaceChildren();
18357
- return;
18840
+ renderPages(anchor, pages) {
18841
+ let baseIndex = this.navigate.cursor;
18842
+ while (baseIndex > 0 && pages[baseIndex]?.isOverlay) {
18843
+ baseIndex--;
18844
+ }
18845
+ anchor.replaceChildren();
18846
+ if (pages[baseIndex]) {
18847
+ const baseContainer = document.createElement("div");
18848
+ baseContainer.className = "base-page";
18849
+ baseContainer.style.width = "100%";
18850
+ baseContainer.style.height = "100%";
18851
+ this.renderPage(baseContainer, pages[baseIndex].content, baseIndex);
18852
+ anchor.appendChild(baseContainer);
18853
+ }
18854
+ for (let i = baseIndex + 1; i <= this.navigate.cursor; i++) {
18855
+ if (pages[i] && pages[i].isOverlay) {
18856
+ const overlayContainer = document.createElement("div");
18857
+ overlayContainer.className = "overlay";
18858
+ overlayContainer.style.position = "fixed";
18859
+ overlayContainer.style.inset = "0";
18860
+ overlayContainer.style.zIndex = String(1e3 + (i - baseIndex));
18861
+ this.renderPage(overlayContainer, pages[i].content, i);
18862
+ anchor.appendChild(overlayContainer);
18863
+ }
18864
+ }
18865
+ const visibleIndices = /* @__PURE__ */ new Set();
18866
+ visibleIndices.add(baseIndex);
18867
+ for (let i = baseIndex + 1; i <= this.navigate.cursor; i++) {
18868
+ if (pages[i]?.isOverlay) {
18869
+ visibleIndices.add(i);
18870
+ }
18871
+ }
18872
+ this.activeStreamSubscriptions.forEach((info, index) => {
18873
+ if (!visibleIndices.has(index)) {
18874
+ info.subscription.unsubscribe();
18875
+ this.activeStreamSubscriptions.delete(index);
18876
+ }
18877
+ });
18878
+ }
18879
+ renderPage(container, content, index) {
18880
+ const existing = this.activeStreamSubscriptions.get(index);
18881
+ if (existing) {
18882
+ existing.subscription.unsubscribe();
18883
+ this.activeStreamSubscriptions.delete(index);
18358
18884
  }
18359
- if (this.activeStreamSubscription) {
18360
- this.activeStreamSubscription.unsubscribe();
18361
- this.activeStreamSubscription = null;
18885
+ if (!content) {
18886
+ container.replaceChildren();
18887
+ return;
18362
18888
  }
18363
- if (this.isObservable(currentItem)) {
18364
- this.renderStream(anchor, currentItem);
18889
+ if (this.isObservable(content)) {
18890
+ this.renderStream(container, content, index);
18365
18891
  } else {
18366
- anchor.replaceChildren(currentItem);
18892
+ container.replaceChildren(content);
18367
18893
  }
18368
18894
  }
18369
- renderStream(anchor, stream) {
18895
+ renderStream(container, stream, index) {
18370
18896
  const root = document.createElement("div");
18371
- anchor.replaceChildren(root);
18897
+ root.style.width = "100%";
18898
+ root.style.height = "100%";
18899
+ container.replaceChildren(root);
18372
18900
  const osc = new OSC(root);
18373
- this.activeStreamSubscription = stream.subscribe((jsx2) => {
18901
+ const subscription = stream.subscribe((jsx2) => {
18374
18902
  const action = jsx2.action || "insert";
18375
18903
  if (action === "insert") {
18376
18904
  osc.handleInsert(jsx2);
@@ -18381,11 +18909,14 @@ var RouterOutlet = class RouterOutlet2 extends OrcaComponent {
18381
18909
  }
18382
18910
  }, (error) => {
18383
18911
  console.error("Stream error:", error);
18912
+ container.innerHTML = `<div>Error loading page: ${error.message}</div>`;
18913
+ this.activeStreamSubscriptions.delete(index);
18384
18914
  }, () => {
18385
18915
  const resolvedElement = osc.tree.dom;
18386
- this.navigate.resolveStream(this.navigate.cursor, resolvedElement);
18387
- this.activeStreamSubscription = null;
18916
+ this.navigate.resolveStream(index, resolvedElement);
18917
+ this.activeStreamSubscriptions.delete(index);
18388
18918
  });
18919
+ this.activeStreamSubscriptions.set(index, { subscription, index });
18389
18920
  }
18390
18921
  isObservable(obj) {
18391
18922
  return obj && typeof obj.subscribe === "function";
@@ -18445,7 +18976,7 @@ var InjectorConfigurationService = class {
18445
18976
  static instantiateEagerProviders(appNode, injector) {
18446
18977
  appNode.traverse((node) => {
18447
18978
  const providers = [...node.getProviders().values()];
18448
- providers.filter((provider) => provider.eager).forEach((p) => injector.resolve(p.provide));
18979
+ providers.filter((provider) => provider.eager).forEach(async (p) => await injector.resolve(p.provide));
18449
18980
  });
18450
18981
  }
18451
18982
  };
@@ -18457,8 +18988,8 @@ var BootstrapService = class {
18457
18988
  }
18458
18989
  return bootstrap;
18459
18990
  }
18460
- static renderBootstrap(bootstrap, injector, rootElement) {
18461
- const instance = injector.resolve(bootstrap);
18991
+ static async renderBootstrap(bootstrap, injector, rootElement) {
18992
+ const instance = await injector.resolve(bootstrap);
18462
18993
  instance.__injector = injector;
18463
18994
  const childDom = instance.build();
18464
18995
  rootElement.appendChild(childDom);
@@ -18472,14 +19003,14 @@ var BrowserFactory = class {
18472
19003
  * @param rootElement - The DOM element to mount the application to
18473
19004
  * @throws {Error} If validation fails or bootstrap component is not found
18474
19005
  */
18475
- static create(rootModule, rootElement) {
19006
+ static async create(rootModule, rootElement) {
18476
19007
  const compilationService = new CompilationService();
18477
19008
  const appNode = compilationService.compileAndValidate(rootModule);
18478
19009
  const rootInjector = InjectorConfigurationService.createRootInjector(appNode);
18479
19010
  setCurrentInjector(rootInjector);
18480
19011
  InjectorConfigurationService.instantiateEagerProviders(appNode, rootInjector);
18481
19012
  const bootstrap = BootstrapService.getBootstrapComponent(rootModule);
18482
- BootstrapService.renderBootstrap(bootstrap, rootInjector, rootElement);
19013
+ await BootstrapService.renderBootstrap(bootstrap, rootInjector, rootElement);
18483
19014
  }
18484
19015
  };
18485
19016
 
@@ -18611,7 +19142,7 @@ function createComponent(ComponentClass, props = {}, parentComponent) {
18611
19142
  }
18612
19143
  let instance;
18613
19144
  try {
18614
- instance = injector.resolve(ComponentClass);
19145
+ instance = injector.resolveSync(ComponentClass);
18615
19146
  } catch (e) {
18616
19147
  console.log(e);
18617
19148
  throw new Error(`Failed to resolve component ${ComponentClass.name}: ${e.message}`);
@@ -18733,7 +19264,6 @@ export {
18733
19264
  ActorModule,
18734
19265
  BOOTSTRAP,
18735
19266
  BOOTSTRAP_VNODE,
18736
- BehaviorSubject,
18737
19267
  Body,
18738
19268
  BrowserFactory,
18739
19269
  COMPONENT,
@@ -18753,6 +19283,7 @@ export {
18753
19283
  EXPORTS_KEY,
18754
19284
  EXPRESS_ADAPTER_HOST,
18755
19285
  Fragment,
19286
+ GUARDS_KEY,
18756
19287
  Get,
18757
19288
  HTTP_METHOD_KEY,
18758
19289
  HandlerParamType,
@@ -18762,6 +19293,7 @@ export {
18762
19293
  IMPORTS_KEY,
18763
19294
  INJECTABLE,
18764
19295
  INJECT_TOKENS_KEY,
19296
+ INTERCEPTORS_KEY,
18765
19297
  Inject,
18766
19298
  Injectable,
18767
19299
  Injector,
@@ -18773,7 +19305,6 @@ export {
18773
19305
  ORCA_ELEMENT_TYPE,
18774
19306
  ORCA_FRAGMENT_TYPE,
18775
19307
  OSC,
18776
- Observable,
18777
19308
  OrcaComponent,
18778
19309
  PARAMS_META_KEY,
18779
19310
  PATH_KEY,
@@ -18783,60 +19314,51 @@ export {
18783
19314
  Post,
18784
19315
  ProviderNormalizer,
18785
19316
  Query,
19317
+ REQUEST_CONTEXT,
19318
+ Req,
19319
+ Res,
18786
19320
  RouterModule,
18787
19321
  RouterOutlet,
18788
19322
  SIGNATURE_METADATA_KEY,
18789
19323
  SSE_ROUTE,
19324
+ SetMetadata,
19325
+ Shared,
18790
19326
  Signature,
18791
19327
  Sse,
18792
- Subject,
18793
19328
  Subscribe,
18794
- assert$,
19329
+ UploadedFile,
19330
+ UploadedFiles,
19331
+ UseGuards,
19332
+ UseInterceptors,
19333
+ applyDecorators,
18795
19334
  batch,
18796
19335
  browser_exports as browser,
18797
- catchError,
18798
19336
  collectAllProvidersFromNode,
18799
19337
  computed,
18800
- concatMap,
18801
19338
  createComponent,
18802
19339
  createRoot,
18803
- debounceTime,
18804
- distinctUntilChanged,
18805
19340
  effect,
18806
- filter2 as filter,
18807
- from,
18808
19341
  getCurrentInjector,
19342
+ getGuards,
19343
+ getInterceptors,
18809
19344
  getSignatureMetadata,
18810
19345
  hasSignature,
18811
19346
  insert2 as insert,
18812
- interval,
18813
19347
  isClassComponent,
18814
19348
  isFragment,
18815
19349
  isIntrinsicElement,
18816
- isObservable,
18817
19350
  isSignal,
18818
19351
  jsx,
18819
19352
  jsxs,
18820
- map,
18821
- mergeMap,
18822
- observable,
18823
- of,
19353
+ mixin,
18824
19354
  parseSignatureSchemas,
18825
- reduce,
18826
- scan,
18827
19355
  setCurrentInjector,
18828
19356
  shared_exports as shared,
18829
19357
  signal,
18830
- skip,
18831
19358
  spread,
18832
- startWith,
18833
19359
  style,
18834
- switchMap,
18835
19360
  symbolValueReplacer,
18836
19361
  symbolValueReviver,
18837
- take,
18838
- tap,
18839
- throttleTime,
18840
19362
  toSignal,
18841
19363
  untracked
18842
19364
  };