@convex-dev/sharded-counter 0.2.0 → 0.2.1

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,4 +1,4 @@
1
- import type { DocumentByName, GenericDataModel, GenericMutationCtx, GenericQueryCtx, TableNamesInDataModel } from "convex/server";
1
+ import type { DocumentByName, GenericActionCtx, GenericDataModel, GenericMutationCtx, GenericQueryCtx, TableNamesInDataModel } from "convex/server";
2
2
  import type { GenericId } from "convex/values";
3
3
  import type { ComponentApi } from "../component/_generated/component.js";
4
4
  /**
@@ -35,26 +35,26 @@ export declare class ShardedCounter<ShardsKey extends string> {
35
35
  * @param name The key to update the counter for.
36
36
  * @param count The amount to increment the counter by. Defaults to 1.
37
37
  */
38
- add<Name extends ShardsKey>(ctx: RunMutationCtx, name: Name, count?: number): Promise<void>;
38
+ add<Name extends ShardsKey>(ctx: MutationCtx | ActionCtx, name: Name, count?: number): Promise<void>;
39
39
  /**
40
40
  * Decrease the counter for key `name` by `count`.
41
41
  */
42
- subtract<Name extends ShardsKey>(ctx: RunMutationCtx, name: Name, count?: number): Promise<void>;
42
+ subtract<Name extends ShardsKey>(ctx: MutationCtx | ActionCtx, name: Name, count?: number): Promise<void>;
43
43
  /**
44
44
  * Increment the counter for key `name` by 1.
45
45
  */
46
- inc<Name extends ShardsKey>(ctx: RunMutationCtx, name: Name): Promise<void>;
46
+ inc<Name extends ShardsKey>(ctx: MutationCtx | ActionCtx, name: Name): Promise<void>;
47
47
  /**
48
48
  * Decrement the counter for key `name` by 1.
49
49
  */
50
- dec<Name extends ShardsKey>(ctx: RunMutationCtx, name: Name): Promise<void>;
50
+ dec<Name extends ShardsKey>(ctx: MutationCtx | ActionCtx, name: Name): Promise<void>;
51
51
  /**
52
52
  * Gets the counter for key `name`.
53
53
  *
54
54
  * NOTE: this reads from all shards. If used in a mutation, it will contend
55
55
  * with all mutations that update the counter for this key.
56
56
  */
57
- count<Name extends ShardsKey>(ctx: RunQueryCtx, name: Name): Promise<number>;
57
+ count<Name extends ShardsKey>(ctx: QueryCtx | MutationCtx | ActionCtx, name: Name): Promise<number>;
58
58
  /**
59
59
  * Redistribute counts evenly across the counter's shards.
60
60
  *
@@ -67,13 +67,13 @@ export declare class ShardedCounter<ShardsKey extends string> {
67
67
  * This operation reads and writes all shards, so it can cause contention if
68
68
  * called too often.
69
69
  */
70
- rebalance<Name extends ShardsKey>(ctx: RunMutationCtx, name: Name): Promise<void>;
70
+ rebalance<Name extends ShardsKey>(ctx: MutationCtx | ActionCtx, name: Name): Promise<void>;
71
71
  /**
72
72
  * Clear the counter for key `name`.
73
73
  *
74
74
  * @param name The key to clear the counter for.
75
75
  */
76
- reset<Name extends ShardsKey>(ctx: RunMutationCtx, name: Name): Promise<void>;
76
+ reset<Name extends ShardsKey>(ctx: MutationCtx | ActionCtx, name: Name): Promise<void>;
77
77
  /**
78
78
  * Estimate the count of a counter by only reading from a subset of shards,
79
79
  * and extrapolating the total count.
@@ -85,7 +85,7 @@ export declare class ShardedCounter<ShardsKey extends string> {
85
85
  *
86
86
  * Use this to reduce contention when reading the counter.
87
87
  */
