wikiparser-node 1.3.3 → 1.3.4-b

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.
Files changed (156) hide show
  1. package/README.en.md +1 -1
  2. package/README.md +1 -1
  3. package/bundle/bundle.min.js +36 -0
  4. package/config/llwiki.json +1 -35
  5. package/config/moegirl.json +1 -44
  6. package/config/zhwiki.json +1 -466
  7. package/extensions/dist/base.js +68 -0
  8. package/extensions/dist/editor.js +159 -0
  9. package/extensions/dist/highlight.js +30 -0
  10. package/extensions/dist/lint.js +48 -0
  11. package/extensions/editor.css +63 -0
  12. package/extensions/ui.css +114 -0
  13. package/package.json +32 -12
  14. package/config/.schema.json +0 -172
  15. package/dist/addon/table.d.ts +0 -6
  16. package/dist/addon/table.js +0 -564
  17. package/dist/base.d.ts +0 -45
  18. package/dist/bin/toc.js +0 -18
  19. package/dist/index.d.ts +0 -31
  20. package/dist/index.js +0 -209
  21. package/dist/internal.d.ts +0 -44
  22. package/dist/lib/element.d.ts +0 -155
  23. package/dist/lib/element.js +0 -634
  24. package/dist/lib/node.d.ts +0 -146
  25. package/dist/lib/node.js +0 -419
  26. package/dist/lib/range.d.ts +0 -104
  27. package/dist/lib/range.js +0 -385
  28. package/dist/lib/ranges.d.ts +0 -26
  29. package/dist/lib/ranges.js +0 -117
  30. package/dist/lib/text.d.ts +0 -62
  31. package/dist/lib/text.js +0 -248
  32. package/dist/lib/title.d.ts +0 -38
  33. package/dist/lib/title.js +0 -162
  34. package/dist/mixin/attributesParent.js +0 -94
  35. package/dist/mixin/fixed.js +0 -32
  36. package/dist/mixin/flagsParent.js +0 -70
  37. package/dist/mixin/hidden.js +0 -26
  38. package/dist/mixin/magicLinkParent.js +0 -41
  39. package/dist/mixin/singleLine.js +0 -25
  40. package/dist/mixin/sol.js +0 -43
  41. package/dist/mixin/syntax.js +0 -56
  42. package/dist/parser/braces.js +0 -121
  43. package/dist/parser/commentAndExt.js +0 -69
  44. package/dist/parser/converter.js +0 -40
  45. package/dist/parser/externalLinks.js +0 -28
  46. package/dist/parser/hrAndDoubleUnderscore.js +0 -38
  47. package/dist/parser/html.js +0 -36
  48. package/dist/parser/links.js +0 -94
  49. package/dist/parser/list.js +0 -59
  50. package/dist/parser/magicLinks.js +0 -40
  51. package/dist/parser/quotes.js +0 -67
  52. package/dist/parser/selector.js +0 -162
  53. package/dist/parser/table.js +0 -112
  54. package/dist/src/arg.d.ts +0 -58
  55. package/dist/src/arg.js +0 -189
  56. package/dist/src/atom.d.ts +0 -12
  57. package/dist/src/atom.js +0 -27
  58. package/dist/src/attribute.d.ts +0 -87
  59. package/dist/src/attribute.js +0 -392
  60. package/dist/src/attributes.d.ts +0 -107
  61. package/dist/src/attributes.js +0 -341
  62. package/dist/src/converter.d.ts +0 -52
  63. package/dist/src/converter.js +0 -79
  64. package/dist/src/converterFlags.d.ts +0 -87
  65. package/dist/src/converterFlags.js +0 -224
  66. package/dist/src/converterRule.d.ts +0 -81
  67. package/dist/src/converterRule.js +0 -212
  68. package/dist/src/extLink.d.ts +0 -54
  69. package/dist/src/extLink.js +0 -122
  70. package/dist/src/gallery.d.ts +0 -55
  71. package/dist/src/gallery.js +0 -122
  72. package/dist/src/heading.d.ts +0 -74
  73. package/dist/src/heading.js +0 -127
  74. package/dist/src/hidden.d.ts +0 -22
  75. package/dist/src/hidden.js +0 -23
  76. package/dist/src/html.d.ts +0 -101
  77. package/dist/src/html.js +0 -227
  78. package/dist/src/imageParameter.d.ts +0 -66
  79. package/dist/src/imageParameter.js +0 -247
  80. package/dist/src/imagemap.d.ts +0 -57
  81. package/dist/src/imagemap.js +0 -148
  82. package/dist/src/imagemapLink.d.ts +0 -59
  83. package/dist/src/imagemapLink.js +0 -40
  84. package/dist/src/index.d.ts +0 -146
  85. package/dist/src/index.js +0 -777
  86. package/dist/src/link/base.d.ts +0 -52
  87. package/dist/src/link/base.js +0 -209
  88. package/dist/src/link/category.d.ts +0 -13
  89. package/dist/src/link/category.js +0 -29
  90. package/dist/src/link/file.d.ts +0 -96
  91. package/dist/src/link/file.js +0 -255
  92. package/dist/src/link/galleryImage.d.ts +0 -44
  93. package/dist/src/link/galleryImage.js +0 -106
  94. package/dist/src/link/index.d.ts +0 -53
  95. package/dist/src/link/index.js +0 -123
  96. package/dist/src/magicLink.d.ts +0 -70
  97. package/dist/src/magicLink.js +0 -147
  98. package/dist/src/nested.d.ts +0 -44
  99. package/dist/src/nested.js +0 -87
  100. package/dist/src/nowiki/base.d.ts +0 -47
  101. package/dist/src/nowiki/base.js +0 -42
  102. package/dist/src/nowiki/comment.d.ts +0 -40
  103. package/dist/src/nowiki/comment.js +0 -67
  104. package/dist/src/nowiki/dd.d.ts +0 -8
  105. package/dist/src/nowiki/dd.js +0 -25
  106. package/dist/src/nowiki/doubleUnderscore.d.ts +0 -45
  107. package/dist/src/nowiki/doubleUnderscore.js +0 -50
  108. package/dist/src/nowiki/hr.d.ts +0 -31
  109. package/dist/src/nowiki/hr.js +0 -14
  110. package/dist/src/nowiki/index.d.ts +0 -16
  111. package/dist/src/nowiki/index.js +0 -21
  112. package/dist/src/nowiki/list.d.ts +0 -30
  113. package/dist/src/nowiki/list.js +0 -48
  114. package/dist/src/nowiki/listBase.d.ts +0 -19
  115. package/dist/src/nowiki/listBase.js +0 -12
  116. package/dist/src/nowiki/noinclude.d.ts +0 -26
  117. package/dist/src/nowiki/noinclude.js +0 -25
  118. package/dist/src/nowiki/quote.d.ts +0 -23
  119. package/dist/src/nowiki/quote.js +0 -45
  120. package/dist/src/onlyinclude.d.ts +0 -16
  121. package/dist/src/onlyinclude.js +0 -57
  122. package/dist/src/paramTag/index.d.ts +0 -37
  123. package/dist/src/paramTag/index.js +0 -68
  124. package/dist/src/paramTag/inputbox.d.ts +0 -8
  125. package/dist/src/paramTag/inputbox.js +0 -23
  126. package/dist/src/parameter.d.ts +0 -85
  127. package/dist/src/parameter.js +0 -205
  128. package/dist/src/pre.d.ts +0 -28
  129. package/dist/src/pre.js +0 -51
  130. package/dist/src/syntax.d.ts +0 -28
  131. package/dist/src/syntax.js +0 -34
  132. package/dist/src/table/base.d.ts +0 -53
  133. package/dist/src/table/base.js +0 -78
  134. package/dist/src/table/index.d.ts +0 -229
  135. package/dist/src/table/index.js +0 -379
  136. package/dist/src/table/td.d.ts +0 -104
  137. package/dist/src/table/td.js +0 -261
  138. package/dist/src/table/tr.d.ts +0 -32
  139. package/dist/src/table/tr.js +0 -56
  140. package/dist/src/table/trBase.d.ts +0 -54
  141. package/dist/src/table/trBase.js +0 -159
  142. package/dist/src/tagPair/ext.d.ts +0 -56
  143. package/dist/src/tagPair/ext.js +0 -142
  144. package/dist/src/tagPair/include.d.ts +0 -53
  145. package/dist/src/tagPair/include.js +0 -63
  146. package/dist/src/tagPair/index.d.ts +0 -48
  147. package/dist/src/tagPair/index.js +0 -93
  148. package/dist/src/transclude.d.ts +0 -167
  149. package/dist/src/transclude.js +0 -690
  150. package/dist/util/constants.js +0 -108
  151. package/dist/util/debug.js +0 -64
  152. package/dist/util/diff.js +0 -72
  153. package/dist/util/lint.js +0 -46
  154. package/dist/util/string.js +0 -61
  155. package/errors/README +0 -1
  156. package/printed/README +0 -1
