Add experiment encyption clients. Rewrite demos. Reduce implementation code. Add value decoding. Rename to base-client. Type inference and generics

This commit is contained in:
2026-10-22 14:51:46 +00:00
parent 2f9e46f659
commit df2c42e024
11 changed files with 923 additions and 283 deletions
+26
View File
@@ -0,0 +1,26 @@
import type { BaseSyncClient, ResourcesRecord } from "../src/shared/base-client.js";
export const writeMany = async (client: BaseSyncClient<{ message: string }>): Promise<ResourcesRecord<{ message: string }>> => {
// Create a group of resources with changes
const resources = Object.fromEntries(Array.from({ length: 10 }, (_, index) => [
`resource-${index}`,
{
message: `Hello, world! this is the minimal sync client using ${client.constructor.name} ${index}`,
},
]));
// Write the resources to the server
const res = await client.writeMany(resources);
return res;
}
export const readMany = async (client: BaseSyncClient<{ message: string }>,): Promise<ResourcesRecord<{ message: string }>> => {
// Create a list of resource IDs
const resources = Array.from({ length: 10 }, (_, index) => `resource-${index}`);
// Read the resources from the server
const res = await client.readMany(resources);
return res;
}