88
- estimateCount<Name extends ShardsKey>(ctx: RunQueryCtx, name: Name, readFromShards?: number): Promise<any>;
88
+ estimateCount<Name extends ShardsKey>(ctx: QueryCtx | MutationCtx | ActionCtx, name: Name, readFromShards?: number): Promise<any>;
89
89
  /**
90
90
  * Returns an object with methods to update and query the counter for key
91
91
  * `name`. For fixed keys, you can call `counter.for("<key>")` to get methods
@@ -105,46 +105,46 @@ export declare class ShardedCounter<ShardsKey extends string> {
105
105
  /**
106
106
  * Add `count` to the counter.
107
107
  */
108
- add: (ctx: RunMutationCtx, count?: number) => Promise<void>;
108
+ add: (ctx: MutationCtx | ActionCtx, count?: number) => Promise<void>;
109
109
  /**
110
110
  * Subtract `count` from the counter.
111
111
  */
112
- subtract: (ctx: RunMutationCtx, count?: number) => Promise<void>;
112
+ subtract: (ctx: MutationCtx | ActionCtx, count?: number) => Promise<void>;
113
113
  /**
114
114
  * Increment the counter by 1.
115
115
  */
116
- inc: (ctx: RunMutationCtx) => Promise<void>;
116
+ inc: (ctx: MutationCtx | ActionCtx) => Promise<void>;
117
117
  /**
118
118
  * Decrement the counter by 1.
119
119
  */
120
- dec: (ctx: RunMutationCtx) => Promise<void>;
120
+ dec: (ctx: MutationCtx | ActionCtx) => Promise<void>;
121
121
  /**
122
122
  * Get the current value of the counter.
123
123
  *
124
124
  * NOTE: this reads from all shards. If used in a mutation, it will
125
125
  * contend with all mutations that update the counter for this key.
126
126
  */
127
- count: (ctx: RunQueryCtx) => Promise<number>;
127
+ count: (ctx: QueryCtx | MutationCtx | ActionCtx) => Promise<number>;
128
128
  /**
129
129
  * Reset the counter for this key.
130
130
  */
131
- reset: (ctx: RunMutationCtx) => Promise<void>;
131
+ reset: (ctx: MutationCtx | ActionCtx) => Promise<void>;
132
132
  /**
133
133
  * Redistribute counts evenly across the counter's shards.
134
134
  *
135
135
  * This operation reads and writes all shards, so it can cause contention
136
136
  * if called too often.
137
137
  */
138
- rebalance: (ctx: RunMutationCtx) => Promise<void>;
138
+ rebalance: (ctx: MutationCtx | ActionCtx) => Promise<void>;
139
139
  /**
140
140
  * Estimate the counter by only reading from a subset of shards,
141
141
  * and extrapolating the total count.
142
142
  *
143
143
  * Use this to reduce contention when reading the counter.
144
144
  */
145
- estimateCount: (ctx: RunQueryCtx, readFromShards?: number) => Promise<any>;
145
+ estimateCount: (ctx: QueryCtx | MutationCtx | ActionCtx, readFromShards?: number) => Promise<any>;
146
146
  };
147
- trigger<Ctx extends RunMutationCtx, Name extends ShardsKey>(name: Name): Trigger<Ctx, GenericDataModel, TableNamesInDataModel<GenericDataModel>>;
147
+ trigger<Ctx extends MutationCtx, Name extends ShardsKey>(name: Name): Trigger<Ctx, GenericDataModel, TableNamesInDataModel<GenericDataModel>>;
148
148
  }
149
149
  export type Trigger<Ctx, DataModel extends GenericDataModel, TableName extends TableNamesInDataModel<DataModel>> = (ctx: Ctx, change: Change<DataModel, TableName>) => Promise<void>;
150
150
  export type Change<DataModel extends GenericDataModel, TableName extends TableNamesInDataModel<DataModel>> = {
@@ -162,11 +162,8 @@ export type Change<DataModel extends GenericDataModel, TableName extends TableNa
162
162
  oldDoc: DocumentByName<DataModel, TableName>;
163
163
  newDoc: null;
164
164
  });
