memrise 0.7.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -9
- package/dist/index.d.ts +123 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +409 -6
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +128 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,6 +16,10 @@ import { MemriseClient } from "memrise";
|
|
|
16
16
|
// Initialize with username and password
|
|
17
17
|
const client = new MemriseClient("username", "password");
|
|
18
18
|
|
|
19
|
+
// Get the signed-in account
|
|
20
|
+
const me = await client.getMe();
|
|
21
|
+
console.log(me.username, me.is_pro);
|
|
22
|
+
|
|
19
23
|
// Get your courses
|
|
20
24
|
const courses = await client.getMyCourses();
|
|
21
25
|
console.log(courses);
|
|
@@ -92,16 +96,57 @@ await client.setLevelTitle("level-id", "02/19");
|
|
|
92
96
|
// Delete a level
|
|
93
97
|
await client.deleteLevel("level-id");
|
|
94
98
|
|
|
95
|
-
//
|
|
96
|
-
await client.
|
|
99
|
+
// Set what a level prompts with and what it tests on
|
|
100
|
+
await client.setLevelColumnPair("level-id", {
|
|
101
|
+
learningColumn: 1,
|
|
102
|
+
definitionColumn: 2,
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
// Change a pool column's display and testing settings
|
|
106
|
+
await client.setPoolColumnSettings("pool-id", "Definition", {
|
|
107
|
+
keyboard: "abc def",
|
|
108
|
+
typingStrict: true,
|
|
109
|
+
});
|
|
110
|
+
|
|
111
|
+
// Edit an existing item, by column name or numeric key
|
|
112
|
+
await client.updateThing("thing-id", { Definition: "corrected" });
|
|
113
|
+
|
|
114
|
+
// Skip the name and pool lookups, and the verifying read-back
|
|
115
|
+
await client.updateThing(
|
|
116
|
+
"thing-id",
|
|
117
|
+
{ "2": "corrected" },
|
|
118
|
+
{ poolId: "pool-id", verify: false },
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
// Or one cell at a time
|
|
122
|
+
await client.updateThingCell("thing-id", "2", "corrected");
|
|
123
|
+
await client.updateThingCell("thing-id", "Pronunciation", "kon-ni-chi-wa", {
|
|
124
|
+
cellType: "attribute",
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
// Read a single row, every column, by thing ID
|
|
128
|
+
const { thing } = await client.getThing("thing-id");
|
|
97
129
|
|
|
98
|
-
//
|
|
130
|
+
// Take a thing out of a level. The pool row survives, so other levels using
|
|
131
|
+
// it are untouched.
|
|
132
|
+
await client.detachThingFromLevel("level-id", "thing-id");
|
|
133
|
+
|
|
134
|
+
// Destroy the pool row itself, removing it from every level at once
|
|
135
|
+
await client.deleteThing("thing-id");
|
|
136
|
+
|
|
137
|
+
// Rows left in the pool that no level uses. Detaching creates these.
|
|
138
|
+
const orphans = await client.findOrphanedThings("course-id");
|
|
139
|
+
|
|
140
|
+
// Or the whole pool, each row with the levels it belongs to
|
|
141
|
+
const poolThings = await client.getPoolThings("course-id");
|
|
142
|
+
|
|
143
|
+
// List every thing in a level, with the thing IDs the delete calls need
|
|
99
144
|
const levelThings = await client.getLevelThings("course-id", "level-id");
|
|
100
145
|
|
|
101
146
|
// Or just the thing IDs, with no extra request for the text
|
|
102
147
|
const thingIds = await client.getLevelThingIds("course-id", "level-id");
|
|
103
148
|
|
|
104
|
-
// Search pool. At least one non-empty column value is required
|
|
149
|
+
// Search pool. At least one non-empty column value is required, because Memrise has
|
|
105
150
|
// no "return everything" mode, use getLevelThings to enumerate instead.
|
|
106
151
|
const results = await client.searchPool("pool-id", {
|
|
107
152
|
"1": "search term",
|
|
@@ -121,6 +166,10 @@ new MemriseClient(username: string, password: string, clientId?: string)
|
|
|
121
166
|
|
|
122
167
|
### Methods
|
|
123
168
|
|
|
169
|
+
**Account:**
|
|
170
|
+
|
|
171
|
+
- `getMe()` - The signed-in account: id, username, email, locale, Pro status and lifetime statistics
|
|
172
|
+
|
|
124
173
|
**Course Management:**
|
|
125
174
|
|
|
126
175
|
- `getAllMyCourses(limit?)` - Every course on your dashboard, following pagination
|
|
@@ -153,15 +202,27 @@ new MemriseClient(username: string, password: string, clientId?: string)
|
|
|
153
202
|
- `bulkAddToPool(poolId, rows, delimiter?)` - Bulk add items to a pool (not attached to a level)
|
|
154
203
|
- `addLevelToCourse(courseId, poolId?, kind?)` - Add a new level to a course
|
|
155
204
|
- `setLevelTitle(levelId, newTitle)` - Rename a level
|
|
205
|
+
- `setLevelColumnPair(levelId, pair)` - Set which column the level prompts with (`learningColumn`) and which it tests on (`definitionColumn`). Level-scoped, so levels sharing a pool can test different pairs
|
|
156
206
|
- `deleteLevel(levelId)` - Delete a level
|
|
157
|
-
- `
|
|
207
|
+
- `detachThingFromLevel(levelId, thingId)` - Take a thing out of one level. The pool row survives, so levels sharing it keep it (was `deleteThingFromLevel`, still available as a deprecated alias)
|
|
208
|
+
- `deleteThing(thingId)` - Destroy a pool row outright. Removes it from every level at once and cannot be undone
|
|
209
|
+
|
|
210
|
+
**Editing Items:**
|
|
211
|
+
|
|
212
|
+
- `getThing(thingId)` - Read one pool row, every column and attribute
|
|
213
|
+
- `updateThing(thingId, columns, options?)` - Overwrite several cells of one thing, then read the row back to confirm. Options: `cellType` (`"column"` by default, or `"attribute"`), `poolId`, `verify` (`false` skips the read-back)
|
|
214
|
+
- `updateThingCell(thingId, cell, newValue, options?)` - Overwrite one cell. Options: `cellType`, `poolId`
|
|
158
215
|
|
|
159
216
|
**Pool Operations:**
|
|
160
217
|
|
|
161
218
|
- `searchPool(poolId, columns, excludeThingIds?, originalOnly?)` - Search pool. Requires at least one non-empty column value; an empty filter throws (the endpoint answers 500)
|
|
162
|
-
- `getPool(poolId)` - Get pool information
|
|
219
|
+
- `getPool(poolId)` - Get pool information, including each column's label and settings
|
|
220
|
+
- `setPoolColumnSettings(poolId, column, settings)` - Update a column's display and testing settings. Omitted fields keep their current value
|
|
163
221
|
- `getPoolIdForLevelId(levelId)` - Pool behind a level, without needing the course ID
|
|
164
222
|
- `resolveColumnKeys(poolId, row)` - Translate column names to numeric keys
|
|
223
|
+
- `resolveColumnKey(poolId, column)` - Translate one column name to its numeric key
|
|
224
|
+
- `getPoolThings(courseId)` - Every row in the course's pool, with the levels each belongs to. Scrapes the editor's database pages, the only way to see a pool whole
|
|
225
|
+
- `findOrphanedThings(courseId)` - Pool rows no level uses
|
|
165
226
|
|
|
166
227
|
## Column names
|
|
167
228
|
|
|
@@ -208,9 +269,9 @@ silently returning the wrong level.
|
|
|
208
269
|
|
|
209
270
|
Memrise exposes two identifiers for what looks like the same item:
|
|
210
271
|
|
|
211
|
-
- **thing
|
|
272
|
+
- **thing**: the row in the pool database. `detachThingFromLevel`,
|
|
212
273
|
`searchPool` and the `addThing*` responses all speak thing IDs.
|
|
213
|
-
- **learnable
|
|
274
|
+
- **learnable**: a thing *plus* the pair of columns being tested. Levels and
|
|
214
275
|
the course-facing APIs report learnable IDs.
|
|
215
276
|
|
|
216
277
|
A learnable ID packs both together: the thing ID sits in the high bits and the
|
|
@@ -233,7 +294,7 @@ which:
|
|
|
233
294
|
types. They erase to plain numbers at runtime, but passing one where the
|
|
234
295
|
other belongs is a compile error. Use `asThingId()` / `asLearnableId()` to
|
|
235
296
|
brand a number from elsewhere.
|
|
236
|
-
- **So does the runtime.** Passing a learnable ID to `
|
|
297
|
+
- **So does the runtime.** Passing a learnable ID to `detachThingFromLevel`
|
|
237
298
|
throws immediately with the thing ID you probably meant, rather than failing
|
|
238
299
|
somewhere downstream.
|
|
239
300
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { asLearnableId, asThingId } from "./types.js";
|
|
2
2
|
export type * from "./types.js";
|
|
3
|
-
import type { AccessTokenResponse, ColumnPair, CourseItem, LearnableId, ThingId, AddLevelResponse, AddThingResponse, AuthWebResponse, BulkAddResponse, BulkThingRow, BulkThingRows, BulkWordDelimiter, CourseLevel, DashboardCourse, DeleteLevelResponse, DeleteThingResponse, GetDashboardCoursesResponse, GetPoolResponse, Learnable, LevelThing, PoolColumnConfig, SearchPoolResponse, SetLevelTitleResponse } from "./types.js";
|
|
3
|
+
import type { AccessTokenResponse, ColumnPair, CourseItem, LearnableId, ThingId, AddLevelResponse, AddThingResponse, AuthWebResponse, BulkAddResponse, BulkThingRow, BulkThingRows, BulkWordDelimiter, CourseLevel, DashboardCourse, DeleteLevelResponse, DeleteThingResponse, DetachThingResponse, GetDashboardCoursesResponse, GetThingResponse, GetPoolResponse, Learnable, LevelThing, PoolColumnConfig, PoolColumnSettings, PoolThing, Profile, SearchPoolResponse, SetLevelColumnsResponse, SetLevelTitleResponse, SetPoolColumnSettingsResponse, UpdateThingCellOptions, UpdateThingCellResponse, UpdateThingOptions, UpdateThingResponse } from "./types.js";
|
|
4
4
|
/**
|
|
5
5
|
* Choose a delimiter that appears in none of the values.
|
|
6
6
|
*
|
|
@@ -10,6 +10,11 @@ import type { AccessTokenResponse, ColumnPair, CourseItem, LearnableId, ThingId,
|
|
|
10
10
|
*/
|
|
11
11
|
export declare function pickBulkDelimiter(rows: BulkThingRow[]): BulkWordDelimiter;
|
|
12
12
|
export declare function formatBulkThingData(rows: BulkThingRows, delimiter?: BulkWordDelimiter): string;
|
|
13
|
+
/** Pull the rows out of one page of the editor's pool database. */
|
|
14
|
+
export declare function parsePoolPage(html: string): {
|
|
15
|
+
thingId: number;
|
|
16
|
+
values: string[];
|
|
17
|
+
}[];
|
|
13
18
|
/**
|
|
14
19
|
* Recover the thing ID a learnable was built from.
|
|
15
20
|
*
|
|
@@ -21,6 +26,21 @@ export declare function thingIdFromLearnableId(learnableId: number): ThingId;
|
|
|
21
26
|
* Which pair of columns a learnable tests, e.g. column 1 prompting column 2.
|
|
22
27
|
*/
|
|
23
28
|
export declare function columnPairFromLearnableId(learnableId: number): ColumnPair;
|
|
29
|
+
/**
|
|
30
|
+
* Read a boolean column setting that the pool endpoint reports as a CSS class.
|
|
31
|
+
*
|
|
32
|
+
* `show_bigger` and `never_italicize` are accepted by
|
|
33
|
+
* `/ajax/pool/columns/set/` but come back only as entries in the column's
|
|
34
|
+
* `classes` list.
|
|
35
|
+
*/
|
|
36
|
+
export declare function classFlag(column: {
|
|
37
|
+
classes?: string[];
|
|
38
|
+
}, className: string): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Resolve a column, given by label or numeric key, against columns already in
|
|
41
|
+
* hand. Numeric keys pass through; labels match case-insensitively.
|
|
42
|
+
*/
|
|
43
|
+
export declare function columnKeyFromColumns(columns: Record<string, PoolColumnConfig>, column: string | number, poolId: string | number): string;
|
|
24
44
|
/**
|
|
25
45
|
* Build a learnable ID from a thing and the column pair being tested.
|
|
26
46
|
*
|
|
@@ -33,7 +53,7 @@ export declare function learnableIdFromThingId(thingId: number, pair: ColumnPair
|
|
|
33
53
|
/**
|
|
34
54
|
* Guard a value that must be a thing ID.
|
|
35
55
|
*
|
|
36
|
-
* This exists for the error message, not for correctness
|
|
56
|
+
* This exists for the error message, not for correctness. Callers that
|
|
37
57
|
* mutate a level still verify membership. It turns the most common mistake
|
|
38
58
|
* into an answer instead of a confusing failure downstream.
|
|
39
59
|
*/
|
|
@@ -47,6 +67,8 @@ export declare class MemriseClient {
|
|
|
47
67
|
private authReady;
|
|
48
68
|
private poolIdByLevel;
|
|
49
69
|
private columnKeysByPool;
|
|
70
|
+
private attributeKeysByPool;
|
|
71
|
+
private poolIdByThing;
|
|
50
72
|
constructor(username: string, password: string, clientId?: string);
|
|
51
73
|
private authenticateWithCredentials;
|
|
52
74
|
private mergeSetCookieCookies;
|
|
@@ -59,8 +81,78 @@ export declare class MemriseClient {
|
|
|
59
81
|
addThingToLevel(levelId: string | number, columns: Record<string, string>): Promise<AddThingResponse>;
|
|
60
82
|
addLevelToCourse(courseId: string | number, poolId?: string | number, kind?: string): Promise<AddLevelResponse>;
|
|
61
83
|
setLevelTitle(levelId: string | number, newTitle: string): Promise<SetLevelTitleResponse>;
|
|
84
|
+
/**
|
|
85
|
+
* Set which pair of columns a level tests.
|
|
86
|
+
*
|
|
87
|
+
* `learningColumn` is what the learner is prompted with, `definitionColumn`
|
|
88
|
+
* is what they are tested on. The pairing belongs to the level, not the
|
|
89
|
+
* pool, so levels sharing a pool can test different pairs.
|
|
90
|
+
*
|
|
91
|
+
* Existing learnable IDs encode the old pair, so read the level again after
|
|
92
|
+
* changing it rather than reusing IDs from before the call.
|
|
93
|
+
*/
|
|
94
|
+
setLevelColumnPair(levelId: string | number, pair: ColumnPair): Promise<SetLevelColumnsResponse>;
|
|
95
|
+
/**
|
|
96
|
+
* Update a pool column's display and testing settings.
|
|
97
|
+
*
|
|
98
|
+
* The endpoint replaces the whole column config, so omitted fields are
|
|
99
|
+
* read back from the pool and resent unchanged. The column may be given by
|
|
100
|
+
* label or by numeric key, and is resolved against that same read rather
|
|
101
|
+
* than the name cache, which a concurrent rename could have left stale.
|
|
102
|
+
*/
|
|
103
|
+
setPoolColumnSettings(poolId: string | number, column: string | number, settings: PoolColumnSettings): Promise<SetPoolColumnSettingsResponse>;
|
|
62
104
|
deleteLevel(levelId: string | number): Promise<DeleteLevelResponse>;
|
|
63
|
-
|
|
105
|
+
/** Fetch one pool row by its thing ID. */
|
|
106
|
+
getThing(thingId: string | number): Promise<GetThingResponse>;
|
|
107
|
+
/**
|
|
108
|
+
* Overwrite one cell of an existing thing, in a single request.
|
|
109
|
+
*
|
|
110
|
+
* `cell` may be a column (or attribute) label or the numeric key Memrise
|
|
111
|
+
* uses on the wire. Resolving a label needs the thing's pool, which is
|
|
112
|
+
* looked up unless `poolId` is given.
|
|
113
|
+
*/
|
|
114
|
+
updateThingCell(thingId: string | number, cell: string | number, newValue: string, options?: UpdateThingCellOptions): Promise<UpdateThingCellResponse>;
|
|
115
|
+
/**
|
|
116
|
+
* Overwrite several cells of one thing, then confirm the write.
|
|
117
|
+
*
|
|
118
|
+
* Memrise writes one cell per request, so cell names are all resolved
|
|
119
|
+
* before the first write; an unknown name fails the call rather than
|
|
120
|
+
* leaving the row half-updated.
|
|
121
|
+
*
|
|
122
|
+
* `/ajax/thing/cell/update/` answers `{"success": null}` whether or not
|
|
123
|
+
* it wrote, and drops writes under the account rate limit, so the row is
|
|
124
|
+
* read back once at the end and a mismatch is an error. `verify: false`
|
|
125
|
+
* skips that read.
|
|
126
|
+
*/
|
|
127
|
+
updateThing(thingId: string | number, columns: Record<string, string>, options?: UpdateThingOptions): Promise<UpdateThingResponse>;
|
|
128
|
+
/** Which pool a thing lives in, so its cells can be named. */
|
|
129
|
+
private poolIdForThing;
|
|
130
|
+
/** Translate a cell label into the numeric key Memrise wants. */
|
|
131
|
+
private resolveCellId;
|
|
132
|
+
/**
|
|
133
|
+
* Take a thing out of one level, leaving the pool row alone.
|
|
134
|
+
*
|
|
135
|
+
* This is a detach, not a delete: levels share a pool, so the row stays
|
|
136
|
+
* put and any other level using it is untouched. Rows detached from every
|
|
137
|
+
* level linger in the pool (see {@link findOrphanedThings});
|
|
138
|
+
* {@link deleteThing} destroys the row itself.
|
|
139
|
+
*/
|
|
140
|
+
detachThingFromLevel(levelId: string | number, thingId: string | number): Promise<DetachThingResponse>;
|
|
141
|
+
/**
|
|
142
|
+
* @deprecated Use {@link detachThingFromLevel}. It detaches the row from
|
|
143
|
+
* one level; {@link deleteThing} is what destroys it.
|
|
144
|
+
*/
|
|
145
|
+
deleteThingFromLevel(levelId: string | number, thingId: string | number): Promise<DetachThingResponse>;
|
|
146
|
+
/**
|
|
147
|
+
* Destroy a pool row outright, removing it from every level at once.
|
|
148
|
+
*
|
|
149
|
+
* Unlike {@link detachThingFromLevel} this cannot be undone and is not
|
|
150
|
+
* scoped to one lesson: one pool backs every level of a course, so a row
|
|
151
|
+
* shared by several levels disappears from all of them.
|
|
152
|
+
* `getCourseItems(courseId)` reports each item's `levelIds`, which is
|
|
153
|
+
* what would be affected.
|
|
154
|
+
*/
|
|
155
|
+
deleteThing(thingId: string | number): Promise<DeleteThingResponse>;
|
|
64
156
|
/**
|
|
65
157
|
* Add one item to a course, addressed by the level number Memrise shows.
|
|
66
158
|
*/
|
|
@@ -73,6 +165,8 @@ export declare class MemriseClient {
|
|
|
73
165
|
bulkAddToCourse(courseId: string | number, rows: BulkThingRows, levelNumber?: number, delimiter?: BulkWordDelimiter): Promise<BulkAddResponse>;
|
|
74
166
|
searchPool(poolId: string | number, columns: Record<string, string>, excludeThingIds?: string[], originalOnly?: boolean): Promise<SearchPoolResponse>;
|
|
75
167
|
getPool(poolId: string | number): Promise<GetPoolResponse>;
|
|
168
|
+
/** The signed-in account, as `/v1.25/me/` reports it. */
|
|
169
|
+
getMe(): Promise<Profile>;
|
|
76
170
|
getMyCourses(limit?: number, offset?: number): Promise<GetDashboardCoursesResponse>;
|
|
77
171
|
/**
|
|
78
172
|
* Every course on your dashboard, following pagination.
|
|
@@ -89,8 +183,8 @@ export declare class MemriseClient {
|
|
|
89
183
|
/**
|
|
90
184
|
* Every item in a course, each tagged with the level it sits in.
|
|
91
185
|
*
|
|
92
|
-
* The level mapping is free
|
|
93
|
-
* to collect the IDs
|
|
186
|
+
* The level mapping is free, coming from the same levels response used
|
|
187
|
+
* to collect the IDs, and without it the result is a dead end, since
|
|
94
188
|
* removing an item needs the level it belongs to.
|
|
95
189
|
*/
|
|
96
190
|
getCourseItems(courseId: string | number, limit?: number): Promise<CourseItem[]>;
|
|
@@ -146,7 +240,7 @@ export declare class MemriseClient {
|
|
|
146
240
|
*
|
|
147
241
|
* The levels endpoint is course-scoped, so this consults a cache that every
|
|
148
242
|
* getCourseLevels call populates, and falls back to sweeping the courses on
|
|
149
|
-
* your dashboard. All JSON
|
|
243
|
+
* your dashboard. All JSON, no page scraping.
|
|
150
244
|
*
|
|
151
245
|
* A level with no items is invisible to that endpoint. Levels created
|
|
152
246
|
* through addLevelToCourse are cached at creation, but for anything else,
|
|
@@ -154,6 +248,12 @@ export declare class MemriseClient {
|
|
|
154
248
|
*/
|
|
155
249
|
getPoolIdForLevelId(levelId: string | number): Promise<number>;
|
|
156
250
|
private columnKeysFor;
|
|
251
|
+
private attributeKeysFor;
|
|
252
|
+
/**
|
|
253
|
+
* Translate a single column, given by label or numeric key, into the
|
|
254
|
+
* numeric key Memrise wants. Numeric keys pass through without a lookup.
|
|
255
|
+
*/
|
|
256
|
+
resolveColumnKey(poolId: string | number, column: string | number): Promise<string>;
|
|
157
257
|
/**
|
|
158
258
|
* Translate a row keyed by column name into the numeric keys Memrise
|
|
159
259
|
* wants. Numeric keys pass through untouched, so callers that already
|
|
@@ -168,6 +268,23 @@ export declare class MemriseClient {
|
|
|
168
268
|
private resolveRowsForLevel;
|
|
169
269
|
/** Resolve named columns in bulk rows against a pool. */
|
|
170
270
|
private resolveRowsForPool;
|
|
271
|
+
/**
|
|
272
|
+
* Every row in a course's pool, attached or not, with the levels each one
|
|
273
|
+
* belongs to.
|
|
274
|
+
*
|
|
275
|
+
* This is a **scrape**, and the only way to see a pool whole: the levels
|
|
276
|
+
* endpoint reports attached rows only, and `/ajax/pool/search/` cannot
|
|
277
|
+
* list without a search term. It walks the editor's database pages, 20
|
|
278
|
+
* rows each, so a large pool costs a request per 20 rows.
|
|
279
|
+
*/
|
|
280
|
+
getPoolThings(courseId: string | number): Promise<PoolThing[]>;
|
|
281
|
+
/**
|
|
282
|
+
* Rows sitting in a course's pool that no level uses.
|
|
283
|
+
*
|
|
284
|
+
* Detaching leaves rows behind, so these accumulate. {@link deleteThing}
|
|
285
|
+
* is what clears them.
|
|
286
|
+
*/
|
|
287
|
+
findOrphanedThings(courseId: string | number): Promise<PoolThing[]>;
|
|
171
288
|
getCourseColumns(courseId: string | number): Promise<Record<string, PoolColumnConfig>>;
|
|
172
289
|
}
|
|
173
290
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACtD,mBAAmB,YAAY,CAAC;AAChC,OAAO,KAAK,EACX,mBAAmB,EACnB,UAAU,EACV,UAAU,EACV,WAAW,EACX,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EAEnB,2BAA2B,EAE3B,eAAe,EACf,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,YAAY,CAAC;AAgCpB;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,iBAAiB,CAazE;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,aAAa,EACnB,SAAS,CAAC,EAAE,iBAAiB,GAC3B,MAAM,CAoBR;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -59,6 +59,40 @@ export function formatBulkThingData(rows, delimiter) {
|
|
|
59
59
|
})
|
|
60
60
|
.join("\n");
|
|
61
61
|
}
|
|
62
|
+
const HTML_ENTITIES = {
|
|
63
|
+
amp: "&",
|
|
64
|
+
lt: "<",
|
|
65
|
+
gt: ">",
|
|
66
|
+
quot: '"',
|
|
67
|
+
apos: "'",
|
|
68
|
+
nbsp: "\u00a0",
|
|
69
|
+
};
|
|
70
|
+
/** Turn the entities the editor emits back into the characters they stand for. */
|
|
71
|
+
function decodeHtmlEntities(text) {
|
|
72
|
+
return text.replace(/&(#x?[0-9a-f]+|[a-z]+);/gi, (whole, body) => {
|
|
73
|
+
if (body.startsWith("#")) {
|
|
74
|
+
const codePoint = body.startsWith("#x") || body.startsWith("#X")
|
|
75
|
+
? Number.parseInt(body.slice(2), 16)
|
|
76
|
+
: Number.parseInt(body.slice(1), 10);
|
|
77
|
+
return Number.isFinite(codePoint)
|
|
78
|
+
? String.fromCodePoint(codePoint)
|
|
79
|
+
: whole;
|
|
80
|
+
}
|
|
81
|
+
return HTML_ENTITIES[body.toLowerCase()] ?? whole;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/** Pull the rows out of one page of the editor's pool database. */
|
|
85
|
+
export function parsePoolPage(html) {
|
|
86
|
+
const rows = [
|
|
87
|
+
...String(html).matchAll(/data-thing-id="(\d+)"([\s\S]*?)<\/tr>/g),
|
|
88
|
+
];
|
|
89
|
+
return rows.map(([, rawId, body]) => ({
|
|
90
|
+
thingId: Number(rawId),
|
|
91
|
+
values: [
|
|
92
|
+
...(body ?? "").matchAll(/<div class="[^"]*\btext\b[^"]*"[^>]*>([\s\S]*?)<\/div>/g),
|
|
93
|
+
].map((match) => decodeHtmlEntities(match[1]?.replace(/<[^>]*>/g, "") ?? "").trim()),
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
62
96
|
/**
|
|
63
97
|
* Learnable IDs are derived from the thing they were built from: the thing ID
|
|
64
98
|
* occupies the high bits and the low 16 bits identify the column pair the
|
|
@@ -72,6 +106,12 @@ const LEARNABLE_THING_SHIFT = 65536;
|
|
|
72
106
|
* accepted and 793 answers 414, so this leaves plenty of headroom.
|
|
73
107
|
*/
|
|
74
108
|
const LEARNABLE_BATCH_SIZE = 200;
|
|
109
|
+
/**
|
|
110
|
+
* Safety stop when walking the editor's pool database pages. At 20 rows a
|
|
111
|
+
* page this covers 20,000 rows; the loop normally exits on the first empty
|
|
112
|
+
* page.
|
|
113
|
+
*/
|
|
114
|
+
const POOL_PAGE_LIMIT = 1000;
|
|
75
115
|
/** /v1.25/dashboard/courses/ rejects a limit above this with a 400. */
|
|
76
116
|
const DASHBOARD_MAX_PAGE_SIZE = 9;
|
|
77
117
|
/**
|
|
@@ -93,6 +133,32 @@ export function columnPairFromLearnableId(learnableId) {
|
|
|
93
133
|
definitionColumn: pair & 0xff,
|
|
94
134
|
};
|
|
95
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Read a boolean column setting that the pool endpoint reports as a CSS class.
|
|
138
|
+
*
|
|
139
|
+
* `show_bigger` and `never_italicize` are accepted by
|
|
140
|
+
* `/ajax/pool/columns/set/` but come back only as entries in the column's
|
|
141
|
+
* `classes` list.
|
|
142
|
+
*/
|
|
143
|
+
export function classFlag(column, className) {
|
|
144
|
+
return (column.classes ?? []).includes(className);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Resolve a column, given by label or numeric key, against columns already in
|
|
148
|
+
* hand. Numeric keys pass through; labels match case-insensitively.
|
|
149
|
+
*/
|
|
150
|
+
export function columnKeyFromColumns(columns, column, poolId) {
|
|
151
|
+
const raw = String(column).trim();
|
|
152
|
+
if (/^\d+$/.test(raw))
|
|
153
|
+
return raw;
|
|
154
|
+
const wanted = raw.toLowerCase();
|
|
155
|
+
for (const [key, config] of Object.entries(columns)) {
|
|
156
|
+
if (config.label.trim().toLowerCase() === wanted)
|
|
157
|
+
return key;
|
|
158
|
+
}
|
|
159
|
+
const labels = Object.values(columns).map((config) => config.label.trim().toLowerCase());
|
|
160
|
+
throw new Error(`Pool ${poolId} has no column named "${column}". Available columns: ${labels.join(", ")}.`);
|
|
161
|
+
}
|
|
96
162
|
/**
|
|
97
163
|
* Build a learnable ID from a thing and the column pair being tested.
|
|
98
164
|
*
|
|
@@ -115,7 +181,7 @@ const MAX_PLAUSIBLE_THING_ID = 0xffffffff;
|
|
|
115
181
|
/**
|
|
116
182
|
* Guard a value that must be a thing ID.
|
|
117
183
|
*
|
|
118
|
-
* This exists for the error message, not for correctness
|
|
184
|
+
* This exists for the error message, not for correctness. Callers that
|
|
119
185
|
* mutate a level still verify membership. It turns the most common mistake
|
|
120
186
|
* into an answer instead of a confusing failure downstream.
|
|
121
187
|
*/
|
|
@@ -141,6 +207,8 @@ export class MemriseClient {
|
|
|
141
207
|
authReady;
|
|
142
208
|
poolIdByLevel = new Map();
|
|
143
209
|
columnKeysByPool = new Map();
|
|
210
|
+
attributeKeysByPool = new Map();
|
|
211
|
+
poolIdByThing = new Map();
|
|
144
212
|
constructor(username, password, clientId = DEFAULT_CLIENT_ID) {
|
|
145
213
|
this.cookie = "";
|
|
146
214
|
this.csrfToken = null;
|
|
@@ -384,6 +452,84 @@ export class MemriseClient {
|
|
|
384
452
|
});
|
|
385
453
|
return response.data;
|
|
386
454
|
}
|
|
455
|
+
/**
|
|
456
|
+
* Set which pair of columns a level tests.
|
|
457
|
+
*
|
|
458
|
+
* `learningColumn` is what the learner is prompted with, `definitionColumn`
|
|
459
|
+
* is what they are tested on. The pairing belongs to the level, not the
|
|
460
|
+
* pool, so levels sharing a pool can test different pairs.
|
|
461
|
+
*
|
|
462
|
+
* Existing learnable IDs encode the old pair, so read the level again after
|
|
463
|
+
* changing it rather than reusing IDs from before the call.
|
|
464
|
+
*/
|
|
465
|
+
async setLevelColumnPair(levelId, pair) {
|
|
466
|
+
await this.ensureAuthenticated();
|
|
467
|
+
const data = new URLSearchParams();
|
|
468
|
+
data.append("level_id", String(levelId));
|
|
469
|
+
data.append("column_a", String(pair.learningColumn));
|
|
470
|
+
data.append("column_b", String(pair.definitionColumn));
|
|
471
|
+
const response = await this.client.post("/ajax/level/set_columns/", data, {
|
|
472
|
+
headers: {
|
|
473
|
+
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
474
|
+
},
|
|
475
|
+
});
|
|
476
|
+
return response.data;
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Update a pool column's display and testing settings.
|
|
480
|
+
*
|
|
481
|
+
* The endpoint replaces the whole column config, so omitted fields are
|
|
482
|
+
* read back from the pool and resent unchanged. The column may be given by
|
|
483
|
+
* label or by numeric key, and is resolved against that same read rather
|
|
484
|
+
* than the name cache, which a concurrent rename could have left stale.
|
|
485
|
+
*/
|
|
486
|
+
async setPoolColumnSettings(poolId, column, settings) {
|
|
487
|
+
await this.ensureAuthenticated();
|
|
488
|
+
const { pool } = await this.getPool(poolId);
|
|
489
|
+
const columnKey = columnKeyFromColumns(pool.columns, column, poolId);
|
|
490
|
+
const current = pool.columns[columnKey];
|
|
491
|
+
if (!current) {
|
|
492
|
+
throw new Error(`Pool ${poolId} has no column ${columnKey}. Available columns: ${Object.keys(pool.columns).join(", ")}.`);
|
|
493
|
+
}
|
|
494
|
+
const merged = {
|
|
495
|
+
label: settings.label ?? current.label,
|
|
496
|
+
keyboard: settings.keyboard ?? current.keyboard,
|
|
497
|
+
show_bigger: settings.showBigger ?? classFlag(current, "bigger"),
|
|
498
|
+
never_italicize: settings.neverItalicize ?? classFlag(current, "unitalic"),
|
|
499
|
+
typing_disabled: settings.typingDisabled ?? current.typing_disabled,
|
|
500
|
+
tapping_disabled: settings.tappingDisabled ?? current.tapping_disabled,
|
|
501
|
+
typing_strict: settings.typingStrict ?? current.typing_strict,
|
|
502
|
+
always_show: settings.alwaysShow ?? current.always_show,
|
|
503
|
+
show_after_tests: settings.showAfterTests ?? current.show_after_tests,
|
|
504
|
+
};
|
|
505
|
+
const data = new URLSearchParams();
|
|
506
|
+
data.append("pool_id", String(poolId));
|
|
507
|
+
data.append("column_key", columnKey);
|
|
508
|
+
// The pool shape is inferred, not contracted. A missing value would
|
|
509
|
+
// otherwise reach the wire as the string "undefined", and this endpoint
|
|
510
|
+
// replaces the whole config rather than patching it.
|
|
511
|
+
data.append("label", merged.label ?? "");
|
|
512
|
+
data.append("keyboard", merged.keyboard ?? "");
|
|
513
|
+
for (const flag of [
|
|
514
|
+
"show_bigger",
|
|
515
|
+
"never_italicize",
|
|
516
|
+
"typing_disabled",
|
|
517
|
+
"tapping_disabled",
|
|
518
|
+
"typing_strict",
|
|
519
|
+
"always_show",
|
|
520
|
+
"show_after_tests",
|
|
521
|
+
]) {
|
|
522
|
+
data.append(flag, merged[flag] ? "true" : "false");
|
|
523
|
+
}
|
|
524
|
+
const response = await this.client.post("/ajax/pool/columns/set/", data, {
|
|
525
|
+
headers: {
|
|
526
|
+
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
527
|
+
},
|
|
528
|
+
});
|
|
529
|
+
// The label may have changed, so the cached name lookup is stale.
|
|
530
|
+
this.columnKeysByPool.delete(String(poolId));
|
|
531
|
+
return response.data;
|
|
532
|
+
}
|
|
387
533
|
async deleteLevel(levelId) {
|
|
388
534
|
await this.ensureAuthenticated();
|
|
389
535
|
const data = new URLSearchParams();
|
|
@@ -395,8 +541,125 @@ export class MemriseClient {
|
|
|
395
541
|
});
|
|
396
542
|
return response.data;
|
|
397
543
|
}
|
|
398
|
-
|
|
399
|
-
|
|
544
|
+
/** Fetch one pool row by its thing ID. */
|
|
545
|
+
async getThing(thingId) {
|
|
546
|
+
assertThingId(Number(thingId), "getThing");
|
|
547
|
+
await this.ensureAuthenticated();
|
|
548
|
+
const response = await this.client.get("/ajax/thing/get/", { params: { thing_id: thingId } });
|
|
549
|
+
const poolId = response.data?.thing?.pool_id;
|
|
550
|
+
if (poolId != null) {
|
|
551
|
+
this.poolIdByThing.set(String(thingId), poolId);
|
|
552
|
+
}
|
|
553
|
+
return response.data;
|
|
554
|
+
}
|
|
555
|
+
/**
|
|
556
|
+
* Overwrite one cell of an existing thing, in a single request.
|
|
557
|
+
*
|
|
558
|
+
* `cell` may be a column (or attribute) label or the numeric key Memrise
|
|
559
|
+
* uses on the wire. Resolving a label needs the thing's pool, which is
|
|
560
|
+
* looked up unless `poolId` is given.
|
|
561
|
+
*/
|
|
562
|
+
async updateThingCell(thingId, cell, newValue, options = {}) {
|
|
563
|
+
assertThingId(Number(thingId), "updateThingCell");
|
|
564
|
+
await this.ensureAuthenticated();
|
|
565
|
+
const cellType = options.cellType ?? "column";
|
|
566
|
+
const cellId = await this.resolveCellId(thingId, cell, cellType, options);
|
|
567
|
+
const data = new URLSearchParams();
|
|
568
|
+
data.append("thing_id", String(thingId));
|
|
569
|
+
data.append("cell_id", cellId);
|
|
570
|
+
data.append("cell_type", cellType);
|
|
571
|
+
data.append("new_val", newValue);
|
|
572
|
+
const response = await this.client.post("/ajax/thing/cell/update/", data, {
|
|
573
|
+
headers: {
|
|
574
|
+
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
575
|
+
},
|
|
576
|
+
});
|
|
577
|
+
return response.data;
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* Overwrite several cells of one thing, then confirm the write.
|
|
581
|
+
*
|
|
582
|
+
* Memrise writes one cell per request, so cell names are all resolved
|
|
583
|
+
* before the first write; an unknown name fails the call rather than
|
|
584
|
+
* leaving the row half-updated.
|
|
585
|
+
*
|
|
586
|
+
* `/ajax/thing/cell/update/` answers `{"success": null}` whether or not
|
|
587
|
+
* it wrote, and drops writes under the account rate limit, so the row is
|
|
588
|
+
* read back once at the end and a mismatch is an error. `verify: false`
|
|
589
|
+
* skips that read.
|
|
590
|
+
*/
|
|
591
|
+
async updateThing(thingId, columns, options = {}) {
|
|
592
|
+
const id = assertThingId(Number(thingId), "updateThing");
|
|
593
|
+
const cellType = options.cellType ?? "column";
|
|
594
|
+
const verify = options.verify ?? true;
|
|
595
|
+
const entries = Object.entries(columns);
|
|
596
|
+
if (entries.length === 0) {
|
|
597
|
+
throw new Error(`updateThing needs at least one ${cellType} to write.`);
|
|
598
|
+
}
|
|
599
|
+
const resolved = {};
|
|
600
|
+
for (const [cell, value] of entries) {
|
|
601
|
+
resolved[await this.resolveCellId(thingId, cell, cellType, options)] =
|
|
602
|
+
value;
|
|
603
|
+
}
|
|
604
|
+
for (const [cellId, value] of Object.entries(resolved)) {
|
|
605
|
+
const response = await this.updateThingCell(thingId, cellId, value, {
|
|
606
|
+
cellType,
|
|
607
|
+
});
|
|
608
|
+
if (response?.success === false) {
|
|
609
|
+
throw new Error(`Memrise refused the update of ${cellType} ${cellId} on thing ${thingId}: ${JSON.stringify(response)}`);
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
if (!verify) {
|
|
613
|
+
return { success: true, thingId: id, updated: resolved, verified: false };
|
|
614
|
+
}
|
|
615
|
+
const { thing } = await this.getThing(thingId);
|
|
616
|
+
const written = (cellType === "column" ? thing.columns : thing.attributes) ?? {};
|
|
617
|
+
for (const [cellId, value] of Object.entries(resolved)) {
|
|
618
|
+
const cell = written[cellId];
|
|
619
|
+
if (cell?.val !== value) {
|
|
620
|
+
throw new Error(`Update of ${cellType} ${cellId} on thing ${thingId} did not stick: expected ${JSON.stringify(value)}, found ${JSON.stringify(cell?.val)}. Memrise reports nothing on this endpoint and drops writes under its rate limit, so retry rather than assuming the value is set.`);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
return { success: true, thingId: id, updated: resolved, verified: true };
|
|
624
|
+
}
|
|
625
|
+
/** Which pool a thing lives in, so its cells can be named. */
|
|
626
|
+
async poolIdForThing(thingId) {
|
|
627
|
+
const key = String(thingId);
|
|
628
|
+
const cached = this.poolIdByThing.get(key);
|
|
629
|
+
if (cached !== undefined)
|
|
630
|
+
return cached;
|
|
631
|
+
const { thing } = await this.getThing(thingId);
|
|
632
|
+
if (thing?.pool_id == null) {
|
|
633
|
+
throw new Error(`Thing ${thingId} did not report a pool, so its cells cannot be resolved by name. Pass numeric cell keys instead.`);
|
|
634
|
+
}
|
|
635
|
+
this.poolIdByThing.set(key, thing.pool_id);
|
|
636
|
+
return thing.pool_id;
|
|
637
|
+
}
|
|
638
|
+
/** Translate a cell label into the numeric key Memrise wants. */
|
|
639
|
+
async resolveCellId(thingId, cell, cellType, options = {}) {
|
|
640
|
+
const raw = String(cell).trim();
|
|
641
|
+
if (/^\d+$/.test(raw))
|
|
642
|
+
return raw;
|
|
643
|
+
const poolId = options.poolId ?? (await this.poolIdForThing(thingId));
|
|
644
|
+
const byLabel = cellType === "column"
|
|
645
|
+
? await this.columnKeysFor(poolId)
|
|
646
|
+
: await this.attributeKeysFor(poolId);
|
|
647
|
+
const key = byLabel.get(raw.toLowerCase());
|
|
648
|
+
if (!key) {
|
|
649
|
+
throw new Error(`Pool ${poolId} has no ${cellType} named "${cell}". Available ${cellType}s: ${[...byLabel.keys()].join(", ")}.`);
|
|
650
|
+
}
|
|
651
|
+
return key;
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* Take a thing out of one level, leaving the pool row alone.
|
|
655
|
+
*
|
|
656
|
+
* This is a detach, not a delete: levels share a pool, so the row stays
|
|
657
|
+
* put and any other level using it is untouched. Rows detached from every
|
|
658
|
+
* level linger in the pool (see {@link findOrphanedThings});
|
|
659
|
+
* {@link deleteThing} destroys the row itself.
|
|
660
|
+
*/
|
|
661
|
+
async detachThingFromLevel(levelId, thingId) {
|
|
662
|
+
assertThingId(Number(thingId), "detachThingFromLevel");
|
|
400
663
|
await this.ensureAuthenticated();
|
|
401
664
|
const data = new URLSearchParams();
|
|
402
665
|
data.append("level_id", String(levelId));
|
|
@@ -408,6 +671,44 @@ export class MemriseClient {
|
|
|
408
671
|
});
|
|
409
672
|
return response.data;
|
|
410
673
|
}
|
|
674
|
+
/**
|
|
675
|
+
* @deprecated Use {@link detachThingFromLevel}. It detaches the row from
|
|
676
|
+
* one level; {@link deleteThing} is what destroys it.
|
|
677
|
+
*/
|
|
678
|
+
async deleteThingFromLevel(levelId, thingId) {
|
|
679
|
+
return this.detachThingFromLevel(levelId, thingId);
|
|
680
|
+
}
|
|
681
|
+
/**
|
|
682
|
+
* Destroy a pool row outright, removing it from every level at once.
|
|
683
|
+
*
|
|
684
|
+
* Unlike {@link detachThingFromLevel} this cannot be undone and is not
|
|
685
|
+
* scoped to one lesson: one pool backs every level of a course, so a row
|
|
686
|
+
* shared by several levels disappears from all of them.
|
|
687
|
+
* `getCourseItems(courseId)` reports each item's `levelIds`, which is
|
|
688
|
+
* what would be affected.
|
|
689
|
+
*/
|
|
690
|
+
async deleteThing(thingId) {
|
|
691
|
+
assertThingId(Number(thingId), "deleteThing");
|
|
692
|
+
await this.ensureAuthenticated();
|
|
693
|
+
const data = new URLSearchParams();
|
|
694
|
+
data.append("thing_id", String(thingId));
|
|
695
|
+
try {
|
|
696
|
+
const response = await this.client.post("/ajax/thing/delete/", data, {
|
|
697
|
+
headers: {
|
|
698
|
+
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
|
|
699
|
+
},
|
|
700
|
+
});
|
|
701
|
+
return response.data;
|
|
702
|
+
}
|
|
703
|
+
catch (error) {
|
|
704
|
+
// Deleting twice answers 404, which reads as a transport failure
|
|
705
|
+
// unless the caller is told what it means.
|
|
706
|
+
if (axios.isAxiosError(error) && error.response?.status === 404) {
|
|
707
|
+
throw new Error(`Thing ${thingId} does not exist, so it cannot be deleted. It may already be gone; this endpoint is not idempotent.`, { cause: error });
|
|
708
|
+
}
|
|
709
|
+
throw error;
|
|
710
|
+
}
|
|
711
|
+
}
|
|
411
712
|
/**
|
|
412
713
|
* Add one item to a course, addressed by the level number Memrise shows.
|
|
413
714
|
*/
|
|
@@ -496,6 +797,12 @@ export class MemriseClient {
|
|
|
496
797
|
});
|
|
497
798
|
return response.data;
|
|
498
799
|
}
|
|
800
|
+
/** The signed-in account, as `/v1.25/me/` reports it. */
|
|
801
|
+
async getMe() {
|
|
802
|
+
await this.ensureAuthenticated();
|
|
803
|
+
const response = await this.client.get("/v1.25/me/");
|
|
804
|
+
return response.data.profile;
|
|
805
|
+
}
|
|
499
806
|
async getMyCourses(limit = 9, offset = 0) {
|
|
500
807
|
await this.ensureAuthenticated();
|
|
501
808
|
const params = {
|
|
@@ -600,8 +907,8 @@ export class MemriseClient {
|
|
|
600
907
|
/**
|
|
601
908
|
* Every item in a course, each tagged with the level it sits in.
|
|
602
909
|
*
|
|
603
|
-
* The level mapping is free
|
|
604
|
-
* to collect the IDs
|
|
910
|
+
* The level mapping is free, coming from the same levels response used
|
|
911
|
+
* to collect the IDs, and without it the result is a dead end, since
|
|
605
912
|
* removing an item needs the level it belongs to.
|
|
606
913
|
*/
|
|
607
914
|
async getCourseItems(courseId, limit) {
|
|
@@ -743,7 +1050,7 @@ export class MemriseClient {
|
|
|
743
1050
|
*
|
|
744
1051
|
* The levels endpoint is course-scoped, so this consults a cache that every
|
|
745
1052
|
* getCourseLevels call populates, and falls back to sweeping the courses on
|
|
746
|
-
* your dashboard. All JSON
|
|
1053
|
+
* your dashboard. All JSON, no page scraping.
|
|
747
1054
|
*
|
|
748
1055
|
* A level with no items is invisible to that endpoint. Levels created
|
|
749
1056
|
* through addLevelToCourse are cached at creation, but for anything else,
|
|
@@ -775,6 +1082,34 @@ export class MemriseClient {
|
|
|
775
1082
|
this.columnKeysByPool.set(key, byLabel);
|
|
776
1083
|
return byLabel;
|
|
777
1084
|
}
|
|
1085
|
+
async attributeKeysFor(poolId) {
|
|
1086
|
+
const key = String(poolId);
|
|
1087
|
+
const cached = this.attributeKeysByPool.get(key);
|
|
1088
|
+
if (cached)
|
|
1089
|
+
return cached;
|
|
1090
|
+
const { pool } = await this.getPool(poolId);
|
|
1091
|
+
const byLabel = new Map();
|
|
1092
|
+
for (const [attributeKey, config] of Object.entries(pool.attributes ?? {})) {
|
|
1093
|
+
byLabel.set(config.label.trim().toLowerCase(), attributeKey);
|
|
1094
|
+
}
|
|
1095
|
+
this.attributeKeysByPool.set(key, byLabel);
|
|
1096
|
+
return byLabel;
|
|
1097
|
+
}
|
|
1098
|
+
/**
|
|
1099
|
+
* Translate a single column, given by label or numeric key, into the
|
|
1100
|
+
* numeric key Memrise wants. Numeric keys pass through without a lookup.
|
|
1101
|
+
*/
|
|
1102
|
+
async resolveColumnKey(poolId, column) {
|
|
1103
|
+
const raw = String(column).trim();
|
|
1104
|
+
if (/^\d+$/.test(raw))
|
|
1105
|
+
return raw;
|
|
1106
|
+
const byLabel = await this.columnKeysFor(poolId);
|
|
1107
|
+
const key = byLabel.get(raw.toLowerCase());
|
|
1108
|
+
if (!key) {
|
|
1109
|
+
throw new Error(`Pool ${poolId} has no column named "${column}". Available columns: ${[...byLabel.keys()].join(", ")}.`);
|
|
1110
|
+
}
|
|
1111
|
+
return key;
|
|
1112
|
+
}
|
|
778
1113
|
/**
|
|
779
1114
|
* Translate a row keyed by column name into the numeric keys Memrise
|
|
780
1115
|
* wants. Numeric keys pass through untouched, so callers that already
|
|
@@ -831,6 +1166,74 @@ export class MemriseClient {
|
|
|
831
1166
|
}
|
|
832
1167
|
return resolved;
|
|
833
1168
|
}
|
|
1169
|
+
/**
|
|
1170
|
+
* Every row in a course's pool, attached or not, with the levels each one
|
|
1171
|
+
* belongs to.
|
|
1172
|
+
*
|
|
1173
|
+
* This is a **scrape**, and the only way to see a pool whole: the levels
|
|
1174
|
+
* endpoint reports attached rows only, and `/ajax/pool/search/` cannot
|
|
1175
|
+
* list without a search term. It walks the editor's database pages, 20
|
|
1176
|
+
* rows each, so a large pool costs a request per 20 rows.
|
|
1177
|
+
*/
|
|
1178
|
+
async getPoolThings(courseId) {
|
|
1179
|
+
await this.ensureAuthenticated();
|
|
1180
|
+
const course = await this.getCourseById(courseId);
|
|
1181
|
+
if (!course) {
|
|
1182
|
+
throw new Error(`Course ${courseId} is not on your dashboard, so its pool pages cannot be read.`);
|
|
1183
|
+
}
|
|
1184
|
+
const levels = await this.getCourseLevelsIncludingEmpty(courseId, course.slug);
|
|
1185
|
+
const firstLevel = levels[0];
|
|
1186
|
+
if (!firstLevel) {
|
|
1187
|
+
throw new Error(`No levels found for course ${courseId}.`);
|
|
1188
|
+
}
|
|
1189
|
+
// A level can test one row through several learnables, so collect
|
|
1190
|
+
// level IDs in a set rather than one entry per learnable.
|
|
1191
|
+
const levelsByThing = new Map();
|
|
1192
|
+
for (const level of levels) {
|
|
1193
|
+
for (const learnableId of level.learnable_ids ?? []) {
|
|
1194
|
+
const thingId = thingIdFromLearnableId(learnableId);
|
|
1195
|
+
const attachedTo = levelsByThing.get(thingId) ?? new Set();
|
|
1196
|
+
attachedTo.add(level.id);
|
|
1197
|
+
levelsByThing.set(thingId, attachedTo);
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1200
|
+
const things = [];
|
|
1201
|
+
const seen = new Set();
|
|
1202
|
+
for (let page = 1; page <= POOL_PAGE_LIMIT; page++) {
|
|
1203
|
+
const response = await this.client.get(`/course/${courseId}/${course.slug}/edit/database/${firstLevel.pool_id}/?page=${page}`);
|
|
1204
|
+
const rows = parsePoolPage(String(response.data));
|
|
1205
|
+
if (rows.length === 0)
|
|
1206
|
+
break;
|
|
1207
|
+
let fresh = 0;
|
|
1208
|
+
for (const row of rows) {
|
|
1209
|
+
// Pages can overlap as rows shift; the first sighting wins.
|
|
1210
|
+
if (seen.has(row.thingId))
|
|
1211
|
+
continue;
|
|
1212
|
+
seen.add(row.thingId);
|
|
1213
|
+
fresh++;
|
|
1214
|
+
things.push({
|
|
1215
|
+
thingId: asThingId(row.thingId),
|
|
1216
|
+
values: row.values,
|
|
1217
|
+
levelIds: [...(levelsByThing.get(row.thingId) ?? [])],
|
|
1218
|
+
});
|
|
1219
|
+
}
|
|
1220
|
+
// A page past the end may redirect back to one already read
|
|
1221
|
+
// instead of coming back empty, which would run to the cap.
|
|
1222
|
+
if (fresh === 0)
|
|
1223
|
+
break;
|
|
1224
|
+
}
|
|
1225
|
+
return things;
|
|
1226
|
+
}
|
|
1227
|
+
/**
|
|
1228
|
+
* Rows sitting in a course's pool that no level uses.
|
|
1229
|
+
*
|
|
1230
|
+
* Detaching leaves rows behind, so these accumulate. {@link deleteThing}
|
|
1231
|
+
* is what clears them.
|
|
1232
|
+
*/
|
|
1233
|
+
async findOrphanedThings(courseId) {
|
|
1234
|
+
const things = await this.getPoolThings(courseId);
|
|
1235
|
+
return things.filter((thing) => thing.levelIds.length === 0);
|
|
1236
|
+
}
|
|
834
1237
|
async getCourseColumns(courseId) {
|
|
835
1238
|
const levels = await this.getCourseLevels(courseId);
|
|
836
1239
|
if (levels.length === 0) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Memrise has two ID namespaces that are easy to confuse. These brands are
|
|
3
|
-
* compile-time only
|
|
3
|
+
* compile-time only (they erase to plain numbers at runtime), but they stop
|
|
4
4
|
* a learnable ID being passed where a thing ID belongs.
|
|
5
5
|
*
|
|
6
6
|
* IDs handed back by this SDK are already branded. To brand a number from
|
|
@@ -69,6 +69,49 @@ export interface DeleteLevelResponse {
|
|
|
69
69
|
success: boolean;
|
|
70
70
|
[key: string]: unknown;
|
|
71
71
|
}
|
|
72
|
+
export interface SetLevelColumnsResponse {
|
|
73
|
+
success: boolean;
|
|
74
|
+
[key: string]: unknown;
|
|
75
|
+
}
|
|
76
|
+
/** Which family of cell `/ajax/thing/cell/update/` should write to. */
|
|
77
|
+
export type ThingCellType = "column" | "attribute";
|
|
78
|
+
export interface UpdateThingCellResponse {
|
|
79
|
+
/** Always `null` in practice. The endpoint reports nothing about the write. */
|
|
80
|
+
success: boolean | null;
|
|
81
|
+
[key: string]: unknown;
|
|
82
|
+
}
|
|
83
|
+
export interface UpdateThingCellOptions {
|
|
84
|
+
/** Which family of cells to write. Defaults to `"column"`. */
|
|
85
|
+
cellType?: ThingCellType;
|
|
86
|
+
/** Pool the thing belongs to. Resolves cell names without a lookup. */
|
|
87
|
+
poolId?: string | number;
|
|
88
|
+
}
|
|
89
|
+
export interface UpdateThingOptions extends UpdateThingCellOptions {
|
|
90
|
+
/**
|
|
91
|
+
* Read the row back and confirm the new values are there.
|
|
92
|
+
*
|
|
93
|
+
* @default true
|
|
94
|
+
*/
|
|
95
|
+
verify?: boolean;
|
|
96
|
+
}
|
|
97
|
+
export interface UpdateThingResponse {
|
|
98
|
+
success: boolean;
|
|
99
|
+
thingId: ThingId;
|
|
100
|
+
/** Cells written, in the order they were sent, keyed numerically. */
|
|
101
|
+
updated: Record<string, string>;
|
|
102
|
+
/** Whether the write was read back and confirmed. */
|
|
103
|
+
verified: boolean;
|
|
104
|
+
}
|
|
105
|
+
export interface GetThingResponse {
|
|
106
|
+
thing: MemriseThing;
|
|
107
|
+
[key: string]: unknown;
|
|
108
|
+
}
|
|
109
|
+
/** Response to detaching a thing from a level. */
|
|
110
|
+
export interface DetachThingResponse {
|
|
111
|
+
success: boolean;
|
|
112
|
+
[key: string]: unknown;
|
|
113
|
+
}
|
|
114
|
+
/** Response to destroying a thing outright. */
|
|
72
115
|
export interface DeleteThingResponse {
|
|
73
116
|
success: boolean;
|
|
74
117
|
[key: string]: unknown;
|
|
@@ -89,7 +132,7 @@ export interface ColumnPair {
|
|
|
89
132
|
definitionColumn: number;
|
|
90
133
|
}
|
|
91
134
|
export interface LevelThing {
|
|
92
|
-
/** Pool-authoring identity. This is what
|
|
135
|
+
/** Pool-authoring identity. This is what detachThingFromLevel needs. */
|
|
93
136
|
thingId: ThingId;
|
|
94
137
|
/** Course-facing identity the thing ID was derived from. */
|
|
95
138
|
learnableId: LearnableId;
|
|
@@ -98,6 +141,14 @@ export interface LevelThing {
|
|
|
98
141
|
itemType: string;
|
|
99
142
|
difficulty: string;
|
|
100
143
|
}
|
|
144
|
+
/** A pool row as the editor's database pages report it. */
|
|
145
|
+
export interface PoolThing {
|
|
146
|
+
thingId: ThingId;
|
|
147
|
+
/** Column values in column order, as displayed. Text only. */
|
|
148
|
+
values: string[];
|
|
149
|
+
/** Levels of the course this row is attached to. Empty means orphaned. */
|
|
150
|
+
levelIds: number[];
|
|
151
|
+
}
|
|
101
152
|
export interface PoolColumnConfig {
|
|
102
153
|
kind: string;
|
|
103
154
|
label: string;
|
|
@@ -114,6 +165,42 @@ export interface PoolAttributeConfig {
|
|
|
114
165
|
label: string;
|
|
115
166
|
show_at_tests: boolean;
|
|
116
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Per-column learning settings, as `/ajax/pool/columns/set/` accepts them.
|
|
170
|
+
*
|
|
171
|
+
* Every field is optional; anything omitted keeps the column's current value.
|
|
172
|
+
*/
|
|
173
|
+
export interface PoolColumnSettings {
|
|
174
|
+
/** Column heading shown in the editor and the learning experience. */
|
|
175
|
+
label?: string;
|
|
176
|
+
/**
|
|
177
|
+
* Characters forming the on-screen keyboard. A space wraps to a new row.
|
|
178
|
+
* Empty means the learner's own keyboard.
|
|
179
|
+
*/
|
|
180
|
+
keyboard?: string;
|
|
181
|
+
/** Render the text slightly larger, e.g. for Chinese. */
|
|
182
|
+
showBigger?: boolean;
|
|
183
|
+
/** Keep the text upright in contexts that would otherwise italicize it. */
|
|
184
|
+
neverItalicize?: boolean;
|
|
185
|
+
/** Suppress typing tests for this column. */
|
|
186
|
+
typingDisabled?: boolean;
|
|
187
|
+
/** Suppress tapping ('rearrange the words') tests for this column. */
|
|
188
|
+
tappingDisabled?: boolean;
|
|
189
|
+
/** Mark typing without ignoring spacing, capitalization or accents. */
|
|
190
|
+
typingStrict?: boolean;
|
|
191
|
+
/** Display the column even when it is not being tested on. */
|
|
192
|
+
alwaysShow?: boolean;
|
|
193
|
+
/** Display the column after a test. */
|
|
194
|
+
showAfterTests?: boolean;
|
|
195
|
+
}
|
|
196
|
+
export interface SetPoolColumnSettingsResponse {
|
|
197
|
+
/**
|
|
198
|
+
* Whether the write was accepted. Named `saved`, so a caller checking
|
|
199
|
+
* `success` here reads `undefined`.
|
|
200
|
+
*/
|
|
201
|
+
saved: boolean;
|
|
202
|
+
[key: string]: unknown;
|
|
203
|
+
}
|
|
117
204
|
export interface Pool {
|
|
118
205
|
id: number;
|
|
119
206
|
name: string;
|
|
@@ -214,5 +301,44 @@ export interface AuthWebResponse {
|
|
|
214
301
|
success?: boolean;
|
|
215
302
|
[key: string]: unknown;
|
|
216
303
|
}
|
|
304
|
+
export interface ProfileSubscription {
|
|
305
|
+
expiry: string;
|
|
306
|
+
is_active: boolean;
|
|
307
|
+
is_on_hold: boolean;
|
|
308
|
+
subscription_type: number;
|
|
309
|
+
}
|
|
310
|
+
export interface ProfileAvatar {
|
|
311
|
+
normal: string;
|
|
312
|
+
small: string;
|
|
313
|
+
large: string;
|
|
314
|
+
}
|
|
315
|
+
export interface ProfileStatistics {
|
|
316
|
+
points: number;
|
|
317
|
+
longest_streak: number;
|
|
318
|
+
num_things_flowered: number;
|
|
319
|
+
}
|
|
320
|
+
/** The signed-in account. */
|
|
321
|
+
export interface Profile {
|
|
322
|
+
id: number;
|
|
323
|
+
username: string;
|
|
324
|
+
email: string;
|
|
325
|
+
date_joined: string;
|
|
326
|
+
language: string;
|
|
327
|
+
timezone: string;
|
|
328
|
+
is_staff: boolean;
|
|
329
|
+
is_pro: boolean;
|
|
330
|
+
is_guest: boolean;
|
|
331
|
+
has_facebook: boolean;
|
|
332
|
+
has_password_set: boolean;
|
|
333
|
+
has_lapsed_pro: boolean;
|
|
334
|
+
pro_trial_ended: string | null;
|
|
335
|
+
subscription: ProfileSubscription;
|
|
336
|
+
avatar: ProfileAvatar;
|
|
337
|
+
statistics: ProfileStatistics;
|
|
338
|
+
[key: string]: unknown;
|
|
339
|
+
}
|
|
340
|
+
export interface GetMeResponse {
|
|
341
|
+
profile: Profile;
|
|
342
|
+
}
|
|
217
343
|
export {};
|
|
218
344
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
|