@gmb/bitmark-parser-generator 5.11.0 → 5.12.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/dist/browser/bitmark-parser-generator.min.js +1 -1
- package/dist/browser/bundle-report.html +2 -2
- package/dist/browser/cjs/index.cjs +1023 -568
- package/dist/browser/cjs/index.cjs.map +1 -1
- package/dist/browser/cjs/index.d.cts +39 -10
- package/dist/browser/esm/index.d.ts +39 -10
- package/dist/browser/esm/index.js +1023 -568
- package/dist/browser/esm/index.js.map +1 -1
- package/dist/cli/main.js +1037 -572
- package/dist/cli/main.js.map +1 -1
- package/dist/index.cjs +1038 -573
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +39 -10
- package/dist/index.d.ts +39 -10
- package/dist/index.js +1038 -573
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -309,6 +309,8 @@ var BitType = {
|
|
|
309
309
|
exampleList: "example-list",
|
|
310
310
|
extractorAiChat: "extractor-ai-chat",
|
|
311
311
|
extractorBlock: "extractor-block",
|
|
312
|
+
extractorBlueprint: "extractor-blueprint",
|
|
313
|
+
extractorBlueprintConfiguration: "extractor-blueprint-configuration",
|
|
312
314
|
extractorConfiguration: "extractor-configuration",
|
|
313
315
|
extractorImage: "extractor-image",
|
|
314
316
|
extractorImageCollapsible: "extractor-image-collapsible",
|
|
@@ -492,6 +494,7 @@ var BitType = {
|
|
|
492
494
|
pageOpenBookList: "page-open-book-list",
|
|
493
495
|
printBook: "print-book",
|
|
494
496
|
openBookChapter: "open-book-chapter",
|
|
497
|
+
openBookChapterTeaser: "open-book-chapter-teaser",
|
|
495
498
|
pagePerson: "page-person",
|
|
496
499
|
pageProduct: "page-product",
|
|
497
500
|
pageProductList: "page-product-list",
|
|
@@ -841,6 +844,8 @@ var AbstractTagConfig = class {
|
|
|
841
844
|
__publicField(this, "chain");
|
|
842
845
|
__publicField(this, "jsonKey");
|
|
843
846
|
// If the json key is different from the tag
|
|
847
|
+
__publicField(this, "secondaryJsonKey");
|
|
848
|
+
// Heading card alternate path
|
|
844
849
|
__publicField(this, "deprecated");
|
|
845
850
|
this.type = params.type;
|
|
846
851
|
this.configKey = params.configKey;
|
|
@@ -849,6 +854,7 @@ var AbstractTagConfig = class {
|
|
|
849
854
|
this.minCount = params.minCount;
|
|
850
855
|
this.chain = params.chain;
|
|
851
856
|
this.jsonKey = params.jsonKey;
|
|
857
|
+
this.secondaryJsonKey = params.secondaryJsonKey;
|
|
852
858
|
this.deprecated = params.deprecated;
|
|
853
859
|
}
|
|
854
860
|
};
|
|
@@ -970,18 +976,22 @@ var ResourceTagConfig = class extends AbstractTagConfig {
|
|
|
970
976
|
|
|
971
977
|
// src/model/config/CardVariantConfig.ts
|
|
972
978
|
var CardVariantConfig = class {
|
|
973
|
-
//
|
|
974
|
-
constructor(tags2, bodyAllowed, bodyRequired, repeatCount) {
|
|
979
|
+
// JSON path for body text
|
|
980
|
+
constructor(tags2, bodyAllowed, bodyRequired, repeatCount, jsonKey) {
|
|
975
981
|
__publicField(this, "tags");
|
|
976
982
|
__publicField(this, "bodyAllowed");
|
|
977
983
|
// Default: true
|
|
978
984
|
__publicField(this, "bodyRequired");
|
|
979
985
|
// Default: false
|
|
980
986
|
__publicField(this, "repeatCount");
|
|
987
|
+
// Default: 1
|
|
988
|
+
// JSON mapping fields
|
|
989
|
+
__publicField(this, "jsonKey");
|
|
981
990
|
this.tags = tags2;
|
|
982
991
|
this.bodyAllowed = bodyAllowed == null ? true : bodyAllowed;
|
|
983
992
|
this.bodyRequired = bodyRequired;
|
|
984
993
|
this.repeatCount = repeatCount;
|
|
994
|
+
this.jsonKey = jsonKey;
|
|
985
995
|
}
|
|
986
996
|
toString(options) {
|
|
987
997
|
const opts = Object.assign({}, options);
|
|
@@ -1003,27 +1013,63 @@ ${tag.toString(opts)}`;
|
|
|
1003
1013
|
}
|
|
1004
1014
|
};
|
|
1005
1015
|
|
|
1016
|
+
// src/model/config/CardSideConfig.ts
|
|
1017
|
+
var CardSideConfig = class {
|
|
1018
|
+
constructor(name, repeat, variants) {
|
|
1019
|
+
__publicField(this, "name");
|
|
1020
|
+
__publicField(this, "repeat");
|
|
1021
|
+
__publicField(this, "variants");
|
|
1022
|
+
this.name = name;
|
|
1023
|
+
this.repeat = repeat;
|
|
1024
|
+
this.variants = variants;
|
|
1025
|
+
}
|
|
1026
|
+
toString(options) {
|
|
1027
|
+
const opts = Object.assign({}, options);
|
|
1028
|
+
let s = "";
|
|
1029
|
+
s += `[Side: ${this.name}]`;
|
|
1030
|
+
if (this.repeat) s += " (repeat)";
|
|
1031
|
+
let variantNo = 0;
|
|
1032
|
+
for (const variant of this.variants) {
|
|
1033
|
+
s += `
|
|
1034
|
+
[Variant ${variantNo}]`;
|
|
1035
|
+
s += `
|
|
1036
|
+
${variant.toString(opts)}`;
|
|
1037
|
+
variantNo++;
|
|
1038
|
+
}
|
|
1039
|
+
return s;
|
|
1040
|
+
}
|
|
1041
|
+
};
|
|
1042
|
+
|
|
1006
1043
|
// src/model/config/CardSetConfig.ts
|
|
1007
1044
|
var CardSetConfig = class {
|
|
1008
|
-
constructor(configKey,
|
|
1045
|
+
constructor(configKey, jsonKey, itemType, sections, sides) {
|
|
1009
1046
|
__publicField(this, "configKey");
|
|
1010
|
-
__publicField(this, "
|
|
1047
|
+
__publicField(this, "jsonKey");
|
|
1048
|
+
__publicField(this, "itemType");
|
|
1049
|
+
__publicField(this, "sections");
|
|
1050
|
+
__publicField(this, "sides");
|
|
1011
1051
|
this.configKey = configKey;
|
|
1012
|
-
this.
|
|
1052
|
+
this.jsonKey = jsonKey;
|
|
1053
|
+
this.itemType = itemType;
|
|
1054
|
+
this.sections = sections;
|
|
1055
|
+
this.sides = sides;
|
|
1056
|
+
}
|
|
1057
|
+
// Legacy accessor — provides the same shape as the old `variants: CardVariantConfig[][]`
|
|
1058
|
+
// so downstream consumers (Config.getCardSetVariantConfig, etc.) continue to work.
|
|
1059
|
+
get variants() {
|
|
1060
|
+
return this.sides.map((side) => side.variants);
|
|
1013
1061
|
}
|
|
1014
1062
|
toString(options) {
|
|
1015
1063
|
const opts = Object.assign({}, options);
|
|
1016
1064
|
let s = "";
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
}
|
|
1026
|
-
sideNo++;
|
|
1065
|
+
s += `[CardSet: ${this.configKey}]`;
|
|
1066
|
+
s += `
|
|
1067
|
+
jsonKey: ${this.jsonKey}`;
|
|
1068
|
+
s += `
|
|
1069
|
+
itemType: ${this.itemType}`;
|
|
1070
|
+
for (const side of this.sides) {
|
|
1071
|
+
s += `
|
|
1072
|
+
${side.toString(opts)}`;
|
|
1027
1073
|
}
|
|
1028
1074
|
return s;
|
|
1029
1075
|
}
|
|
@@ -2176,589 +2222,947 @@ var import_superenum15 = require("@ncoderz/superenum");
|
|
|
2176
2222
|
|
|
2177
2223
|
// src/config/raw/cardSets.ts
|
|
2178
2224
|
var CARDSETS = {
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2187
|
-
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2225
|
+
//
|
|
2226
|
+
// flashcard
|
|
2227
|
+
//
|
|
2228
|
+
[CardSetConfigKey.flashcard]: {
|
|
2229
|
+
jsonKey: "cards",
|
|
2230
|
+
sides: [
|
|
2231
|
+
{
|
|
2232
|
+
name: "question",
|
|
2233
|
+
variants: [
|
|
2234
|
+
{
|
|
2235
|
+
jsonKey: "question.text",
|
|
2236
|
+
tags: [
|
|
2237
|
+
{
|
|
2238
|
+
key: ConfigKey.group_standardTags,
|
|
2239
|
+
description: "Standard tags for the flashcard."
|
|
2240
|
+
},
|
|
2241
|
+
{
|
|
2242
|
+
key: ConfigKey.tag_title,
|
|
2243
|
+
description: "Title of the flashcard."
|
|
2244
|
+
},
|
|
2245
|
+
{
|
|
2246
|
+
key: ConfigKey.group_resourceIcon,
|
|
2247
|
+
description: "Icon resource for the flashcard.",
|
|
2248
|
+
jsonKey: "question.icon"
|
|
2249
|
+
}
|
|
2250
|
+
]
|
|
2251
|
+
}
|
|
2252
|
+
]
|
|
2253
|
+
},
|
|
2254
|
+
{
|
|
2255
|
+
name: "answer",
|
|
2256
|
+
variants: [
|
|
2257
|
+
{
|
|
2258
|
+
jsonKey: "answer.text",
|
|
2259
|
+
tags: [
|
|
2260
|
+
{
|
|
2261
|
+
key: ConfigKey.group_standardTags,
|
|
2262
|
+
description: "Standard tags for the flashcard."
|
|
2263
|
+
},
|
|
2264
|
+
{
|
|
2265
|
+
key: ConfigKey.tag_title,
|
|
2266
|
+
description: "Title of the flashcard."
|
|
2267
|
+
},
|
|
2268
|
+
{
|
|
2269
|
+
key: ConfigKey.group_resourceIcon,
|
|
2270
|
+
description: "Icon resource for the flashcard.",
|
|
2271
|
+
jsonKey: "answer.icon"
|
|
2272
|
+
}
|
|
2273
|
+
]
|
|
2274
|
+
},
|
|
2275
|
+
{
|
|
2276
|
+
jsonKey: "alternativeAnswers[].text",
|
|
2277
|
+
tags: [
|
|
2278
|
+
{
|
|
2279
|
+
key: ConfigKey.group_standardTags,
|
|
2280
|
+
description: "Standard tags for the flashcard."
|
|
2281
|
+
},
|
|
2282
|
+
{
|
|
2283
|
+
key: ConfigKey.tag_title,
|
|
2284
|
+
description: "Title of the flashcard."
|
|
2285
|
+
},
|
|
2286
|
+
{
|
|
2287
|
+
key: ConfigKey.group_resourceIcon,
|
|
2288
|
+
description: "Icon resource for the flashcard."
|
|
2289
|
+
}
|
|
2290
|
+
],
|
|
2291
|
+
repeatCount: Count.infinity
|
|
2292
|
+
}
|
|
2293
|
+
]
|
|
2294
|
+
}
|
|
2205
2295
|
]
|
|
2206
2296
|
},
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2212
|
-
|
|
2213
|
-
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
|
|
2217
|
-
|
|
2218
|
-
|
|
2219
|
-
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
|
|
2229
|
-
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2297
|
+
//
|
|
2298
|
+
// definition-list
|
|
2299
|
+
//
|
|
2300
|
+
[CardSetConfigKey.definitionList]: {
|
|
2301
|
+
jsonKey: "definitions",
|
|
2302
|
+
sides: [
|
|
2303
|
+
{
|
|
2304
|
+
name: "term",
|
|
2305
|
+
variants: [
|
|
2306
|
+
{
|
|
2307
|
+
jsonKey: "term.text",
|
|
2308
|
+
tags: [
|
|
2309
|
+
{
|
|
2310
|
+
key: ConfigKey.group_standardTags,
|
|
2311
|
+
description: "Standard tags for the definition."
|
|
2312
|
+
},
|
|
2313
|
+
{
|
|
2314
|
+
key: ConfigKey.tag_title,
|
|
2315
|
+
description: "Title of the definition.",
|
|
2316
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2317
|
+
},
|
|
2318
|
+
{
|
|
2319
|
+
key: ConfigKey.group_resourceIcon,
|
|
2320
|
+
description: "Icon resource for the definition.",
|
|
2321
|
+
jsonKey: "term.icon"
|
|
2322
|
+
}
|
|
2323
|
+
]
|
|
2324
|
+
}
|
|
2325
|
+
]
|
|
2326
|
+
},
|
|
2327
|
+
{
|
|
2328
|
+
name: "definition",
|
|
2329
|
+
variants: [
|
|
2330
|
+
{
|
|
2331
|
+
jsonKey: "definition.text",
|
|
2332
|
+
tags: [
|
|
2333
|
+
{
|
|
2334
|
+
key: ConfigKey.group_standardTags,
|
|
2335
|
+
description: "Standard tags for the definition."
|
|
2336
|
+
},
|
|
2337
|
+
{
|
|
2338
|
+
key: ConfigKey.tag_title,
|
|
2339
|
+
description: "Title of the definition.",
|
|
2340
|
+
secondaryJsonKey: "heading.forValues"
|
|
2341
|
+
},
|
|
2342
|
+
{
|
|
2343
|
+
key: ConfigKey.group_resourceIcon,
|
|
2344
|
+
description: "Icon resource for the definition.",
|
|
2345
|
+
jsonKey: "definition.icon"
|
|
2346
|
+
}
|
|
2347
|
+
]
|
|
2348
|
+
},
|
|
2349
|
+
{
|
|
2350
|
+
jsonKey: "alternativeDefinitions[].text",
|
|
2351
|
+
tags: [
|
|
2352
|
+
{
|
|
2353
|
+
key: ConfigKey.group_standardTags,
|
|
2354
|
+
description: "Standard tags for the definition."
|
|
2355
|
+
},
|
|
2356
|
+
{
|
|
2357
|
+
key: ConfigKey.tag_title,
|
|
2358
|
+
description: "Title of the definition."
|
|
2359
|
+
},
|
|
2360
|
+
{
|
|
2361
|
+
key: ConfigKey.group_resourceIcon,
|
|
2362
|
+
description: "Icon resource for the definition."
|
|
2363
|
+
}
|
|
2364
|
+
],
|
|
2365
|
+
repeatCount: Count.infinity
|
|
2366
|
+
}
|
|
2367
|
+
]
|
|
2368
|
+
}
|
|
2233
2369
|
]
|
|
2234
2370
|
},
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2243
|
-
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
|
|
2250
|
-
|
|
2251
|
-
|
|
2252
|
-
|
|
2371
|
+
//
|
|
2372
|
+
// match-pairs
|
|
2373
|
+
//
|
|
2374
|
+
[CardSetConfigKey.matchPairs]: {
|
|
2375
|
+
jsonKey: "pairs",
|
|
2376
|
+
sides: [
|
|
2377
|
+
{
|
|
2378
|
+
name: "key",
|
|
2379
|
+
variants: [
|
|
2380
|
+
{
|
|
2381
|
+
jsonKey: "key",
|
|
2382
|
+
tags: [
|
|
2383
|
+
{
|
|
2384
|
+
key: ConfigKey.group_standardTags,
|
|
2385
|
+
description: "Standard tags for the match pair."
|
|
2386
|
+
},
|
|
2387
|
+
{
|
|
2388
|
+
key: ConfigKey.tag_title,
|
|
2389
|
+
description: "Title of the match pair.",
|
|
2390
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2391
|
+
},
|
|
2392
|
+
{
|
|
2393
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2394
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2395
|
+
format: TagFormat.boolean
|
|
2396
|
+
},
|
|
2397
|
+
{
|
|
2398
|
+
key: ConfigKey.resource_audio,
|
|
2399
|
+
description: "Audio resource for the match pair.",
|
|
2400
|
+
jsonKey: "keyAudio"
|
|
2401
|
+
},
|
|
2402
|
+
{
|
|
2403
|
+
key: ConfigKey.resource_image,
|
|
2404
|
+
description: "Image resource for the match pair.",
|
|
2405
|
+
jsonKey: "keyImage"
|
|
2406
|
+
}
|
|
2407
|
+
]
|
|
2408
|
+
}
|
|
2409
|
+
]
|
|
2410
|
+
},
|
|
2411
|
+
{
|
|
2412
|
+
name: "values",
|
|
2413
|
+
repeat: true,
|
|
2414
|
+
variants: [
|
|
2415
|
+
{
|
|
2416
|
+
jsonKey: "values[]",
|
|
2417
|
+
tags: [
|
|
2418
|
+
{
|
|
2419
|
+
key: ConfigKey.group_standardTags,
|
|
2420
|
+
description: "Standard tags for the match pair."
|
|
2421
|
+
},
|
|
2422
|
+
{
|
|
2423
|
+
key: ConfigKey.tag_title,
|
|
2424
|
+
description: "Title of the match pair.",
|
|
2425
|
+
secondaryJsonKey: "heading.forValues"
|
|
2426
|
+
},
|
|
2427
|
+
{
|
|
2428
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2429
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2430
|
+
format: TagFormat.boolean
|
|
2431
|
+
}
|
|
2432
|
+
],
|
|
2433
|
+
repeatCount: Count.infinity
|
|
2434
|
+
}
|
|
2435
|
+
]
|
|
2436
|
+
}
|
|
2253
2437
|
]
|
|
2254
2438
|
},
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2439
|
+
//
|
|
2440
|
+
// match-audio-pairs
|
|
2441
|
+
//
|
|
2442
|
+
[CardSetConfigKey.matchAudioPairs]: {
|
|
2443
|
+
jsonKey: "pairs",
|
|
2444
|
+
sides: [
|
|
2445
|
+
{
|
|
2446
|
+
name: "key",
|
|
2447
|
+
variants: [
|
|
2448
|
+
{
|
|
2449
|
+
jsonKey: "key",
|
|
2450
|
+
tags: [
|
|
2451
|
+
{
|
|
2452
|
+
key: ConfigKey.group_standardTags,
|
|
2453
|
+
description: "Standard tags for the audio match pair."
|
|
2454
|
+
},
|
|
2455
|
+
{
|
|
2456
|
+
key: ConfigKey.tag_title,
|
|
2457
|
+
description: "Title of the audio match pair.",
|
|
2458
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2459
|
+
},
|
|
2460
|
+
{
|
|
2461
|
+
key: ConfigKey.resource_audio,
|
|
2462
|
+
description: "Audio resource for the match pair.",
|
|
2463
|
+
jsonKey: "keyAudio"
|
|
2464
|
+
}
|
|
2465
|
+
]
|
|
2466
|
+
}
|
|
2467
|
+
]
|
|
2468
|
+
},
|
|
2469
|
+
{
|
|
2470
|
+
name: "values",
|
|
2471
|
+
repeat: true,
|
|
2472
|
+
variants: [
|
|
2473
|
+
{
|
|
2474
|
+
jsonKey: "values[]",
|
|
2475
|
+
tags: [
|
|
2476
|
+
{
|
|
2477
|
+
key: ConfigKey.group_standardTags,
|
|
2478
|
+
description: "Standard tags for the audio match pair."
|
|
2479
|
+
},
|
|
2480
|
+
{
|
|
2481
|
+
key: ConfigKey.tag_title,
|
|
2482
|
+
description: "Title of the audio match pair.",
|
|
2483
|
+
secondaryJsonKey: "heading.forValues"
|
|
2484
|
+
},
|
|
2485
|
+
{
|
|
2486
|
+
key: ConfigKey.resource_audio,
|
|
2487
|
+
description: "Audio resource for the match pair."
|
|
2488
|
+
}
|
|
2489
|
+
],
|
|
2490
|
+
repeatCount: Count.infinity
|
|
2491
|
+
}
|
|
2492
|
+
]
|
|
2493
|
+
}
|
|
2283
2494
|
]
|
|
2284
2495
|
},
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2496
|
+
//
|
|
2497
|
+
// match-image-pairs
|
|
2498
|
+
//
|
|
2499
|
+
[CardSetConfigKey.matchImagePairs]: {
|
|
2500
|
+
jsonKey: "pairs",
|
|
2501
|
+
sides: [
|
|
2502
|
+
{
|
|
2503
|
+
name: "key",
|
|
2504
|
+
variants: [
|
|
2505
|
+
{
|
|
2506
|
+
jsonKey: "key",
|
|
2507
|
+
tags: [
|
|
2508
|
+
{
|
|
2509
|
+
key: ConfigKey.group_standardTags,
|
|
2510
|
+
description: "Standard tags for the image match pair."
|
|
2511
|
+
},
|
|
2512
|
+
{
|
|
2513
|
+
key: ConfigKey.tag_title,
|
|
2514
|
+
description: "Title of the image match pair.",
|
|
2515
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2516
|
+
},
|
|
2517
|
+
{
|
|
2518
|
+
key: ConfigKey.resource_image,
|
|
2519
|
+
description: "Image resource for the match pair.",
|
|
2520
|
+
jsonKey: "keyImage"
|
|
2521
|
+
}
|
|
2522
|
+
]
|
|
2523
|
+
}
|
|
2524
|
+
]
|
|
2525
|
+
},
|
|
2526
|
+
{
|
|
2527
|
+
name: "values",
|
|
2528
|
+
repeat: true,
|
|
2529
|
+
variants: [
|
|
2530
|
+
{
|
|
2531
|
+
jsonKey: "values[]",
|
|
2532
|
+
tags: [
|
|
2533
|
+
{
|
|
2534
|
+
key: ConfigKey.group_standardTags,
|
|
2535
|
+
description: "Standard tags for the image match pair."
|
|
2536
|
+
},
|
|
2537
|
+
{
|
|
2538
|
+
key: ConfigKey.tag_title,
|
|
2539
|
+
description: "Title of the image match pair.",
|
|
2540
|
+
secondaryJsonKey: "heading.forValues"
|
|
2541
|
+
},
|
|
2542
|
+
{
|
|
2543
|
+
key: ConfigKey.resource_image,
|
|
2544
|
+
description: "Image resource for the match pair."
|
|
2545
|
+
}
|
|
2546
|
+
],
|
|
2547
|
+
repeatCount: Count.infinity
|
|
2548
|
+
}
|
|
2549
|
+
]
|
|
2550
|
+
}
|
|
2307
2551
|
]
|
|
2308
2552
|
},
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2331
|
-
|
|
2332
|
-
|
|
2333
|
-
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2553
|
+
//
|
|
2554
|
+
// match-matrix
|
|
2555
|
+
//
|
|
2556
|
+
[CardSetConfigKey.matchMatrix]: {
|
|
2557
|
+
jsonKey: "matrix",
|
|
2558
|
+
sides: [
|
|
2559
|
+
{
|
|
2560
|
+
name: "key",
|
|
2561
|
+
variants: [
|
|
2562
|
+
{
|
|
2563
|
+
jsonKey: "key",
|
|
2564
|
+
tags: [
|
|
2565
|
+
{
|
|
2566
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2567
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2568
|
+
},
|
|
2569
|
+
{
|
|
2570
|
+
key: ConfigKey.property_example,
|
|
2571
|
+
description: "Example text for the match matrix.",
|
|
2572
|
+
format: TagFormat.plainText
|
|
2573
|
+
},
|
|
2574
|
+
{
|
|
2575
|
+
key: ConfigKey.tag_title,
|
|
2576
|
+
description: "Title of the match matrix.",
|
|
2577
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2578
|
+
},
|
|
2579
|
+
{
|
|
2580
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2581
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2582
|
+
format: TagFormat.boolean
|
|
2583
|
+
}
|
|
2584
|
+
]
|
|
2585
|
+
}
|
|
2586
|
+
]
|
|
2587
|
+
},
|
|
2588
|
+
{
|
|
2589
|
+
name: "cell",
|
|
2590
|
+
repeat: true,
|
|
2591
|
+
variants: [
|
|
2592
|
+
{
|
|
2593
|
+
jsonKey: "cells[{s}].values[]",
|
|
2594
|
+
tags: [
|
|
2595
|
+
{
|
|
2596
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2597
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2598
|
+
},
|
|
2599
|
+
{
|
|
2600
|
+
key: ConfigKey.property_example,
|
|
2601
|
+
description: "Example text for the match matrix.",
|
|
2602
|
+
format: TagFormat.plainText
|
|
2603
|
+
},
|
|
2604
|
+
{
|
|
2605
|
+
key: ConfigKey.tag_title,
|
|
2606
|
+
description: "Title of the match matrix.",
|
|
2607
|
+
secondaryJsonKey: "heading.forValues"
|
|
2608
|
+
},
|
|
2609
|
+
{
|
|
2610
|
+
key: ConfigKey.property_isCaseSensitive,
|
|
2611
|
+
description: "Property to indicate if the match is case sensitive.",
|
|
2612
|
+
format: TagFormat.boolean
|
|
2613
|
+
}
|
|
2614
|
+
],
|
|
2615
|
+
repeatCount: Count.infinity
|
|
2616
|
+
}
|
|
2617
|
+
]
|
|
2618
|
+
}
|
|
2359
2619
|
]
|
|
2360
2620
|
},
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2393
|
-
description: "Standard tags for lead, instruction, and hint."
|
|
2394
|
-
},
|
|
2395
|
-
{
|
|
2396
|
-
key: ConfigKey.property_example,
|
|
2397
|
-
description: "Example text for the question.",
|
|
2398
|
-
format: TagFormat.plainText
|
|
2399
|
-
}
|
|
2400
|
-
],
|
|
2401
|
-
repeatCount: Count.infinity
|
|
2402
|
-
}
|
|
2403
|
-
]
|
|
2621
|
+
//
|
|
2622
|
+
// statements
|
|
2623
|
+
//
|
|
2624
|
+
[CardSetConfigKey.statements]: {
|
|
2625
|
+
jsonKey: "statements",
|
|
2626
|
+
sides: [
|
|
2627
|
+
{
|
|
2628
|
+
name: "statement",
|
|
2629
|
+
variants: [
|
|
2630
|
+
{
|
|
2631
|
+
jsonKey: "statement",
|
|
2632
|
+
tags: [
|
|
2633
|
+
{
|
|
2634
|
+
key: ConfigKey.tag_true,
|
|
2635
|
+
description: "Tag for true statements.",
|
|
2636
|
+
maxCount: 1
|
|
2637
|
+
},
|
|
2638
|
+
{
|
|
2639
|
+
key: ConfigKey.tag_false,
|
|
2640
|
+
description: "Tag for false statements.",
|
|
2641
|
+
maxCount: 1
|
|
2642
|
+
},
|
|
2643
|
+
{
|
|
2644
|
+
key: ConfigKey.group_standardTags,
|
|
2645
|
+
description: "Standard tags for the statement."
|
|
2646
|
+
}
|
|
2647
|
+
],
|
|
2648
|
+
bodyAllowed: false
|
|
2649
|
+
}
|
|
2650
|
+
]
|
|
2651
|
+
}
|
|
2404
2652
|
]
|
|
2405
2653
|
},
|
|
2406
|
-
//
|
|
2407
|
-
//
|
|
2408
|
-
//
|
|
2409
|
-
[CardSetConfigKey.
|
|
2410
|
-
|
|
2411
|
-
|
|
2412
|
-
|
|
2413
|
-
|
|
2414
|
-
|
|
2415
|
-
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
|
|
2427
|
-
|
|
2428
|
-
|
|
2429
|
-
|
|
2430
|
-
|
|
2431
|
-
description: "Property to indicate if the match is case sensitive.",
|
|
2432
|
-
format: TagFormat.boolean
|
|
2433
|
-
}
|
|
2434
|
-
],
|
|
2435
|
-
repeatCount: Count.infinity
|
|
2436
|
-
}
|
|
2437
|
-
]
|
|
2654
|
+
//
|
|
2655
|
+
// quiz
|
|
2656
|
+
//
|
|
2657
|
+
[CardSetConfigKey.quiz]: {
|
|
2658
|
+
jsonKey: "quizzes",
|
|
2659
|
+
sides: [
|
|
2660
|
+
{
|
|
2661
|
+
name: "choices",
|
|
2662
|
+
variants: [
|
|
2663
|
+
{
|
|
2664
|
+
jsonKey: null,
|
|
2665
|
+
tags: [
|
|
2666
|
+
{
|
|
2667
|
+
key: ConfigKey.group_trueFalse,
|
|
2668
|
+
description: "Group for true/false questions."
|
|
2669
|
+
},
|
|
2670
|
+
{
|
|
2671
|
+
key: ConfigKey.group_standardTags,
|
|
2672
|
+
description: "Standard tags for the quiz."
|
|
2673
|
+
}
|
|
2674
|
+
],
|
|
2675
|
+
bodyAllowed: false
|
|
2676
|
+
}
|
|
2677
|
+
]
|
|
2678
|
+
}
|
|
2438
2679
|
]
|
|
2439
2680
|
},
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
|
|
2443
|
-
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2681
|
+
//
|
|
2682
|
+
// feedback
|
|
2683
|
+
//
|
|
2684
|
+
[CardSetConfigKey.feedback]: {
|
|
2685
|
+
jsonKey: "feedbacks",
|
|
2686
|
+
sides: [
|
|
2687
|
+
{
|
|
2688
|
+
name: "choices",
|
|
2689
|
+
variants: [
|
|
2690
|
+
{
|
|
2691
|
+
jsonKey: null,
|
|
2692
|
+
tags: [
|
|
2693
|
+
{
|
|
2694
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2695
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2696
|
+
},
|
|
2697
|
+
{
|
|
2698
|
+
key: ConfigKey.group_trueFalse,
|
|
2699
|
+
description: "Group for true/false feedback."
|
|
2700
|
+
},
|
|
2701
|
+
{
|
|
2702
|
+
key: ConfigKey.tag_title,
|
|
2703
|
+
description: "Title of the feedback.",
|
|
2704
|
+
secondaryJsonKey: "heading.forKeys"
|
|
2705
|
+
}
|
|
2706
|
+
],
|
|
2707
|
+
bodyAllowed: false
|
|
2708
|
+
}
|
|
2709
|
+
]
|
|
2710
|
+
},
|
|
2711
|
+
{
|
|
2712
|
+
name: "reason",
|
|
2713
|
+
variants: [
|
|
2714
|
+
{
|
|
2715
|
+
jsonKey: "reason.text",
|
|
2716
|
+
tags: [
|
|
2717
|
+
{
|
|
2718
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2719
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2720
|
+
},
|
|
2721
|
+
{
|
|
2722
|
+
key: ConfigKey.property_reasonableNumOfChars,
|
|
2723
|
+
description: "Property for reasonable number of characters.",
|
|
2724
|
+
format: TagFormat.number
|
|
2725
|
+
},
|
|
2726
|
+
{
|
|
2727
|
+
key: ConfigKey.property_example,
|
|
2728
|
+
description: "Example text for the feedback.",
|
|
2729
|
+
format: TagFormat.plainText
|
|
2730
|
+
},
|
|
2731
|
+
{
|
|
2732
|
+
key: ConfigKey.tag_title,
|
|
2733
|
+
description: "Title of the feedback.",
|
|
2734
|
+
secondaryJsonKey: "heading.forValues"
|
|
2735
|
+
}
|
|
2736
|
+
],
|
|
2737
|
+
bodyAllowed: true
|
|
2738
|
+
}
|
|
2739
|
+
]
|
|
2740
|
+
}
|
|
2468
2741
|
]
|
|
2469
2742
|
},
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2743
|
+
//
|
|
2744
|
+
// questions
|
|
2745
|
+
//
|
|
2746
|
+
[CardSetConfigKey.questions]: {
|
|
2747
|
+
jsonKey: "questions",
|
|
2748
|
+
sides: [
|
|
2749
|
+
{
|
|
2750
|
+
name: "question",
|
|
2751
|
+
variants: [
|
|
2752
|
+
{
|
|
2753
|
+
jsonKey: "question",
|
|
2754
|
+
tags: [
|
|
2755
|
+
{
|
|
2756
|
+
key: ConfigKey.property_reasonableNumOfChars,
|
|
2757
|
+
description: "Property for reasonable number of characters.",
|
|
2758
|
+
format: TagFormat.number
|
|
2759
|
+
},
|
|
2760
|
+
{
|
|
2761
|
+
key: ConfigKey.tag_sampleSolution,
|
|
2762
|
+
description: "Sample solution for the question."
|
|
2763
|
+
},
|
|
2764
|
+
{
|
|
2765
|
+
key: ConfigKey.property_sampleSolution,
|
|
2766
|
+
description: "Property for sample solution text.",
|
|
2767
|
+
format: TagFormat.plainText
|
|
2768
|
+
},
|
|
2769
|
+
{
|
|
2770
|
+
key: ConfigKey.property_additionalSolutions,
|
|
2771
|
+
description: "Property for additional solutions.",
|
|
2772
|
+
format: TagFormat.plainText,
|
|
2773
|
+
maxCount: Count.infinity
|
|
2774
|
+
},
|
|
2775
|
+
{
|
|
2776
|
+
key: ConfigKey.property_partialAnswer,
|
|
2777
|
+
description: "Property for partial answer text.",
|
|
2778
|
+
format: TagFormat.plainText
|
|
2779
|
+
},
|
|
2780
|
+
{
|
|
2781
|
+
key: ConfigKey.group_standardTags,
|
|
2782
|
+
description: "Standard tags for the question."
|
|
2783
|
+
}
|
|
2784
|
+
]
|
|
2785
|
+
}
|
|
2786
|
+
]
|
|
2787
|
+
}
|
|
2498
2788
|
]
|
|
2499
2789
|
},
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
|
|
2517
|
-
|
|
2518
|
-
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
}
|
|
2528
|
-
]
|
|
2790
|
+
//
|
|
2791
|
+
// elements
|
|
2792
|
+
//
|
|
2793
|
+
[CardSetConfigKey.elements]: {
|
|
2794
|
+
jsonKey: null,
|
|
2795
|
+
sides: [
|
|
2796
|
+
{
|
|
2797
|
+
name: "element",
|
|
2798
|
+
repeat: true,
|
|
2799
|
+
variants: [
|
|
2800
|
+
{
|
|
2801
|
+
jsonKey: "elements[]",
|
|
2802
|
+
tags: [
|
|
2803
|
+
{
|
|
2804
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2805
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2806
|
+
},
|
|
2807
|
+
{
|
|
2808
|
+
key: ConfigKey.property_example,
|
|
2809
|
+
description: "Example text for the element.",
|
|
2810
|
+
format: TagFormat.plainText
|
|
2811
|
+
}
|
|
2812
|
+
],
|
|
2813
|
+
repeatCount: Count.infinity
|
|
2814
|
+
}
|
|
2815
|
+
]
|
|
2816
|
+
}
|
|
2529
2817
|
]
|
|
2530
2818
|
},
|
|
2819
|
+
//
|
|
2820
|
+
// table
|
|
2821
|
+
//
|
|
2531
2822
|
[CardSetConfigKey.table]: {
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2823
|
+
jsonKey: "table.data",
|
|
2824
|
+
itemType: "array",
|
|
2825
|
+
sides: [
|
|
2826
|
+
{
|
|
2827
|
+
name: "cell",
|
|
2828
|
+
repeat: true,
|
|
2829
|
+
variants: [
|
|
2830
|
+
{
|
|
2831
|
+
jsonKey: null,
|
|
2832
|
+
tags: [
|
|
2833
|
+
{
|
|
2834
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2835
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2836
|
+
},
|
|
2837
|
+
{
|
|
2838
|
+
key: ConfigKey.tag_title,
|
|
2839
|
+
description: "Title of the table.",
|
|
2840
|
+
secondaryJsonKey: "table.columns[]"
|
|
2841
|
+
},
|
|
2842
|
+
{
|
|
2843
|
+
key: ConfigKey.property_tableCellType,
|
|
2844
|
+
description: "Table cell type (th/td).",
|
|
2845
|
+
format: TagFormat.plainText
|
|
2846
|
+
},
|
|
2847
|
+
{
|
|
2848
|
+
key: ConfigKey.property_tableRowSpan,
|
|
2849
|
+
description: "Number of rows the cell spans.",
|
|
2850
|
+
format: TagFormat.number
|
|
2851
|
+
},
|
|
2852
|
+
{
|
|
2853
|
+
key: ConfigKey.property_tableColSpan,
|
|
2854
|
+
description: "Number of columns the cell spans.",
|
|
2855
|
+
format: TagFormat.number
|
|
2856
|
+
},
|
|
2857
|
+
{
|
|
2858
|
+
key: ConfigKey.property_tableScope,
|
|
2859
|
+
description: "Scope attribute for header cells.",
|
|
2860
|
+
format: TagFormat.plainText
|
|
2861
|
+
}
|
|
2862
|
+
],
|
|
2863
|
+
repeatCount: Count.infinity
|
|
2864
|
+
}
|
|
2865
|
+
]
|
|
2866
|
+
}
|
|
2867
|
+
]
|
|
2868
|
+
},
|
|
2869
|
+
//
|
|
2870
|
+
// table-extended
|
|
2871
|
+
//
|
|
2872
|
+
[CardSetConfigKey.tableExtended]: {
|
|
2873
|
+
jsonKey: null,
|
|
2874
|
+
sections: {
|
|
2875
|
+
default: { jsonKey: "tableExtended.body.rows" },
|
|
2876
|
+
"table-header": { jsonKey: "tableExtended.header.rows" },
|
|
2877
|
+
"table-footer": { jsonKey: "tableExtended.footer.rows" }
|
|
2878
|
+
},
|
|
2879
|
+
sides: [
|
|
2880
|
+
{
|
|
2881
|
+
name: "cell",
|
|
2882
|
+
repeat: true,
|
|
2883
|
+
variants: [
|
|
2884
|
+
{
|
|
2885
|
+
jsonKey: "content",
|
|
2886
|
+
tags: [
|
|
2887
|
+
{
|
|
2888
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2889
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2890
|
+
},
|
|
2891
|
+
{
|
|
2892
|
+
key: ConfigKey.tag_title,
|
|
2893
|
+
description: "Title of the table cell."
|
|
2894
|
+
},
|
|
2895
|
+
{
|
|
2896
|
+
key: ConfigKey.property_tableCellType,
|
|
2897
|
+
description: "Table cell type (th/td).",
|
|
2898
|
+
format: TagFormat.plainText
|
|
2899
|
+
},
|
|
2900
|
+
{
|
|
2901
|
+
key: ConfigKey.property_tableRowSpan,
|
|
2902
|
+
description: "Number of rows the cell spans.",
|
|
2903
|
+
format: TagFormat.number
|
|
2904
|
+
},
|
|
2905
|
+
{
|
|
2906
|
+
key: ConfigKey.property_tableColSpan,
|
|
2907
|
+
description: "Number of columns the cell spans.",
|
|
2908
|
+
format: TagFormat.number
|
|
2909
|
+
},
|
|
2910
|
+
{
|
|
2911
|
+
key: ConfigKey.property_tableScope,
|
|
2912
|
+
description: "Scope attribute for header cells.",
|
|
2913
|
+
format: TagFormat.plainText
|
|
2914
|
+
}
|
|
2915
|
+
],
|
|
2916
|
+
repeatCount: Count.infinity
|
|
2917
|
+
}
|
|
2918
|
+
]
|
|
2919
|
+
}
|
|
2570
2920
|
]
|
|
2571
2921
|
},
|
|
2922
|
+
//
|
|
2923
|
+
// pronunciation-table
|
|
2924
|
+
//
|
|
2572
2925
|
[CardSetConfigKey.pronunciationTable]: {
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
|
|
2576
|
-
|
|
2577
|
-
|
|
2578
|
-
|
|
2579
|
-
|
|
2580
|
-
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2926
|
+
jsonKey: "pronunciationTable.data",
|
|
2927
|
+
itemType: "array",
|
|
2928
|
+
sides: [
|
|
2929
|
+
{
|
|
2930
|
+
name: "cell",
|
|
2931
|
+
repeat: true,
|
|
2932
|
+
variants: [
|
|
2933
|
+
{
|
|
2934
|
+
jsonKey: "body",
|
|
2935
|
+
tags: [
|
|
2936
|
+
{
|
|
2937
|
+
key: ConfigKey.group_standardItemLeadInstructionHint,
|
|
2938
|
+
description: "Standard tags for lead, instruction, and hint."
|
|
2939
|
+
},
|
|
2940
|
+
{
|
|
2941
|
+
key: ConfigKey.tag_title,
|
|
2942
|
+
description: "Title of the pronunciation table."
|
|
2943
|
+
},
|
|
2944
|
+
{
|
|
2945
|
+
key: ConfigKey.resource_audio,
|
|
2946
|
+
description: "Audio resource for the pronunciation table.",
|
|
2947
|
+
jsonKey: "audio"
|
|
2948
|
+
}
|
|
2949
|
+
],
|
|
2950
|
+
repeatCount: Count.infinity
|
|
2951
|
+
}
|
|
2952
|
+
]
|
|
2953
|
+
}
|
|
2595
2954
|
]
|
|
2596
2955
|
},
|
|
2956
|
+
//
|
|
2957
|
+
// bot-action-responses
|
|
2958
|
+
//
|
|
2597
2959
|
[CardSetConfigKey.botActionResponses]: {
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2960
|
+
jsonKey: "responses",
|
|
2961
|
+
sides: [
|
|
2962
|
+
{
|
|
2963
|
+
name: "response",
|
|
2964
|
+
variants: [
|
|
2965
|
+
{
|
|
2966
|
+
jsonKey: "feedback",
|
|
2967
|
+
tags: [
|
|
2968
|
+
{
|
|
2969
|
+
key: ConfigKey.property_reaction,
|
|
2970
|
+
description: "Reaction to the bot action.",
|
|
2971
|
+
format: TagFormat.plainText
|
|
2972
|
+
},
|
|
2973
|
+
{
|
|
2974
|
+
key: ConfigKey.tag_item,
|
|
2975
|
+
description: "The item for the bot action response.",
|
|
2976
|
+
chain: [
|
|
2977
|
+
{
|
|
2978
|
+
key: ConfigKey.tag_item,
|
|
2979
|
+
description: "The lead, page number, source page number, and margin number.",
|
|
2980
|
+
maxCount: 4
|
|
2981
|
+
}
|
|
2982
|
+
]
|
|
2983
|
+
},
|
|
2984
|
+
{
|
|
2985
|
+
key: ConfigKey.tag_instruction,
|
|
2986
|
+
description: "The response label for the bot action.",
|
|
2987
|
+
jsonKey: "response"
|
|
2988
|
+
},
|
|
2989
|
+
{
|
|
2990
|
+
key: ConfigKey.property_example,
|
|
2991
|
+
description: "Example text for the bot action response.",
|
|
2992
|
+
format: TagFormat.plainText
|
|
2993
|
+
}
|
|
2994
|
+
]
|
|
2995
|
+
}
|
|
2996
|
+
]
|
|
2997
|
+
}
|
|
2619
2998
|
]
|
|
2620
2999
|
},
|
|
3000
|
+
//
|
|
3001
|
+
// cloze-list
|
|
3002
|
+
//
|
|
2621
3003
|
[CardSetConfigKey.clozeList]: {
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
3004
|
+
jsonKey: "listItems",
|
|
3005
|
+
sides: [
|
|
3006
|
+
{
|
|
3007
|
+
name: "content",
|
|
3008
|
+
variants: [
|
|
3009
|
+
{
|
|
3010
|
+
jsonKey: "body",
|
|
3011
|
+
tags: [
|
|
3012
|
+
{
|
|
3013
|
+
key: ConfigKey.group_standardTags,
|
|
3014
|
+
description: "Standard tags for cloze items."
|
|
3015
|
+
},
|
|
3016
|
+
{
|
|
3017
|
+
key: ConfigKey.group_gap,
|
|
3018
|
+
description: "Group for gap tags in cloze items."
|
|
3019
|
+
}
|
|
3020
|
+
]
|
|
3021
|
+
}
|
|
3022
|
+
]
|
|
3023
|
+
}
|
|
2637
3024
|
]
|
|
2638
3025
|
},
|
|
3026
|
+
//
|
|
3027
|
+
// example-bit-list
|
|
3028
|
+
//
|
|
2639
3029
|
[CardSetConfigKey.exampleBitList]: {
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
|
|
2651
|
-
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
|
|
2655
|
-
|
|
3030
|
+
jsonKey: "listItems",
|
|
3031
|
+
sides: [
|
|
3032
|
+
{
|
|
3033
|
+
name: "item",
|
|
3034
|
+
variants: [
|
|
3035
|
+
{
|
|
3036
|
+
jsonKey: "body",
|
|
3037
|
+
tags: [
|
|
3038
|
+
{
|
|
3039
|
+
key: ConfigKey.group_standardTags,
|
|
3040
|
+
description: "Standard tags for example bits."
|
|
3041
|
+
},
|
|
3042
|
+
{
|
|
3043
|
+
key: ConfigKey.tag_title,
|
|
3044
|
+
description: "Title of the example bit."
|
|
3045
|
+
}
|
|
3046
|
+
]
|
|
3047
|
+
}
|
|
3048
|
+
]
|
|
3049
|
+
}
|
|
2656
3050
|
]
|
|
2657
3051
|
},
|
|
3052
|
+
//
|
|
3053
|
+
// ingredients
|
|
3054
|
+
//
|
|
2658
3055
|
[CardSetConfigKey.ingredients]: {
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
|
|
2663
|
-
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
|
|
2676
|
-
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2691
|
-
|
|
2692
|
-
|
|
2693
|
-
|
|
2694
|
-
|
|
2695
|
-
|
|
2696
|
-
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
|
|
3056
|
+
jsonKey: "ingredients",
|
|
3057
|
+
sides: [
|
|
3058
|
+
{
|
|
3059
|
+
name: "ingredient",
|
|
3060
|
+
variants: [
|
|
3061
|
+
{
|
|
3062
|
+
jsonKey: "ingredient",
|
|
3063
|
+
tags: [
|
|
3064
|
+
{
|
|
3065
|
+
key: ConfigKey.tag_title,
|
|
3066
|
+
description: "Title of the ingredient."
|
|
3067
|
+
},
|
|
3068
|
+
{
|
|
3069
|
+
key: ConfigKey.group_trueFalse,
|
|
3070
|
+
description: "Group for true/false properties of the ingredient."
|
|
3071
|
+
},
|
|
3072
|
+
{
|
|
3073
|
+
key: ConfigKey.tag_item,
|
|
3074
|
+
description: "The item for the ingredient.",
|
|
3075
|
+
chain: [
|
|
3076
|
+
{
|
|
3077
|
+
key: ConfigKey.tag_item,
|
|
3078
|
+
description: "Lead, page number, source page number, and margin number.",
|
|
3079
|
+
maxCount: 4
|
|
3080
|
+
}
|
|
3081
|
+
]
|
|
3082
|
+
},
|
|
3083
|
+
{
|
|
3084
|
+
key: ConfigKey.tag_instruction,
|
|
3085
|
+
description: "The quantity of the ingredient.",
|
|
3086
|
+
jsonKey: "quantity"
|
|
3087
|
+
},
|
|
3088
|
+
{
|
|
3089
|
+
key: ConfigKey.tag_hint,
|
|
3090
|
+
description: "The hint for the ingredient."
|
|
3091
|
+
},
|
|
3092
|
+
{
|
|
3093
|
+
key: ConfigKey.property_unit,
|
|
3094
|
+
description: "Unit of measurement for the ingredient.",
|
|
3095
|
+
format: TagFormat.plainText
|
|
3096
|
+
},
|
|
3097
|
+
{
|
|
3098
|
+
key: ConfigKey.property_unitAbbr,
|
|
3099
|
+
description: "Abbreviation for the unit of measurement.",
|
|
3100
|
+
format: TagFormat.plainText
|
|
3101
|
+
},
|
|
3102
|
+
{
|
|
3103
|
+
key: ConfigKey.property_decimalPlaces,
|
|
3104
|
+
description: "Number of decimal places for the ingredient quantity.",
|
|
3105
|
+
format: TagFormat.number,
|
|
3106
|
+
defaultValue: "1"
|
|
3107
|
+
},
|
|
3108
|
+
{
|
|
3109
|
+
key: ConfigKey.property_disableCalculation,
|
|
3110
|
+
description: "Disable calculation for the ingredient.",
|
|
3111
|
+
format: TagFormat.boolean
|
|
3112
|
+
}
|
|
3113
|
+
]
|
|
3114
|
+
}
|
|
3115
|
+
]
|
|
3116
|
+
}
|
|
2700
3117
|
]
|
|
2701
3118
|
},
|
|
2702
|
-
//
|
|
2703
|
-
//
|
|
2704
|
-
//
|
|
2705
|
-
// // Side 1
|
|
2706
|
-
// [
|
|
2707
|
-
// // Variant 1..N
|
|
2708
|
-
// {
|
|
2709
|
-
// tags: [
|
|
2710
|
-
// {
|
|
2711
|
-
// type: BitTagType.tag,
|
|
2712
|
-
// configKey: TagConfigKey.title,
|
|
2713
|
-
// },
|
|
2714
|
-
// ],
|
|
2715
|
-
// repeatCount: Count.infinity,
|
|
2716
|
-
// },
|
|
2717
|
-
// ],
|
|
2718
|
-
// ],
|
|
2719
|
-
// },
|
|
3119
|
+
//
|
|
3120
|
+
// book-reference-list
|
|
3121
|
+
//
|
|
2720
3122
|
[CardSetConfigKey.bookReferenceList]: {
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
3123
|
+
jsonKey: "bookReferences",
|
|
3124
|
+
sides: [
|
|
3125
|
+
{
|
|
3126
|
+
name: "reference",
|
|
3127
|
+
variants: [
|
|
3128
|
+
{
|
|
3129
|
+
jsonKey: null,
|
|
3130
|
+
tags: [
|
|
3131
|
+
{
|
|
3132
|
+
key: ConfigKey.group_standardTags,
|
|
3133
|
+
description: "Standard tags for book references."
|
|
3134
|
+
},
|
|
3135
|
+
{
|
|
3136
|
+
key: ConfigKey.property_refAuthor,
|
|
3137
|
+
description: "Author of the book.",
|
|
3138
|
+
format: TagFormat.plainText,
|
|
3139
|
+
maxCount: Count.infinity
|
|
3140
|
+
},
|
|
3141
|
+
{
|
|
3142
|
+
key: ConfigKey.property_refBookTitle,
|
|
3143
|
+
description: "Title of the book.",
|
|
3144
|
+
format: TagFormat.plainText
|
|
3145
|
+
},
|
|
3146
|
+
{
|
|
3147
|
+
key: ConfigKey.property_refPublisher,
|
|
3148
|
+
description: "Publisher of the book.",
|
|
3149
|
+
format: TagFormat.plainText,
|
|
3150
|
+
maxCount: Count.infinity
|
|
3151
|
+
},
|
|
3152
|
+
{
|
|
3153
|
+
key: ConfigKey.property_refPublicationYear,
|
|
3154
|
+
description: "Year of publication of the book.",
|
|
3155
|
+
format: TagFormat.plainText
|
|
3156
|
+
},
|
|
3157
|
+
{
|
|
3158
|
+
key: ConfigKey.property_citationStyle,
|
|
3159
|
+
description: "Citation style for the book reference.",
|
|
3160
|
+
format: TagFormat.plainText
|
|
3161
|
+
}
|
|
3162
|
+
]
|
|
3163
|
+
}
|
|
3164
|
+
]
|
|
3165
|
+
}
|
|
2762
3166
|
]
|
|
2763
3167
|
}
|
|
2764
3168
|
};
|
|
@@ -4424,20 +4828,34 @@ var ConfigHydrator = class {
|
|
|
4424
4828
|
if (!_cardSet) return void 0;
|
|
4425
4829
|
const _cardSetConfig = CARDSETS[_cardSet];
|
|
4426
4830
|
if (!_cardSetConfig) throw new Error(`No config found for card set config key '${_cardSet}'`);
|
|
4427
|
-
const
|
|
4428
|
-
for (const
|
|
4831
|
+
const sides = [];
|
|
4832
|
+
for (const _side of _cardSetConfig.sides) {
|
|
4429
4833
|
const variantsOfSide = [];
|
|
4430
|
-
for (const _variant of
|
|
4834
|
+
for (const _variant of _side.variants) {
|
|
4431
4835
|
const v = this.hydrateCardVariantConfig(_variant);
|
|
4432
4836
|
variantsOfSide.push(v);
|
|
4433
4837
|
}
|
|
4434
|
-
|
|
4838
|
+
const sideConfig = new CardSideConfig(_side.name, _side.repeat ?? false, variantsOfSide);
|
|
4839
|
+
sides.push(sideConfig);
|
|
4435
4840
|
}
|
|
4436
|
-
const cardSetConfig = new CardSetConfig(
|
|
4841
|
+
const cardSetConfig = new CardSetConfig(
|
|
4842
|
+
_cardSet,
|
|
4843
|
+
_cardSetConfig.jsonKey,
|
|
4844
|
+
_cardSetConfig.itemType ?? "object",
|
|
4845
|
+
_cardSetConfig.sections,
|
|
4846
|
+
sides
|
|
4847
|
+
);
|
|
4437
4848
|
return cardSetConfig;
|
|
4438
4849
|
}
|
|
4439
4850
|
hydrateTagConfig(_tag) {
|
|
4440
|
-
const {
|
|
4851
|
+
const {
|
|
4852
|
+
key: _configKey,
|
|
4853
|
+
maxCount,
|
|
4854
|
+
minCount,
|
|
4855
|
+
chain: _chain,
|
|
4856
|
+
secondaryJsonKey,
|
|
4857
|
+
deprecated
|
|
4858
|
+
} = _tag;
|
|
4441
4859
|
const configKey = (0, import_superenum15.Enum)(ConfigKey).fromValue(_configKey) || ConfigKey._unknown;
|
|
4442
4860
|
if (!configKey) throw new Error(`No tag key found for config key '${configKey}'`);
|
|
4443
4861
|
const tag = (0, import_superenum15.Enum)(Tag).fromValue(configKey);
|
|
@@ -4452,6 +4870,7 @@ var ConfigHydrator = class {
|
|
|
4452
4870
|
maxCount: maxCount ?? MAX_COUNT_DEFAULT,
|
|
4453
4871
|
minCount: minCount ?? MIN_COUNT_DEFAULT,
|
|
4454
4872
|
chain,
|
|
4873
|
+
secondaryJsonKey,
|
|
4455
4874
|
deprecated
|
|
4456
4875
|
});
|
|
4457
4876
|
return {
|
|
@@ -4470,7 +4889,8 @@ var ConfigHydrator = class {
|
|
|
4470
4889
|
format,
|
|
4471
4890
|
values,
|
|
4472
4891
|
defaultValue,
|
|
4473
|
-
jsonKey
|
|
4892
|
+
jsonKey,
|
|
4893
|
+
secondaryJsonKey
|
|
4474
4894
|
} = _tag;
|
|
4475
4895
|
const configKey = (0, import_superenum15.Enum)(ConfigKey).fromValue(_configKey) || ConfigKey._unknown;
|
|
4476
4896
|
if (!configKey) throw new Error(`No property key found for config key '${configKey}'`);
|
|
@@ -4486,6 +4906,7 @@ var ConfigHydrator = class {
|
|
|
4486
4906
|
minCount: minCount ?? MIN_COUNT_DEFAULT,
|
|
4487
4907
|
chain,
|
|
4488
4908
|
jsonKey,
|
|
4909
|
+
secondaryJsonKey,
|
|
4489
4910
|
format,
|
|
4490
4911
|
values,
|
|
4491
4912
|
defaultValue,
|
|
@@ -4498,7 +4919,15 @@ var ConfigHydrator = class {
|
|
|
4498
4919
|
};
|
|
4499
4920
|
}
|
|
4500
4921
|
hydrateResourceTagConfig(_tag) {
|
|
4501
|
-
const {
|
|
4922
|
+
const {
|
|
4923
|
+
key: _configKey,
|
|
4924
|
+
maxCount,
|
|
4925
|
+
minCount,
|
|
4926
|
+
chain: _chain,
|
|
4927
|
+
deprecated,
|
|
4928
|
+
jsonKey,
|
|
4929
|
+
secondaryJsonKey
|
|
4930
|
+
} = _tag;
|
|
4502
4931
|
const configKey = (0, import_superenum15.Enum)(ConfigKey).fromValue(_configKey) || ConfigKey._unknown;
|
|
4503
4932
|
if (!configKey) throw new Error(`No resource key found for config key '${configKey}'`);
|
|
4504
4933
|
const tag = _configKey.substring(1);
|
|
@@ -4513,6 +4942,7 @@ var ConfigHydrator = class {
|
|
|
4513
4942
|
minCount: minCount ?? MIN_COUNT_DEFAULT,
|
|
4514
4943
|
chain,
|
|
4515
4944
|
jsonKey,
|
|
4945
|
+
secondaryJsonKey,
|
|
4516
4946
|
deprecated
|
|
4517
4947
|
});
|
|
4518
4948
|
return {
|
|
@@ -4544,9 +4974,15 @@ var ConfigHydrator = class {
|
|
|
4544
4974
|
};
|
|
4545
4975
|
}
|
|
4546
4976
|
hydrateCardVariantConfig(_variant) {
|
|
4547
|
-
const { tags: _tags, bodyAllowed, bodyRequired, repeatCount } = _variant;
|
|
4977
|
+
const { tags: _tags, bodyAllowed, bodyRequired, repeatCount, jsonKey } = _variant;
|
|
4548
4978
|
const tags2 = this.hydrateTagsConfig(_tags);
|
|
4549
|
-
const cardSetConfig = new CardVariantConfig(
|
|
4979
|
+
const cardSetConfig = new CardVariantConfig(
|
|
4980
|
+
tags2.tags,
|
|
4981
|
+
bodyAllowed,
|
|
4982
|
+
bodyRequired,
|
|
4983
|
+
repeatCount,
|
|
4984
|
+
jsonKey
|
|
4985
|
+
);
|
|
4550
4986
|
return cardSetConfig;
|
|
4551
4987
|
}
|
|
4552
4988
|
};
|
|
@@ -7312,6 +7748,12 @@ var BITS = {
|
|
|
7312
7748
|
description: "Extractor configuration bit, used to configure extractors in articles or books",
|
|
7313
7749
|
textFormatDefault: TextFormat.plainText
|
|
7314
7750
|
},
|
|
7751
|
+
[BitType.extractorBlueprintConfiguration]: {
|
|
7752
|
+
since: "5.11.0",
|
|
7753
|
+
baseBitType: BitType._standard,
|
|
7754
|
+
description: "Extractor blueprint configuration bit, used to specify extractor blueprint configuration when extracting from blueprints",
|
|
7755
|
+
textFormatDefault: TextFormat.plainText
|
|
7756
|
+
},
|
|
7315
7757
|
[BitType.extractorImage]: {
|
|
7316
7758
|
since: "4.3.0",
|
|
7317
7759
|
baseBitType: BitType._standard,
|
|
@@ -7337,6 +7779,12 @@ var BITS = {
|
|
|
7337
7779
|
baseBitType: BitType.extractorImage,
|
|
7338
7780
|
description: "Collapsible extractor images bit, used for images extracted from PDFs"
|
|
7339
7781
|
},
|
|
7782
|
+
[BitType.extractorBlueprint]: {
|
|
7783
|
+
since: "5.12.0",
|
|
7784
|
+
baseBitType: BitType._standard,
|
|
7785
|
+
description: "Extractor blueprint bit, used to provide blueprint information about extractors",
|
|
7786
|
+
textFormatDefault: TextFormat.json
|
|
7787
|
+
},
|
|
7340
7788
|
[BitType.extractorInformation]: {
|
|
7341
7789
|
since: "3.8.0",
|
|
7342
7790
|
baseBitType: BitType._standard,
|
|
@@ -7539,6 +7987,11 @@ var BITS = {
|
|
|
7539
7987
|
baseBitType: BitType.pageOpenBook,
|
|
7540
7988
|
description: "Open book chapter bit, derived from page-open-book, used to create chapter pages that open books"
|
|
7541
7989
|
},
|
|
7990
|
+
[BitType.openBookChapterTeaser]: {
|
|
7991
|
+
since: "4.16.0",
|
|
7992
|
+
baseBitType: BitType.openBookChapter,
|
|
7993
|
+
description: "Open book chapter teaser bit, equal to open-book-chapter, used to create teaser chapter pages that open books"
|
|
7994
|
+
},
|
|
7542
7995
|
[BitType.pageOpenBookList]: {
|
|
7543
7996
|
since: "2.1.0",
|
|
7544
7997
|
baseBitType: BitType.article,
|
|
@@ -10359,6 +10812,7 @@ var Config = class {
|
|
|
10359
10812
|
maxCount: 1,
|
|
10360
10813
|
chain: tag.chain,
|
|
10361
10814
|
jsonKey: tag.jsonKey,
|
|
10815
|
+
secondaryJsonKey: tag.secondaryJsonKey,
|
|
10362
10816
|
deprecated: tag.deprecated
|
|
10363
10817
|
});
|
|
10364
10818
|
finalResourceTags[k] = newTag;
|
|
@@ -10463,7 +10917,7 @@ var instance2 = new Config();
|
|
|
10463
10917
|
// src/generated/package_info.ts
|
|
10464
10918
|
var PACKAGE_INFO = {
|
|
10465
10919
|
"name": "@gmb/bitmark-parser-generator",
|
|
10466
|
-
"version": "5.
|
|
10920
|
+
"version": "5.12.0",
|
|
10467
10921
|
"author": "Get More Brain Ltd",
|
|
10468
10922
|
"license": "ISC",
|
|
10469
10923
|
"description": "A bitmark parser and generator using Peggy.js"
|
|
@@ -34474,6 +34928,7 @@ function propertyContentProcessor(context, contentDepth, tagsConfig, content, ta
|
|
|
34474
34928
|
minCount: 1,
|
|
34475
34929
|
chain: void 0,
|
|
34476
34930
|
jsonKey: void 0,
|
|
34931
|
+
secondaryJsonKey: void 0,
|
|
34477
34932
|
format: TagFormat.bitmarkText,
|
|
34478
34933
|
values: void 0,
|
|
34479
34934
|
defaultValue: void 0,
|
|
@@ -39327,7 +39782,7 @@ var ConfigBuilder = class {
|
|
|
39327
39782
|
const processTagEntries = (tag, tagNameChain) => {
|
|
39328
39783
|
const tags2 = [];
|
|
39329
39784
|
let tagName = tag.key;
|
|
39330
|
-
const jsonKey = keyToJsonKey(tagName, tagNameChain);
|
|
39785
|
+
const jsonKey = tag.jsonKey ?? keyToJsonKey(tagName, tagNameChain);
|
|
39331
39786
|
const tagType = typeFromConfigKey(tag.key);
|
|
39332
39787
|
let format = "";
|
|
39333
39788
|
let chain = void 0;
|
|
@@ -39356,7 +39811,8 @@ var ConfigBuilder = class {
|
|
|
39356
39811
|
for (const groupKey of resolvedGroups) {
|
|
39357
39812
|
tags2.push({
|
|
39358
39813
|
type: "group",
|
|
39359
|
-
key: groupKey
|
|
39814
|
+
key: groupKey,
|
|
39815
|
+
...tag.jsonKey ? { jsonKey: tag.jsonKey } : {}
|
|
39360
39816
|
});
|
|
39361
39817
|
}
|
|
39362
39818
|
return tags2;
|
|
@@ -39372,6 +39828,7 @@ var ConfigBuilder = class {
|
|
|
39372
39828
|
type: "tag",
|
|
39373
39829
|
key: tagName,
|
|
39374
39830
|
jsonKey,
|
|
39831
|
+
...tag.secondaryJsonKey ? { secondaryJsonKey: tag.secondaryJsonKey } : {},
|
|
39375
39832
|
format,
|
|
39376
39833
|
default: null,
|
|
39377
39834
|
alwaysInclude: false,
|
|
@@ -39390,8 +39847,8 @@ var ConfigBuilder = class {
|
|
|
39390
39847
|
const cardSetConfig = CARDSETS[cardSetKey];
|
|
39391
39848
|
if (!cardSetConfig) return void 0;
|
|
39392
39849
|
const normalizedKey = normalizeCardKey(cardSetKey);
|
|
39393
|
-
const sides = cardSetConfig.
|
|
39394
|
-
const variants =
|
|
39850
|
+
const sides = cardSetConfig.sides.map((side) => {
|
|
39851
|
+
const variants = side.variants.map((variant) => {
|
|
39395
39852
|
const variantTags = [];
|
|
39396
39853
|
const variantTagEntries = Object.entries(variant.tags ?? []).sort((a, b) => {
|
|
39397
39854
|
const tagA = a[1];
|
|
@@ -39405,16 +39862,24 @@ var ConfigBuilder = class {
|
|
|
39405
39862
|
variantTags.push(...processTagEntries(variantTag, []));
|
|
39406
39863
|
}
|
|
39407
39864
|
return {
|
|
39865
|
+
...variant.jsonKey !== void 0 ? { jsonKey: variant.jsonKey } : {},
|
|
39408
39866
|
tags: variantTags,
|
|
39409
39867
|
repeatCount: variant.repeatCount ?? 1,
|
|
39410
39868
|
bodyAllowed: variant.bodyAllowed ?? true,
|
|
39411
39869
|
bodyRequired: variant.bodyRequired ?? false
|
|
39412
39870
|
};
|
|
39413
39871
|
});
|
|
39414
|
-
return {
|
|
39872
|
+
return {
|
|
39873
|
+
name: side.name,
|
|
39874
|
+
...side.repeat ? { repeat: side.repeat } : {},
|
|
39875
|
+
variants
|
|
39876
|
+
};
|
|
39415
39877
|
});
|
|
39416
39878
|
return {
|
|
39417
39879
|
key: normalizedKey,
|
|
39880
|
+
jsonKey: cardSetConfig.jsonKey,
|
|
39881
|
+
...cardSetConfig.itemType && cardSetConfig.itemType !== "object" ? { itemType: cardSetConfig.itemType } : {},
|
|
39882
|
+
...cardSetConfig.sections ? { sections: cardSetConfig.sections } : {},
|
|
39418
39883
|
sides
|
|
39419
39884
|
};
|
|
39420
39885
|
};
|