tutuca 0.9.19 → 0.9.20
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/tutuca-cli.js +204 -207
- package/dist/tutuca-dev.js +243 -10
- package/dist/tutuca-dev.min.js +2 -2
- package/dist/tutuca-extra.js +13 -9
- package/dist/tutuca-extra.min.js +2 -2
- package/dist/tutuca.js +13 -9
- package/dist/tutuca.min.js +2 -2
- package/package.json +2 -3
package/dist/tutuca-cli.js
CHANGED
|
@@ -667,191 +667,17 @@ __export(exports_md, {
|
|
|
667
667
|
supports: () => supports2,
|
|
668
668
|
format: () => format2
|
|
669
669
|
});
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
function
|
|
679
|
-
const { name, type } = field;
|
|
680
|
-
const uname = name[0].toUpperCase() + name.slice(1);
|
|
681
|
-
const methods = [
|
|
682
|
-
{ name: `set${uname}`, sig: `set${uname}(v)`, desc: "Set value" },
|
|
683
|
-
{
|
|
684
|
-
name: `update${uname}`,
|
|
685
|
-
sig: `update${uname}(fn)`,
|
|
686
|
-
desc: "Update value with function"
|
|
687
|
-
},
|
|
688
|
-
{
|
|
689
|
-
name: `reset${uname}`,
|
|
690
|
-
sig: `reset${uname}()`,
|
|
691
|
-
desc: "Reset to default value"
|
|
692
|
-
},
|
|
693
|
-
{
|
|
694
|
-
name: `is${uname}NotSet`,
|
|
695
|
-
sig: `is${uname}NotSet()`,
|
|
696
|
-
desc: "Check if null/undefined"
|
|
697
|
-
},
|
|
698
|
-
{
|
|
699
|
-
name: `is${uname}Set`,
|
|
700
|
-
sig: `is${uname}Set()`,
|
|
701
|
-
desc: "Check if not null/undefined"
|
|
702
|
-
}
|
|
703
|
-
];
|
|
704
|
-
switch (type) {
|
|
705
|
-
case "bool":
|
|
706
|
-
methods[0].desc = "Set value (coerces to boolean)";
|
|
707
|
-
methods.push({
|
|
708
|
-
name: `toggle${uname}`,
|
|
709
|
-
sig: `toggle${uname}()`,
|
|
710
|
-
desc: "Toggle boolean value"
|
|
711
|
-
});
|
|
712
|
-
break;
|
|
713
|
-
case "text":
|
|
714
|
-
methods.push({
|
|
715
|
-
name: `is${uname}Empty`,
|
|
716
|
-
sig: `is${uname}Empty()`,
|
|
717
|
-
desc: "Check if string is empty"
|
|
718
|
-
}, { name: `${name}Len`, sig: `${name}Len()`, desc: "Get string length" });
|
|
719
|
-
break;
|
|
720
|
-
case "list":
|
|
721
|
-
methods.push({
|
|
722
|
-
name: `is${uname}Empty`,
|
|
723
|
-
sig: `is${uname}Empty()`,
|
|
724
|
-
desc: "Check if list is empty"
|
|
725
|
-
}, { name: `${name}Len`, sig: `${name}Len()`, desc: "Get list size" }, {
|
|
726
|
-
name: `setIn${uname}At`,
|
|
727
|
-
sig: `setIn${uname}At(i, v)`,
|
|
728
|
-
desc: "Set item at index"
|
|
729
|
-
}, {
|
|
730
|
-
name: `getIn${uname}At`,
|
|
731
|
-
sig: `getIn${uname}At(i, defaultValue)`,
|
|
732
|
-
desc: "Get item at index"
|
|
733
|
-
}, {
|
|
734
|
-
name: `updateIn${uname}At`,
|
|
735
|
-
sig: `updateIn${uname}At(i, fn)`,
|
|
736
|
-
desc: "Update item at index with function"
|
|
737
|
-
}, {
|
|
738
|
-
name: `deleteIn${uname}At`,
|
|
739
|
-
sig: `deleteIn${uname}At(i)`,
|
|
740
|
-
desc: "Delete item at index"
|
|
741
|
-
}, {
|
|
742
|
-
name: `removeIn${uname}At`,
|
|
743
|
-
sig: `removeIn${uname}At(i)`,
|
|
744
|
-
desc: "Delete item at index (alias)"
|
|
745
|
-
}, {
|
|
746
|
-
name: `pushIn${uname}`,
|
|
747
|
-
sig: `pushIn${uname}(v)`,
|
|
748
|
-
desc: "Push item to end"
|
|
749
|
-
}, {
|
|
750
|
-
name: `insertIn${uname}At`,
|
|
751
|
-
sig: `insertIn${uname}At(i, v)`,
|
|
752
|
-
desc: "Insert item at index"
|
|
753
|
-
});
|
|
754
|
-
break;
|
|
755
|
-
case "map":
|
|
756
|
-
case "omap": {
|
|
757
|
-
const label = type === "omap" ? "ordered map" : "map";
|
|
758
|
-
methods.push({
|
|
759
|
-
name: `is${uname}Empty`,
|
|
760
|
-
sig: `is${uname}Empty()`,
|
|
761
|
-
desc: `Check if ${label} is empty`
|
|
762
|
-
}, {
|
|
763
|
-
name: `${name}Len`,
|
|
764
|
-
sig: `${name}Len()`,
|
|
765
|
-
desc: `Get ${label} size`
|
|
766
|
-
}, {
|
|
767
|
-
name: `setIn${uname}At`,
|
|
768
|
-
sig: `setIn${uname}At(key, v)`,
|
|
769
|
-
desc: "Set value at key"
|
|
770
|
-
}, {
|
|
771
|
-
name: `getIn${uname}At`,
|
|
772
|
-
sig: `getIn${uname}At(key, defaultValue)`,
|
|
773
|
-
desc: "Get value at key"
|
|
774
|
-
}, {
|
|
775
|
-
name: `updateIn${uname}At`,
|
|
776
|
-
sig: `updateIn${uname}At(key, fn)`,
|
|
777
|
-
desc: "Update value at key with function"
|
|
778
|
-
}, {
|
|
779
|
-
name: `deleteIn${uname}At`,
|
|
780
|
-
sig: `deleteIn${uname}At(key)`,
|
|
781
|
-
desc: "Delete entry at key"
|
|
782
|
-
}, {
|
|
783
|
-
name: `removeIn${uname}At`,
|
|
784
|
-
sig: `removeIn${uname}At(key)`,
|
|
785
|
-
desc: "Delete entry at key (alias)"
|
|
786
|
-
});
|
|
787
|
-
break;
|
|
788
|
-
}
|
|
789
|
-
case "set":
|
|
790
|
-
methods.push({
|
|
791
|
-
name: `is${uname}Empty`,
|
|
792
|
-
sig: `is${uname}Empty()`,
|
|
793
|
-
desc: "Check if set is empty"
|
|
794
|
-
}, { name: `${name}Len`, sig: `${name}Len()`, desc: "Get set size" }, {
|
|
795
|
-
name: `addIn${uname}`,
|
|
796
|
-
sig: `addIn${uname}(v)`,
|
|
797
|
-
desc: "Add value to set"
|
|
798
|
-
}, {
|
|
799
|
-
name: `deleteIn${uname}`,
|
|
800
|
-
sig: `deleteIn${uname}(v)`,
|
|
801
|
-
desc: "Remove value from set"
|
|
802
|
-
}, {
|
|
803
|
-
name: `removeIn${uname}`,
|
|
804
|
-
sig: `removeIn${uname}(v)`,
|
|
805
|
-
desc: "Remove value from set (alias)"
|
|
806
|
-
}, {
|
|
807
|
-
name: `hasIn${uname}`,
|
|
808
|
-
sig: `hasIn${uname}(v)`,
|
|
809
|
-
desc: "Check if value is in set"
|
|
810
|
-
}, {
|
|
811
|
-
name: `toggleIn${uname}`,
|
|
812
|
-
sig: `toggleIn${uname}(v)`,
|
|
813
|
-
desc: "Toggle value in set"
|
|
814
|
-
});
|
|
815
|
-
break;
|
|
816
|
-
}
|
|
817
|
-
return methods;
|
|
818
|
-
}
|
|
819
|
-
function serializeDefault(v) {
|
|
820
|
-
if (v === null || v === undefined)
|
|
821
|
-
return v;
|
|
822
|
-
if (v?.toJS)
|
|
823
|
-
return v.toJS();
|
|
824
|
-
return v;
|
|
825
|
-
}
|
|
826
|
-
function getComponentDoc(comp) {
|
|
827
|
-
const meta = comp.Class.getMetaClass();
|
|
828
|
-
const { fields, name, methods } = meta;
|
|
829
|
-
const userMethods = Object.keys(methods).map((k) => ({
|
|
830
|
-
name: k,
|
|
831
|
-
sig: getSignature(k, methods[k])
|
|
832
|
-
}));
|
|
833
|
-
const inputHandlers = Object.keys(comp.input).map((k) => ({
|
|
834
|
-
name: k,
|
|
835
|
-
sig: getSignature(k, comp.input[k])
|
|
836
|
-
}));
|
|
837
|
-
const fieldDocs = [];
|
|
838
|
-
for (const fieldName in fields) {
|
|
839
|
-
const field = fields[fieldName];
|
|
840
|
-
fieldDocs.push({
|
|
841
|
-
name: fieldName,
|
|
842
|
-
type: field.type,
|
|
843
|
-
default: serializeDefault(field.defaultValue),
|
|
844
|
-
methods: getFieldMethods(field)
|
|
845
|
-
});
|
|
846
|
-
}
|
|
847
|
-
return { name, methods: userMethods, input: inputHandlers, fields: fieldDocs };
|
|
848
|
-
}
|
|
849
|
-
function getComponentsDocs(components) {
|
|
850
|
-
return components.map((comp) => getComponentDoc(comp));
|
|
851
|
-
}
|
|
852
|
-
function docsToMarkdown(docs) {
|
|
670
|
+
var supports2 = new Set([
|
|
671
|
+
"ComponentDocs",
|
|
672
|
+
"RenderBatch",
|
|
673
|
+
"ExampleIndex",
|
|
674
|
+
"LintReport",
|
|
675
|
+
"ModuleInfo",
|
|
676
|
+
"ComponentList"
|
|
677
|
+
]);
|
|
678
|
+
function fmtComponentDocs2(docs) {
|
|
853
679
|
const lines = [];
|
|
854
|
-
for (const comp of docs) {
|
|
680
|
+
for (const comp of docs.items) {
|
|
855
681
|
lines.push(`# ${comp.name}
|
|
856
682
|
`);
|
|
857
683
|
if (comp.methods.length > 0) {
|
|
@@ -882,19 +708,6 @@ function docsToMarkdown(docs) {
|
|
|
882
708
|
return lines.join(`
|
|
883
709
|
`);
|
|
884
710
|
}
|
|
885
|
-
|
|
886
|
-
// tools/format/md.js
|
|
887
|
-
var supports2 = new Set([
|
|
888
|
-
"ComponentDocs",
|
|
889
|
-
"RenderBatch",
|
|
890
|
-
"ExampleIndex",
|
|
891
|
-
"LintReport",
|
|
892
|
-
"ModuleInfo",
|
|
893
|
-
"ComponentList"
|
|
894
|
-
]);
|
|
895
|
-
function fmtComponentDocs2(docs) {
|
|
896
|
-
return docsToMarkdown(docs.items);
|
|
897
|
-
}
|
|
898
711
|
async function fmtRenderBatch2(batch, { pretty = false } = {}) {
|
|
899
712
|
const prettify = pretty ? (await import("prettier")).format : null;
|
|
900
713
|
const lines = [];
|
|
@@ -1212,6 +1025,186 @@ __export(exports_docs, {
|
|
|
1212
1025
|
});
|
|
1213
1026
|
|
|
1214
1027
|
// tools/core/docs.js
|
|
1028
|
+
function getSignature(name, fn) {
|
|
1029
|
+
const s = fn.toString();
|
|
1030
|
+
const m = s.match(/^(?:\w+|function\s*\w*)\s*\(([^)]*)\)/);
|
|
1031
|
+
const params = m ? m[1].trim() : "";
|
|
1032
|
+
return `${name}(${params})`;
|
|
1033
|
+
}
|
|
1034
|
+
function getFieldMethods(field) {
|
|
1035
|
+
const { name, type } = field;
|
|
1036
|
+
const uname = name[0].toUpperCase() + name.slice(1);
|
|
1037
|
+
const methods = [
|
|
1038
|
+
{ name: `set${uname}`, sig: `set${uname}(v)`, desc: "Set value" },
|
|
1039
|
+
{
|
|
1040
|
+
name: `update${uname}`,
|
|
1041
|
+
sig: `update${uname}(fn)`,
|
|
1042
|
+
desc: "Update value with function"
|
|
1043
|
+
},
|
|
1044
|
+
{
|
|
1045
|
+
name: `reset${uname}`,
|
|
1046
|
+
sig: `reset${uname}()`,
|
|
1047
|
+
desc: "Reset to default value"
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
name: `is${uname}NotSet`,
|
|
1051
|
+
sig: `is${uname}NotSet()`,
|
|
1052
|
+
desc: "Check if null/undefined"
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
name: `is${uname}Set`,
|
|
1056
|
+
sig: `is${uname}Set()`,
|
|
1057
|
+
desc: "Check if not null/undefined"
|
|
1058
|
+
}
|
|
1059
|
+
];
|
|
1060
|
+
switch (type) {
|
|
1061
|
+
case "bool":
|
|
1062
|
+
methods[0].desc = "Set value (coerces to boolean)";
|
|
1063
|
+
methods.push({
|
|
1064
|
+
name: `toggle${uname}`,
|
|
1065
|
+
sig: `toggle${uname}()`,
|
|
1066
|
+
desc: "Toggle boolean value"
|
|
1067
|
+
});
|
|
1068
|
+
break;
|
|
1069
|
+
case "text":
|
|
1070
|
+
methods.push({
|
|
1071
|
+
name: `is${uname}Empty`,
|
|
1072
|
+
sig: `is${uname}Empty()`,
|
|
1073
|
+
desc: "Check if string is empty"
|
|
1074
|
+
}, { name: `${name}Len`, sig: `${name}Len()`, desc: "Get string length" });
|
|
1075
|
+
break;
|
|
1076
|
+
case "list":
|
|
1077
|
+
methods.push({
|
|
1078
|
+
name: `is${uname}Empty`,
|
|
1079
|
+
sig: `is${uname}Empty()`,
|
|
1080
|
+
desc: "Check if list is empty"
|
|
1081
|
+
}, { name: `${name}Len`, sig: `${name}Len()`, desc: "Get list size" }, {
|
|
1082
|
+
name: `setIn${uname}At`,
|
|
1083
|
+
sig: `setIn${uname}At(i, v)`,
|
|
1084
|
+
desc: "Set item at index"
|
|
1085
|
+
}, {
|
|
1086
|
+
name: `getIn${uname}At`,
|
|
1087
|
+
sig: `getIn${uname}At(i, defaultValue)`,
|
|
1088
|
+
desc: "Get item at index"
|
|
1089
|
+
}, {
|
|
1090
|
+
name: `updateIn${uname}At`,
|
|
1091
|
+
sig: `updateIn${uname}At(i, fn)`,
|
|
1092
|
+
desc: "Update item at index with function"
|
|
1093
|
+
}, {
|
|
1094
|
+
name: `deleteIn${uname}At`,
|
|
1095
|
+
sig: `deleteIn${uname}At(i)`,
|
|
1096
|
+
desc: "Delete item at index"
|
|
1097
|
+
}, {
|
|
1098
|
+
name: `removeIn${uname}At`,
|
|
1099
|
+
sig: `removeIn${uname}At(i)`,
|
|
1100
|
+
desc: "Delete item at index (alias)"
|
|
1101
|
+
}, {
|
|
1102
|
+
name: `pushIn${uname}`,
|
|
1103
|
+
sig: `pushIn${uname}(v)`,
|
|
1104
|
+
desc: "Push item to end"
|
|
1105
|
+
}, {
|
|
1106
|
+
name: `insertIn${uname}At`,
|
|
1107
|
+
sig: `insertIn${uname}At(i, v)`,
|
|
1108
|
+
desc: "Insert item at index"
|
|
1109
|
+
});
|
|
1110
|
+
break;
|
|
1111
|
+
case "map":
|
|
1112
|
+
case "omap": {
|
|
1113
|
+
const label = type === "omap" ? "ordered map" : "map";
|
|
1114
|
+
methods.push({
|
|
1115
|
+
name: `is${uname}Empty`,
|
|
1116
|
+
sig: `is${uname}Empty()`,
|
|
1117
|
+
desc: `Check if ${label} is empty`
|
|
1118
|
+
}, {
|
|
1119
|
+
name: `${name}Len`,
|
|
1120
|
+
sig: `${name}Len()`,
|
|
1121
|
+
desc: `Get ${label} size`
|
|
1122
|
+
}, {
|
|
1123
|
+
name: `setIn${uname}At`,
|
|
1124
|
+
sig: `setIn${uname}At(key, v)`,
|
|
1125
|
+
desc: "Set value at key"
|
|
1126
|
+
}, {
|
|
1127
|
+
name: `getIn${uname}At`,
|
|
1128
|
+
sig: `getIn${uname}At(key, defaultValue)`,
|
|
1129
|
+
desc: "Get value at key"
|
|
1130
|
+
}, {
|
|
1131
|
+
name: `updateIn${uname}At`,
|
|
1132
|
+
sig: `updateIn${uname}At(key, fn)`,
|
|
1133
|
+
desc: "Update value at key with function"
|
|
1134
|
+
}, {
|
|
1135
|
+
name: `deleteIn${uname}At`,
|
|
1136
|
+
sig: `deleteIn${uname}At(key)`,
|
|
1137
|
+
desc: "Delete entry at key"
|
|
1138
|
+
}, {
|
|
1139
|
+
name: `removeIn${uname}At`,
|
|
1140
|
+
sig: `removeIn${uname}At(key)`,
|
|
1141
|
+
desc: "Delete entry at key (alias)"
|
|
1142
|
+
});
|
|
1143
|
+
break;
|
|
1144
|
+
}
|
|
1145
|
+
case "set":
|
|
1146
|
+
methods.push({
|
|
1147
|
+
name: `is${uname}Empty`,
|
|
1148
|
+
sig: `is${uname}Empty()`,
|
|
1149
|
+
desc: "Check if set is empty"
|
|
1150
|
+
}, { name: `${name}Len`, sig: `${name}Len()`, desc: "Get set size" }, {
|
|
1151
|
+
name: `addIn${uname}`,
|
|
1152
|
+
sig: `addIn${uname}(v)`,
|
|
1153
|
+
desc: "Add value to set"
|
|
1154
|
+
}, {
|
|
1155
|
+
name: `deleteIn${uname}`,
|
|
1156
|
+
sig: `deleteIn${uname}(v)`,
|
|
1157
|
+
desc: "Remove value from set"
|
|
1158
|
+
}, {
|
|
1159
|
+
name: `removeIn${uname}`,
|
|
1160
|
+
sig: `removeIn${uname}(v)`,
|
|
1161
|
+
desc: "Remove value from set (alias)"
|
|
1162
|
+
}, {
|
|
1163
|
+
name: `hasIn${uname}`,
|
|
1164
|
+
sig: `hasIn${uname}(v)`,
|
|
1165
|
+
desc: "Check if value is in set"
|
|
1166
|
+
}, {
|
|
1167
|
+
name: `toggleIn${uname}`,
|
|
1168
|
+
sig: `toggleIn${uname}(v)`,
|
|
1169
|
+
desc: "Toggle value in set"
|
|
1170
|
+
});
|
|
1171
|
+
break;
|
|
1172
|
+
}
|
|
1173
|
+
return methods;
|
|
1174
|
+
}
|
|
1175
|
+
function serializeDefault(v) {
|
|
1176
|
+
if (v === null || v === undefined)
|
|
1177
|
+
return v;
|
|
1178
|
+
if (v?.toJS)
|
|
1179
|
+
return v.toJS();
|
|
1180
|
+
return v;
|
|
1181
|
+
}
|
|
1182
|
+
function getComponentDoc(comp) {
|
|
1183
|
+
const meta = comp.Class.getMetaClass();
|
|
1184
|
+
const { fields, name, methods } = meta;
|
|
1185
|
+
const userMethods = Object.keys(methods).map((k) => ({
|
|
1186
|
+
name: k,
|
|
1187
|
+
sig: getSignature(k, methods[k])
|
|
1188
|
+
}));
|
|
1189
|
+
const inputHandlers = Object.keys(comp.input).map((k) => ({
|
|
1190
|
+
name: k,
|
|
1191
|
+
sig: getSignature(k, comp.input[k])
|
|
1192
|
+
}));
|
|
1193
|
+
const fieldDocs = [];
|
|
1194
|
+
for (const fieldName in fields) {
|
|
1195
|
+
const field = fields[fieldName];
|
|
1196
|
+
fieldDocs.push({
|
|
1197
|
+
name: fieldName,
|
|
1198
|
+
type: field.type,
|
|
1199
|
+
default: serializeDefault(field.defaultValue),
|
|
1200
|
+
methods: getFieldMethods(field)
|
|
1201
|
+
});
|
|
1202
|
+
}
|
|
1203
|
+
return { name, methods: userMethods, input: inputHandlers, fields: fieldDocs };
|
|
1204
|
+
}
|
|
1205
|
+
function getComponentsDocs(components) {
|
|
1206
|
+
return components.map((comp) => getComponentDoc(comp));
|
|
1207
|
+
}
|
|
1215
1208
|
function docComponents(normalized, { name = null } = {}) {
|
|
1216
1209
|
const comps = normalized.components;
|
|
1217
1210
|
const picked = name === null ? comps : comps.filter((c) => c.name === name);
|
|
@@ -2848,9 +2841,14 @@ class ComponentStack {
|
|
|
2848
2841
|
comp.scope = this.enter();
|
|
2849
2842
|
this.comps.registerComponent(comp);
|
|
2850
2843
|
this.byName[comp.name] = comp;
|
|
2851
|
-
|
|
2852
|
-
|
|
2844
|
+
}
|
|
2845
|
+
for (const alias in aliases) {
|
|
2846
|
+
const comp = this.byName[aliases[alias]];
|
|
2847
|
+
console.assert(this.byName[alias] === undefined, "alias overrides component", alias);
|
|
2848
|
+
if (comp !== undefined)
|
|
2853
2849
|
this.byName[alias] = comp;
|
|
2850
|
+
else
|
|
2851
|
+
console.warn("alias", alias, "to inexistent component", aliases[alias]);
|
|
2854
2852
|
}
|
|
2855
2853
|
}
|
|
2856
2854
|
registerMacros(macros) {
|
|
@@ -2877,7 +2875,7 @@ function defaultOnStackEnter(stack) {
|
|
|
2877
2875
|
return stack;
|
|
2878
2876
|
}
|
|
2879
2877
|
|
|
2880
|
-
//
|
|
2878
|
+
// tools/core/lint-check.js
|
|
2881
2879
|
var ALT_HANDLER_NOT_DEFINED = "ALT_HANDLER_NOT_DEFINED";
|
|
2882
2880
|
var RENDER_IT_OUTSIDE_OF_LOOP = "RENDER_IT_OUTSIDE_OF_LOOP";
|
|
2883
2881
|
var UNKNOWN_EVENT_MODIFIER = "UNKNOWN_EVENT_MODIFIER";
|
|
@@ -3405,9 +3403,10 @@ class Transactor {
|
|
|
3405
3403
|
}
|
|
3406
3404
|
}
|
|
3407
3405
|
function mkReq404(name) {
|
|
3408
|
-
|
|
3406
|
+
const fn = () => {
|
|
3409
3407
|
throw new Error(`Request not found: ${name}`);
|
|
3410
3408
|
};
|
|
3409
|
+
return { fn };
|
|
3411
3410
|
}
|
|
3412
3411
|
function nullHandler() {
|
|
3413
3412
|
return this;
|
|
@@ -4048,15 +4047,13 @@ class App {
|
|
|
4048
4047
|
_dispatchEvent(e) {
|
|
4049
4048
|
const { type } = e;
|
|
4050
4049
|
const isDrag = type === "dragover" || type === "dragstart" || type === "dragend";
|
|
4051
|
-
const { rootNode: root, maxEventNodeDepth: maxDepth, comps } = this;
|
|
4050
|
+
const { rootNode: root, maxEventNodeDepth: maxDepth, comps, transactor } = this;
|
|
4052
4051
|
const [path, handlers] = Path.fromEvent(e, root, maxDepth, comps, !isDrag);
|
|
4053
4052
|
if (isDrag)
|
|
4054
4053
|
this._handleDragEvent(e, type, path);
|
|
4055
|
-
if (path !== null && handlers !== null)
|
|
4056
|
-
for (const handler of handlers)
|
|
4057
|
-
|
|
4058
|
-
}
|
|
4059
|
-
}
|
|
4054
|
+
if (path !== null && handlers !== null)
|
|
4055
|
+
for (const handler of handlers)
|
|
4056
|
+
transactor.transactInputNow(path, e, handler, this.dragInfo);
|
|
4060
4057
|
}
|
|
4061
4058
|
_handleTouchEvent(e) {
|
|
4062
4059
|
const { type } = e;
|