@qwik.dev/core 2.0.0-beta.34 → 2.0.0-beta.36

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.
@@ -7,6 +7,7 @@ import type { JSXNodeInternal } from '../internal';
7
7
  import { JSXOutput } from '..';
8
8
  import type { _QDocument } from '../internal';
9
9
  import { RenderResult } from '..';
10
+ import { StreamWriter } from '..';
10
11
  import type { _Stringifiable } from '../internal';
11
12
  import type { _VirtualVNode } from '../internal';
12
13
  import type { _VNode } from '../internal';
@@ -45,13 +46,14 @@ declare const enum ChoreBits {
45
46
  TASKS = 1,
46
47
  NODE_DIFF = 2,
47
48
  COMPONENT = 4,
48
- NODE_PROPS = 8,
49
- COMPUTE = 16,
50
- CHILDREN = 32,
51
- CLEANUP = 64,
52
- RECONCILE = 128,
53
- ERROR_WRAP = 256,
54
- DIRTY_MASK = 511
49
+ INLINE_COMPONENT = 8,
50
+ NODE_PROPS = 16,
51
+ COMPUTE = 32,
52
+ CHILDREN = 64,
53
+ CLEANUP = 128,
54
+ RECONCILE = 256,
55
+ ERROR_WRAP = 512,
56
+ DIRTY_MASK = 1023
55
57
  }
56
58
 
57
59
  /** @internal */
@@ -72,9 +74,12 @@ declare type Consumer = Task | VNode | SignalImpl | ISsrNode;
72
74
  declare interface Container {
73
75
  readonly $version$: string;
74
76
  readonly $storeProxyMap$: ObjToProxyMap;
77
+ $rootContainer$: Container | null;
78
+ $isOutOfOrderSegment$: boolean;
75
79
  readonly $locale$: string;
76
80
  readonly $getObjectById$: (id: number | string) => any;
77
81
  readonly $serverData$: Record<string, any>;
82
+ readonly $instanceHash$: string | null;
78
83
  $currentUniqueId$: number;
79
84
  $buildBase$: string | null;
80
85
  $renderPromise$: Promise<void> | null;
@@ -105,7 +110,7 @@ declare interface Container {
105
110
  new (...rest: any[]): {
106
111
  __brand__: 'DomRef';
107
112
  };
108
- } | null, symbolToChunkResolver: SymbolToChunkResolver, writer?: StreamWriter): SerializationContext;
113
+ } | null, symbolToChunkResolver: SymbolToChunkResolver, writer?: StreamWriter_2): SerializationContext;
109
114
  }
110
115
 
111
116
  /**
@@ -203,7 +208,7 @@ declare interface DevJSX {
203
208
  }
204
209
 
205
210
  declare type DomRef = {
206
- $ssrNode$: SsrNode;
211
+ $ssrNode$: ISsrNode;
207
212
  };
208
213
 
209
214
  /** @public */
@@ -321,6 +326,26 @@ export declare function getTestPlatform(): TestPlatform;
321
326
 
322
327
  declare type HostElement = VNode | ISsrNode;
323
328
 
329
+ /** @public */
330
+ export declare interface InOrderAuto {
331
+ strategy: 'auto';
332
+ maximumInitialChunk?: number;
333
+ maximumChunk?: number;
334
+ }
335
+
336
+ /** @public */
337
+ export declare interface InOrderDirect {
338
+ strategy: 'direct';
339
+ }
340
+
341
+ /** @public */
342
+ export declare interface InOrderDisabled {
343
+ strategy: 'disabled';
344
+ }
345
+
346
+ /** @public */
347
+ export declare type InOrderStreaming = InOrderAuto | InOrderDisabled | InOrderDirect;
348
+
324
349
  /** The shared state during an invoke() call */