165
- type RunQueryCtx = {
166
- runQuery: GenericQueryCtx<GenericDataModel>["runQuery"];
167
- };
168
- type RunMutationCtx = {
169
- runMutation: GenericMutationCtx<GenericDataModel>["runMutation"];
170
- };
165
+ type QueryCtx = Pick<GenericQueryCtx<GenericDataModel>, "runQuery">;
166
+ type MutationCtx = Pick<GenericMutationCtx<GenericDataModel>, "runQuery" | "runMutation">;
167
+ type ActionCtx = Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation" | "runAction">;
171
168
  export {};
172
169
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export type Doc<TableName extends TableNames> = DocumentByName<DataModel, TableN
25
25
  * Convex documents are uniquely identified by their `Id`, which is accessible
26
26
  * on the `_id` field. To learn more, see [Document IDs](https://docs.convex.dev/using/document-ids).
27
27
  *
28
- * Documents can be loaded using `db.get(id)` in query and mutation functions.
28
+ * Documents can be loaded using `db.get(tableName, id)` in query and mutation functions.
29
29
  *
30
30
  * IDs are just strings at runtime, but this type can be used to distinguish them from other
31
31
  * strings when type checking.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/server.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAUvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAgB,CAAC;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,SAAS,EAAE,UAAU,CACxC,CAAC;AAEvB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAmB,CAAC;AAE9E;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU,CAC3C,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAiB,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,CACzC,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,EAAE,iBAAqC,CAAC;AAO/D;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/component/_generated/server.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAUvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,QAAQ,CAAgB,CAAC;AAErE;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,YAAY,CAAC,SAAS,EAAE,UAAU,CACxC,CAAC;AAEvB;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAmB,CAAC;AAE9E;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAAe,CAAC,SAAS,EAAE,UAAU,CAC3C,CAAC;AAE1B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,MAAM,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAiB,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,SAAS,EAAE,UAAU,CACzC,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,EAAE,iBAAqC,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;AAExD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC"}
@@ -17,7 +17,7 @@ export const add = mutation({
17
17
  .withIndex("name", (q) => q.eq("name", args.name).eq("shard", shard))
18
18
  .unique();
19
19
  if (counter) {
20
- await ctx.db.patch(counter._id, {
20
+ await ctx.db.patch("counters", counter._id, {
21
21
  value: counter.value + args.count,
22
22
  });
23
23
  }
@@ -55,7 +55,7 @@ export const rebalance = mutation({
55
55
  for (let i = 0; i < shardCount; i++) {
56
56
  const shard = counters.find((c) => c.shard === i);
57
57
  if (shard) {
58
- await ctx.db.patch(shard._id, { value });
58
+ await ctx.db.patch("counters", shard._id, { value });
59
59
  }
60
60
  else {
61
61
  await ctx.db.insert("counters", {
@@ -67,7 +67,7 @@ export const rebalance = mutation({
67
67
  }
68
68
  const toDelete = counters.filter((c) => c.shard >= shardCount);
69
69
  for (const counter of toDelete) {
70
- await ctx.db.delete(counter._id);
70
+ await ctx.db.delete("counters", counter._id);
71
71
  }
72
72
  },
73
73
  });
@@ -78,7 +78,7 @@ export const reset = mutation({
78
78
  .query("counters")
79
79
  .withIndex("name", (q) => q.eq("name", args.name))
80
80
  .collect()
81
- .then((counters) => Promise.all(counters.map((c) => ctx.db.delete(c._id))));
81
+ .then((counters) => Promise.all(counters.map((c) => ctx.db.delete("counters", c._id))));
82
82
  },
83
83
  });
84
84
  export const estimateCount = query({
@@ -1 +1 @@
1
- {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/component/public.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/component/public.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "email": "support@convex.dev",
8
8
  "url": "https://github.com/get-convex/sharded-counter/issues"
9
9
  },
10
- "version": "0.2.0",
10
+ "version": "0.2.1",
11
11
  "license": "Apache-2.0",
12
12
  "keywords": [
13
13
  "convex",
@@ -16,24 +16,23 @@
16
16
  ],
17
17
  "type": "module",
18
18
  "scripts": {
19
- "dev": "run-p -r 'dev:*'",
20
- "dev:backend": "convex dev --typecheck-components",
19
+ "dev": "convex dev --start 'npm run dev:build'",
21
20
  "dev:frontend": "cd example && vite --clearScreen false",
22
- "dev:build": "chokidar 'tsconfig*.json' 'src/**/*.ts' -i '**/*.test.ts' -c 'convex codegen --component-dir ./src/component && npm run build' --initial",
23
- "predev": "npm run dev:backend -- --until-success",
24
- "clean": "rm -rf dist *.tsbuildinfo",
21
+ "dev:build": "chokidar 'tsconfig*.json' 'src/**/*.ts' -i '**/*.test.ts' -c 'npm run build:codegen' --initial",
22
+ "predev": "convex init && npm run build:codegen",
25
23
  "build": "tsc --project ./tsconfig.build.json",
24
+ "build:codegen": "npx convex codegen --component-dir ./src/component && npm run build",
25
+ "build:clean": "rm -rf dist *.tsbuildinfo && npm run build:codegen",
26
26
  "typecheck": "tsc --noEmit && tsc -p example && tsc -p example/convex",
27
27
  "lint": "eslint .",
28
- "all": "run-p -r 'dev:*' 'test:watch'",
29
28
  "test": "vitest run --typecheck",
30
29
  "test:watch": "vitest --typecheck --clearScreen false",
31
30
  "test:debug": "vitest --inspect-brk --no-file-parallelism",
32
31
  "test:coverage": "vitest run --coverage --coverage.reporter=text",
33
- "prepare": "npm run build",
34
- "alpha": "npm run clean && npm ci && run-p test lint typecheck && npm version prerelease --preid alpha && npm publish --tag alpha && git push --tags",
35
- "release": "npm run clean && npm ci && run-p test lint typecheck && npm version patch && npm publish && git push --tags",
36
- "version": "pbcopy <<<$npm_package_version; vim CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md"
32
+ "preversion": "npm ci && npm run build:clean && npm run test && npm run lint && npm run typecheck",
33
+ "alpha": "npm version prerelease --preid alpha && npm publish --tag alpha && git push --follow-tags",
34
+ "release": "npm version patch && npm publish && git push --follow-tags",
35
+ "version": "(npm whoami || npm login) && vim -c 'normal o' -c 'normal o## '$npm_package_version CHANGELOG.md && prettier -w CHANGELOG.md && git add CHANGELOG.md"
37
36
  },
38
37
  "files": [
39
38
  "dist",
@@ -62,35 +61,35 @@
62
61
  "convex": "^1.24.8"
63
62
  },
64
63
  "devDependencies": {
65
- "@convex-dev/migrations": "0.3.0",
64
+ "@convex-dev/eslint-plugin": "^2.0.0",
65
+ "@convex-dev/migrations": "0.3.3",
66
66
  "@edge-runtime/vm": "5.0.0",
67
- "@eslint/eslintrc": "^3.3.1",
68
- "@eslint/js": "^9.38.0",
69
- "@fast-check/vitest": "^0.2.2",
70
- "@types/node": "20.19.24",
71
- "@types/react": "^19.2.2",
72
- "@types/react-dom": "^19.2.2",
73
- "@types/react-window": "1.8.8",
74
- "@vitejs/plugin-react": "^5.1.0",
67
+ "@eslint/eslintrc": "3.3.5",
68
+ "@eslint/js": "9.39.4",
69
+ "@fast-check/vitest": "0.4.0",
70
+ "@types/node": "24.12.2",
71
+ "@types/react": "19.2.14",
72
+ "@types/react-dom": "19.2.3",
73
+ "@types/react-window": "2.0.0",
74
+ "@vitejs/plugin-react": "6.0.1",
75
75
  "chokidar-cli": "3.0.0",
76
- "convex": "1.29.0",
77
- "convex-helpers": "^0.1.104",
78
- "convex-test": "^0.0.38",
79
- "eslint": "^9.38.0",
80
- "eslint-plugin-react-hooks": "^7.0.1",
81
- "eslint-plugin-react-refresh": "^0.4.24",
82
- "globals": "^16.4.0",
83
- "npm-run-all": "^4.1.5",
84
- "npm-run-all2": "8.0.4",
85
- "prettier": "^3.6.2",
86
- "react": "^19.2.0",
87
- "react-dom": "^19.2.0",
88
- "react-use": "^17.6.0",
89
- "react-window": "1.8.11",
90
- "typescript": "^5.9.3",
91
- "typescript-eslint": "^8.46.2",
92
- "vite": "^6.4.1",
93
- "vitest": "^3.2.4"
76
+ "convex": "1.35.1",
77
+ "convex-helpers": "0.1.114",
78
+ "convex-test": "0.0.48",
79
+ "eslint": "9.39.4",
80
+ "eslint-plugin-react-hooks": "7.0.1",
81
+ "eslint-plugin-react-refresh": "0.5.2",
82
+ "globals": "17.5.0",
83
+ "npm-run-all2": "9.0.0",
84
+ "prettier": "3.8.3",
85
+ "react": "19.2.5",
86
+ "react-dom": "19.2.5",
87
+ "react-use": "17.6.0",
88
+ "react-window": "2.2.7",
89
+ "typescript": "5.9.3",
90
+ "typescript-eslint": "8.58.2",
91
+ "vite": "8.0.16",
92
+ "vitest": "4.1.4"
94
93
  },
95
94
  "types": "./dist/client/index.d.ts",
96
95
  "module": "./dist/client/index.js"
@@ -1,5 +1,6 @@
1
1
  import type {
2
2
  DocumentByName,
3
+ GenericActionCtx,
3
4
  GenericDataModel,
4
5
  GenericMutationCtx,
5
6
  GenericQueryCtx,
@@ -56,7 +57,7 @@ export class ShardedCounter<ShardsKey extends string> {
56
57
  * @param count The amount to increment the counter by. Defaults to 1.
57
58
  */
58
59
  async add<Name extends ShardsKey>(
59
- ctx: RunMutationCtx,
60
+ ctx: MutationCtx | ActionCtx,
60
61
  name: Name,
61
62
  count: number = 1,
62
63
  ) {
@@ -73,7 +74,7 @@ export class ShardedCounter<ShardsKey extends string> {
73
74
  * Decrease the counter for key `name` by `count`.
74
75
  */
75
76
  async subtract<Name extends ShardsKey>(
76
- ctx: RunMutationCtx,
77
+ ctx: MutationCtx | ActionCtx,
77
78
  name: Name,
78
79
  count: number = 1,
79
80
  ) {
@@ -83,14 +84,14 @@ export class ShardedCounter<ShardsKey extends string> {
83
84
  /**
84
85
  * Increment the counter for key `name` by 1.
85
86
  */
86
- async inc<Name extends ShardsKey>(ctx: RunMutationCtx, name: Name) {
87
+ async inc<Name extends ShardsKey>(ctx: MutationCtx | ActionCtx, name: Name) {
87
88
  return this.add(ctx, name, 1);
88
89
  }
89
90
 
90
91
  /**
91
92
  * Decrement the counter for key `name` by 1.
92
93
  */
93
- async dec<Name extends ShardsKey>(ctx: RunMutationCtx, name: Name) {
94
+ async dec<Name extends ShardsKey>(ctx: MutationCtx | ActionCtx, name: Name) {
94
95
  return this.add(ctx, name, -1);
95
96
  }
96
97
 
@@ -100,7 +101,10 @@ export class ShardedCounter<ShardsKey extends string> {
100
101
  * NOTE: this reads from all shards. If used in a mutation, it will contend
101
102
  * with all mutations that update the counter for this key.
102
103
  */
103
- async count<Name extends ShardsKey>(ctx: RunQueryCtx, name: Name) {
104
+ async count<Name extends ShardsKey>(
105
+ ctx: QueryCtx | MutationCtx | ActionCtx,
106
+ name: Name,
107
+ ) {
104
108
  return ctx.runQuery(this.component.public.count, { name });
105
109
  }
106
110
 
@@ -116,7 +120,10 @@ export class ShardedCounter<ShardsKey extends string> {
116
120
  * This operation reads and writes all shards, so it can cause contention if
117
121
  * called too often.
118
122
  */
119
- async rebalance<Name extends ShardsKey>(ctx: RunMutationCtx, name: Name) {
123
+ async rebalance<Name extends ShardsKey>(
124
+ ctx: MutationCtx | ActionCtx,
125
+ name: Name,
126
+ ) {
120
127
  await ctx.runMutation(this.component.public.rebalance, {
121
128
  name,
122
129
  shards: this.shardsForKey(name),
@@ -128,7 +135,10 @@ export class ShardedCounter<ShardsKey extends string> {
128
135
  *
129
136
  * @param name The key to clear the counter for.
130
137
  */
131
- async reset<Name extends ShardsKey>(ctx: RunMutationCtx, name: Name) {
138
+ async reset<Name extends ShardsKey>(
139
+ ctx: MutationCtx | ActionCtx,
140
+ name: Name,
141
+ ) {
132
142
  await ctx.runMutation(this.component.public.reset, { name });
133
143
  }
134
144
 
@@ -144,7 +154,7 @@ export class ShardedCounter<ShardsKey extends string> {
144
154
  * Use this to reduce contention when reading the counter.
145
155
  */
146
156
  async estimateCount<Name extends ShardsKey>(
147
- ctx: RunQueryCtx,
157
+ ctx: QueryCtx | MutationCtx | ActionCtx,
148
158
  name: Name,
149
159
  readFromShards: number = 1,
150
160
  ) {
@@ -174,50 +184,54 @@ export class ShardedCounter<ShardsKey extends string> {
174
184
  /**
175
185
  * Add `count` to the counter.
176
186
  */
177
- add: async (ctx: RunMutationCtx, count: number = 1) =>
187
+ add: async (ctx: MutationCtx | ActionCtx, count: number = 1) =>
178
188
  this.add(ctx, name, count),
179
189
  /**
180
190
  * Subtract `count` from the counter.
181
191
  */
182
- subtract: async (ctx: RunMutationCtx, count: number = 1) =>
192
+ subtract: async (ctx: MutationCtx | ActionCtx, count: number = 1) =>
183
193
  this.add(ctx, name, -count),
184
194
  /**
185
195
  * Increment the counter by 1.
186
196
  */
187
- inc: async (ctx: RunMutationCtx) => this.add(ctx, name, 1),
197
+ inc: async (ctx: MutationCtx | ActionCtx) => this.add(ctx, name, 1),
188
198
  /**
189
199
  * Decrement the counter by 1.
190
200
  */
191
- dec: async (ctx: RunMutationCtx) => this.add(ctx, name, -1),
201
+ dec: async (ctx: MutationCtx | ActionCtx) => this.add(ctx, name, -1),
192
202
  /**
193
203
  * Get the current value of the counter.
194
204
  *
195
205
  * NOTE: this reads from all shards. If used in a mutation, it will
196
206
  * contend with all mutations that update the counter for this key.
197
207
  */
198
- count: async (ctx: RunQueryCtx) => this.count(ctx, name),
208
+ count: async (ctx: QueryCtx | MutationCtx | ActionCtx) =>
209
+ this.count(ctx, name),
199
210
  /**
200
211
  * Reset the counter for this key.
201
212
  */
202
- reset: async (ctx: RunMutationCtx) => this.reset(ctx, name),
213
+ reset: async (ctx: MutationCtx | ActionCtx) => this.reset(ctx, name),
203
214
  /**
204
215
  * Redistribute counts evenly across the counter's shards.
205
216
  *
206
217
  * This operation reads and writes all shards, so it can cause contention
207
218
  * if called too often.
208
219
  */
209
- rebalance: async (ctx: RunMutationCtx) => this.rebalance(ctx, name),
220
+ rebalance: async (ctx: MutationCtx | ActionCtx) =>
221
+ this.rebalance(ctx, name),
210
222
  /**
211
223
  * Estimate the counter by only reading from a subset of shards,
212
224
  * and extrapolating the total count.
213
225
  *
214
226
  * Use this to reduce contention when reading the counter.
215
227
  */
216
- estimateCount: async (ctx: RunQueryCtx, readFromShards: number = 1) =>
217
- this.estimateCount(ctx, name, readFromShards),
228
+ estimateCount: async (
229
+ ctx: QueryCtx | MutationCtx | ActionCtx,
230
+ readFromShards: number = 1,
231
+ ) => this.estimateCount(ctx, name, readFromShards),
218
232
  };
219
233
  }
220
- trigger<Ctx extends RunMutationCtx, Name extends ShardsKey>(
234
+ trigger<Ctx extends MutationCtx, Name extends ShardsKey>(
221
235
  name: Name,
222
236
  ): Trigger<Ctx, GenericDataModel, TableNamesInDataModel<GenericDataModel>> {
223
237
  return async (ctx, change) => {
@@ -261,9 +275,12 @@ export type Change<
261
275
  }
262
276
  );
263
277
 
264
- type RunQueryCtx = {
265
- runQuery: GenericQueryCtx<GenericDataModel>["runQuery"];
266
- };
267
- type RunMutationCtx = {
268
- runMutation: GenericMutationCtx<GenericDataModel>["runMutation"];
269
- };
278
+ type QueryCtx = Pick<GenericQueryCtx<GenericDataModel>, "runQuery">;
279
+ type MutationCtx = Pick<
280
+ GenericMutationCtx<GenericDataModel>,
281
+ "runQuery" | "runMutation"
282
+ >;
283
+ type ActionCtx = Pick<
284
+ GenericActionCtx<GenericDataModel>,
285
+ "runQuery" | "runMutation" | "runAction"
286
+ >;
@@ -38,7 +38,7 @@ export type Doc<TableName extends TableNames> = DocumentByName<
38
38
  * Convex documents are uniquely identified by their `Id`, which is accessible
39
39
  * on the `_id` field. To learn more, see [Document IDs](https://docs.convex.dev/using/document-ids).
40
40
  *
41
- * Documents can be loaded using `db.get(id)` in query and mutation functions.
41
+ * Documents can be loaded using `db.get(tableName, id)` in query and mutation functions.
42
42
  *
43
43
  * IDs are just strings at runtime, but this type can be used to distinguish them from other
44
44
  * strings when type checking.
@@ -107,11 +107,6 @@ export const internalAction: ActionBuilder<DataModel, "internal"> =
107
107
  */
108
108
  export const httpAction: HttpActionBuilder = httpActionGeneric;
109
109
 
110
- type GenericCtx =
111
- | GenericActionCtx<DataModel>
112
- | GenericMutationCtx<DataModel>
113
- | GenericQueryCtx<DataModel>;
114
-
115
110
  /**
116
111
  * A set of services for use within Convex query functions.
117
112
  *
@@ -20,7 +20,7 @@ export const add = mutation({
20
20
  .withIndex("name", (q) => q.eq("name", args.name).eq("shard", shard))
21
21
  .unique();
22
22
  if (counter) {
23
- await ctx.db.patch(counter._id, {
23
+ await ctx.db.patch("counters", counter._id, {
24
24
  value: counter.value + args.count,
25
25
  });
26
26
  } else {
@@ -59,7 +59,7 @@ export const rebalance = mutation({
59
59
  for (let i = 0; i < shardCount; i++) {
60
60
  const shard = counters.find((c) => c.shard === i);
61
61
  if (shard) {
62
- await ctx.db.patch(shard._id, { value });
62
+ await ctx.db.patch("counters", shard._id, { value });
63
63
  } else {
64
64
  await ctx.db.insert("counters", {
65
65
  name: args.name,
@@ -70,7 +70,7 @@ export const rebalance = mutation({
70
70
  }
71
71
  const toDelete = counters.filter((c) => c.shard >= shardCount);
72
72
  for (const counter of toDelete) {
73
- await ctx.db.delete(counter._id);
73
+ await ctx.db.delete("counters", counter._id);
74
74
  }
75
75
  },
76
76
  });
@@ -83,7 +83,7 @@ export const reset = mutation({
83
83
  .withIndex("name", (q) => q.eq("name", args.name))
84
84
  .collect()
85
85
  .then((counters) =>
86
- Promise.all(counters.map((c) => ctx.db.delete(c._id))),
86
+ Promise.all(counters.map((c) => ctx.db.delete("counters", c._id))),
87
87
  );
88
88
  },
89
89
  });