@microsoft/agents-hosting-storage-cosmos 0.2.14 → 0.3.5

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.
@@ -1,7 +1,17 @@
1
1
  import { CosmosDbPartitionedStorageOptions } from './cosmosDbPartitionedStorageOptions';
2
2
  import { Storage, StoreItems } from '@microsoft/agents-hosting';
3
+ /**
4
+ * A utility class to ensure that a specific asynchronous task is executed only once for a given key.
5
+ * @template T The type of the result returned by the asynchronous task.
6
+ */
3
7
  export declare class DoOnce<T> {
4
8
  private task;
9
+ /**
10
+ * Waits for the task associated with the given key to complete, or starts the task if it hasn't been started yet.
11
+ * @param key The unique key identifying the task.
12
+ * @param fn A function that returns a promise representing the task to execute.
13
+ * @returns A promise that resolves to the result of the task.
14
+ */
5
15
  waitFor(key: string, fn: () => Promise<T>): Promise<T>;
6
16
  }
7
17
  /**
@@ -13,6 +23,9 @@ export declare class CosmosDbPartitionedStorage implements Storage {
13
23
  private client;
14
24
  private compatibilityModePartitionKey;
15
25
  [key: string]: any;
26
+ /**
27
+ * The number of items in the storage. This property is not currently used.
28
+ */
16
29
  length: number;
17
30
  /**
18
31
  * Initializes a new instance of the CosmosDbPartitionedStorage class.
@@ -6,10 +6,20 @@ exports.CosmosDbPartitionedStorage = exports.DoOnce = void 0;
6
6
  const cosmos_1 = require("@azure/cosmos");
7
7
  const cosmosDbKeyEscape_1 = require("./cosmosDbKeyEscape");
8
8
  const documentStoreItem_1 = require("./documentStoreItem");
9
+ /**
10
+ * A utility class to ensure that a specific asynchronous task is executed only once for a given key.
11
+ * @template T The type of the result returned by the asynchronous task.
12
+ */
9
13
  class DoOnce {
10
14
  constructor() {
11
15
  this.task = {};
12
16
  }
17
+ /**
18
+ * Waits for the task associated with the given key to complete, or starts the task if it hasn't been started yet.
19
+ * @param key The unique key identifying the task.
20
+ * @param fn A function that returns a promise representing the task to execute.
21
+ * @returns A promise that resolves to the result of the task.
22
+ */
13
23
  waitFor(key, fn) {
14
24
  if (!this.task[key]) {
15
25
  this.task[key] = fn();
@@ -32,6 +42,9 @@ class CosmosDbPartitionedStorage {
32
42
  var _a;
33
43
  this.cosmosDbStorageOptions = cosmosDbStorageOptions;
34
44
  this.compatibilityModePartitionKey = false;
45
+ /**
46
+ * The number of items in the storage. This property is not currently used.
47
+ */
35
48
  this.length = 0;
36
49
  if (!cosmosDbStorageOptions) {
37
50
  throw new ReferenceError('CosmosDbPartitionedStorageOptions is required.');
@@ -1 +1 @@
1
- {"version":3,"file":"cosmosDbPartitionedStorage.js","sourceRoot":"","sources":["../../src/cosmosDbPartitionedStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cosmosDbPartitionedStorage.js","sourceRoot":"","sources":["../../src/cosmosDbPartitionedStorage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@microsoft/agents-hosting-storage-cosmos",
4
- "version": "0.2.14",
4
+ "version": "0.3.5",
5
5
  "homepage": "https://github.com/microsoft/Agents-for-js",
6
6
  "repository": {
7
7
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "types": "dist/src/index.d.ts",
18
18
  "dependencies": {
19
19
  "@azure/cosmos": "^4.3.0",
20
- "@microsoft/agents-hosting": "0.2.14"
20
+ "@microsoft/agents-hosting": "0.3.5"
21
21
  },
22
22
  "license": "MIT",
23
23
  "files": [
@@ -6,11 +6,22 @@ import { CosmosDbKeyEscape } from './cosmosDbKeyEscape'
6
6
  import { DocumentStoreItem } from './documentStoreItem'
7
7
  import { CosmosDbPartitionedStorageOptions } from './cosmosDbPartitionedStorageOptions'
8
8
  import { Storage, StoreItems } from '@microsoft/agents-hosting'
9
+
10
+ /**
11
+ * A utility class to ensure that a specific asynchronous task is executed only once for a given key.
12
+ * @template T The type of the result returned by the asynchronous task.
13
+ */
9
14
  export class DoOnce<T> {
10
15
  private task: {
11
16
  [key: string]: Promise<T>;
12
17
  } = {}
13
18
 
19
+ /**
20
+ * Waits for the task associated with the given key to complete, or starts the task if it hasn't been started yet.
21
+ * @param key The unique key identifying the task.
22
+ * @param fn A function that returns a promise representing the task to execute.
23
+ * @returns A promise that resolves to the result of the task.
24
+ */
14
25
  waitFor (key: string, fn: () => Promise<T>): Promise<T> {
15
26
  if (!this.task[key]) {
16
27
  this.task[key] = fn()
@@ -32,6 +43,10 @@ export class CosmosDbPartitionedStorage implements Storage {
32
43
  private client!: CosmosClient
33
44
  private compatibilityModePartitionKey = false;
34
45
  [key: string]: any;
46
+
47
+ /**
48
+ * The number of items in the storage. This property is not currently used.
49
+ */
35
50
  length: number = 0
36
51
 
37
52
  /**