blob: 4b6c6e378825e27504a44aa904c2f9ab30c83b1b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
/*
* Copyright (C) 2023-2024 Yomitan Authors
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import type * as Anki from './anki';
import type * as AnkiNoteBuilder from './anki-note-builder';
import type * as AnkiTemplates from './anki-templates';
import type * as AnkiTemplatesInternal from './anki-templates-internal';
export type CreateMode = AnkiTemplatesInternal.CreateModeNoTest;
export type LogData = {
ankiNoteData: AnkiTemplates.NoteData | undefined;
ankiNoteDataException: Error | undefined;
ankiNotes: AnkiNoteLogData[];
};
export type AnkiNoteLogData = {
mode: CreateMode;
note: Anki.Note | undefined;
errors?: Error[];
requirements?: AnkiNoteBuilder.Requirement[];
};
export type DictionaryEntryDetails = {
modeMap: Map<CreateMode, DictionaryEntryModeDetails>;
};
export type DictionaryEntryModeDetails = {
mode: CreateMode;
note: Anki.Note;
errors: Error[];
requirements: AnkiNoteBuilder.Requirement[];
canAdd: boolean;
valid: boolean;
/**
* Anki IDs of duplicate notes. May contain INVALID_NOTE_ID for notes whose ID could not be found.
*/
noteIds: Anki.NoteId[] | null;
noteInfos?: (Anki.NoteInfo | null)[];
ankiError: Error | null;
};
export type CreateNoteResult = {
note: Anki.Note;
errors: Error[];
requirements: AnkiNoteBuilder.Requirement[];
};
|