( template: TemplateEntity, remotes: RemoteTemplate[], )
| 87 | export const parseTemplateFields: (_: string) => Field[] = JSON.parse |
| 88 | |
| 89 | export function templateEntityToDomain( |
| 90 | template: TemplateEntity, |
| 91 | remotes: RemoteTemplate[], |
| 92 | ) { |
| 93 | return { |
| 94 | id: fromLDbId(template.id), |
| 95 | name: template.name, |
| 96 | created: new Date(template.created), |
| 97 | edited: new Date(template.edited), |
| 98 | fields: parseTemplateFields(template.fields), |
| 99 | css: template.css, |
| 100 | templateType: JSON.parse(template.templateType) as TemplateType, |
| 101 | remotes: Object.fromEntries( |
| 102 | remotes.map((r) => { |
| 103 | const value = |
| 104 | r.remoteId == null || r.uploadDate == null |
| 105 | ? null |
| 106 | : ({ |
| 107 | remoteTemplateId: fromLDbId(r.remoteId), |
| 108 | uploadDate: new Date(r.uploadDate), |
| 109 | } satisfies Template['remotes'][NookId]) |
| 110 | return [r.nook, value] |
| 111 | }), |
| 112 | ), |
| 113 | } satisfies Template |
| 114 | } |
| 115 | |
| 116 | export function noteEntityToDomain( |
| 117 | note: NoteEntity & { template_fields: string }, |
no test coverage detected