@examind/block-sdk 0.2.1 → 0.2.2
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/dist/index.js +19 -6
- package/dist/index.mjs +19 -6
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -163,6 +163,19 @@ var ExcelQuestionNodeHandler = class extends NodeHandler {
|
|
|
163
163
|
}
|
|
164
164
|
};
|
|
165
165
|
|
|
166
|
+
// src/typeGuards/isSerializedExcelWorksheetLinkNode.ts
|
|
167
|
+
function isSerializedExcelWorksheetLinkNode(node) {
|
|
168
|
+
return node?.type === "excel-worksheet-link";
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// src/exportToHtml/ExcelWorksheetLinkNodeHandler.ts
|
|
172
|
+
var ExcelWorksheetLinkNodeHandler = class extends NodeHandler {
|
|
173
|
+
processNode(node) {
|
|
174
|
+
if (!isSerializedExcelWorksheetLinkNode(node)) return null;
|
|
175
|
+
return `<x-worksheet-link x-data-name="${node.sheetName}"></x-worksheet-link>`;
|
|
176
|
+
}
|
|
177
|
+
};
|
|
178
|
+
|
|
166
179
|
// src/typeGuards/isSerializedFillInTheBlankQuestionNode.ts
|
|
167
180
|
function isSerializedFillInTheBlankQuestionNode(node) {
|
|
168
181
|
return node?.type === "fill-in-the-blank-question" && "id" in node && typeof node.id === "string" && "pointsPerSpace" in node && typeof node.pointsPerSpace === "number" && "content" in node;
|
|
@@ -1004,7 +1017,7 @@ var VariableNodeHandler = class extends NodeHandler {
|
|
|
1004
1017
|
|
|
1005
1018
|
// src/exportToHtml/traverse.ts
|
|
1006
1019
|
var builder = new NodeHandlerChainBuilder();
|
|
1007
|
-
var nodeHandlerChain = builder.addHandler(CustomQuestionNodeHandler).addHandler(EssayQuestionNodeHandler).addHandler(ExcelQuestionNodeHandler).addHandler(FillInTheBlankQuestionNodeHandler).addHandler(FillInTheBlankSpaceNodeHandler).addHandler(FinancialStatementQuestionNodeHandler).addHandler(HeadingNodeHandler).addHandler(HorizontalRuleNodeHandler).addHandler(ImageNodeHandler).addHandler(JournalEntryQuestionNodeHandler).addHandler(LineBreakNodeHandler).addHandler(LinkNodeHandler).addHandler(ListNodeHandler).addHandler(ListItemNodeHandler).addHandler(MatchingQuestionNodeHandler).addHandler(MultipleOptionQuestionNodeHandler).addHandler(ParagraphNodeHandler).addHandler(ShortAnswerQuestionNodeHandler).addHandler(SimulationQuestionNodeHandler).addHandler(TableCellNodeHandler).addHandler(TableNodeHandler).addHandler(TableRowNodeHandler).addHandler(TextNodeHandler).addHandler(VariableNodeHandler).build();
|
|
1020
|
+
var nodeHandlerChain = builder.addHandler(CustomQuestionNodeHandler).addHandler(EssayQuestionNodeHandler).addHandler(ExcelQuestionNodeHandler).addHandler(ExcelWorksheetLinkNodeHandler).addHandler(FillInTheBlankQuestionNodeHandler).addHandler(FillInTheBlankSpaceNodeHandler).addHandler(FinancialStatementQuestionNodeHandler).addHandler(HeadingNodeHandler).addHandler(HorizontalRuleNodeHandler).addHandler(ImageNodeHandler).addHandler(JournalEntryQuestionNodeHandler).addHandler(LineBreakNodeHandler).addHandler(LinkNodeHandler).addHandler(ListNodeHandler).addHandler(ListItemNodeHandler).addHandler(MatchingQuestionNodeHandler).addHandler(MultipleOptionQuestionNodeHandler).addHandler(ParagraphNodeHandler).addHandler(ShortAnswerQuestionNodeHandler).addHandler(SimulationQuestionNodeHandler).addHandler(TableCellNodeHandler).addHandler(TableNodeHandler).addHandler(TableRowNodeHandler).addHandler(TextNodeHandler).addHandler(VariableNodeHandler).build();
|
|
1008
1021
|
var traverse = (node, metadata) => {
|
|
1009
1022
|
return nodeHandlerChain.handle(node, metadata);
|
|
1010
1023
|
};
|
|
@@ -1390,19 +1403,19 @@ var ExcelQuestionNodeHandler2 = class extends NodeHandler2 {
|
|
|
1390
1403
|
// src/importFromHtml/ExcelWorksheetLinkNodeHandler.ts
|
|
1391
1404
|
var import_node_html_parser6 = require("node-html-parser");
|
|
1392
1405
|
var TAG = "x-worksheet-link";
|
|
1393
|
-
var
|
|
1406
|
+
var ExcelWorksheetLinkNodeHandler2 = class extends NodeHandler2 {
|
|
1394
1407
|
processNode(node) {
|
|
1395
1408
|
if (!(node instanceof import_node_html_parser6.HTMLElement) || node.tagName !== TAG.toUpperCase()) {
|
|
1396
1409
|
return null;
|
|
1397
1410
|
}
|
|
1398
|
-
const
|
|
1411
|
+
const sheetName = node.getAttribute("x-data-name") || "";
|
|
1399
1412
|
const linkNode = {
|
|
1400
1413
|
detail: 0,
|
|
1401
1414
|
format: 0,
|
|
1402
1415
|
mode: "normal",
|
|
1403
1416
|
style: "",
|
|
1404
|
-
text:
|
|
1405
|
-
|
|
1417
|
+
text: sheetName,
|
|
1418
|
+
sheetName,
|
|
1406
1419
|
type: "excel-worksheet-link",
|
|
1407
1420
|
version: 1
|
|
1408
1421
|
};
|
|
@@ -2510,7 +2523,7 @@ var VariableNodeHandler2 = class extends NodeHandler2 {
|
|
|
2510
2523
|
|
|
2511
2524
|
// src/importFromHtml/traverse.ts
|
|
2512
2525
|
var builder2 = new NodeHandlerChainBuilder();
|
|
2513
|
-
var nodeHandlerChain2 = builder2.addHandler(CustomQuestionNodeHandler2).addHandler(DivNodeHandler).addHandler(EssayQuestionNodeHandler2).addHandler(ExcelQuestionNodeHandler2).addHandler(
|
|
2526
|
+
var nodeHandlerChain2 = builder2.addHandler(CustomQuestionNodeHandler2).addHandler(DivNodeHandler).addHandler(EssayQuestionNodeHandler2).addHandler(ExcelQuestionNodeHandler2).addHandler(ExcelWorksheetLinkNodeHandler2).addHandler(FillInTheBlankQuestionNodeHandler2).addHandler(FillInTheBlankSpaceNodeHandler2).addHandler(FinancialStatementQuestionNodeHandler2).addHandler(FormattedNodeHandler).addHandler(HeadingNodeHandler2).addHandler(HorizontalRuleNodeHandler2).addHandler(ImageNodeHandler2).addHandler(JournalEntryQuestionNodeHandler2).addHandler(LineBreakNodeHandler2).addHandler(LinkNodeHandler2).addHandler(ListItemNodeHandler2).addHandler(ListNodeHandler2).addHandler(MatchingQuestionNodeHandler2).addHandler(MultipleOptionQuestionNodeHandler2).addHandler(ParagraphNodeHandler2).addHandler(ShortAnswerQuestionNodeHandler2).addHandler(SimulationQuestionNodeHandler2).addHandler(SpanNodeHandler).addHandler(TableCellNodeHandler2).addHandler(TableNodeHandler2).addHandler(TableRowNodeHandler2).addHandler(TextNodeHandler2).addHandler(VariableNodeHandler2).build();
|
|
2514
2527
|
function traverse2(node) {
|
|
2515
2528
|
const result = nodeHandlerChain2.handle(node);
|
|
2516
2529
|
if (result === null) return [];
|
package/dist/index.mjs
CHANGED
|
@@ -136,6 +136,19 @@ var ExcelQuestionNodeHandler = class extends NodeHandler {
|
|
|
136
136
|
}
|
|
137
137
|
};
|
|
138
138
|
|
|
139
|
+
// src/typeGuards/isSerializedExcelWorksheetLinkNode.ts
|
|
140
|
+
function isSerializedExcelWorksheetLinkNode(node) {
|
|
141
|
+
return node?.type === "excel-worksheet-link";
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// src/exportToHtml/ExcelWorksheetLinkNodeHandler.ts
|
|
145
|
+
var ExcelWorksheetLinkNodeHandler = class extends NodeHandler {
|
|
146
|
+
processNode(node) {
|
|
147
|
+
if (!isSerializedExcelWorksheetLinkNode(node)) return null;
|
|
148
|
+
return `<x-worksheet-link x-data-name="${node.sheetName}"></x-worksheet-link>`;
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
|
|
139
152
|
// src/typeGuards/isSerializedFillInTheBlankQuestionNode.ts
|
|
140
153
|
function isSerializedFillInTheBlankQuestionNode(node) {
|
|
141
154
|
return node?.type === "fill-in-the-blank-question" && "id" in node && typeof node.id === "string" && "pointsPerSpace" in node && typeof node.pointsPerSpace === "number" && "content" in node;
|
|
@@ -977,7 +990,7 @@ var VariableNodeHandler = class extends NodeHandler {
|
|
|
977
990
|
|
|
978
991
|
// src/exportToHtml/traverse.ts
|
|
979
992
|
var builder = new NodeHandlerChainBuilder();
|
|
980
|
-
var nodeHandlerChain = builder.addHandler(CustomQuestionNodeHandler).addHandler(EssayQuestionNodeHandler).addHandler(ExcelQuestionNodeHandler).addHandler(FillInTheBlankQuestionNodeHandler).addHandler(FillInTheBlankSpaceNodeHandler).addHandler(FinancialStatementQuestionNodeHandler).addHandler(HeadingNodeHandler).addHandler(HorizontalRuleNodeHandler).addHandler(ImageNodeHandler).addHandler(JournalEntryQuestionNodeHandler).addHandler(LineBreakNodeHandler).addHandler(LinkNodeHandler).addHandler(ListNodeHandler).addHandler(ListItemNodeHandler).addHandler(MatchingQuestionNodeHandler).addHandler(MultipleOptionQuestionNodeHandler).addHandler(ParagraphNodeHandler).addHandler(ShortAnswerQuestionNodeHandler).addHandler(SimulationQuestionNodeHandler).addHandler(TableCellNodeHandler).addHandler(TableNodeHandler).addHandler(TableRowNodeHandler).addHandler(TextNodeHandler).addHandler(VariableNodeHandler).build();
|
|
993
|
+
var nodeHandlerChain = builder.addHandler(CustomQuestionNodeHandler).addHandler(EssayQuestionNodeHandler).addHandler(ExcelQuestionNodeHandler).addHandler(ExcelWorksheetLinkNodeHandler).addHandler(FillInTheBlankQuestionNodeHandler).addHandler(FillInTheBlankSpaceNodeHandler).addHandler(FinancialStatementQuestionNodeHandler).addHandler(HeadingNodeHandler).addHandler(HorizontalRuleNodeHandler).addHandler(ImageNodeHandler).addHandler(JournalEntryQuestionNodeHandler).addHandler(LineBreakNodeHandler).addHandler(LinkNodeHandler).addHandler(ListNodeHandler).addHandler(ListItemNodeHandler).addHandler(MatchingQuestionNodeHandler).addHandler(MultipleOptionQuestionNodeHandler).addHandler(ParagraphNodeHandler).addHandler(ShortAnswerQuestionNodeHandler).addHandler(SimulationQuestionNodeHandler).addHandler(TableCellNodeHandler).addHandler(TableNodeHandler).addHandler(TableRowNodeHandler).addHandler(TextNodeHandler).addHandler(VariableNodeHandler).build();
|
|
981
994
|
var traverse = (node, metadata) => {
|
|
982
995
|
return nodeHandlerChain.handle(node, metadata);
|
|
983
996
|
};
|
|
@@ -1363,19 +1376,19 @@ var ExcelQuestionNodeHandler2 = class extends NodeHandler2 {
|
|
|
1363
1376
|
// src/importFromHtml/ExcelWorksheetLinkNodeHandler.ts
|
|
1364
1377
|
import { HTMLElement as HTMLElement6 } from "node-html-parser";
|
|
1365
1378
|
var TAG = "x-worksheet-link";
|
|
1366
|
-
var
|
|
1379
|
+
var ExcelWorksheetLinkNodeHandler2 = class extends NodeHandler2 {
|
|
1367
1380
|
processNode(node) {
|
|
1368
1381
|
if (!(node instanceof HTMLElement6) || node.tagName !== TAG.toUpperCase()) {
|
|
1369
1382
|
return null;
|
|
1370
1383
|
}
|
|
1371
|
-
const
|
|
1384
|
+
const sheetName = node.getAttribute("x-data-name") || "";
|
|
1372
1385
|
const linkNode = {
|
|
1373
1386
|
detail: 0,
|
|
1374
1387
|
format: 0,
|
|
1375
1388
|
mode: "normal",
|
|
1376
1389
|
style: "",
|
|
1377
|
-
text:
|
|
1378
|
-
|
|
1390
|
+
text: sheetName,
|
|
1391
|
+
sheetName,
|
|
1379
1392
|
type: "excel-worksheet-link",
|
|
1380
1393
|
version: 1
|
|
1381
1394
|
};
|
|
@@ -2483,7 +2496,7 @@ var VariableNodeHandler2 = class extends NodeHandler2 {
|
|
|
2483
2496
|
|
|
2484
2497
|
// src/importFromHtml/traverse.ts
|
|
2485
2498
|
var builder2 = new NodeHandlerChainBuilder();
|
|
2486
|
-
var nodeHandlerChain2 = builder2.addHandler(CustomQuestionNodeHandler2).addHandler(DivNodeHandler).addHandler(EssayQuestionNodeHandler2).addHandler(ExcelQuestionNodeHandler2).addHandler(
|
|
2499
|
+
var nodeHandlerChain2 = builder2.addHandler(CustomQuestionNodeHandler2).addHandler(DivNodeHandler).addHandler(EssayQuestionNodeHandler2).addHandler(ExcelQuestionNodeHandler2).addHandler(ExcelWorksheetLinkNodeHandler2).addHandler(FillInTheBlankQuestionNodeHandler2).addHandler(FillInTheBlankSpaceNodeHandler2).addHandler(FinancialStatementQuestionNodeHandler2).addHandler(FormattedNodeHandler).addHandler(HeadingNodeHandler2).addHandler(HorizontalRuleNodeHandler2).addHandler(ImageNodeHandler2).addHandler(JournalEntryQuestionNodeHandler2).addHandler(LineBreakNodeHandler2).addHandler(LinkNodeHandler2).addHandler(ListItemNodeHandler2).addHandler(ListNodeHandler2).addHandler(MatchingQuestionNodeHandler2).addHandler(MultipleOptionQuestionNodeHandler2).addHandler(ParagraphNodeHandler2).addHandler(ShortAnswerQuestionNodeHandler2).addHandler(SimulationQuestionNodeHandler2).addHandler(SpanNodeHandler).addHandler(TableCellNodeHandler2).addHandler(TableNodeHandler2).addHandler(TableRowNodeHandler2).addHandler(TextNodeHandler2).addHandler(VariableNodeHandler2).build();
|
|
2487
2500
|
function traverse2(node) {
|
|
2488
2501
|
const result = nodeHandlerChain2.handle(node);
|
|
2489
2502
|
if (result === null) return [];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@examind/block-sdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"@comment version": [
|
|
5
5
|
"Don't specify package version here. It will be injected by publish workflow."
|
|
6
6
|
],
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"nanoid": ">=3.0.0",
|
|
23
23
|
"node-html-parser": ">=6.0.0",
|
|
24
|
-
"@examind/block-types": "^0.2.
|
|
24
|
+
"@examind/block-types": "^0.2.2"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@eslint/js": "^9.17.0",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"tsup": "^8.3.5",
|
|
37
37
|
"typescript": "^5.7.2",
|
|
38
38
|
"typescript-eslint": "^8.18.2",
|
|
39
|
-
"@examind/block-types": "0.2.
|
|
39
|
+
"@examind/block-types": "0.2.2"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"lodash-es": "4.17.21"
|