@fluidframework/map 2.0.0-dev.7.3.0.212138 → 2.0.0-dev.7.4.0.215366

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.
@@ -2,12 +2,14 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+ import { TypedEventEmitter } from "@fluid-internal/client-utils";
5
6
  import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
6
7
  import { IChannelAttributes, IFluidDataStoreRuntime, IChannelStorageService, IChannelServices, IChannelFactory } from "@fluidframework/datastore-definitions";
7
8
  import { ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
8
9
  import { IFluidSerializer, SharedObject } from "@fluidframework/shared-object-base";
9
- import { IDirectory, ISerializableValue, ISharedDirectory, ISharedDirectoryEvents } from "./interfaces";
10
- import { LocalValueMaker } from "./localValues";
10
+ import { RedBlackTree } from "@fluidframework/merge-tree";
11
+ import { IDirectory, IDirectoryEvents, ISerializableValue, ISerializedValue, ISharedDirectory, ISharedDirectoryEvents } from "./interfaces";
12
+ import { ILocalValue, LocalValueMaker } from "./localValues";
11
13
  /**
12
14
  * Operation indicating a value should be set for a key.
13
15
  *
@@ -221,6 +223,34 @@ export declare class DirectoryFactory implements IChannelFactory {
221
223
  */
222
224
  create(runtime: IFluidDataStoreRuntime, id: string): ISharedDirectory;
223
225
  }
