@superbuilders/primer-tives 1.1.3 → 1.2.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 +395 -413
- package/dist/client/choice-state.d.ts +3 -2
- package/dist/client/choice-state.d.ts.map +1 -1
- package/dist/client/create.d.ts +1 -1
- package/dist/client/create.d.ts.map +1 -1
- package/dist/client/extended-text-state.d.ts +3 -2
- package/dist/client/extended-text-state.d.ts.map +1 -1
- package/dist/client/feedback-state.d.ts +5 -3
- package/dist/client/feedback-state.d.ts.map +1 -1
- package/dist/client/index.d.ts +1 -8
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +54 -70
- package/dist/client/index.js.map +17 -18
- package/dist/client/match-state.d.ts +3 -2
- package/dist/client/match-state.d.ts.map +1 -1
- package/dist/client/observation-state.d.ts +3 -2
- package/dist/client/observation-state.d.ts.map +1 -1
- package/dist/client/order-state.d.ts +3 -2
- package/dist/client/order-state.d.ts.map +1 -1
- package/dist/client/pci-state.d.ts +3 -2
- package/dist/client/pci-state.d.ts.map +1 -1
- package/dist/client/session-context.d.ts +3 -2
- package/dist/client/session-context.d.ts.map +1 -1
- package/dist/client/session.d.ts +1 -1
- package/dist/client/session.d.ts.map +1 -1
- package/dist/client/text-entry-state.d.ts +3 -2
- package/dist/client/text-entry-state.d.ts.map +1 -1
- package/dist/client/transport.d.ts +4 -3
- package/dist/client/transport.d.ts.map +1 -1
- package/dist/client/types.d.ts +5 -55
- package/dist/client/types.d.ts.map +1 -1
- package/dist/contracts/content.d.ts.map +1 -0
- package/dist/contracts/index.d.ts +4 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +27 -1
- package/dist/contracts/index.js.map +5 -4
- package/dist/contracts/pci.d.ts.map +1 -0
- package/dist/contracts/review.d.ts +55 -0
- package/dist/contracts/review.d.ts.map +1 -0
- package/dist/contracts/types.d.ts +2 -2
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/errors.d.ts +2 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +3 -1
- package/dist/errors.js.map +3 -3
- package/dist/grade-level.js +7 -0
- package/dist/grade-level.js.map +10 -0
- package/dist/logger.js +2 -0
- package/dist/logger.js.map +9 -0
- package/dist/server/create-server.d.ts +6 -4
- package/dist/server/create-server.d.ts.map +1 -1
- package/dist/server/index.d.ts +0 -4
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +5 -19
- package/dist/server/index.js.map +6 -6
- package/dist/subject.js +7 -0
- package/dist/subject.js.map +10 -0
- package/package.json +13 -6
- package/dist/client/content.d.ts.map +0 -1
- package/dist/client/pci.d.ts.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -344
- package/dist/index.js.map +0 -12
- /package/dist/{client → contracts}/content.d.ts +0 -0
- /package/dist/{client → contracts}/pci.d.ts +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SessionContext } from "./session-context";
|
|
2
|
-
import type { PciId } from "
|
|
3
|
-
import type {
|
|
2
|
+
import type { PciId } from "../contracts/pci";
|
|
3
|
+
import type { RendererChoice, RendererInteraction, RendererStimulus } from "../contracts/types";
|
|
4
|
+
import type { PrimerState } from "./types";
|
|
4
5
|
declare function choiceState<Pcis extends PciId>(ctx: SessionContext<Pcis>, stimulus: RendererStimulus | null, interaction: Extract<RendererInteraction<Pcis>, {
|
|
5
6
|
type: "choice";
|
|
6
7
|
}>, options: RendererChoice[], maxChoices: number, minChoices: number): PrimerState<Pcis>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choice-state.d.ts","sourceRoot":"","sources":["../../src/client/choice-state.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"choice-state.d.ts","sourceRoot":"","sources":["../../src/client/choice-state.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EACX,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAG3E,iBAAS,WAAW,CAAC,IAAI,SAAS,KAAK,EACtC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,WAAW,EAAE,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EACnE,OAAO,EAAE,cAAc,EAAE,EACzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GAChB,WAAW,CAAC,IAAI,CAAC,CAqFnB;AAED,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
package/dist/client/create.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PrimerLogger } from "../logger";
|
|
2
|
-
import type { PciId } from "
|
|
2
|
+
import type { PciId } from "../contracts/pci";
|
|
3
3
|
import type { SubjectScope } from "../subject";
|
|
4
4
|
import type { PrimerState } from "./types";
|
|
5
5
|
interface Config<Pcis extends PciId = PciId> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/client/create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/client/create.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAM3E,UAAU,MAAM,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,EAAE,CAAA;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAA;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAA;CAC9B;AAED,UAAU,MAAM,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK;IAC1C,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;CACnC;AAUD,iBAAS,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CA4C5E;AAED,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SessionContext } from "./session-context";
|
|
2
|
-
import type { PciId } from "
|
|
3
|
-
import type {
|
|
2
|
+
import type { PciId } from "../contracts/pci";
|
|
3
|
+
import type { RendererStimulus, StandardRendererInteraction } from "../contracts/types";
|
|
4
|
+
import type { PrimerState } from "./types";
|
|
4
5
|
declare function extendedTextState<Pcis extends PciId>(ctx: SessionContext<Pcis>, stimulus: RendererStimulus | null, interaction: Extract<StandardRendererInteraction, {
|
|
5
6
|
type: "extended-text";
|
|
6
7
|
}>): PrimerState<Pcis>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extended-text-state.d.ts","sourceRoot":"","sources":["../../src/client/extended-text-state.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"extended-text-state.d.ts","sourceRoot":"","sources":["../../src/client/extended-text-state.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EACX,gBAAgB,EAChB,2BAA2B,EAC3B,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAG3E,iBAAS,iBAAiB,CAAC,IAAI,SAAS,KAAK,EAC5C,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,WAAW,EAAE,OAAO,CAAC,2BAA2B,EAAE;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,GAC1E,WAAW,CAAC,IAAI,CAAC,CAqKnB;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAA"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import type { ContentInline } from "
|
|
1
|
+
import type { ContentInline } from "../contracts/content";
|
|
2
2
|
import type { SessionContext } from "./session-context";
|
|
3
|
-
import type { PciId } from "
|
|
4
|
-
import type {
|
|
3
|
+
import type { PciId } from "../contracts/pci";
|
|
4
|
+
import type { RendererInteraction, RendererStimulus, RendererSubmission } from "../contracts/types";
|
|
5
|
+
import type { InteractionReview } from "../contracts/review";
|
|
6
|
+
import type { PrimerState } from "./types";
|
|
5
7
|
declare function feedbackState<Pcis extends PciId>(ctx: SessionContext<Pcis>, stimulus: RendererStimulus | null, interaction: RendererInteraction<Pcis>, submission: RendererSubmission<Pcis>, isCorrect: boolean, feedbackContent: ContentInline[], review: InteractionReview<Pcis> | null): PrimerState<Pcis>;
|
|
6
8
|
export { feedbackState };
|
|
7
9
|
//# sourceMappingURL=feedback-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-state.d.ts","sourceRoot":"","sources":["../../src/client/feedback-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"feedback-state.d.ts","sourceRoot":"","sources":["../../src/client/feedback-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAA;AAClF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AACtE,OAAO,KAAK,EACX,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,6CAA6C,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAA;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAE3E,iBAAS,aAAa,CAAC,IAAI,SAAS,KAAK,EACxC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,EACzB,QAAQ,EAAE,gBAAgB,GAAG,IAAI,EACjC,WAAW,EAAE,mBAAmB,CAAC,IAAI,CAAC,EACtC,UAAU,EAAE,kBAAkB,CAAC,IAAI,CAAC,EACpC,SAAS,EAAE,OAAO,EAClB,eAAe,EAAE,aAAa,EAAE,EAChC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,IAAI,GACpC,WAAW,CAAC,IAAI,CAAC,CAmBnB;AAED,OAAO,EAAE,aAAa,EAAE,CAAA"}
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
export { create } from "./create";
|
|
2
2
|
export type { Client, Config } from "./create";
|
|
3
|
-
export type {
|
|
4
|
-
export { SUBJECTS } from "../subject";
|
|
5
|
-
export type { Subject, SubjectScope } from "../subject";
|
|
6
|
-
export { ErrBadRequest, ErrConflict, ErrForbidden, ErrInvalidAccessToken, ErrInvalidSubmission, ErrJsonParse, ErrMalformedAccessToken, ErrNetwork, ErrNotFound, ErrNotSerializable, ErrRateLimited, ErrServerError, ErrServiceUnavailable, ErrTimeout, ErrTokenExpired, ErrUnsupportedPci } from "../errors";
|
|
7
|
-
export type { BodyStimulus, ChoiceReview, ChoiceState, CompletedState, ErroredState, ExtendedTextMultipleState, ExtendedTextReview, ExtendedTextSingleState, ExtendedTextState, FatalState, FeedbackState, ImageStimulus, InteractionReview, InteractionState, MatchPair, MatchReview, MatchState, NonSerializable, ObservationState, OrderReview, OrderState, PciInteraction, PciInteractionState, PciPendingRenderProps, PciRenderProps, PciReview, PciSubmission, PciSubmittedRenderProps, PrimerState, RendererChoice, RendererInteraction, RendererMatchChoice, RendererStimulus, RendererSubmission, ReviewRecordField, ReviewRecordFieldBaseType, ReviewScalarValue, StandardRendererInteraction, TextEntryReview, TextEntryState } from "./types";
|
|
8
|
-
export type { ContentBlock, ContentInline, ContentSpan } from "./content";
|
|
9
|
-
export { blocksToPlainText, inlinesToPlainText } from "./content";
|
|
10
|
-
export type { DivisionRemainderProps, DivisionRemainderSubmission, FractionAdditionProps, FractionAdditionSubmission, PciId, PciProps, PciRegistry, PciUrn, PciValue } from "./pci";
|
|
3
|
+
export type { ChoiceState, CompletedState, ErroredState, ExtendedTextMultipleState, ExtendedTextSingleState, ExtendedTextState, FatalState, FeedbackState, InteractionState, MatchState, NonSerializable, ObservationState, OrderState, PciInteractionState, PciPendingRenderProps, PciRenderProps, PciSubmittedRenderProps, PrimerState, TextEntryState } from "./types";
|
|
11
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAE/E,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAClE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAA;AAE/E,YAAY,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,cAAc,EACd,MAAM,0CAA0C,CAAA"}
|
package/dist/client/index.js
CHANGED
|
@@ -1,3 +1,51 @@
|
|
|
1
|
+
// src/errors.ts
|
|
2
|
+
import * as errors from "@superbuilders/errors";
|
|
3
|
+
var ErrNetwork = errors.new("network");
|
|
4
|
+
var ErrJsonParse = errors.new("json parse");
|
|
5
|
+
var ErrUnsupportedPci = errors.new("unsupported pci");
|
|
6
|
+
var ErrInvalidAccessToken = errors.new("invalid access token");
|
|
7
|
+
var ErrMalformedAccessToken = errors.new("malformed access token");
|
|
8
|
+
var ErrTokenExpired = errors.new("access token expired");
|
|
9
|
+
var ErrBadRequest = errors.new("bad request");
|
|
10
|
+
var ErrServerError = errors.new("server error");
|
|
11
|
+
var ErrTimeout = errors.new("timeout");
|
|
12
|
+
var ErrForbidden = errors.new("forbidden");
|
|
13
|
+
var ErrNotFound = errors.new("not found");
|
|
14
|
+
var ErrConflict = errors.new("conflict");
|
|
15
|
+
var ErrExternalAuthorityRequired = errors.new("external authority required");
|
|
16
|
+
var ErrRateLimited = errors.new("rate limited");
|
|
17
|
+
var ErrServiceUnavailable = errors.new("service unavailable");
|
|
18
|
+
var ErrNotSerializable = errors.new("PrimerState is live in-memory state and must not be serialized or stored");
|
|
19
|
+
var ErrInvalidSubmission = errors.new("invalid submission");
|
|
20
|
+
var ErrInvalidSecretKey = errors.new("invalid secret key");
|
|
21
|
+
var ErrStudentNotFound = errors.new("student not found");
|
|
22
|
+
var ErrUnsupportedGrade = errors.new("unsupported grade");
|
|
23
|
+
var ErrTimebackUnavailable = errors.new("timeback unavailable");
|
|
24
|
+
var ErrNeedsHints = errors.new("student needs hints set before /advance");
|
|
25
|
+
// src/contracts/content.ts
|
|
26
|
+
function inlinesToPlainText(nodes) {
|
|
27
|
+
const parts = [];
|
|
28
|
+
for (const node of nodes) {
|
|
29
|
+
switch (node.type) {
|
|
30
|
+
case "text":
|
|
31
|
+
parts.push(node.value);
|
|
32
|
+
break;
|
|
33
|
+
case "italic":
|
|
34
|
+
parts.push(node.value);
|
|
35
|
+
break;
|
|
36
|
+
case "latex":
|
|
37
|
+
parts.push(node.value);
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return parts.join("");
|
|
42
|
+
}
|
|
43
|
+
function blocksToPlainText(blocks) {
|
|
44
|
+
return blocks.map(function blockText(block) {
|
|
45
|
+
return inlinesToPlainText(block.children);
|
|
46
|
+
}).join(`
|
|
47
|
+
`);
|
|
48
|
+
}
|
|
1
49
|
// src/contracts/validation.ts
|
|
2
50
|
import { z as z2 } from "zod";
|
|
3
51
|
|
|
@@ -283,29 +331,6 @@ function validateSubmissionForInteraction(interaction, submission) {
|
|
|
283
331
|
function submissionValidationMessage(result) {
|
|
284
332
|
return result.issues.join("; ");
|
|
285
333
|
}
|
|
286
|
-
// src/errors.ts
|
|
287
|
-
import * as errors from "@superbuilders/errors";
|
|
288
|
-
var ErrNetwork = errors.new("network");
|
|
289
|
-
var ErrJsonParse = errors.new("json parse");
|
|
290
|
-
var ErrUnsupportedPci = errors.new("unsupported pci");
|
|
291
|
-
var ErrInvalidAccessToken = errors.new("invalid access token");
|
|
292
|
-
var ErrMalformedAccessToken = errors.new("malformed access token");
|
|
293
|
-
var ErrTokenExpired = errors.new("access token expired");
|
|
294
|
-
var ErrBadRequest = errors.new("bad request");
|
|
295
|
-
var ErrServerError = errors.new("server error");
|
|
296
|
-
var ErrTimeout = errors.new("timeout");
|
|
297
|
-
var ErrForbidden = errors.new("forbidden");
|
|
298
|
-
var ErrNotFound = errors.new("not found");
|
|
299
|
-
var ErrConflict = errors.new("conflict");
|
|
300
|
-
var ErrExternalAuthorityRequired = errors.new("external authority required");
|
|
301
|
-
var ErrRateLimited = errors.new("rate limited");
|
|
302
|
-
var ErrServiceUnavailable = errors.new("service unavailable");
|
|
303
|
-
var ErrNotSerializable = errors.new("PrimerState is live in-memory state and must not be serialized or stored");
|
|
304
|
-
var ErrInvalidSubmission = errors.new("invalid submission");
|
|
305
|
-
var ErrInvalidSecretKey = errors.new("invalid secret key");
|
|
306
|
-
var ErrStudentNotFound = errors.new("student not found");
|
|
307
|
-
var ErrUnsupportedGrade = errors.new("unsupported grade");
|
|
308
|
-
var ErrTimebackUnavailable = errors.new("timeback unavailable");
|
|
309
334
|
// src/client/create.ts
|
|
310
335
|
import * as errors10 from "@superbuilders/errors";
|
|
311
336
|
|
|
@@ -359,6 +384,9 @@ function httpSentinel(status, body) {
|
|
|
359
384
|
if (status === 409) {
|
|
360
385
|
return ErrConflict;
|
|
361
386
|
}
|
|
387
|
+
if (status === 412) {
|
|
388
|
+
return ErrNeedsHints;
|
|
389
|
+
}
|
|
362
390
|
if (status === 429) {
|
|
363
391
|
return ErrRateLimited;
|
|
364
392
|
}
|
|
@@ -889,6 +917,7 @@ var FATAL_SENTINELS = [
|
|
|
889
917
|
ErrTokenExpired,
|
|
890
918
|
ErrForbidden,
|
|
891
919
|
ErrNotFound,
|
|
920
|
+
ErrNeedsHints,
|
|
892
921
|
ErrUnsupportedPci
|
|
893
922
|
];
|
|
894
923
|
function isFatalError(err) {
|
|
@@ -1043,53 +1072,8 @@ function create(config) {
|
|
|
1043
1072
|
}
|
|
1044
1073
|
};
|
|
1045
1074
|
}
|
|
1046
|
-
// src/subject.ts
|
|
1047
|
-
var SUBJECTS = ["math", "vocabulary", "science"];
|
|
1048
|
-
// src/client/content.ts
|
|
1049
|
-
function inlinesToPlainText(nodes) {
|
|
1050
|
-
const parts = [];
|
|
1051
|
-
for (const node of nodes) {
|
|
1052
|
-
switch (node.type) {
|
|
1053
|
-
case "text":
|
|
1054
|
-
parts.push(node.value);
|
|
1055
|
-
break;
|
|
1056
|
-
case "italic":
|
|
1057
|
-
parts.push(node.value);
|
|
1058
|
-
break;
|
|
1059
|
-
case "latex":
|
|
1060
|
-
parts.push(node.value);
|
|
1061
|
-
break;
|
|
1062
|
-
}
|
|
1063
|
-
}
|
|
1064
|
-
return parts.join("");
|
|
1065
|
-
}
|
|
1066
|
-
function blocksToPlainText(blocks) {
|
|
1067
|
-
return blocks.map(function blockText(block) {
|
|
1068
|
-
return inlinesToPlainText(block.children);
|
|
1069
|
-
}).join(`
|
|
1070
|
-
`);
|
|
1071
|
-
}
|
|
1072
1075
|
export {
|
|
1073
|
-
|
|
1074
|
-
create,
|
|
1075
|
-
blocksToPlainText,
|
|
1076
|
-
SUBJECTS,
|
|
1077
|
-
ErrUnsupportedPci,
|
|
1078
|
-
ErrTokenExpired,
|
|
1079
|
-
ErrTimeout,
|
|
1080
|
-
ErrServiceUnavailable,
|
|
1081
|
-
ErrServerError,
|
|
1082
|
-
ErrRateLimited,
|
|
1083
|
-
ErrNotSerializable,
|
|
1084
|
-
ErrNotFound,
|
|
1085
|
-
ErrNetwork,
|
|
1086
|
-
ErrMalformedAccessToken,
|
|
1087
|
-
ErrJsonParse,
|
|
1088
|
-
ErrInvalidSubmission,
|
|
1089
|
-
ErrInvalidAccessToken,
|
|
1090
|
-
ErrForbidden,
|
|
1091
|
-
ErrConflict,
|
|
1092
|
-
ErrBadRequest
|
|
1076
|
+
create
|
|
1093
1077
|
};
|
|
1094
1078
|
|
|
1095
|
-
//# debugId=
|
|
1079
|
+
//# debugId=EA813B14A6F0A81364756E2164756E21
|