MCPcopy Create free account
hub / github.com/effect-app/libs / envelopeToDoc

Function envelopeToDoc

packages/infra/src/ClusterCosmos.ts:165–238  ·  view source on GitHub ↗
(
  envelope: Envelope.Encoded,
  primaryKey: string | null,
  deliverAt: number | null
)

Source from the content-addressed store, hash-verified

163const envelopeId = (envelope: Envelope.Encoded) => envelope._tag === "Request" ? envelope.requestId : envelope.id
164
165const envelopeToDoc = (
166 envelope: Envelope.Encoded,
167 primaryKey: string | null,
168 deliverAt: number | null
169): MessageDoc => {
170 switch (envelope._tag) {
171 case "Request":
172 return {
173 id: messageDocId(envelope, primaryKey),
174 _partitionKey: messagePartition(ShardId.toString(envelope.address.shardId)),
175 type: "message",
176 rowid: envelope.requestId,
177 messageId: primaryKey,
178 shardId: ShardId.toString(envelope.address.shardId),
179 entityType: envelope.address.entityType,
180 entityId: envelope.address.entityId,
181 kind: "Request",
182 tag: envelope.tag,
183 payload: envelope.payload,
184 headers: envelope.headers,
185 traceId: envelope.traceId,
186 spanId: envelope.spanId,
187 sampled: envelope.sampled,
188 processed: false,
189 requestId: envelope.requestId,
190 replyId: null,
191 lastReplyId: null,
192 lastRead: null,
193 deliverAt
194 }
195 case "AckChunk":
196 return {
197 id: cosmosId(envelope.id),
198 _partitionKey: messagePartition(ShardId.toString(envelope.address.shardId)),
199 type: "message",
200 rowid: envelope.id,
201 messageId: primaryKey,
202 shardId: ShardId.toString(envelope.address.shardId),
203 entityType: envelope.address.entityType,
204 entityId: envelope.address.entityId,
205 kind: "AckChunk",
206 tag: null,
207 payload: null,
208 headers: null,
209 processed: false,
210 requestId: envelope.requestId,
211 replyId: envelope.replyId,
212 lastReplyId: null,
213 lastRead: null,
214 deliverAt
215 }
216 case "Interrupt":
217 return {
218 id: cosmosId(envelope.id),
219 _partitionKey: messagePartition(ShardId.toString(envelope.address.shardId)),
220 type: "message",
221 rowid: envelope.id,
222 messageId: primaryKey,

Callers 1

ClusterCosmos.tsFile · 0.85

Calls 4

messageDocIdFunction · 0.85
messagePartitionFunction · 0.85
cosmosIdFunction · 0.70
toStringMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…