226
+ /**
227
+ * The combination of sequence numebr and client sequence number of a subdirectory
228
+ */
229
+ interface SequenceData {
230
+ seq: number;
231
+ clientSeq?: number;
232
+ }
233
+ /**
234
+ * A utility class for tracking associations between keys and their creation indices.
235
+ * This is relevant to support map iteration in insertion order, see
236
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator/%40%40iterator
237
+ *
238
+ * TODO: It can be combined with the creation tracker utilized in SharedMap
239
+ */
240
+ declare class DirectoryCreationTracker {
241
+ readonly indexToKey: RedBlackTree<SequenceData, string>;
242
+ readonly keyToIndex: Map<string, SequenceData>;
243
+ constructor();
244
+ set(key: string, seqData: SequenceData): void;
245
+ has(keyOrSeqData: string | SequenceData): boolean;
246
+ delete(keyOrSeqData: string | SequenceData): void;
247
+ /**
248
+ * Retrieves all subdirectories with creation order that satisfy an optional constraint function.
249
+ * @param constraint - An optional constraint function that filters keys.
250
+ * @returns An array of keys that satisfy the constraint (or all keys if no constraint is provided).
251
+ */
252
+ keys(constraint?: (key: string) => boolean): string[];
253
+ }
224
254
  /**
225
255
  * {@inheritDoc ISharedDirectory}
226
256
  *
@@ -438,4 +468,457 @@ export declare class SharedDirectory extends SharedObject<ISharedDirectoryEvents
438
468
  protected applyStashedOp(op: unknown): unknown;
439
469
  private serializeDirectory;
440
470
  }
471
+ interface IKeyEditLocalOpMetadata {
472
+ type: "edit";
473
+ pendingMessageId: number;
474
+ previousValue: ILocalValue | undefined;
475
+ }
476
+ interface IClearLocalOpMetadata {
477
+ type: "clear";
478
+ pendingMessageId: number;
479
+ previousStorage: Map<string, ILocalValue>;
480
+ }
481
+ interface ICreateSubDirLocalOpMetadata {
482
+ type: "createSubDir";
483
+ }
484
+ interface IDeleteSubDirLocalOpMetadata {
485
+ type: "deleteSubDir";
486
+ subDirectory: SubDirectory | undefined;
487
+ }
488
+ type SubDirLocalOpMetadata = ICreateSubDirLocalOpMetadata | IDeleteSubDirLocalOpMetadata;
489
+ export type DirectoryLocalOpMetadata = IClearLocalOpMetadata | IKeyEditLocalOpMetadata | SubDirLocalOpMetadata;
490
+ /**
491
+ * Node of the directory tree.
492
+ * @sealed
493
+ */
494
+ declare class SubDirectory extends TypedEventEmitter<IDirectoryEvents> implements IDirectory {
495
+ private readonly seqData;
496
+ private readonly clientIds;
497
+ private readonly directory;
498
+ private readonly runtime;
499
+ private readonly serializer;
500
+ readonly absolutePath: string;
501
+ /**
502
+ * Tells if the sub directory is deleted or not.
503
+ */
504
+ private _deleted;
505
+ /**
506
+ * String representation for the class.
507
+ */
508
+ [Symbol.toStringTag]: string;
509
+ /**
510
+ * The in-memory data the directory is storing.
511
+ */
512
+ private readonly _storage;
513
+ /**
514
+ * The subdirectories the directory is holding.
515
+ */
516
+ private readonly _subdirectories;
517
+ /**
518
+ * Keys that have been modified locally but not yet ack'd from the server. This is for operations on keys like
519
+ * set/delete operations on keys. The value of this map is list of pendingMessageIds at which that key
520
+ * was modified. We don't store the type of ops, and behaviour of key ops are different from behaviour of sub
521
+ * directory ops, so we have separate map from subDirectories tracker.
522
+ */
523
+ private readonly pendingKeys;
524
+ /**
525
+ * Subdirectories that have been deleted locally but not yet ack'd from the server. This maintains the record
526
+ * of delete op that are pending or yet to be acked from server. This is maintained just to track the locally
527
+ * deleted sub directory.
528
+ */
529
+ private readonly pendingDeleteSubDirectoriesTracker;
530
+ /**
531
+ * Subdirectories that have been created locally but not yet ack'd from the server. This maintains the record
532
+ * of create op that are pending or yet to be acked from server. This is maintained just to track the locally
533
+ * created sub directory.
534
+ */
535
+ private readonly pendingCreateSubDirectoriesTracker;
536
+ /**
537
+ * This is used to assign a unique id to every outgoing operation and helps in tracking unack'd ops.
538
+ */
539
+ private pendingMessageId;
540
+ /**
541
+ * The pending ids of any clears that have been performed locally but not yet ack'd from the server
542
+ */
543
+ private readonly pendingClearMessageIds;
544
+ /**
545
+ * Assigns a unique ID to each subdirectory created locally but pending for acknowledgement, facilitating the tracking
546
+ * of the creation order.
547
+ */
548
+ localCreationSeq: number;
549
+ /**
550
+ * Maintains a bidirectional association between ack'd subdirectories and their seqData.
551
+ * This helps to ensure iteration order which is consistent with the JS map spec.
552
+ */
553
+ readonly ackedCreationSeqTracker: DirectoryCreationTracker;
554
+ /**
555
+ * Similar to {@link ackedCreationSeqTracker}, but for local (unacked) entries.
556
+ */
557
+ readonly localCreationSeqTracker: DirectoryCreationTracker;
558
+ /**
559
+ * Constructor.
560
+ * @param sequenceNumber - Message seq number at which this was created.
561
+ * @param clientIds - Ids of client which created this directory.
562
+ * @param directory - Reference back to the SharedDirectory to perform operations
563
+ * @param runtime - The data store runtime this directory is associated with
564
+ * @param serializer - The serializer to serialize / parse handles
565
+ * @param absolutePath - The absolute path of this IDirectory
566
+ */
567
+ constructor(seqData: SequenceData, clientIds: Set<string>, directory: SharedDirectory, runtime: IFluidDataStoreRuntime, serializer: IFluidSerializer, absolutePath: string);
568
+ dispose(error?: Error): void;
569
+ /**
570
+ * Unmark the deleted property only when rolling back delete.
571
+ */
572
+ private undispose;
573
+ get disposed(): boolean;
574
+ private throwIfDisposed;
575
+ /**
576
+ * Checks whether the given key exists in this IDirectory.
577
+ * @param key - The key to check
578
+ * @returns True if the key exists, false otherwise
579
+ */
580
+ has(key: string): boolean;
581
+ /**
582
+ * {@inheritDoc IDirectory.get}
583
+ */
584
+ get<T = unknown>(key: string): T | undefined;
585
+ /**
586
+ * {@inheritDoc IDirectory.set}
587
+ */
588
+ set<T = unknown>(key: string, value: T): this;
589
+ /**
590
+ * {@inheritDoc IDirectory.countSubDirectory}
591
+ */
592
+ countSubDirectory(): number;
593
+ /**
594
+ * {@inheritDoc IDirectory.createSubDirectory}
595
+ */
596
+ createSubDirectory(subdirName: string): IDirectory;
597
+ /**
598
+ * @returns The Sequence Data which should be used for local changes.
599
+ * @remarks While detached, 0 is used rather than -1 to represent a change which should be universally known (as opposed to known
600
+ * only by the local client). This ensures that if the directory is later attached, none of its data needs to be updated (the values
601
+ * last set while detached will now be known to any new client, until they are changed).
602
+ *
603
+ * The client sequence number is incremented by 1 for maintaining the internal order of locally created subdirectories
604
+ * TODO: Convert these conventions to named constants. The semantics used here match those for merge-tree.
605
+ */
606
+ private getLocalSeq;
607
+ /**
608
+ * {@inheritDoc IDirectory.getSubDirectory}
609
+ */
610
+ getSubDirectory(subdirName: string): IDirectory | undefined;
611
+ /**
612
+ * {@inheritDoc IDirectory.hasSubDirectory}
613
+ */
614
+ hasSubDirectory(subdirName: string): boolean;
615
+ /**
616
+ * {@inheritDoc IDirectory.deleteSubDirectory}
617
+ */
618
+ deleteSubDirectory(subdirName: string): boolean;
619
+ /**
620
+ * {@inheritDoc IDirectory.subdirectories}
621
+ */
622
+ subdirectories(): IterableIterator<[string, IDirectory]>;
623
+ /**
624
+ * {@inheritDoc IDirectory.getWorkingDirectory}
625
+ */
626
+ getWorkingDirectory(relativePath: string): IDirectory | undefined;
627
+ /**
628
+ * This checks if there is pending delete op for local delete for a given child subdirectory.
629
+ * @param subDirName - directory name.
630
+ * @returns true if there is pending delete.
631
+ */
632
+ isSubDirectoryDeletePending(subDirName: string): boolean;
633
+ /**
634
+ * Deletes the given key from within this IDirectory.
635
+ * @param key - The key to delete
636
+ * @returns True if the key existed and was deleted, false if it did not exist
637
+ */
638
+ delete(key: string): boolean;
639
+ /**
640
+ * Deletes all keys from within this IDirectory.
641
+ */
642
+ clear(): void;
643
+ /**
644
+ * Issue a callback on each entry under this IDirectory.
645
+ * @param callback - Callback to issue
646
+ */
647
+ forEach(callback: (value: unknown, key: string, map: Map<string, unknown>) => void): void;
648
+ /**
649
+ * The number of entries under this IDirectory.
650
+ */
651
+ get size(): number;
652
+ /**
653
+ * Get an iterator over the entries under this IDirectory.
654
+ * @returns The iterator
655
+ */
656
+ entries(): IterableIterator<[string, unknown]>;
657
+ /**
658
+ * Get an iterator over the keys under this IDirectory.
659
+ * @returns The iterator
660
+ */
661
+ keys(): IterableIterator<string>;
662
+ /**
663
+ * Get an iterator over the values under this IDirectory.
664
+ * @returns The iterator
665
+ */
666
+ values(): IterableIterator<unknown>;
667
+ /**
668
+ * Get an iterator over the entries under this IDirectory.
669
+ * @returns The iterator
670
+ */
671
+ [Symbol.iterator](): IterableIterator<[string, unknown]>;
672
+ /**
673
+ * Process a clear operation.
674
+ * @param msg - The message from the server to apply.
675
+ * @param op - The op to process
676
+ * @param local - Whether the message originated from the local client
677
+ * @param localOpMetadata - For local client messages, this is the metadata that was submitted with the message.
678
+ * For messages from a remote client, this will be undefined.
679
+ * @internal
680
+ */
681
+ processClearMessage(msg: ISequencedDocumentMessage, op: IDirectoryClearOperation, local: boolean, localOpMetadata: unknown): void;
682
+ /**
683
+ * Apply clear operation locally and generate metadata
684
+ * @param op - Op to apply
685
+ * @returns metadata generated for stahed op
686
+ */
687
+ applyStashedClearMessage(op: IDirectoryClearOperation): IClearLocalOpMetadata;
688
+ /**
689
+ * Process a delete operation.
690
+ * @param msg - The message from the server to apply.
691
+ * @param op - The op to process
692
+ * @param local - Whether the message originated from the local client
693
+ * @param localOpMetadata - For local client messages, this is the metadata that was submitted with the message.
694
+ * For messages from a remote client, this will be undefined.
695
+ * @internal
696
+ */
697
+ processDeleteMessage(msg: ISequencedDocumentMessage, op: IDirectoryDeleteOperation, local: boolean, localOpMetadata: unknown): void;
698
+ /**
699
+ * Apply delete operation locally and generate metadata
700
+ * @param op - Op to apply
701
+ * @returns metadata generated for stahed op
702
+ */
703
+ applyStashedDeleteMessage(op: IDirectoryDeleteOperation): IKeyEditLocalOpMetadata;
704
+ /**
705
+ * Process a set operation.
706
+ * @param msg - The message from the server to apply.
707
+ * @param op - The op to process
708
+ * @param local - Whether the message originated from the local client
709
+ * @param localOpMetadata - For local client messages, this is the metadata that was submitted with the message.
710
+ * For messages from a remote client, this will be undefined.
711
+ * @internal
712
+ */
713
+ processSetMessage(msg: ISequencedDocumentMessage, op: IDirectorySetOperation, context: ILocalValue | undefined, local: boolean, localOpMetadata: unknown): void;
714
+ /**
715
+ * Apply set operation locally and generate metadata
716
+ * @param op - Op to apply
717
+ * @returns metadata generated for stahed op
718
+ */
719
+ applyStashedSetMessage(op: IDirectorySetOperation, context: ILocalValue): IKeyEditLocalOpMetadata;
720
+ /**
721
+ * Process a create subdirectory operation.
722
+ * @param msg - The message from the server to apply.
723
+ * @param op - The op to process
724
+ * @param local - Whether the message originated from the local client
725
+ * @param localOpMetadata - For local client messages, this is the metadata that was submitted with the message.
726
+ * For messages from a remote client, this will be undefined.
727
+ * @internal
728
+ */
729
+ processCreateSubDirectoryMessage(msg: ISequencedDocumentMessage, op: IDirectoryCreateSubDirectoryOperation, local: boolean, localOpMetadata: unknown): void;
730
+ /**
731
+ * Apply createSubDirectory operation locally and generate metadata
732
+ * @param op - Op to apply
733
+ * @returns metadata generated for stahed op
734
+ */
735
+ applyStashedCreateSubDirMessage(op: IDirectoryCreateSubDirectoryOperation): ICreateSubDirLocalOpMetadata;
736
+ /**
737
+ * Process a delete subdirectory operation.
738
+ * @param msg - The message from the server to apply.
739
+ * @param op - The op to process
740
+ * @param local - Whether the message originated from the local client
741
+ * @param localOpMetadata - For local client messages, this is the metadata that was submitted with the message.
742
+ * For messages from a remote client, this will be undefined.
743
+ * @internal
744
+ */
745
+ processDeleteSubDirectoryMessage(msg: ISequencedDocumentMessage, op: IDirectoryDeleteSubDirectoryOperation, local: boolean, localOpMetadata: unknown): void;
746
+ /**
747
+ * Apply deleteSubDirectory operation locally and generate metadata
748
+ * @param op - Op to apply
749
+ * @returns metadata generated for stahed op
750
+ */
751
+ applyStashedDeleteSubDirMessage(op: IDirectoryDeleteSubDirectoryOperation): IDeleteSubDirLocalOpMetadata;
752
+ /**
753
+ * Submit a clear operation.
754
+ * @param op - The operation
755
+ */
756
+ private submitClearMessage;
757
+ /**
758
+ * Resubmit a clear operation.
759
+ * @param op - The operation
760
+ * @internal
761
+ */
762
+ resubmitClearMessage(op: IDirectoryClearOperation, localOpMetadata: unknown): void;
763
+ /**
764
+ * Get a new pending message id for the op and cache it to track the pending op
765
+ */
766
+ private getKeyMessageId;
767
+ /**
768
+ * Submit a key operation.
769
+ * @param op - The operation
770
+ * @param previousValue - The value of the key before this op
771
+ */
772
+ private submitKeyMessage;
773
+ /**
774
+ * Submit a key message to remote clients based on a previous submit.
775
+ * @param op - The map key message
776
+ * @param localOpMetadata - Metadata from the previous submit
777
+ * @internal
778
+ */
779
+ resubmitKeyMessage(op: IDirectoryKeyOperation, localOpMetadata: unknown): void;
780
+ private incrementPendingSubDirCount;
781
+ private decrementPendingSubDirCount;
782
+ /**
783
+ * Update the count for pending create/delete of the sub directory so that it can be validated on receiving op
784
+ * or while resubmitting the op.
785
+ */
786
+ private updatePendingSubDirMessageCount;
787
+ /**
788
+ * Submit a create subdirectory operation.
789
+ * @param op - The operation
790
+ */
791
+ private submitCreateSubDirectoryMessage;
792
+ /**
793
+ * Submit a delete subdirectory operation.
794
+ * @param op - The operation
795
+ * @param subDir - Any subdirectory deleted by the op
796
+ */
797
+ private submitDeleteSubDirectoryMessage;
798
+ /**
799
+ * Submit a subdirectory operation again
800
+ * @param op - The operation
801
+ * @param localOpMetadata - metadata submitted with the op originally
802
+ * @internal
803
+ */
804
+ resubmitSubDirectoryMessage(op: IDirectorySubDirectoryOperation, localOpMetadata: unknown): void;
805
+ /**
806
+ * Get the storage of this subdirectory in a serializable format, to be used in snapshotting.
807
+ * @param serializer - The serializer to use to serialize handles in its values.
808
+ * @returns The JSONable string representing the storage of this subdirectory
809
+ * @internal
810
+ */
811
+ getSerializedStorage(serializer: IFluidSerializer): Generator<[string, ISerializedValue], void>;
812
+ getSerializableCreateInfo(): ICreateInfo;
813
+ /**
814
+ * Populate a key value in this subdirectory's storage, to be used when loading from snapshot.
815
+ * @param key - The key to populate
816
+ * @param localValue - The local value to populate into it
817
+ * @internal
818
+ */
819
+ populateStorage(key: string, localValue: ILocalValue): void;
820
+ /**
821
+ * Populate a subdirectory into this subdirectory, to be used when loading from snapshot.
822
+ * @param subdirName - The name of the subdirectory to add
823
+ * @param newSubDir - The new subdirectory to add
824
+ * @internal
825
+ */
826
+ populateSubDirectory(subdirName: string, newSubDir: SubDirectory): void;
827
+ /**
828
+ * Retrieve the local value at the given key. This is used to get value type information stashed on the local
829
+ * value so op handlers can be retrieved
830
+ * @param key - The key to retrieve from
831
+ * @returns The local value
832
+ * @internal
833
+ */
834
+ getLocalValue<T extends ILocalValue = ILocalValue>(key: string): T;
835
+ /**
836
+ * Remove the pendingMessageId from the map tracking it on rollback
837
+ * @param map - map tracking the pending messages
838
+ * @param key - key of the edit in the op
839
+ */
840
+ private rollbackPendingMessageId;
841
+ /**
842
+ * Rollback a local op
843
+ * @param op - The operation to rollback
844
+ * @param localOpMetadata - The local metadata associated with the op.
845
+ */
846
+ rollback(op: any, localOpMetadata: unknown): void;
847
+ /**
848
+ * Converts the given relative path into an absolute path.
849
+ * @param path - Relative path to convert
850
+ * @returns The equivalent absolute path
851
+ */
852
+ private makeAbsolute;
853
+ /**
854
+ * If our local operations that have not yet been ack'd will eventually overwrite an incoming operation, we should
855
+ * not process the incoming operation.
856
+ * @param op - Operation to check
857
+ * @param local - Whether the operation originated from the local client
858
+ * @param localOpMetadata - For local client ops, this is the metadata that was submitted with the op.
859
+ * For ops from a remote client, this will be undefined.
860
+ * @returns True if the operation should be processed, false otherwise
861
+ */
862
+ private needProcessStorageOperation;
863
+ /**
864
+ * This return true if the message is for the current instance of this sub directory. As the sub directory
865
+ * can be deleted and created again, then this finds if the message is for current instance of directory or not.
866
+ * @param msg - message for the directory
867
+ */
868
+ private isMessageForCurrentInstanceOfSubDirectory;
869
+ /**
870
+ * If our local operations that have not yet been ack'd will eventually overwrite an incoming operation, we should
871
+ * not process the incoming operation.
872
+ * @param op - Operation to check
873
+ * @param local - Whether the message originated from the local client
874
+ * @param message - The message
875
+ * @param localOpMetadata - For local client messages, this is the metadata that was submitted with the message.
876
+ * For messages from a remote client, this will be undefined.
877
+ * @returns True if the operation should be processed, false otherwise
878
+ */
879
+ private needProcessSubDirectoryOperation;
880
+ /**
881
+ * Clear all keys in memory in response to a remote clear, but retain keys we have modified but not yet been ack'd.
882
+ */
883
+ private clearExceptPendingKeys;
884
+ /**
885
+ * Clear implementation used for both locally sourced clears as well as incoming remote clears.
886
+ * @param local - Whether the message originated from the local client
887
+ */
888
+ private clearCore;
889
+ /**
890
+ * Delete implementation used for both locally sourced deletes as well as incoming remote deletes.
891
+ * @param key - The key being deleted
892
+ * @param local - Whether the message originated from the local client
893
+ * @returns Previous local value of the key if it existed, undefined if it did not exist
894
+ */
895
+ private deleteCore;
896
+ /**
897
+ * Set implementation used for both locally sourced sets as well as incoming remote sets.
898
+ * @param key - The key being set
899
+ * @param value - The value being set
900
+ * @param local - Whether the message originated from the local client
901
+ * @returns Previous local value of the key, if any
902
+ */
903
+ private setCore;
904
+ /**
905
+ * Create subdirectory implementation used for both locally sourced creation as well as incoming remote creation.
906
+ * @param subdirName - The name of the subdirectory being created
907
+ * @param local - Whether the message originated from the local client
908
+ * @param seqData - Sequence number and client sequence number at which this directory is created
909
+ * @param clientId - Id of client which created this directory.
910
+ * @returns True if is newly created, false if it already existed.
911
+ */
912
+ private createSubDirectoryCore;
913
+ private registerEventsOnSubDirectory;
914
+ /**
915
+ * Delete subdirectory implementation used for both locally sourced creation as well as incoming remote creation.
916
+ * @param subdirName - The name of the subdirectory being deleted
917
+ * @param local - Whether the message originated from the local client
918
+ */
919
+ private deleteSubDirectoryCore;
920
+ private disposeSubDirectoryTree;
921
+ private undeleteSubDirectoryTree;
922
+ }
923
+ export {};
441
924
  //# sourceMappingURL=directory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}