@@ -708,472 +708,7 @@
708
708
  ]
709
709
  ],
710
710
  "protocol": "bitcoin:|ftp://|ftps://|geo:|git://|gopher://|http://|https://|irc://|ircs://|magnet:|mailto:|mms://|news:|nntp://|redis://|sftp://|sip:|sips:|sms:|ssh://|svn://|tel:|telnet://|urn:|worldwind://|xmpp:",
711
- "interwiki": [
712
- "acronym",
713
- "advisory",
714
- "advogato",
715
- "aew",
716
- "appropedia",
717
- "aquariumwiki",
718
- "arborwiki",
719
- "arxiv",
720
- "baden",
721
- "battlestarwiki",
722
- "bcnbio",
723
- "beacha",
724
- "betawiki",
725
- "bibcode",
726
- "bibliowiki",
727
- "bluwiki",
728
- "botwiki",
729
- "boxrec",
730
- "bugzilla",
731
- "bulba",
732
- "c",
733
- "c2",
734
- "c2find",
735
- "cache",
736
- "ĉej",
737
- "centralwikia",
738
- "chej",
739
- "choralwiki",
740
- "citizendium",
741
- "comixpedia",
742
- "commons",
743
- "communityscheme",
744
- "communitywiki",
745
- "comune",
746
- "creativecommons",
747
- "creativecommonswiki",
748
- "cxej",
749
- "dcc",
750
- "dcdatabase",
751
- "dcma",
752
- "debian",
753
- "delicious",
754
- "devmo",
755
- "dico",
756
- "dicoado",
757
- "dictionary",
758
- "dict",
759
- "disinfopedia",
760
- "distributedproofreaders",
761
- "distributedproofreadersca",
762
- "dmoz",
763
- "dmozs",
764
- "doi",
765
- "donate",
766
- "doom_wiki",
767
- "download",
768
- "dbdump",
769
- "dpd",
770
- "dpla",
771
- "drae",
772
- "dreamhost",
773
- "drumcorpswiki",
774
- "dwjwiki",
775
- "ecoreality",
776
- "elibre",
777
- "emacswiki",
778
- "encyc",
779
- "energiewiki",
780
- "englyphwiki",
781
- "enkol",
782
- "eokulturcentro",
783
- "esolang",
784
- "etherpad",
785
- "ethnologue",
786
- "ethnologuefamily",
787
- "evowiki",
788
- "exotica",
789
- "fanimutationwiki",
790
- "fedora",
791
- "finalfantasy",
792
- "finnix",
793
- "flickruser",
794
- "flickrphoto",
795
- "floralwiki",
796
- "foldoc",
797
- "foundation",
798
- "foundationsite",
799
- "foxwiki",
800
- "freebio",
801
- "freebsdman",
802
- "freeculturewiki",
803
- "freedomdefined",
804
- "freefeel",
805
- "freekiwiki",
806
- "freenode",
807
- "freesoft",
808
- "ganfyd",
809
- "gardenology",
810
- "gausswiki",
811
- "gentoo",
812
- "genwiki",
813
- "gerrit",
814
- "git",
815
- "gitlab",
816
- "globalcontribs",
817
- "glottolog",
818
- "glottopedia",
819
- "google",
820
- "googledefine",
821
- "googlegroups",
822
- "guildwarswiki",
823
- "guildwiki",
824
- "gucprefix",
825
- "gutenberg",
826
- "gutenbergwiki",
827
- "hackerspaces",
828
- "h2wiki",
829
- "hammondwiki",
830
- "hdl",
831
- "heraldik",
832
- "horizonlabs",
833
- "hrwiki",
834
- "hrfwiki",
835
- "hupwiki",
836
- "iarchive",
837
- "imdbname",
838
- "imdbtitle",
839
- "imdbcompany",
840
- "imdbcharacter",
841
- "incubator",
842
- "infosecpedia",
843
- "infosphere",
844
- "irc",
845
- "ircs",
846
- "ircrc",
847
- "rcirc",
848
- "iso639-3",
849
- "issn",
850
- "iuridictum",
851
- "jaglyphwiki",
852
- "jefo",
853
- "jerseydatabase",
854
- "jira",
855
- "jspwiki",
856
- "jstor",
857
- "kamelo",
858
- "karlsruhe",
859
- "kinowiki",
860
- "komicawiki",
861
- "kontuwiki",
862
- "lexemes",
863
- "liberachat",
864
- "libreplanet",
865
- "lingualibre",
866
- "linguistlist",
867
- "linuxwiki",
868
- "linuxwikide",
869
- "listarchive",
870
- "liswiki",
871
- "literateprograms",
872
- "livepedia",
873
- "localwiki",
874
- "lojban",
875
- "lokalhistoriewiki",
876
- "lostpedia",
877
- "lqwiki",
878
- "luxo",
879
- "mail",
880
- "mailarchive",
881
- "mariowiki",
882
- "marveldatabase",
883
- "meatball",
884
- "mw",
885
- "mediazilla",
886
- "memoryalpha",
887
- "metawiki",
888
- "metawikimedia",
889
- "metawikipedia",
890
- "mineralienatlas",
891
- "mixnmatch",
892
- "moinmoin",
893
- "monstropedia",
894
- "mosapedia",
895
- "mozcom",
896
- "mozillawiki",
897
- "mozillazinekb",
898
- "musicbrainz",
899
- "mediawikiwiki",
900
- "mwod",
901
- "mwot",
902
- "nkcells",
903
- "nlab",
904
- "nara",
905
- "nosmoke",
906
- "nost",
907
- "nostalgia",
908
- "oeis",
909
- "oldwikisource",
910
- "olpc",
911
- "omegawiki",
912
- "onelook",
913
- "openlibrary",
914
- "openstreetmap",
915
- "openwetware",
916
- "opera7wiki",
917
- "organicdesign",
918
- "orthodoxwiki",
919
- "osmwiki",
920
- "otrs",
921
- "otrswiki",
922
- "ourmedia",
923
- "outreach",
924
- "outreachwiki",
925
- "owasp",
926
- "panawiki",
927
- "patwiki",
928
- "paws",
929
- "personaltelco",
930
- "petscan",
931
- "phab",
932
- "phabricator",
933
- "phwiki",
934
- "phpwiki",
935
- "planetmath",
936
- "pmeg",
937
- "pmid",
938
- "pokewiki",
939
- "pokéwiki",
940
- "policy",
941
- "proofwiki",
942
- "pyrev",
943
- "pythoninfo",
944
- "pythonwiki",
945
- "pywiki",
946
- "quality",
947
- "quarry",
948
- "regiowiki",
949
- "rev",
950
- "revo",
951
- "rfc",
952
- "rheinneckar",
953
- "robowiki",
954
- "rodovid",
955
- "rowiki",
956
- "rt",
957
- "s23wiki",
958
- "scholar",
959
- "schoolswp",
960
- "scores",
961
- "scoutwiki",
962
- "scramble",
963
- "seapig",
964
- "seattlewiki",
965
- "slwiki",
966
- "semantic-mw",
967
- "senseislibrary",
968
- "sep11",
969
- "sharemap",
970
- "silcode",
971
- "slashdot",
972
- "sourceforge",
973
- "spcom",
974
- "species",
975
- "squeak",
976
- "stats",
977
- "stewardry",
978
- "strategy",
979
- "strategywiki",
980
- "sulutil",
981
- "swtrain",
982
- "svn",
983
- "swinbrain",
984
- "tabwiki",
985
- "tclerswiki",
986
- "technorati",
987
- "tenwiki",
988
- "testwiki",
989
- "testwikidata",
990
- "test2wiki",
991
- "tfwiki",
992
- "thelemapedia",
993
- "theopedia",
994
- "thinkwiki",
995
- "ticket",
996
- "tmbw",
997
- "tmnet",
998
- "tmwiki",
999
- "toolforge",
1000
- "toollabs",
1001
- "tools",
1002
- "tswiki",
1003
- "translatewiki",
1004
- "tviv",
1005
- "tvtropes",
1006
- "twiki",
1007
- "twl",
1008
- "tyvawiki",
1009
- "umap",
1010
- "uncyclopedia",
1011
- "unihan",
1012
- "unreal",
1013
- "urbandict",
1014
- "usej",
1015
- "usemod",
1016
- "usability",
1017
- "utrs",
1018
- "vikidia",
1019
- "viaf",
1020
- "vlos",
1021
- "vkol",
1022
- "votewiki",
1023
- "vrtwiki",
1024
- "vrts",
1025
- "weirdgloop",
1026
- "werelate",
1027
- "wg",
1028
- "wikia",
1029
- "wikiasite",
1030
- "wikiapiary",
1031
- "wikibooks",
1032
- "wikichristian",
1033
- "wikicities",
1034
- "wikicity",
1035
- "wikiconference",
1036
- "wikidata",
1037
- "wikiedudashboard",
1038
- "wikif1",
1039
- "wikifur",
1040
- "wikihow",
1041
- "wikiindex",
1042
- "wikilemon",
1043
- "wikilivres",
1044
- "wikilivresru",
1045
- "wikimac-de",
1046
- "wikimedia",
1047
- "wikinews",
1048
- "wikinfo",
1049
- "wikinvest",
1050
- "wikiotics",
1051
- "wikipapers",
1052
- "wikipedia",
1053
- "wikipediawikipedia",
1054
- "wikiquote",
1055
- "wikisophia",
1056
- "wikisource",
1057
- "wikisp",
1058
- "wikispecies",
1059
- "wikispot",
1060
- "wikiskripta",
1061
- "wikitech",
1062
- "labsconsole",
1063
- "wikiti",
1064
- "wikiversity",
1065
- "wikivoyage",
1066
- "betawikiversity",
1067
- "wikiwikiweb",
1068
- "wiktionary",
1069
- "wlug",
1070
- "wmam",
1071
- "wmar",
1072
- "wmat",
1073
- "wmau",
1074
- "wmbd",
1075
- "wmbe",
1076
- "wmbr",
1077
- "wmca",
1078
- "wmch",
1079
- "wmcl",
1080
- "wmcn",
1081
- "wmco",
1082
- "wmcz",
1083
- "wmcz_docs",
1084
- "wmcz_old",
1085
- "wmdc",
1086
- "securewikidc",
1087
- "wmde",
1088
- "wmdk",
1089
- "wmee",
1090
- "wmec",
1091
- "wmes",
1092
- "wmet",
1093
- "wmfdashboard",
1094
- "wmfi",
1095
- "wmfr",
1096
- "wmge",
1097
- "wmhi",
1098
- "wmhk",
1099
- "wmhu",
1100
- "wmid",
1101
- "wmil",
1102
- "wmin",
1103
- "wmit",
1104
- "wmke",
1105
- "wmmk",
1106
- "wmmx",
1107
- "wmnl",
1108
- "wmnyc",
1109
- "wmno",
1110
- "wmpa-us",
1111
- "wmph",
1112
- "wmpl",
1113
- "wmplsite",
1114
- "wmpt",
1115
- "wmpunjabi",
1116
- "wmromd",
1117
- "wmrs",
1118
- "wmru",
1119
- "wmse",
1120
- "wmsk",
1121
- "wmtr",
1122
- "wmtw",
1123
- "wmua",
1124
- "wmuk",
1125
- "wmve",
1126
- "wmza",
1127
- "wm2005",
1128
- "wm2006",
1129
- "wm2007",
1130
- "wm2008",
1131
- "wm2009",
1132
- "wm2010",
1133
- "wm2011",
1134
- "wm2012",
1135
- "wm2013",
1136
- "wm2014",
1137
- "wm2015",
1138
- "wm2016",
1139
- "wm2017",
1140
- "wm2018",
1141
- "wmania",
1142
- "wikimania",
1143
- "wikispore",
1144
- "wmteam",
1145
- "wmf",
1146
- "wmfblog",
1147
- "wmdeblog",
1148
- "wookieepedia",
1149
- "wowwiki",
1150
- "wqy",
1151
- "wurmpedia",
1152
- "xtools",
1153
- "zrhwiki",
1154
- "zum",
1155
- "zwiki",
1156
- "m",
1157
- "meta",
1158
- "d",
1159
- "cz",
1160
- "dk",
1161
- "epo",
1162
- "jp",
1163
- "minnan",
1164
- "zh-cfr",
1165
- "cmn",
1166
- "en-simple",
1167
- "w",
1168
- "wikt",
1169
- "q",
1170
- "b",
1171
- "n",
1172
- "s",
1173
- "chapter",
1174
- "v",
1175
- "voy"
1176
- ],
711
+ "interwiki": [],
1177
712
  "img": {
1178
713
  "thumbnail": "thumbnail",
1179
714
  "thumb": "thumbnail",
@@ -0,0 +1,68 @@
1
+ (() => {
2
+ const workerJS = () => {
3
+ importScripts('https://testingcf.jsdelivr.net/npm/wikiparser-node@1.3.4-b/bundle/bundle.min.js');
4
+ const entities = { '&': 'amp', '<': 'lt', '>': 'gt' };
5
+ self.onmessage = ({ data }) => {
6
+ var _a;
7
+ const [command, qid, ...args] = data;
8
+ switch (command) {
9
+ case 'setI18N':
10
+ Parser.i18n = qid;
11
+ break;
12
+ case 'setConfig':
13
+ Parser.config = qid;
14
+ break;
15
+ case 'getConfig':
16
+ postMessage([qid, Parser.getConfig()]);
17
+ break;
18
+ case 'lint':
19
+ postMessage([qid, Parser.parse(...args).lint(), args[0]]);
20
+ break;
21
+ default: {
22
+ const stage = (_a = args[2]) !== null && _a !== void 0 ? _a : Infinity;
23
+ postMessage([
24
+ qid,
25
+ Parser.parse(...args).childNodes.map(child => [
26
+ stage,
27
+ String(child),
28
+ child.type === 'text'
29
+ ? String(child).replace(/[&<>]/gu, p => `&${entities[p]};`)
30
+ : child.print(),
31
+ ]),
32
+ ]);
33
+ }
34
+ }
35
+ };
36
+ };
37
+ const blob = new Blob([`(${String(workerJS)})()`], { type: 'text/javascript' }), url = URL.createObjectURL(blob), worker = new Worker(url);
38
+ URL.revokeObjectURL(url);
39
+ const getListener = (qid, resolve, raw) => {
40
+ const listener = ({ data: [rid, res, resRaw] }) => {
41
+ if (rid === qid && (raw === undefined || raw === resRaw)) {
42
+ worker.removeEventListener('message', listener);
43
+ resolve(res);
44
+ }
45
+ };
46
+ return listener;
47
+ };
48
+ const setI18N = (i18n) => {
49
+ worker.postMessage(['setI18N', i18n]);
50
+ };
51
+ const setConfig = (config) => {
52
+ worker.postMessage(['setConfig', config]);
53
+ };
54
+ const getConfig = () => new Promise(resolve => {
55
+ worker.addEventListener('message', getListener(-3, resolve));
56
+ worker.postMessage(['getConfig', -3]);
57
+ });
58
+ const print = (wikitext, include, stage, qid = -1) => new Promise(resolve => {
59
+ worker.addEventListener('message', getListener(qid, resolve));
60
+ worker.postMessage(['print', qid, wikitext, include, stage]);
61
+ });
62
+ const lint = (wikitext, include, qid = -2) => new Promise(resolve => {
63
+ worker.addEventListener('message', getListener(qid, resolve, wikitext));
64
+ worker.postMessage(['lint', qid, wikitext, include]);
65
+ });
66
+ const wikiparse = { id: 0, setI18N, setConfig, getConfig, print, lint };
67
+ Object.assign(window, { wikiparse });
68
+ })();
@@ -0,0 +1,159 @@
1
+ (() => {
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _Printer_instances, _Printer_id, _Printer_preview, _Printer_textbox, _Printer_root, _Printer_viewportChanged, _Printer_running, _Printer_ticks, _Printer_tick, _Printer_exec, _Printer_paint, _Printer_coarsePrint, _Printer_finePrint;
14
+ class Printer {
15
+ constructor(preview, textbox, include) {
16
+ _Printer_instances.add(this);
17
+ _Printer_id.set(this, void 0);
18
+ _Printer_preview.set(this, void 0);
19
+ _Printer_textbox.set(this, void 0);
20
+ _Printer_root.set(this, void 0);
21
+ _Printer_viewportChanged.set(this, void 0);
22
+ _Printer_running.set(this, void 0);
23
+ _Printer_ticks.set(this, void 0);
24
+ __classPrivateFieldSet(this, _Printer_id, wikiparse.id++, "f");
25
+ __classPrivateFieldSet(this, _Printer_preview, preview, "f");
26
+ __classPrivateFieldSet(this, _Printer_textbox, textbox, "f");
27
+ __classPrivateFieldSet(this, _Printer_root, [], "f");
28
+ __classPrivateFieldSet(this, _Printer_viewportChanged, false, "f");
29
+ this.include = Boolean(include);
30
+ __classPrivateFieldSet(this, _Printer_ticks, [0, undefined], "f");
31
+ }
32
+ queue(delay, method) {
33
+ const [state] = __classPrivateFieldGet(this, _Printer_ticks, "f");
34
+ if (delay === 0 || state <= 0 || method === 'coarse' || __classPrivateFieldGet(this, _Printer_ticks, "f")[1] !== 'coarse') {
35
+ __classPrivateFieldSet(this, _Printer_ticks, [delay, method], "f");
36
+ if (delay === 0) {
37
+ __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_exec).call(this, method);
38
+ }
39
+ else if (state <= 0) {
40
+ __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_tick).call(this);
41
+ }
42
+ }
43
+ }
44
+ }
45
+ _Printer_id = new WeakMap(), _Printer_preview = new WeakMap(), _Printer_textbox = new WeakMap(), _Printer_root = new WeakMap(), _Printer_viewportChanged = new WeakMap(), _Printer_running = new WeakMap(), _Printer_ticks = new WeakMap(), _Printer_instances = new WeakSet(), _Printer_tick = function _Printer_tick() {
46
+ setTimeout(() => {
47
+ const [t, method] = __classPrivateFieldGet(this, _Printer_ticks, "f");
48
+ if (t > 0) {
49
+ __classPrivateFieldGet(this, _Printer_ticks, "f")[0] -= 500;
50
+ if (t <= 500) {
51
+ __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_exec).call(this, method);
52
+ }
53
+ else {
54
+ __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_tick).call(this);
55
+ }
56
+ }
57
+ }, 500);
58
+ }, _Printer_exec = function _Printer_exec(method) {
59
+ if (method === 'coarse') {
60
+ __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_coarsePrint).call(this);
61
+ }
62
+ else {
63
+ __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_finePrint).call(this);
64
+ }
65
+ }, _Printer_paint = function _Printer_paint() {
66
+ __classPrivateFieldGet(this, _Printer_preview, "f").innerHTML = `<span class="wpb-root">${__classPrivateFieldGet(this, _Printer_root, "f").map(([, , printed]) => printed).join('')}</span> `;
67
+ __classPrivateFieldGet(this, _Printer_preview, "f").scrollTop = __classPrivateFieldGet(this, _Printer_textbox, "f").scrollTop;
68
+ __classPrivateFieldGet(this, _Printer_preview, "f").classList.remove('active');
69
+ __classPrivateFieldGet(this, _Printer_textbox, "f").style.color = 'transparent';
70
+ }, _Printer_coarsePrint = async function _Printer_coarsePrint() {
71
+ if (__classPrivateFieldGet(this, _Printer_running, "f")) {
72
+ return __classPrivateFieldGet(this, _Printer_running, "f");
73
+ }
74
+ const { include } = this, { value } = __classPrivateFieldGet(this, _Printer_textbox, "f"), parsed = await wikiparse.print(value, include, 2, __classPrivateFieldGet(this, _Printer_id, "f"));
75
+ if (this.include !== include || __classPrivateFieldGet(this, _Printer_textbox, "f").value !== value) {
76
+ __classPrivateFieldSet(this, _Printer_running, undefined, "f");
77
+ __classPrivateFieldSet(this, _Printer_running, __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_coarsePrint).call(this), "f");
78
+ return __classPrivateFieldGet(this, _Printer_running, "f");
79
+ }
80
+ __classPrivateFieldSet(this, _Printer_root, parsed, "f");
81
+ __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_paint).call(this);
82
+ __classPrivateFieldSet(this, _Printer_running, undefined, "f");
83
+ __classPrivateFieldSet(this, _Printer_running, __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_finePrint).call(this), "f");
84
+ return __classPrivateFieldGet(this, _Printer_running, "f");
85
+ }, _Printer_finePrint = async function _Printer_finePrint() {
86
+ if (__classPrivateFieldGet(this, _Printer_running, "f")) {
87
+ __classPrivateFieldSet(this, _Printer_viewportChanged, true, "f");
88
+ return __classPrivateFieldGet(this, _Printer_running, "f");
89
+ }
90
+ __classPrivateFieldSet(this, _Printer_viewportChanged, false, "f");
91
+ const { include } = this, { value } = __classPrivateFieldGet(this, _Printer_textbox, "f"), { scrollHeight, offsetHeight: parentHeight, scrollTop, children: [rootNode] } = __classPrivateFieldGet(this, _Printer_preview, "f");
92
+ let text = value, start = 0, { length: end } = __classPrivateFieldGet(this, _Printer_root, "f");
93
+ if (scrollHeight > parentHeight) {
94
+ const childNodes = [...rootNode.childNodes], headings = childNodes.filter(({ className }) => className === 'wpb-heading'), { length } = headings;
95
+ if (length > 0) {
96
+ let i = headings.findIndex(({ offsetTop, offsetHeight }) => offsetTop + offsetHeight > scrollTop);
97
+ i = i === -1 ? length : i;
98
+ let j = headings.slice(i).findIndex(({ offsetTop }) => offsetTop >= scrollTop + parentHeight);
99
+ j = j === -1 ? length : i + j;
100
+ start = i ? childNodes.indexOf(headings[i - 1]) : 0;
101
+ while (i <= j && __classPrivateFieldGet(this, _Printer_root, "f")[start][0] === Infinity) {
102
+ start = childNodes.indexOf(headings[i++]);
103
+ }
104
+ end = j === length ? end : childNodes.indexOf(headings[j]);
105
+ while (i <= j && __classPrivateFieldGet(this, _Printer_root, "f")[end - 1][0] === Infinity) {
106
+ end = childNodes.indexOf(headings[--j]);
107
+ }
108
+ text = __classPrivateFieldGet(this, _Printer_root, "f").slice(start, end).map(([, str]) => str).join('');
109
+ }
110
+ }
111
+ if (start === end) {
112
+ __classPrivateFieldSet(this, _Printer_running, undefined, "f");
113
+ return undefined;
114
+ }
115
+ const parsed = await wikiparse.print(text, include, undefined, __classPrivateFieldGet(this, _Printer_id, "f"));
116
+ if (this.include === include && __classPrivateFieldGet(this, _Printer_textbox, "f").value === value) {
117
+ __classPrivateFieldGet(this, _Printer_root, "f").splice(start, end - start, ...parsed);
118
+ __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_paint).call(this);
119
+ __classPrivateFieldSet(this, _Printer_running, undefined, "f");
120
+ if (__classPrivateFieldGet(this, _Printer_viewportChanged, "f")) {
121
+ __classPrivateFieldSet(this, _Printer_running, __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_finePrint).call(this), "f");
122
+ }
123
+ }
124
+ else {
125
+ __classPrivateFieldSet(this, _Printer_running, undefined, "f");
126
+ __classPrivateFieldSet(this, _Printer_running, __classPrivateFieldGet(this, _Printer_instances, "m", _Printer_coarsePrint).call(this), "f");
127
+ }
128
+ return __classPrivateFieldGet(this, _Printer_running, "f");
129
+ };
130
+ const edit = (textbox, include) => {
131
+ if (!(textbox instanceof HTMLTextAreaElement)) {
132
+ throw new TypeError('wikiparse.edit方法仅可用于textarea元素!');
133
+ }
134
+ const preview = document.createElement('div'), container = document.createElement('div'), printer = new Printer(preview, textbox, include);
135
+ preview.id = 'wikiPretty';
136
+ preview.classList.add('wikiparser', 'active');
137
+ container.classList.add('wikiparse-container');
138
+ textbox.replaceWith(container);
139
+ textbox.classList.add('wikiparsed');
140
+ container.append(preview, textbox);
141
+ textbox.addEventListener('input', e => {
142
+ if (!e.isComposing) {
143
+ printer.queue(2000, 'coarse');
144
+ }
145
+ textbox.style.color = '';
146
+ preview.classList.add('active');
147
+ });
148
+ textbox.addEventListener('scroll', () => {
149
+ if (preview.scrollHeight > preview.offsetHeight && !preview.classList.contains('active')) {
150
+ preview.scrollTop = textbox.scrollTop;
151
+ printer.queue(500, 'fine');
152
+ }
153
+ });
154
+ printer.queue(0, 'coarse');
155
+ return printer;
156
+ };
157
+ wikiparse.Printer = Printer;
158
+ wikiparse.edit = edit;
159
+ })();