@livestore/sync-cf 0.0.58-dev.10 → 0.0.58-dev.12

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.
Files changed (34) hide show
  1. package/.netlify/state.json +3 -0
  2. package/.wrangler/state/v3/d1/miniflare-D1DatabaseObject/8ee300993f9a2c909aede59646369fa0cc28d25304b9b9af94f54d4543ad60f4.sqlite +0 -0
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/cf-worker/durable-object.d.ts +9 -6
  5. package/dist/cf-worker/durable-object.d.ts.map +1 -1
  6. package/dist/cf-worker/durable-object.js +16 -14
  7. package/dist/cf-worker/durable-object.js.map +1 -1
  8. package/package.json +3 -3
  9. package/src/cf-worker/durable-object.ts +16 -14
  10. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/1471dd2fd02c2d9eb229fcf3cad5fd330cd295bfdee44481714d91b883756b11.sqlite +0 -0
  11. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/23a5a193673cd4aa1f412953ff8ee7cf6169b146127a42e9b84ce79993672b0a.sqlite +0 -0
  12. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/31569057f8ec82f1d479956671fe58b9f0f4e32a64a68c3ba9c3cb6744f74b3d.sqlite +0 -0
  13. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/33d6e9d204e8c535d55150b9258a9388ddf594a89f30fc1d557e64546a59e731.sqlite +0 -0
  14. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/354c1d4fbf3d44a1e359b6595b4e7f2e0c320e607cad72290b0f842246dea4c3.sqlite +0 -0
  15. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/472d06f3610154b855a10d98212ec0ae8aa4022def5c932134cafe07ddca6cc4.sqlite +0 -0
  16. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/472d06f3610154b855a10d98212ec0ae8aa4022def5c932134cafe07ddca6cc4.sqlite-shm +0 -0
  17. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/472d06f3610154b855a10d98212ec0ae8aa4022def5c932134cafe07ddca6cc4.sqlite-wal +0 -0
  18. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/56fc052bba96d75e557bb09c4826387d0d3500ab0eb8de9e9b7379b795277338.sqlite +0 -0
  19. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/629b396dda2efd8d251356403fe1c72599dd34b1d0a420ef4aa4f2cec86b7ed8.sqlite +0 -0
  20. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/70a851401fda75ce3a534dacc3f979fceaff8234430fc6333f22112519388493.sqlite +0 -0
  21. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/82afe32c9f3dfe706e088859636f9137e1824b12206e1c0870eef31abcb77d2e.sqlite +0 -0
  22. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/83b7880fabbc105109963ee7d1b9b8560b31a560b6b06cf2c326f4f1eca6e80f.sqlite +0 -0
  23. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/985f28c526c3fe0133b72007b09233c1a827ae9a588ca5cff0e740f2f5da7dd3.sqlite +0 -0
  24. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/a0f452412c79c524292ab9f6895e09605492f5980d8ad6cfc34c0fb88ee6d1cd.sqlite +0 -0
  25. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/a58eeee7c3798f238d9446895cd2d0f140b06589dcdf9a777ed79131eb83ea5b.sqlite +0 -0
  26. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/baf2225931d572afb47e60d5e189ae58b9764ea0a8a501e0ac202a35c2b35084.sqlite +0 -0
  27. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/c27c5b00d9c92102951df7d882fb0b9c9f1a9466e0752265b255041c6c3dc739.sqlite +0 -0
  28. package/.wrangler/state/v3/do/websocket-server-WebSocketServer/d2245ee36dd16e1f76180d89bd2503f0d4808a5986a58b8677f9a365a793acc6.sqlite +0 -0
  29. package/.wrangler/tmp/bundle-WvptCL/checked-fetch.js +0 -30
  30. package/.wrangler/tmp/bundle-WvptCL/middleware-insertion-facade.js +0 -11
  31. package/.wrangler/tmp/bundle-WvptCL/middleware-loader.entry.ts +0 -134
  32. package/.wrangler/tmp/dev-EkPm0f/index.js +0 -45575
  33. package/.wrangler/tmp/dev-EkPm0f/index.js.map +0 -8
  34. /package/.wrangler/state/v3/do/websocket-server-WebSocketServer/{037646d8e1e6ad005a1f4ff1c53fd716bec6a458a8b35ebffd9d5b78ec4ea8a3.sqlite → 2c3676d859102e448b271e1b4336b1e40778992b14728e2a2bd642c0f225e9c5.sqlite} +0 -0
