pro-editor-schema 1.2.0 → 1.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.d.mts +8 -32
- package/dist/index.d.ts +8 -32
- package/dist/index.js +32 -24
- package/dist/index.mjs +32 -24
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -86,21 +86,9 @@ declare const SCHEMAS: {
|
|
|
86
86
|
email: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
87
87
|
org: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
88
88
|
degrees: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
89
|
-
dialogue: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date",
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
readonly defaultValue: "add-element";
|
|
93
|
-
}]>;
|
|
94
|
-
line: Schema<readonly ["store", "ele-id"], readonly [{
|
|
95
|
-
readonly name: "role";
|
|
96
|
-
readonly values: readonly ["add-element"];
|
|
97
|
-
readonly defaultValue: "add-element";
|
|
98
|
-
}]>;
|
|
99
|
-
speaker: Schema<readonly ["store", "ele-id"], readonly [{
|
|
100
|
-
readonly name: "role";
|
|
101
|
-
readonly values: readonly ["add-element"];
|
|
102
|
-
readonly defaultValue: "add-element";
|
|
103
|
-
}]>;
|
|
89
|
+
dialogue: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role", "trackmsg"]>;
|
|
90
|
+
line: Schema<readonly ["store", "ele-id"], readonly ["role"]>;
|
|
91
|
+
speaker: Schema<readonly ["store", "ele-id"], readonly ["role"]>;
|
|
104
92
|
equation: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", {
|
|
105
93
|
readonly name: "eqn-data";
|
|
106
94
|
readonly values: readonly ["new", "updated"];
|
|
@@ -251,7 +239,7 @@ declare const SCHEMAS: {
|
|
|
251
239
|
readonly values: readonly ["add-element", "change-element"];
|
|
252
240
|
readonly defaultValue: "add-element";
|
|
253
241
|
}]>;
|
|
254
|
-
poem: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role"]>;
|
|
242
|
+
poem: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role", "trackmsg"]>;
|
|
255
243
|
blockquote: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "xmlid", "data-tagname", "element-change-description", {
|
|
256
244
|
readonly name: "role";
|
|
257
245
|
readonly values: readonly ["add-element", "extract_group", "change-element"];
|
|
@@ -441,21 +429,9 @@ declare const ELEMENT_SCHEMAS: {
|
|
|
441
429
|
email: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
442
430
|
org: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
443
431
|
degrees: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
444
|
-
dialogue: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date",
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
readonly defaultValue: "add-element";
|
|
448
|
-
}]>;
|
|
449
|
-
line: Schema<readonly ["store", "ele-id"], readonly [{
|
|
450
|
-
readonly name: "role";
|
|
451
|
-
readonly values: readonly ["add-element"];
|
|
452
|
-
readonly defaultValue: "add-element";
|
|
453
|
-
}]>;
|
|
454
|
-
speaker: Schema<readonly ["store", "ele-id"], readonly [{
|
|
455
|
-
readonly name: "role";
|
|
456
|
-
readonly values: readonly ["add-element"];
|
|
457
|
-
readonly defaultValue: "add-element";
|
|
458
|
-
}]>;
|
|
432
|
+
dialogue: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role", "trackmsg"]>;
|
|
433
|
+
line: Schema<readonly ["store", "ele-id"], readonly ["role"]>;
|
|
434
|
+
speaker: Schema<readonly ["store", "ele-id"], readonly ["role"]>;
|
|
459
435
|
equation: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", {
|
|
460
436
|
readonly name: "eqn-data";
|
|
461
437
|
readonly values: readonly ["new", "updated"];
|
|
@@ -606,7 +582,7 @@ declare const ELEMENT_SCHEMAS: {
|
|
|
606
582
|
readonly values: readonly ["add-element", "change-element"];
|
|
607
583
|
readonly defaultValue: "add-element";
|
|
608
584
|
}]>;
|
|
609
|
-
poem: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role"]>;
|
|
585
|
+
poem: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role", "trackmsg"]>;
|
|
610
586
|
blockquote: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "xmlid", "data-tagname", "element-change-description", {
|
|
611
587
|
readonly name: "role";
|
|
612
588
|
readonly values: readonly ["add-element", "extract_group", "change-element"];
|
package/dist/index.d.ts
CHANGED
|
@@ -86,21 +86,9 @@ declare const SCHEMAS: {
|
|
|
86
86
|
email: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
87
87
|
org: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
88
88
|
degrees: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
89
|
-
dialogue: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date",
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
readonly defaultValue: "add-element";
|
|
93
|
-
}]>;
|
|
94
|
-
line: Schema<readonly ["store", "ele-id"], readonly [{
|
|
95
|
-
readonly name: "role";
|
|
96
|
-
readonly values: readonly ["add-element"];
|
|
97
|
-
readonly defaultValue: "add-element";
|
|
98
|
-
}]>;
|
|
99
|
-
speaker: Schema<readonly ["store", "ele-id"], readonly [{
|
|
100
|
-
readonly name: "role";
|
|
101
|
-
readonly values: readonly ["add-element"];
|
|
102
|
-
readonly defaultValue: "add-element";
|
|
103
|
-
}]>;
|
|
89
|
+
dialogue: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role", "trackmsg"]>;
|
|
90
|
+
line: Schema<readonly ["store", "ele-id"], readonly ["role"]>;
|
|
91
|
+
speaker: Schema<readonly ["store", "ele-id"], readonly ["role"]>;
|
|
104
92
|
equation: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", {
|
|
105
93
|
readonly name: "eqn-data";
|
|
106
94
|
readonly values: readonly ["new", "updated"];
|
|
@@ -251,7 +239,7 @@ declare const SCHEMAS: {
|
|
|
251
239
|
readonly values: readonly ["add-element", "change-element"];
|
|
252
240
|
readonly defaultValue: "add-element";
|
|
253
241
|
}]>;
|
|
254
|
-
poem: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role"]>;
|
|
242
|
+
poem: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role", "trackmsg"]>;
|
|
255
243
|
blockquote: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "xmlid", "data-tagname", "element-change-description", {
|
|
256
244
|
readonly name: "role";
|
|
257
245
|
readonly values: readonly ["add-element", "extract_group", "change-element"];
|
|
@@ -441,21 +429,9 @@ declare const ELEMENT_SCHEMAS: {
|
|
|
441
429
|
email: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
442
430
|
org: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
443
431
|
degrees: Schema<readonly ["store", "ele-id"], readonly []>;
|
|
444
|
-
dialogue: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date",
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
readonly defaultValue: "add-element";
|
|
448
|
-
}]>;
|
|
449
|
-
line: Schema<readonly ["store", "ele-id"], readonly [{
|
|
450
|
-
readonly name: "role";
|
|
451
|
-
readonly values: readonly ["add-element"];
|
|
452
|
-
readonly defaultValue: "add-element";
|
|
453
|
-
}]>;
|
|
454
|
-
speaker: Schema<readonly ["store", "ele-id"], readonly [{
|
|
455
|
-
readonly name: "role";
|
|
456
|
-
readonly values: readonly ["add-element"];
|
|
457
|
-
readonly defaultValue: "add-element";
|
|
458
|
-
}]>;
|
|
432
|
+
dialogue: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role", "trackmsg"]>;
|
|
433
|
+
line: Schema<readonly ["store", "ele-id"], readonly ["role"]>;
|
|
434
|
+
speaker: Schema<readonly ["store", "ele-id"], readonly ["role"]>;
|
|
459
435
|
equation: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", {
|
|
460
436
|
readonly name: "eqn-data";
|
|
461
437
|
readonly values: readonly ["new", "updated"];
|
|
@@ -606,7 +582,7 @@ declare const ELEMENT_SCHEMAS: {
|
|
|
606
582
|
readonly values: readonly ["add-element", "change-element"];
|
|
607
583
|
readonly defaultValue: "add-element";
|
|
608
584
|
}]>;
|
|
609
|
-
poem: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role"]>;
|
|
585
|
+
poem: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "role", "trackmsg"]>;
|
|
610
586
|
blockquote: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "xmlid", "data-tagname", "element-change-description", {
|
|
611
587
|
readonly name: "role";
|
|
612
588
|
readonly values: readonly ["add-element", "extract_group", "change-element"];
|
package/dist/index.js
CHANGED
|
@@ -839,13 +839,7 @@ var LINE_SCHEMA = createSchema({
|
|
|
839
839
|
kind: "element",
|
|
840
840
|
tag: LINE_TAG,
|
|
841
841
|
requiredAttributes: [...ID_ATTRS],
|
|
842
|
-
optionalAttributes: [
|
|
843
|
-
{
|
|
844
|
-
name: "role",
|
|
845
|
-
values: ["add-element"],
|
|
846
|
-
defaultValue: "add-element"
|
|
847
|
-
}
|
|
848
|
-
],
|
|
842
|
+
optionalAttributes: ["role"],
|
|
849
843
|
allowedChildrenCodes: [
|
|
850
844
|
...ATOM_CODES_ALLOWED_CHILDREN,
|
|
851
845
|
...INLINE_ELEMENT_CODES_ALLOWED_CHILDREN
|
|
@@ -858,13 +852,7 @@ var SPEAKER_SCHEMA = createSchema({
|
|
|
858
852
|
kind: "element",
|
|
859
853
|
tag: SPEAKER_TAG,
|
|
860
854
|
requiredAttributes: [...ID_ATTRS],
|
|
861
|
-
optionalAttributes: [
|
|
862
|
-
{
|
|
863
|
-
name: "role",
|
|
864
|
-
values: ["add-element"],
|
|
865
|
-
defaultValue: "add-element"
|
|
866
|
-
}
|
|
867
|
-
],
|
|
855
|
+
optionalAttributes: ["role"],
|
|
868
856
|
allowedChildrenCodes: [...ATOM_CODES_ALLOWED_CHILDREN]
|
|
869
857
|
});
|
|
870
858
|
|
|
@@ -874,16 +862,10 @@ var DIALOGUE_SCHEMA = createSchema({
|
|
|
874
862
|
kind: "element",
|
|
875
863
|
tag: DIALOGUE_TAG,
|
|
876
864
|
requiredAttributes: [...ID_ATTRS],
|
|
877
|
-
optionalAttributes: [
|
|
878
|
-
|
|
879
|
-
{
|
|
880
|
-
name: "role",
|
|
881
|
-
values: ["add-element"],
|
|
882
|
-
defaultValue: "add-element"
|
|
883
|
-
}
|
|
884
|
-
],
|
|
865
|
+
optionalAttributes: [...TRACK_CHANGES_ATTRS, "role", "trackmsg"],
|
|
866
|
+
defaultChildCode: "line",
|
|
885
867
|
allowedChildrenCodes: [
|
|
886
|
-
{ code: "line", required:
|
|
868
|
+
{ code: "line", required: true },
|
|
887
869
|
{ code: "speaker", required: true }
|
|
888
870
|
]
|
|
889
871
|
});
|
|
@@ -2098,7 +2080,7 @@ var POEM_SCHEMA = createSchema({
|
|
|
2098
2080
|
kind: "element",
|
|
2099
2081
|
tag: POEM_TAG,
|
|
2100
2082
|
requiredAttributes: [...ID_ATTRS],
|
|
2101
|
-
optionalAttributes: [...TRACK_CHANGES_ATTRS, "role"],
|
|
2083
|
+
optionalAttributes: [...TRACK_CHANGES_ATTRS, "role", "trackmsg"],
|
|
2102
2084
|
defaultChildCode: "line",
|
|
2103
2085
|
allowedChildrenCodes: [
|
|
2104
2086
|
{ code: "line", required: true },
|
|
@@ -3126,6 +3108,29 @@ var validateHeadingHierarchy = (element) => {
|
|
|
3126
3108
|
return errors;
|
|
3127
3109
|
};
|
|
3128
3110
|
|
|
3111
|
+
// src/validation/validateOlink.ts
|
|
3112
|
+
var ORCID_PATTERN = /^\d{4}-\d{4}-\d{4}-\d{4}$/;
|
|
3113
|
+
var validateOlink = (element) => {
|
|
3114
|
+
const errors = [];
|
|
3115
|
+
if (isDeletedElement(element)) {
|
|
3116
|
+
return errors;
|
|
3117
|
+
}
|
|
3118
|
+
const text = retrieveTextIgnoringNodesWithSelector(element);
|
|
3119
|
+
const isEmpty = text.length === 0;
|
|
3120
|
+
const isValidOrcid = ORCID_PATTERN.test(text);
|
|
3121
|
+
if (isEmpty || isValidOrcid) {
|
|
3122
|
+
return errors;
|
|
3123
|
+
}
|
|
3124
|
+
addValidationIssue(errors, {
|
|
3125
|
+
store: getStore(element.parentElement ?? element),
|
|
3126
|
+
title: "Invalid ORCID",
|
|
3127
|
+
kind: "forbidden",
|
|
3128
|
+
description: "The ORCiD is not the correct format. Please check it and adjust.",
|
|
3129
|
+
level: "warning"
|
|
3130
|
+
});
|
|
3131
|
+
return errors;
|
|
3132
|
+
};
|
|
3133
|
+
|
|
3129
3134
|
// src/validation/validateXml.ts
|
|
3130
3135
|
var validateElement = (element, root, elementsToLink, linkElements, schemasToValidateAgainst) => {
|
|
3131
3136
|
if (isIgnoredElement(element)) {
|
|
@@ -3149,6 +3154,9 @@ var validateElement = (element, root, elementsToLink, linkElements, schemasToVal
|
|
|
3149
3154
|
if (schema.code === HEADING_SCHEMA.code) {
|
|
3150
3155
|
errors.push(...validateHeadingHierarchy(element));
|
|
3151
3156
|
}
|
|
3157
|
+
if (schema.code === OLINK_SCHEMA.code) {
|
|
3158
|
+
errors.push(...validateOlink(element));
|
|
3159
|
+
}
|
|
3152
3160
|
if (isIgnoredValidation(schema.code)) {
|
|
3153
3161
|
return errors;
|
|
3154
3162
|
}
|
package/dist/index.mjs
CHANGED
|
@@ -759,13 +759,7 @@ var LINE_SCHEMA = createSchema({
|
|
|
759
759
|
kind: "element",
|
|
760
760
|
tag: LINE_TAG,
|
|
761
761
|
requiredAttributes: [...ID_ATTRS],
|
|
762
|
-
optionalAttributes: [
|
|
763
|
-
{
|
|
764
|
-
name: "role",
|
|
765
|
-
values: ["add-element"],
|
|
766
|
-
defaultValue: "add-element"
|
|
767
|
-
}
|
|
768
|
-
],
|
|
762
|
+
optionalAttributes: ["role"],
|
|
769
763
|
allowedChildrenCodes: [
|
|
770
764
|
...ATOM_CODES_ALLOWED_CHILDREN,
|
|
771
765
|
...INLINE_ELEMENT_CODES_ALLOWED_CHILDREN
|
|
@@ -778,13 +772,7 @@ var SPEAKER_SCHEMA = createSchema({
|
|
|
778
772
|
kind: "element",
|
|
779
773
|
tag: SPEAKER_TAG,
|
|
780
774
|
requiredAttributes: [...ID_ATTRS],
|
|
781
|
-
optionalAttributes: [
|
|
782
|
-
{
|
|
783
|
-
name: "role",
|
|
784
|
-
values: ["add-element"],
|
|
785
|
-
defaultValue: "add-element"
|
|
786
|
-
}
|
|
787
|
-
],
|
|
775
|
+
optionalAttributes: ["role"],
|
|
788
776
|
allowedChildrenCodes: [...ATOM_CODES_ALLOWED_CHILDREN]
|
|
789
777
|
});
|
|
790
778
|
|
|
@@ -794,16 +782,10 @@ var DIALOGUE_SCHEMA = createSchema({
|
|
|
794
782
|
kind: "element",
|
|
795
783
|
tag: DIALOGUE_TAG,
|
|
796
784
|
requiredAttributes: [...ID_ATTRS],
|
|
797
|
-
optionalAttributes: [
|
|
798
|
-
|
|
799
|
-
{
|
|
800
|
-
name: "role",
|
|
801
|
-
values: ["add-element"],
|
|
802
|
-
defaultValue: "add-element"
|
|
803
|
-
}
|
|
804
|
-
],
|
|
785
|
+
optionalAttributes: [...TRACK_CHANGES_ATTRS, "role", "trackmsg"],
|
|
786
|
+
defaultChildCode: "line",
|
|
805
787
|
allowedChildrenCodes: [
|
|
806
|
-
{ code: "line", required:
|
|
788
|
+
{ code: "line", required: true },
|
|
807
789
|
{ code: "speaker", required: true }
|
|
808
790
|
]
|
|
809
791
|
});
|
|
@@ -2018,7 +2000,7 @@ var POEM_SCHEMA = createSchema({
|
|
|
2018
2000
|
kind: "element",
|
|
2019
2001
|
tag: POEM_TAG,
|
|
2020
2002
|
requiredAttributes: [...ID_ATTRS],
|
|
2021
|
-
optionalAttributes: [...TRACK_CHANGES_ATTRS, "role"],
|
|
2003
|
+
optionalAttributes: [...TRACK_CHANGES_ATTRS, "role", "trackmsg"],
|
|
2022
2004
|
defaultChildCode: "line",
|
|
2023
2005
|
allowedChildrenCodes: [
|
|
2024
2006
|
{ code: "line", required: true },
|
|
@@ -3046,6 +3028,29 @@ var validateHeadingHierarchy = (element) => {
|
|
|
3046
3028
|
return errors;
|
|
3047
3029
|
};
|
|
3048
3030
|
|
|
3031
|
+
// src/validation/validateOlink.ts
|
|
3032
|
+
var ORCID_PATTERN = /^\d{4}-\d{4}-\d{4}-\d{4}$/;
|
|
3033
|
+
var validateOlink = (element) => {
|
|
3034
|
+
const errors = [];
|
|
3035
|
+
if (isDeletedElement(element)) {
|
|
3036
|
+
return errors;
|
|
3037
|
+
}
|
|
3038
|
+
const text = retrieveTextIgnoringNodesWithSelector(element);
|
|
3039
|
+
const isEmpty = text.length === 0;
|
|
3040
|
+
const isValidOrcid = ORCID_PATTERN.test(text);
|
|
3041
|
+
if (isEmpty || isValidOrcid) {
|
|
3042
|
+
return errors;
|
|
3043
|
+
}
|
|
3044
|
+
addValidationIssue(errors, {
|
|
3045
|
+
store: getStore(element.parentElement ?? element),
|
|
3046
|
+
title: "Invalid ORCID",
|
|
3047
|
+
kind: "forbidden",
|
|
3048
|
+
description: "The ORCiD is not the correct format. Please check it and adjust.",
|
|
3049
|
+
level: "warning"
|
|
3050
|
+
});
|
|
3051
|
+
return errors;
|
|
3052
|
+
};
|
|
3053
|
+
|
|
3049
3054
|
// src/validation/validateXml.ts
|
|
3050
3055
|
var validateElement = (element, root, elementsToLink, linkElements, schemasToValidateAgainst) => {
|
|
3051
3056
|
if (isIgnoredElement(element)) {
|
|
@@ -3069,6 +3074,9 @@ var validateElement = (element, root, elementsToLink, linkElements, schemasToVal
|
|
|
3069
3074
|
if (schema.code === HEADING_SCHEMA.code) {
|
|
3070
3075
|
errors.push(...validateHeadingHierarchy(element));
|
|
3071
3076
|
}
|
|
3077
|
+
if (schema.code === OLINK_SCHEMA.code) {
|
|
3078
|
+
errors.push(...validateOlink(element));
|
|
3079
|
+
}
|
|
3072
3080
|
if (isIgnoredValidation(schema.code)) {
|
|
3073
3081
|
return errors;
|
|
3074
3082
|
}
|