( token: string, name: string, stack?: string )
| 666 | } |
| 667 | |
| 668 | export async function createNotebook( |
| 669 | token: string, |
| 670 | name: string, |
| 671 | stack?: string |
| 672 | ): Promise<EvernoteNotebook> { |
| 673 | const writer = new ThriftWriter() |
| 674 | writer.writeMessageBegin('createNotebook', 0) |
| 675 | writer.writeStringField(1, token) |
| 676 | |
| 677 | writer.writeFieldBegin(TYPE_STRUCT, 2) |
| 678 | writer.writeStringField(2, name) |
| 679 | if (stack) { |
| 680 | writer.writeStringField(9, stack) |
| 681 | } |
| 682 | writer.writeFieldStop() |
| 683 | |
| 684 | writer.writeFieldStop() |
| 685 | |
| 686 | const reader = await callNoteStore(token, writer) |
| 687 | let notebook: EvernoteNotebook | null = null |
| 688 | |
| 689 | reader.readStruct((r, fieldId, fieldType) => { |
| 690 | if (fieldId === 0 && fieldType === TYPE_STRUCT) { |
| 691 | notebook = readNotebook(r) |
| 692 | } else { |
| 693 | if (!checkEvernoteException(r, fieldId, fieldType)) { |
| 694 | r.skip(fieldType) |
| 695 | } |
| 696 | } |
| 697 | }) |
| 698 | |
| 699 | if (!notebook) { |
| 700 | throw new Error('No notebook returned from Evernote API') |
| 701 | } |
| 702 | |
| 703 | return notebook |
| 704 | } |
| 705 | |
| 706 | export async function listTags(token: string): Promise<EvernoteTag[]> { |
| 707 | const writer = new ThriftWriter() |
no test coverage detected