@@ -8,14 +8,14 @@ export interface Env {
8
8
  }
9
9
  type WebSocketClient = WebSocket;
10
10
  export declare const mutationLogTable: DbSchema.TableDef<DbSchema.SqliteDsl.TableDefinition<"__unused", {
11
- id: {
11
+ idGlobal: {
12
12
  columnType: "integer";
13
13
  schema: Schema.Schema<number, number, never>;
14
14
  default: import("effect/Option").None<never>;
15
15
  nullable: false;
16
16
  primaryKey: true;
17
17
  };
18
- parentId: {
18
+ parentIdGlobal: {
19
19
  columnType: "integer";
20
20
  schema: Schema.Schema<number, number, never>;
21
21
  default: import("effect/Option").None<never>;
@@ -36,21 +36,24 @@ export declare const mutationLogTable: DbSchema.TableDef<DbSchema.SqliteDsl.Tabl
36
36
  nullable: false;
37
37
  primaryKey: false;
38
38
  };
39
+ id: DbSchema.SqliteDsl.ColumnDefinition<string, string>;
39
40
  }>, false, {
40
41
  isSingleton: false;
41
42
  disableAutomaticIdColumn: false;
42
43
  deriveMutations: never;
43
44
  isSingleColumn: false;
44
45
  }, Schema.Schema<{
45
- readonly id: number;
46
- readonly parentId: number;
46
+ readonly idGlobal: number;
47
+ readonly parentIdGlobal: number;
47
48
  readonly mutation: string;
48
49
  readonly args: any;
50
+ readonly id: string;
49
51
  }, {
50
- readonly id: number;
51
- readonly parentId: number;
52
+ readonly idGlobal: number;
53
+ readonly parentIdGlobal: number;
52
54
  readonly mutation: string;
53
55
  readonly args: string;
56
+ readonly id: string;
54
57
  }, never>>;
55
58
  export declare class WebSocketServer extends DurableObject<Env> {
56
59
  dbName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"durable-object.d.ts","sourceRoot":"","sources":["../../src/cf-worker/durable-object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAA0B,MAAM,0BAA0B,CAAA;AAE/F,OAAO,EAAU,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIlD,MAAM,WAAW,GAAG;IAClB,gBAAgB,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAA;IACzD,EAAE,EAAE,UAAU,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,KAAK,eAAe,GAAG,SAAS,CAAA;AAMhC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAK3B,CAAA;AAGF,qBAAa,eAAgB,SAAQ,aAAa,CAAC,GAAG,CAAC;IACrD,MAAM,SAA2C;IACjD,OAAO;8BAiK0B,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,SAAS,CAAC;4BAatC,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;6BAe7D,aAAa,CAAC,GAAG;;MA7LG;gBAE1C,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG;IAI7C,KAAK,aAAoB,OAAO,uBAsBsB;IAEtD,gBAAgB,OAAc,eAAe,WAAW,WAAW,GAAG,MAAM,wBA0H3E;IAED,cAAc,OAAc,eAAe,QAAQ,MAAM,WAAW,MAAM,aAAa,OAAO,mBAG7F;CACF"}
1
+ {"version":3,"file":"durable-object.d.ts","sourceRoot":"","sources":["../../src/cf-worker/durable-object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAA0B,MAAM,0BAA0B,CAAA;AAE/F,OAAO,EAAU,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIlD,MAAM,WAAW,GAAG;IAClB,gBAAgB,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAA;IACzD,EAAE,EAAE,UAAU,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,KAAK,eAAe,GAAG,SAAS,CAAA;AAMhC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAK3B,CAAA;AAGF,qBAAa,eAAgB,SAAQ,aAAa,CAAC,GAAG,CAAC;IACrD,MAAM,SAA2C;IACjD,OAAO;8BAiK0B,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,SAAS,CAAC;4BAatC,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;6BAe7D,aAAa,CAAC,GAAG;;MA7LG;gBAE1C,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG;IAI7C,KAAK,aAAoB,OAAO,uBAsBsB;IAEtD,gBAAgB,OAAc,eAAe,WAAW,WAAW,GAAG,MAAM,wBA0H3E;IAED,cAAc,OAAc,eAAe,QAAQ,MAAM,WAAW,MAAM,aAAa,OAAO,mBAG7F;CACF"}
@@ -1,4 +1,4 @@
1
- import { makeColumnSpec } from '@livestore/common';
1
+ import { makeColumnSpec, ROOT_ID } from '@livestore/common';
2
2
  import { DbSchema, mutationEventSchemaAny } from '@livestore/common/schema';
3
3
  import { shouldNeverHappen } from '@livestore/utils';
4
4
  import { Effect, Schema } from '@livestore/utils/effect';
@@ -8,8 +8,8 @@ const encodeOutgoingMessage = Schema.encodeSync(Schema.parseJson(WSMessage.Backe
8
8
  const encodeIncomingMessage = Schema.encodeSync(Schema.parseJson(WSMessage.ClientToBackendMessage));
9
9
  const decodeIncomingMessage = Schema.decodeUnknownEither(Schema.parseJson(WSMessage.ClientToBackendMessage));
10
10
  export const mutationLogTable = DbSchema.table('__unused', {
11
- id: DbSchema.integer({ primaryKey: true }),
12
- parentId: DbSchema.integer({}),
11
+ idGlobal: DbSchema.integer({ primaryKey: true }),
12
+ parentIdGlobal: DbSchema.integer({}),
13
13
  mutation: DbSchema.text({}),
14
14
  args: DbSchema.text({ schema: Schema.parseJson(Schema.Any) }),
15
15
  });
@@ -62,10 +62,10 @@ export class WebSocketServer extends DurableObject {
62
62
  case 'WSMessage.PushReq': {
63
63
  // TODO check whether we could use the Durable Object storage for this to speed up the lookup
64
64
  const latestEvent = await this.storage.getLatestEvent();
65
- const expectedParentId = latestEvent?.id ?? { global: 0, local: 0 };
66
- if (decodedMessage.mutationEventEncoded.parentId !== expectedParentId) {
65
+ const expectedParentId = latestEvent?.id ?? ROOT_ID;
66
+ if (decodedMessage.mutationEventEncoded.parentId.global !== expectedParentId.global) {
67
67
  ws.send(encodeOutgoingMessage(WSMessage.Error.make({
68
- message: `Invalid parent id. Received ${decodedMessage.mutationEventEncoded.parentId} but expected ${expectedParentId}`,
68
+ message: `Invalid parent id. Received ${decodedMessage.mutationEventEncoded.parentId.global} but expected ${expectedParentId.global}`,
69
69
  requestId,
70
70
  })));
71
71
  return;
@@ -127,34 +127,36 @@ export class WebSocketServer extends DurableObject {
127
127
  }
128
128
  const makeStorage = (ctx, env, dbName) => {
129
129
  const getLatestEvent = async () => {
130
- const rawEvents = await env.DB.prepare(`SELECT * FROM ${dbName} ORDER BY id DESC LIMIT 1`).all();
130
+ const rawEvents = await env.DB.prepare(`SELECT * FROM ${dbName} ORDER BY idGlobal DESC LIMIT 1`).all();
131
131
  if (rawEvents.error) {
132
132
  throw new Error(rawEvents.error);
133
133
  }
134
134
  const events = Schema.decodeUnknownSync(Schema.Array(mutationLogTable.schema))(rawEvents.results).map((e) => ({
135
135
  ...e,
136
- id: { global: e.id, local: 0 },
137
- parentId: { global: e.parentId, local: 0 },
136
+ id: { global: e.idGlobal, local: 0 },
137
+ parentId: { global: e.parentIdGlobal, local: 0 },
138
138
  }));
139
139
  return events[0];
140
140
  };
141
141
  const getEvents = async (cursor) => {
142
142
  const whereClause = cursor ? `WHERE id > ${cursor}` : '';
143
143
  // TODO handle case where `cursor` was not found
144
- const rawEvents = await env.DB.prepare(`SELECT * FROM ${dbName} ${whereClause} ORDER BY id ASC`).all();
144
+ const rawEvents = await env.DB.prepare(`SELECT * FROM ${dbName} ${whereClause} ORDER BY idGlobal ASC`).all();
145
145
  if (rawEvents.error) {
146
146
  throw new Error(rawEvents.error);
147
147
  }
148
148
  const events = Schema.decodeUnknownSync(Schema.Array(mutationLogTable.schema))(rawEvents.results).map((e) => ({
149
149
  ...e,
150
- id: { global: e.id, local: 0 },
151
- parentId: { global: e.parentId, local: 0 },
150
+ id: { global: e.idGlobal, local: 0 },
151
+ parentId: { global: e.parentIdGlobal, local: 0 },
152
152
  }));
153
153
  return events;
154
154
  };
155
155
  const appendEvent = async (event) => {
156
- const sql = `INSERT INTO ${dbName} (id, parentId, args, mutation) VALUES (?, ?, ?, ?)`;
157
- await env.DB.prepare(sql).bind(event.id, event.parentId, JSON.stringify(event.args), event.mutation).run();
156
+ const sql = `INSERT INTO ${dbName} (idGlobal, parentIdGlobal, args, mutation) VALUES (?, ?, ?, ?)`;
157
+ await env.DB.prepare(sql)
158
+ .bind(event.id.global, event.parentId.global, JSON.stringify(event.args), event.mutation)
159
+ .run();
158
160
  };
159
161
  const resetRoom = async () => {
160
162
  await ctx.storage.deleteAll();
@@ -1 +1 @@
1
- {"version":3,"file":"durable-object.js","sourceRoot":"","sources":["../../src/cf-worker/durable-object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-object.js","sourceRoot":"","sources":["../../src/cf-worker/durable-object.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livestore/sync-cf",
3
- "version": "0.0.58-dev.10",
3
+ "version": "0.0.58-dev.12",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -9,8 +9,8 @@
9
9
  }
10
10
  },
11
11
  "dependencies": {
12
- "@livestore/common": "0.0.58-dev.10",
13
- "@livestore/utils": "0.0.58-dev.10"
12
+ "@livestore/utils": "0.0.58-dev.12",
13
+ "@livestore/common": "0.0.58-dev.12"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@cloudflare/workers-types": "4.20241022.0",
@@ -1,4 +1,4 @@
1
- import { makeColumnSpec } from '@livestore/common'
1
+ import { makeColumnSpec, ROOT_ID } from '@livestore/common'
2
2
  import { DbSchema, type MutationEvent, mutationEventSchemaAny } from '@livestore/common/schema'
3
3
  import { shouldNeverHappen } from '@livestore/utils'
4
4
  import { Effect, Schema } from '@livestore/utils/effect'
@@ -19,8 +19,8 @@ const encodeIncomingMessage = Schema.encodeSync(Schema.parseJson(WSMessage.Clien
19
19
  const decodeIncomingMessage = Schema.decodeUnknownEither(Schema.parseJson(WSMessage.ClientToBackendMessage))
20
20
 
21
21
  export const mutationLogTable = DbSchema.table('__unused', {
22
- id: DbSchema.integer({ primaryKey: true }),
23
- parentId: DbSchema.integer({}),
22
+ idGlobal: DbSchema.integer({ primaryKey: true }),
23
+ parentIdGlobal: DbSchema.integer({}),
24
24
  mutation: DbSchema.text({}),
25
25
  args: DbSchema.text({ schema: Schema.parseJson(Schema.Any) }),
26
26
  })
@@ -96,13 +96,13 @@ export class WebSocketServer extends DurableObject<Env> {
96
96
  case 'WSMessage.PushReq': {
97
97
  // TODO check whether we could use the Durable Object storage for this to speed up the lookup
98
98
  const latestEvent = await this.storage.getLatestEvent()
99
- const expectedParentId = latestEvent?.id ?? { global: 0, local: 0 }
99
+ const expectedParentId = latestEvent?.id ?? ROOT_ID
100
100
 
101
- if (decodedMessage.mutationEventEncoded.parentId !== expectedParentId) {
101
+ if (decodedMessage.mutationEventEncoded.parentId.global !== expectedParentId.global) {
102
102
  ws.send(
103
103
  encodeOutgoingMessage(
104
104
  WSMessage.Error.make({
105
- message: `Invalid parent id. Received ${decodedMessage.mutationEventEncoded.parentId} but expected ${expectedParentId}`,
105
+ message: `Invalid parent id. Received ${decodedMessage.mutationEventEncoded.parentId.global} but expected ${expectedParentId.global}`,
106
106
  requestId,
107
107
  }),
108
108
  ),
@@ -190,14 +190,14 @@ export class WebSocketServer extends DurableObject<Env> {
190
190
 
191
191
  const makeStorage = (ctx: DurableObjectState, env: Env, dbName: string) => {
192
192
  const getLatestEvent = async (): Promise<MutationEvent.Any | undefined> => {
193
- const rawEvents = await env.DB.prepare(`SELECT * FROM ${dbName} ORDER BY id DESC LIMIT 1`).all()
193
+ const rawEvents = await env.DB.prepare(`SELECT * FROM ${dbName} ORDER BY idGlobal DESC LIMIT 1`).all()
194
194
  if (rawEvents.error) {
195
195
  throw new Error(rawEvents.error)
196
196
  }
197
197
  const events = Schema.decodeUnknownSync(Schema.Array(mutationLogTable.schema))(rawEvents.results).map((e) => ({
198
198
  ...e,
199
- id: { global: e.id, local: 0 },
200
- parentId: { global: e.parentId, local: 0 },
199
+ id: { global: e.idGlobal, local: 0 },
200
+ parentId: { global: e.parentIdGlobal, local: 0 },
201
201
  }))
202
202
  return events[0]
203
203
  }
@@ -205,21 +205,23 @@ const makeStorage = (ctx: DurableObjectState, env: Env, dbName: string) => {
205
205
  const getEvents = async (cursor: number | undefined): Promise<ReadonlyArray<MutationEvent.Any>> => {
206
206
  const whereClause = cursor ? `WHERE id > ${cursor}` : ''
207
207
  // TODO handle case where `cursor` was not found
208
- const rawEvents = await env.DB.prepare(`SELECT * FROM ${dbName} ${whereClause} ORDER BY id ASC`).all()
208
+ const rawEvents = await env.DB.prepare(`SELECT * FROM ${dbName} ${whereClause} ORDER BY idGlobal ASC`).all()
209
209
  if (rawEvents.error) {
210
210
  throw new Error(rawEvents.error)
211
211
  }
212
212
  const events = Schema.decodeUnknownSync(Schema.Array(mutationLogTable.schema))(rawEvents.results).map((e) => ({
213
213
  ...e,
214
- id: { global: e.id, local: 0 },
215
- parentId: { global: e.parentId, local: 0 },
214
+ id: { global: e.idGlobal, local: 0 },
215
+ parentId: { global: e.parentIdGlobal, local: 0 },
216
216
  }))
217
217
  return events
218
218
  }
219
219
 
220
220
  const appendEvent = async (event: MutationEvent.Any) => {
221
- const sql = `INSERT INTO ${dbName} (id, parentId, args, mutation) VALUES (?, ?, ?, ?)`
222
- await env.DB.prepare(sql).bind(event.id, event.parentId, JSON.stringify(event.args), event.mutation).run()
221
+ const sql = `INSERT INTO ${dbName} (idGlobal, parentIdGlobal, args, mutation) VALUES (?, ?, ?, ?)`
222
+ await env.DB.prepare(sql)
223
+ .bind(event.id.global, event.parentId.global, JSON.stringify(event.args), event.mutation)
224
+ .run()
223
225
  }
224
226
 
225
227
  const resetRoom = async () => {
@@ -1,30 +0,0 @@
1
- const urls = new Set();
2
-
3
- function checkURL(request, init) {
4
- const url =
5
- request instanceof URL
6
- ? request
7
- : new URL(
8
- (typeof request === "string"
9
- ? new Request(request, init)
10
- : request
11
- ).url
12
- );
13
- if (url.port && url.port !== "443" && url.protocol === "https:") {
14
- if (!urls.has(url.toString())) {
15
- urls.add(url.toString());
16
- console.warn(
17
- `WARNING: known issue with \`fetch()\` requests to custom HTTPS ports in published Workers:\n` +
18
- ` - ${url.toString()} - the custom port will be ignored when the Worker is published using the \`wrangler deploy\` command.\n`
19
- );
20
- }
21
- }
22
- }
23
-
24
- globalThis.fetch = new Proxy(globalThis.fetch, {
25
- apply(target, thisArg, argArray) {
26
- const [request, init] = argArray;
27
- checkURL(request, init);
28
- return Reflect.apply(target, thisArg, argArray);
29
- },
30
- });
@@ -1,11 +0,0 @@
1
- import worker, * as OTHER_EXPORTS from "/Users/schickling/Code/overtone/submodules/livestore/packages/@livestore/sync-cf/src/cf-worker/index.ts";
2
- import * as __MIDDLEWARE_0__ from "/Users/schickling/Code/overtone/node_modules/.pnpm/wrangler@3.84.0_@cloudflare+workers-types@4.20241022.0/node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts";
3
- import * as __MIDDLEWARE_1__ from "/Users/schickling/Code/overtone/node_modules/.pnpm/wrangler@3.84.0_@cloudflare+workers-types@4.20241022.0/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts";
4
-
5
- export * from "/Users/schickling/Code/overtone/submodules/livestore/packages/@livestore/sync-cf/src/cf-worker/index.ts";
6
-
7
- export const __INTERNAL_WRANGLER_MIDDLEWARE__ = [
8
-
9
- __MIDDLEWARE_0__.default,__MIDDLEWARE_1__.default
10
- ]
11
- export default worker;
@@ -1,134 +0,0 @@
1
- // This loads all middlewares exposed on the middleware object and then starts
2
- // the invocation chain. The big idea is that we can add these to the middleware
3
- // export dynamically through wrangler, or we can potentially let users directly
4
- // add them as a sort of "plugin" system.
5
-
6
- import ENTRY, { __INTERNAL_WRANGLER_MIDDLEWARE__ } from "/Users/schickling/Code/overtone/submodules/livestore/packages/@livestore/sync-cf/.wrangler/tmp/bundle-WvptCL/middleware-insertion-facade.js";
7
- import { __facade_invoke__, __facade_register__, Dispatcher } from "/Users/schickling/Code/overtone/node_modules/.pnpm/wrangler@3.84.0_@cloudflare+workers-types@4.20241022.0/node_modules/wrangler/templates/middleware/common.ts";
8
- import type { WorkerEntrypointConstructor } from "/Users/schickling/Code/overtone/submodules/livestore/packages/@livestore/sync-cf/.wrangler/tmp/bundle-WvptCL/middleware-insertion-facade.js";
9
-
10
- // Preserve all the exports from the worker
11
- export * from "/Users/schickling/Code/overtone/submodules/livestore/packages/@livestore/sync-cf/.wrangler/tmp/bundle-WvptCL/middleware-insertion-facade.js";
12
-
13
- class __Facade_ScheduledController__ implements ScheduledController {
14
- readonly #noRetry: ScheduledController["noRetry"];
15
-
16
- constructor(
17
- readonly scheduledTime: number,
18
- readonly cron: string,
19
- noRetry: ScheduledController["noRetry"]
20
- ) {
21
- this.#noRetry = noRetry;
22
- }
23
-
24
- noRetry() {
25
- if (!(this instanceof __Facade_ScheduledController__)) {
26
- throw new TypeError("Illegal invocation");
27
- }
28
- // Need to call native method immediately in case uncaught error thrown
29
- this.#noRetry();
30
- }
31
- }
32
-
33
- function wrapExportedHandler(worker: ExportedHandler): ExportedHandler {
34
- // If we don't have any middleware defined, just return the handler as is
35
- if (
36
- __INTERNAL_WRANGLER_MIDDLEWARE__ === undefined ||
37
- __INTERNAL_WRANGLER_MIDDLEWARE__.length === 0
38
- ) {
39
- return worker;
40
- }
41
- // Otherwise, register all middleware once
42
- for (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) {
43
- __facade_register__(middleware);
44
- }
45
-
46
- const fetchDispatcher: ExportedHandlerFetchHandler = function (
47
- request,
48
- env,
49
- ctx
50
- ) {
51
- if (worker.fetch === undefined) {
52
- throw new Error("Handler does not export a fetch() function.");
53
- }
54
- return worker.fetch(request, env, ctx);
55
- };
56
-
57
- return {
58
- ...worker,
59
- fetch(request, env, ctx) {
60
- const dispatcher: Dispatcher = function (type, init) {
61
- if (type === "scheduled" && worker.scheduled !== undefined) {
62
- const controller = new __Facade_ScheduledController__(
63
- Date.now(),
64
- init.cron ?? "",
65
- () => {}
66
- );
67
- return worker.scheduled(controller, env, ctx);
68
- }
69
- };
70
- return __facade_invoke__(request, env, ctx, dispatcher, fetchDispatcher);
71
- },
72
- };
73
- }
74
-
75
- function wrapWorkerEntrypoint(
76
- klass: WorkerEntrypointConstructor
77
- ): WorkerEntrypointConstructor {
78
- // If we don't have any middleware defined, just return the handler as is
79
- if (
80
- __INTERNAL_WRANGLER_MIDDLEWARE__ === undefined ||
81
- __INTERNAL_WRANGLER_MIDDLEWARE__.length === 0
82
- ) {
83
- return klass;
84
- }
85
- // Otherwise, register all middleware once
86
- for (const middleware of __INTERNAL_WRANGLER_MIDDLEWARE__) {
87
- __facade_register__(middleware);
88
- }
89
-
90
- // `extend`ing `klass` here so other RPC methods remain callable
91
- return class extends klass {
92
- #fetchDispatcher: ExportedHandlerFetchHandler<Record<string, unknown>> = (
93
- request,
94
- env,
95
- ctx
96
- ) => {
97
- this.env = env;
98
- this.ctx = ctx;
99
- if (super.fetch === undefined) {
100
- throw new Error("Entrypoint class does not define a fetch() function.");
101
- }
102
- return super.fetch(request);
103
- };
104
-
105
- #dispatcher: Dispatcher = (type, init) => {
106
- if (type === "scheduled" && super.scheduled !== undefined) {
107
- const controller = new __Facade_ScheduledController__(
108
- Date.now(),
109
- init.cron ?? "",
110
- () => {}
111
- );
112
- return super.scheduled(controller);
113
- }
114
- };
115
-
116
- fetch(request: Request<unknown, IncomingRequestCfProperties>) {
117
- return __facade_invoke__(
118
- request,
119
- this.env,
120
- this.ctx,
121
- this.#dispatcher,
122
- this.#fetchDispatcher
123
- );
124
- }
125
- };
126
- }
127
-
128
- let WRAPPED_ENTRY: ExportedHandler | WorkerEntrypointConstructor | undefined;
129
- if (typeof ENTRY === "object") {
130
- WRAPPED_ENTRY = wrapExportedHandler(ENTRY);
131
- } else if (typeof ENTRY === "function") {
132
- WRAPPED_ENTRY = wrapWorkerEntrypoint(ENTRY);
133
- }
134
- export default WRAPPED_ENTRY;