325
350
  declare interface InvokeContext {
326
351
  /** The Virtual parent component for the current component code */
@@ -337,8 +362,10 @@ declare interface ISsrNode {
337
362
  flags: SsrNodeFlags;
338
363
  dirty: ChoreBits;
339
364
  parentComponent: ISsrNode | null;
365
+ children: ISsrNode[] | null;
340
366
  vnodeData: VNodeData;
341
367
  currentFile: string | null;
368
+ readonly [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | null;
342
369
  setProp(name: string, value: any): void;
343
370
  getProp(name: string): any;
344
371
  removeProp(name: string): void;
@@ -479,6 +506,9 @@ declare interface NodePropData {
479
506
 
480
507
  declare type ObjToProxyMap = WeakMap<any, any>;
481
508
 
509
+ /** @public */
510
+ export declare type OutOfOrderStreaming = boolean;
511
+
482
512
  /** @internal */
483
513
  declare const _OWNER: unique symbol;
484
514
 
@@ -705,6 +735,7 @@ declare type SeenRef = {
705
735
 
706
736
  declare interface SerializationContext {
707
737
  $serialize$: () => ValueOrPromise<void>;
738
+ $serializePatch$: (rootStart: number, rootIds: number[], extraRootId?: number | string | number[], streamedRootLimit?: number) => ValueOrPromise<void>;
708
739
  $symbolToChunkResolver$: SymbolToChunkResolver;
709
740
  /**
710
741
  * Map from object to parent and index reference.
@@ -727,14 +758,26 @@ declare interface SerializationContext {
727
758
  * Returns the index of the root object.
728
759
  */
729
760
  $addRoot$: AddRootFn;
761
+ $addDuplicateRoot$: (obj: unknown) => SeenRef;
762
+ $commitRoot$: (root: unknown, obj: unknown) => number;
730
763
  /** Mark an object as seen during serialization. This is used to handle backreferences and cycles */
731
764
  $markSeen$: (obj: unknown, parent: SeenRef | undefined, index: number) => SeenRef;
732
765
  $roots$: unknown[];
733
- $promoteToRoot$: (ref: SeenRef, index?: number) => void;
766
+ $rootObjs$: unknown[];
767
+ $onAddRoot$?: (id: number, root: unknown, obj: unknown) => void;
768
+ $forwardRefOffset$: number;
769
+ $serializedRootCount$: number;
770
+ $serializedForwardRefCount$: number;
771
+ $rootStateRootCount$: number;
772
+ $hasRootStateForwardRefs$: boolean;
773
+ $promoteToRoot$: (ref: SeenRef, obj: unknown, index?: number) => void;
734
774
  $addSyncFn$($funcStr$: string | null, argsCount: number, fn: Function): number;
735
- $isSsrNode$: (obj: unknown) => obj is SsrNode;
775
+ $setSyncFnOffset$(offset: number, existingFns?: string[]): void;
776
+ $isSsrNode$: (obj: unknown) => obj is ISsrNode;
736
777
  $isDomRef$: (obj: unknown) => obj is DomRef;
737
- $writer$: StreamWriter;
778
+ $markSsrNodeForSerialization$: (node: ISsrNode, flags: number) => void;
779
+ $writer$: SSRInternalStreamWriter;
780
+ $setWriter$(writer: SSRInternalStreamWriter): void;
738
781
  $syncFns$: string[];
739
782
  $eventQrls$: Set<QRL>;
740
783
  $eventNames$: Set<string>;
@@ -810,13 +853,12 @@ declare interface SimplifiedServerRequestEvent<T = unknown> {
810
853
  request: Request;
811
854
  }
812
855
 
813
- /** A selection of attributes of the real thing */
814
- declare type SsrNode = {
815
- id: string;
816
- children: ISsrNode[] | null;
817
- vnodeData: VNodeData;
818
- [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | null;
819
- };
856
+ /** @internal */
857
+ declare interface SSRInternalStreamWriter extends StreamWriter_2 {
858
+ writeRootRef(id: number): ValueOrPromise<void>;
859
+ writeRootRefPath(path: number[]): ValueOrPromise<void>;
860
+ toString(remap?: number[]): string;
861
+ }
820
862
 
821
863
  declare const enum SsrNodeFlags {
822
864
  Updatable = 1
@@ -830,6 +872,14 @@ export declare function ssrRenderToDom(jsx: JSXOutput, opts?: {
830
872
  raw?: boolean;
831
873
  /** Include QwikLoader */
832
874
  qwikLoader?: boolean;
875
+ /** Override the SSR container tag name. */
876
+ containerTagName?: string;
877
+ /** Stream rendered chunks while still collecting the final HTML. */
878
+ stream?: StreamWriter;
879
+ /** Configure SSR streaming. */
880
+ streaming?: StreamingOptions;
881
+ /** Skip client resume emulation after SSR. */
882
+ resume?: boolean;
833
883
  /** Inject nodes into the document before test runs (for testing purposes) */
834
884
  onBeforeResume?: (document: Document) => void;
835
885
  }): Promise<{
@@ -841,8 +891,14 @@ export declare function ssrRenderToDom(jsx: JSXOutput, opts?: {
841
891
 
842
892
  declare type StoreTarget = Record<string | symbol, any>;
843
893
 
894
+ /** @public */
895
+ export declare interface StreamingOptions {
896
+ inOrder?: InOrderStreaming;
897
+ outOfOrder?: OutOfOrderStreaming;
898
+ }
899
+
844
900
  /** @internal */
845
- declare interface StreamWriter {
901
+ declare interface StreamWriter_2 {
846
902
  write(chunk: string): ValueOrPromise<void>;
847
903
  waitForDrain?(): ValueOrPromise<void>;
848
904
  }