@livestore/sync-cf 0.3.0-dev.1 → 0.3.0-dev.11
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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/cf-worker/durable-object.d.ts +27 -34
- package/dist/cf-worker/durable-object.d.ts.map +1 -1
- package/dist/cf-worker/durable-object.js +150 -129
- package/dist/cf-worker/durable-object.js.map +1 -1
- package/dist/cf-worker/index.d.ts +1 -6
- package/dist/cf-worker/index.d.ts.map +1 -1
- package/dist/cf-worker/index.js +30 -64
- package/dist/cf-worker/index.js.map +1 -1
- package/dist/cf-worker/make-worker.d.ts +6 -0
- package/dist/cf-worker/make-worker.d.ts.map +1 -0
- package/dist/cf-worker/make-worker.js +31 -0
- package/dist/cf-worker/make-worker.js.map +1 -0
- package/dist/cf-worker/mod.d.ts +3 -0
- package/dist/cf-worker/mod.d.ts.map +1 -0
- package/dist/cf-worker/mod.js +3 -0
- package/dist/cf-worker/mod.js.map +1 -0
- package/dist/cf-worker/types.d.ts +2 -0
- package/dist/cf-worker/types.d.ts.map +1 -0
- package/dist/cf-worker/types.js +2 -0
- package/dist/cf-worker/types.js.map +1 -0
- package/dist/cf-worker/worker.d.ts +6 -0
- package/dist/cf-worker/worker.d.ts.map +1 -0
- package/dist/cf-worker/worker.js +29 -0
- package/dist/cf-worker/worker.js.map +1 -0
- package/dist/common/mod.d.ts +2 -0
- package/dist/common/mod.d.ts.map +1 -0
- package/dist/common/mod.js +2 -0
- package/dist/common/mod.js.map +1 -0
- package/dist/common/ws-message-types.d.ts +54 -207
- package/dist/common/ws-message-types.d.ts.map +1 -1
- package/dist/common/ws-message-types.js +3 -3
- package/dist/common/ws-message-types.js.map +1 -1
- package/dist/sync-impl/mod.d.ts +2 -0
- package/dist/sync-impl/mod.d.ts.map +1 -0
- package/dist/sync-impl/mod.js +2 -0
- package/dist/sync-impl/mod.js.map +1 -0
- package/dist/sync-impl/ws-impl.d.ts +3 -12
- package/dist/sync-impl/ws-impl.d.ts.map +1 -1
- package/dist/sync-impl/ws-impl.js +5 -4
- package/dist/sync-impl/ws-impl.js.map +1 -1
- package/package.json +15 -13
- package/src/cf-worker/durable-object.ts +215 -161
- package/src/cf-worker/mod.ts +2 -0
- package/src/cf-worker/worker.ts +39 -0
- package/src/common/ws-message-types.ts +3 -3
- package/src/sync-impl/ws-impl.ts +8 -16
- package/src/cf-worker/index.ts +0 -84
- /package/src/common/{index.ts → mod.ts} +0 -0
- /package/src/sync-impl/{index.ts → mod.ts} +0 -0
package/src/cf-worker/index.ts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/// <reference no-default-lib="true"/>
|
|
2
|
-
/// <reference lib="esnext" />
|
|
3
|
-
|
|
4
|
-
// import { EncodedAny } from '@livestore/common/schema'
|
|
5
|
-
// import { Effect, HttpServer, Schema } from '@livestore/utils/effect'
|
|
6
|
-
|
|
7
|
-
import type { Env } from './durable-object.js'
|
|
8
|
-
|
|
9
|
-
export * from './durable-object.js'
|
|
10
|
-
|
|
11
|
-
// const handleRequest = (request: Request, env: Env) =>
|
|
12
|
-
// HttpServer.router.empty.pipe(
|
|
13
|
-
// HttpServer.router.get(
|
|
14
|
-
// '/websocket',
|
|
15
|
-
// Effect.gen(function* () {
|
|
16
|
-
// // This example will refer to the same Durable Object instance,
|
|
17
|
-
// // since the name "foo" is hardcoded.
|
|
18
|
-
// const id = env.WEBSOCKET_SERVER.idFromName('foo')
|
|
19
|
-
// const durableObject = env.WEBSOCKET_SERVER.get(id)
|
|
20
|
-
|
|
21
|
-
// HttpServer.
|
|
22
|
-
|
|
23
|
-
// // Expect to receive a WebSocket Upgrade request.
|
|
24
|
-
// // If there is one, accept the request and return a WebSocket Response.
|
|
25
|
-
// const headerRes = yield* HttpServer.request
|
|
26
|
-
// .schemaHeaders(
|
|
27
|
-
// Schema.Struct({
|
|
28
|
-
// Upgrade: Schema.Literal('websocket'),
|
|
29
|
-
// }),
|
|
30
|
-
// )
|
|
31
|
-
// .pipe(Effect.either)
|
|
32
|
-
|
|
33
|
-
// if (headerRes._tag === 'Left') {
|
|
34
|
-
// // return new Response('Durable Object expected Upgrade: websocket', { status: 426 })
|
|
35
|
-
// return yield* HttpServer.response.text('Durable Object expected Upgrade: websocket', { status: 426 })
|
|
36
|
-
// }
|
|
37
|
-
|
|
38
|
-
// HttpServer.response.empty
|
|
39
|
-
|
|
40
|
-
// return yield* Effect.promise(() => durableObject.fetch(request))
|
|
41
|
-
// }),
|
|
42
|
-
// ),
|
|
43
|
-
// HttpServer.router.catchAll((e) => {
|
|
44
|
-
// console.log(e)
|
|
45
|
-
// return HttpServer.response.empty({ status: 400 })
|
|
46
|
-
// }),
|
|
47
|
-
// (_) => HttpServer.app.toWebHandler(_)(request),
|
|
48
|
-
// // request
|
|
49
|
-
// )
|
|
50
|
-
|
|
51
|
-
// Worker
|
|
52
|
-
export default {
|
|
53
|
-
fetch: async (request: Request, env: Env, _ctx: ExecutionContext): Promise<Response> => {
|
|
54
|
-
const url = new URL(request.url)
|
|
55
|
-
const searchParams = url.searchParams
|
|
56
|
-
const roomId = searchParams.get('room')
|
|
57
|
-
|
|
58
|
-
if (roomId === null) {
|
|
59
|
-
return new Response('Room ID is required', { status: 400 })
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// This example will refer to the same Durable Object instance,
|
|
63
|
-
// since the name "foo" is hardcoded.
|
|
64
|
-
const id = env.WEBSOCKET_SERVER.idFromName(roomId)
|
|
65
|
-
const durableObject = env.WEBSOCKET_SERVER.get(id)
|
|
66
|
-
|
|
67
|
-
if (url.pathname.endsWith('/websocket')) {
|
|
68
|
-
const upgradeHeader = request.headers.get('Upgrade')
|
|
69
|
-
if (!upgradeHeader || upgradeHeader !== 'websocket') {
|
|
70
|
-
return new Response('Durable Object expected Upgrade: websocket', { status: 426 })
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return durableObject.fetch(request)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return new Response(null, {
|
|
77
|
-
status: 400,
|
|
78
|
-
statusText: 'Bad Request',
|
|
79
|
-
headers: {
|
|
80
|
-
'Content-Type': 'text/plain',
|
|
81
|
-
},
|
|
82
|
-
})
|
|
83
|
-
},
|
|
84
|
-
}
|
|
File without changes
|
|
File without changes
|