(
event: DevDataLogEvent,
schema: string,
level: "all" | "noCode",
)
| 117 | } |
| 118 | |
| 119 | async parseEventData( |
| 120 | event: DevDataLogEvent, |
| 121 | schema: string, |
| 122 | level: "all" | "noCode", |
| 123 | ) { |
| 124 | const versionSchemas = devDataVersionedSchemas[schema]; |
| 125 | if (!versionSchemas) { |
| 126 | throw new Error( |
| 127 | `Attempting to log dev data to non-existent version ${schema}`, |
| 128 | ); |
| 129 | } |
| 130 | |
| 131 | const levelSchemas = versionSchemas[level]; |
| 132 | if (!levelSchemas) { |
| 133 | throw new Error( |
| 134 | `Attempting to log dev data at level ${level} for version ${schema} which does not exist`, |
| 135 | ); |
| 136 | } |
| 137 | |
| 138 | const zodSchema = levelSchemas[event.name]; |
| 139 | if (!zodSchema) { |
| 140 | throw new Error( |
| 141 | `Attempting to log dev data for event ${event.name} at level ${level} for version ${schema}: no schema found`, |
| 142 | ); |
| 143 | } |
| 144 | |
| 145 | const eventDataWithBaseValues = await this.addBaseValues( |
| 146 | event.data, |
| 147 | event.name, |
| 148 | schema, |
| 149 | zodSchema, |
| 150 | ); |
| 151 | |
| 152 | const parsed = zodSchema.safeParse(eventDataWithBaseValues); |
| 153 | if (!parsed.success) { |
| 154 | throw new Error( |
| 155 | `Failed to parse event data for event ${event.name} and schema ${schema}\n:${parsed.error.toString()}`, |
| 156 | ); |
| 157 | } |
| 158 | |
| 159 | return parsed.data; |
| 160 | } |
| 161 | |
| 162 | async logToOneDestination( |
| 163 | dataConfig: NonNullable<ContinueConfig["data"]>[number], |
no test coverage detected