wikiparser-node 1.12.6 → 1.12.7-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 (174) hide show
  1. package/bundle/bundle.min.js +37 -0
  2. package/config/default.json +29 -30
  3. package/config/enwiki.json +15 -829
  4. package/config/llwiki.json +21 -56
  5. package/config/moegirl.json +21 -65
  6. package/config/zhwiki.json +28 -494
  7. package/extensions/dist/base.js +163 -0
  8. package/extensions/dist/codejar.js +53 -0
  9. package/extensions/dist/editor.js +159 -0
  10. package/extensions/dist/highlight.js +30 -0
  11. package/extensions/dist/lint.js +72 -0
  12. package/extensions/editor.css +59 -0
  13. package/extensions/ui.css +162 -0
  14. package/package.json +28 -21
  15. package/config/.schema.json +0 -203
  16. package/dist/addon/table.js +0 -494
  17. package/dist/addon/token.js +0 -392
  18. package/dist/addon/transclude.js +0 -184
  19. package/dist/base.d.ts +0 -82
  20. package/dist/base.js +0 -40
  21. package/dist/index.d.ts +0 -33
  22. package/dist/index.js +0 -275
  23. package/dist/internal.d.ts +0 -47
  24. package/dist/lib/element.d.ts +0 -125
  25. package/dist/lib/element.js +0 -377
  26. package/dist/lib/node.d.ts +0 -173
  27. package/dist/lib/node.js +0 -478
  28. package/dist/lib/range.d.ts +0 -105
  29. package/dist/lib/range.js +0 -406
  30. package/dist/lib/ranges.d.ts +0 -28
  31. package/dist/lib/ranges.js +0 -126
  32. package/dist/lib/rect.d.ts +0 -18
  33. package/dist/lib/rect.js +0 -36
  34. package/dist/lib/text.d.ts +0 -58
  35. package/dist/lib/text.js +0 -414
  36. package/dist/lib/title.d.ts +0 -49
  37. package/dist/lib/title.js +0 -253
  38. package/dist/mixin/attributesParent.d.ts +0 -49
  39. package/dist/mixin/attributesParent.js +0 -80
  40. package/dist/mixin/fixed.d.ts +0 -5
  41. package/dist/mixin/fixed.js +0 -32
  42. package/dist/mixin/flagsParent.d.ts +0 -43
  43. package/dist/mixin/flagsParent.js +0 -64
  44. package/dist/mixin/hidden.d.ts +0 -7
  45. package/dist/mixin/hidden.js +0 -39
  46. package/dist/mixin/magicLinkParent.d.ts +0 -19
  47. package/dist/mixin/magicLinkParent.js +0 -43
  48. package/dist/mixin/singleLine.d.ts +0 -5
  49. package/dist/mixin/singleLine.js +0 -25
  50. package/dist/mixin/sol.d.ts +0 -6
  51. package/dist/mixin/sol.js +0 -45
  52. package/dist/mixin/syntax.d.ts +0 -8
  53. package/dist/mixin/syntax.js +0 -46
  54. package/dist/parser/braces.js +0 -152
  55. package/dist/parser/commentAndExt.js +0 -84
  56. package/dist/parser/converter.js +0 -41
  57. package/dist/parser/externalLinks.js +0 -39
  58. package/dist/parser/hrAndDoubleUnderscore.js +0 -44
  59. package/dist/parser/html.js +0 -40
  60. package/dist/parser/links.js +0 -103
  61. package/dist/parser/list.js +0 -116
  62. package/dist/parser/magicLinks.js +0 -55
  63. package/dist/parser/quotes.js +0 -69
  64. package/dist/parser/redirect.js +0 -28
  65. package/dist/parser/selector.js +0 -393
  66. package/dist/parser/table.js +0 -125
  67. package/dist/src/arg.d.ts +0 -49
  68. package/dist/src/arg.js +0 -220
  69. package/dist/src/atom.d.ts +0 -14
  70. package/dist/src/atom.js +0 -54
  71. package/dist/src/attribute.d.ts +0 -64
  72. package/dist/src/attribute.js +0 -482
  73. package/dist/src/attributes.d.ts +0 -103
  74. package/dist/src/attributes.js +0 -380
  75. package/dist/src/converter.d.ts +0 -28
  76. package/dist/src/converter.js +0 -153
  77. package/dist/src/converterFlags.d.ts +0 -80
  78. package/dist/src/converterFlags.js +0 -241
  79. package/dist/src/converterRule.d.ts +0 -71
  80. package/dist/src/converterRule.js +0 -218
  81. package/dist/src/extLink.d.ts +0 -36
  82. package/dist/src/extLink.js +0 -223
  83. package/dist/src/gallery.d.ts +0 -51
  84. package/dist/src/gallery.js +0 -166
  85. package/dist/src/heading.d.ts +0 -44
  86. package/dist/src/heading.js +0 -222
  87. package/dist/src/hidden.d.ts +0 -9
  88. package/dist/src/hidden.js +0 -82
  89. package/dist/src/html.d.ts +0 -61
  90. package/dist/src/html.js +0 -344
  91. package/dist/src/imageParameter.d.ts +0 -60
  92. package/dist/src/imageParameter.js +0 -262
  93. package/dist/src/imagemap.d.ts +0 -47
  94. package/dist/src/imagemap.js +0 -148
  95. package/dist/src/imagemapLink.d.ts +0 -35
  96. package/dist/src/imagemapLink.js +0 -99
  97. package/dist/src/index.d.ts +0 -136
  98. package/dist/src/index.js +0 -790
  99. package/dist/src/link/base.d.ts +0 -52
  100. package/dist/src/link/base.js +0 -258
  101. package/dist/src/link/category.d.ts +0 -22
  102. package/dist/src/link/category.js +0 -36
  103. package/dist/src/link/file.d.ts +0 -102
  104. package/dist/src/link/file.js +0 -345
  105. package/dist/src/link/galleryImage.d.ts +0 -29
  106. package/dist/src/link/galleryImage.js +0 -133
  107. package/dist/src/link/index.d.ts +0 -39
  108. package/dist/src/link/index.js +0 -100
  109. package/dist/src/link/redirectTarget.d.ts +0 -27
  110. package/dist/src/link/redirectTarget.js +0 -71
  111. package/dist/src/magicLink.d.ts +0 -57
  112. package/dist/src/magicLink.js +0 -261
  113. package/dist/src/nested.d.ts +0 -40
  114. package/dist/src/nested.js +0 -108
  115. package/dist/src/nowiki/base.d.ts +0 -28
  116. package/dist/src/nowiki/base.js +0 -90
  117. package/dist/src/nowiki/comment.d.ts +0 -14
  118. package/dist/src/nowiki/comment.js +0 -123
  119. package/dist/src/nowiki/dd.d.ts +0 -8
  120. package/dist/src/nowiki/dd.js +0 -74
  121. package/dist/src/nowiki/doubleUnderscore.d.ts +0 -15
  122. package/dist/src/nowiki/doubleUnderscore.js +0 -101
  123. package/dist/src/nowiki/hr.d.ts +0 -5
  124. package/dist/src/nowiki/hr.js +0 -72
  125. package/dist/src/nowiki/index.d.ts +0 -14
  126. package/dist/src/nowiki/index.js +0 -30
  127. package/dist/src/nowiki/list.d.ts +0 -5
  128. package/dist/src/nowiki/list.js +0 -67
  129. package/dist/src/nowiki/listBase.d.ts +0 -23
  130. package/dist/src/nowiki/listBase.js +0 -100
  131. package/dist/src/nowiki/noinclude.d.ts +0 -6
  132. package/dist/src/nowiki/noinclude.js +0 -77
  133. package/dist/src/nowiki/quote.d.ts +0 -14
  134. package/dist/src/nowiki/quote.js +0 -149
  135. package/dist/src/onlyinclude.d.ts +0 -13
  136. package/dist/src/onlyinclude.js +0 -60
  137. package/dist/src/paramTag/index.d.ts +0 -28
  138. package/dist/src/paramTag/index.js +0 -80
  139. package/dist/src/paramTag/inputbox.d.ts +0 -8
  140. package/dist/src/paramTag/inputbox.js +0 -24
  141. package/dist/src/parameter.d.ts +0 -60
  142. package/dist/src/parameter.js +0 -267
  143. package/dist/src/pre.d.ts +0 -28
  144. package/dist/src/pre.js +0 -62
  145. package/dist/src/redirect.d.ts +0 -30
  146. package/dist/src/redirect.js +0 -128
  147. package/dist/src/syntax.d.ts +0 -15
  148. package/dist/src/syntax.js +0 -87
  149. package/dist/src/table/base.d.ts +0 -28
  150. package/dist/src/table/base.js +0 -81
  151. package/dist/src/table/index.d.ts +0 -230
  152. package/dist/src/table/index.js +0 -506
  153. package/dist/src/table/td.d.ts +0 -72
  154. package/dist/src/table/td.js +0 -375
  155. package/dist/src/table/tr.d.ts +0 -30
  156. package/dist/src/table/tr.js +0 -61
  157. package/dist/src/table/trBase.d.ts +0 -49
  158. package/dist/src/table/trBase.js +0 -165
  159. package/dist/src/tagPair/ext.d.ts +0 -29
  160. package/dist/src/tagPair/ext.js +0 -229
  161. package/dist/src/tagPair/include.d.ts +0 -33
  162. package/dist/src/tagPair/include.js +0 -132
  163. package/dist/src/tagPair/index.d.ts +0 -23
  164. package/dist/src/tagPair/index.js +0 -130
  165. package/dist/src/transclude.d.ts +0 -159
  166. package/dist/src/transclude.js +0 -598
  167. package/dist/util/constants.js +0 -26
  168. package/dist/util/debug.js +0 -95
  169. package/dist/util/diff.js +0 -83
  170. package/dist/util/html.js +0 -146
  171. package/dist/util/lint.js +0 -32
  172. package/dist/util/string.js +0 -107
  173. package/errors/README +0 -3
  174. package/printed/README +0 -3
@@ -662,7 +662,32 @@
662
662
  ]
663
663
  ],
664
664
  "doubleUnderscore": [
665
- [],
665
+ [
666
+ "forcetoc",
667
+ "强显目录",
668
+ "強制目錄",
669
+ "nocc",
670
+ "nocontentconvert",
671
+ "不转换内容",
672
+ "不轉換內容",
673
+ "noeditsection",
674
+ "无段落编辑",
675
+ "无编辑段落",
676
+ "無段落編輯",
677
+ "nogallery",
678
+ "无图库",
679
+ "無圖庫",
680
+ "notc",
681
+ "notitleconvert",
682
+ "不转换标题",
683
+ "不轉換標題",
684
+ "notoc",
685
+ "无目录",
686
+ "無目錄",
687
+ "toc",
688
+ "目录",
689
+ "目錄"
690
+ ],
666
691
  [
667
692
  "EXPECTUNUSEDCATEGORY",
668
693
  "DISAMBIG",
@@ -683,501 +708,10 @@
683
708
  "靜態重新導向",
684
709
  "NOGLOBAL",
685
710
  "EXPECTED_UNCONNECTED_PAGE"
686
- ],
687
- {
688
- "forcetoc": "forcetoc",
689
- "强显目录": "forcetoc",
690
- "強制目錄": "forcetoc",
691
- "nocc": "nocontentconvert",
692
- "nocontentconvert": "nocontentconvert",
693
- "不转换内容": "nocontentconvert",
694
- "不轉換內容": "nocontentconvert",
695
- "noeditsection": "noeditsection",
696
- "无段落编辑": "noeditsection",
697
- "无编辑段落": "noeditsection",
698
- "無段落編輯": "noeditsection",
699
- "nogallery": "nogallery",
700
- "无图库": "nogallery",
701
- "無圖庫": "nogallery",
702
- "notc": "notitleconvert",
703
- "notitleconvert": "notitleconvert",
704
- "不转换标题": "notitleconvert",
705
- "不轉換標題": "notitleconvert",
706
- "notoc": "notoc",
707
- "无目录": "notoc",
708
- "無目錄": "notoc",
709
- "toc": "toc",
710
- "目录": "toc",
711
- "目錄": "toc"
712
- }
711
+ ]
713
712
  ],
714
713
  "protocol": "bitcoin:|ftp://|ftps://|geo:|git://|gopher://|http://|https://|irc://|ircs://|magnet:|mailto:|matrix:|mms://|news:|nntp://|redis://|sftp://|sip:|sips:|sms:|ssh://|svn://|tel:|telnet://|urn:|worldwind://|xmpp:",
715
- "interwiki": [
716
- "acronym",
717
- "advisory",
718
- "advogato",
719
- "aew",
720
- "appropedia",
721
- "aquariumwiki",
722
- "arborwiki",
723
- "arxiv",
724
- "baden",
725
- "battlestarwiki",
726
- "bcnbio",
727
- "beacha",
728
- "betawiki",
729
- "bibcode",
730
- "bibliowiki",
731
- "bluwiki",
732
- "botwiki",
733
- "boxrec",
734
- "bugzilla",
735
- "bulba",
736
- "c",
737
- "c2",
738
- "c2find",
739
- "cache",
740
- "ĉej",
741
- "centralwikia",
742
- "chej",
743
- "choralwiki",
744
- "citizendium",
745
- "comixpedia",
746
- "commons",
747
- "communityscheme",
748
- "communitywiki",
749
- "comune",
750
- "creativecommons",
751
- "creativecommonswiki",
752
- "cxej",
753
- "dcc",
754
- "dcdatabase",
755
- "dcma",
756
- "debian",
757
- "delicious",
758
- "devmo",
759
- "dico",
760
- "dicoado",
761
- "dictionary",
762
- "dict",
763
- "disinfopedia",
764
- "distributedproofreaders",
765
- "distributedproofreadersca",
766
- "dmoz",
767
- "dmozs",
768
- "doi",
769
- "donate",
770
- "doom_wiki",
771
- "download",
772
- "dbdump",
773
- "dpd",
774
- "dpla",
775
- "drae",
776
- "dreamhost",
777
- "drumcorpswiki",
778
- "dwjwiki",
779
- "ecoreality",
780
- "elibre",
781
- "emacswiki",
782
- "encyc",
783
- "energiewiki",
784
- "englyphwiki",
785
- "enkol",
786
- "eokulturcentro",
787
- "esolang",
788
- "etherpad",
789
- "ethnologue",
790
- "ethnologuefamily",
791
- "evowiki",
792
- "exotica",
793
- "fanimutationwiki",
794
- "fedora",
795
- "finalfantasy",
796
- "finnix",
797
- "flickruser",
798
- "flickrphoto",
799
- "floralwiki",
800
- "foldoc",
801
- "foundation",
802
- "foundationsite",
803
- "foxwiki",
804
- "freebio",
805
- "freebsdman",
806
- "freeculturewiki",
807
- "freedomdefined",
808
- "freefeel",
809
- "freekiwiki",
810
- "freenode",
811
- "freesoft",
812
- "ganfyd",
813
- "gardenology",
814
- "gausswiki",
815
- "gentoo",
816
- "genwiki",
817
- "gerrit",
818
- "git",
819
- "gitlab",
820
- "globalcontribs",
821
- "glottolog",
822
- "glottopedia",
823
- "google",
824
- "googledefine",
825
- "googlegroups",
826
- "guildwarswiki",
827
- "guildwiki",
828
- "gucprefix",
829
- "gutenberg",
830
- "gutenbergwiki",
831
- "hackerspaces",
832
- "h2wiki",
833
- "hammondwiki",
834
- "hdl",
835
- "heraldik",
836
- "horizonlabs",
837
- "hrwiki",
838
- "hrfwiki",
839
- "hupwiki",
840
- "iarchive",
841
- "imdbname",
842
- "imdbtitle",
843
- "imdbcompany",
844
- "imdbcharacter",
845
- "incubator",
846
- "infosecpedia",
847
- "infosphere",
848
- "irc",
849
- "ircs",
850
- "ircrc",
851
- "rcirc",
852
- "iso639-3",
853
- "issn",
854
- "iuridictum",
855
- "jaglyphwiki",
856
- "jefo",
857
- "jerseydatabase",
858
- "jira",
859
- "jspwiki",
860
- "jstor",
861
- "kamelo",
862
- "karlsruhe",
863
- "kinowiki",
864
- "komicawiki",
865
- "kontuwiki",
866
- "lexemes",
867
- "liberachat",
868
- "libreplanet",
869
- "lingualibre",
870
- "linguistlist",
871
- "linuxwiki",
872
- "linuxwikide",
873
- "listarchive",
874
- "liswiki",
875
- "literateprograms",
876
- "livepedia",
877
- "localwiki",
878
- "lojban",
879
- "lokalhistoriewiki",
880
- "lostpedia",
881
- "lqwiki",
882
- "luxo",
883
- "mail",
884
- "mailarchive",
885
- "mariowiki",
886
- "marveldatabase",
887
- "meatball",
888
- "mw",
889
- "mediazilla",
890
- "memoryalpha",
891
- "metawiki",
892
- "metawikimedia",
893
- "metawikipedia",
894
- "mineralienatlas",
895
- "mixnmatch",
896
- "moinmoin",
897
- "monstropedia",
898
- "mosapedia",
899
- "mozcom",
900
- "mozillawiki",
901
- "mozillazinekb",
902
- "musicbrainz",
903
- "mediawikiwiki",
904
- "mwod",
905
- "mwot",
906
- "nkcells",
907
- "nlab",
908
- "nara",
909
- "nosmoke",
910
- "nost",
911
- "nostalgia",
912
- "oeis",
913
- "oldwikisource",
914
- "olpc",
915
- "omegawiki",
916
- "onelook",
917
- "openlibrary",
918
- "openstreetmap",
919
- "openwetware",
920
- "opera7wiki",
921
- "organicdesign",
922
- "orthodoxwiki",
923
- "osmwiki",
924
- "otrs",
925
- "otrswiki",
926
- "ourmedia",
927
- "outreach",
928
- "outreachwiki",
929
- "owasp",
930
- "panawiki",
931
- "patwiki",
932
- "paws",
933
- "personaltelco",
934
- "petscan",
935
- "phab",
936
- "phabricator",
937
- "phwiki",
938
- "phpwiki",
939
- "planetmath",
940
- "pmeg",
941
- "pmid",
942
- "pokewiki",
943
- "pokéwiki",
944
- "policy",
945
- "proofwiki",
946
- "pyrev",
947
- "pythoninfo",
948
- "pythonwiki",
949
- "pywiki",
950
- "quality",
951
- "quarry",
952
- "regiowiki",
953
- "rev",
954
- "revo",
955
- "rfc",
956
- "rheinneckar",
957
- "robowiki",
958
- "rodovid",
959
- "rowiki",
960
- "rt",
961
- "s23wiki",
962
- "scholar",
963
- "schoolswp",
964
- "scores",
965
- "scoutwiki",
966
- "scramble",
967
- "seapig",
968
- "seattlewiki",
969
- "slwiki",
970
- "semantic-mw",
971
- "senseislibrary",
972
- "sep11",
973
- "sharemap",
974
- "silcode",
975
- "slashdot",
976
- "sourceforge",
977
- "spcom",
978
- "species",
979
- "squeak",
980
- "stats",
981
- "stewardry",
982
- "strategy",
983
- "strategywiki",
984
- "sulutil",
985
- "swtrain",
986
- "svn",
987
- "swinbrain",
988
- "tabwiki",
989
- "tclerswiki",
990
- "technorati",
991
- "tenwiki",
992
- "testwiki",
993
- "testwikidata",
994
- "test2wiki",
995
- "tfwiki",
996
- "thelemapedia",
997
- "theopedia",
998
- "thinkwiki",
999
- "ticket",
1000
- "tmbw",
1001
- "tmnet",
1002
- "tmwiki",
1003
- "toolforge",
1004
- "toollabs",
1005
- "tools",
1006
- "tswiki",
1007
- "translatewiki",
1008
- "tviv",
1009
- "tvtropes",
1010
- "twiki",
1011
- "twl",
1012
- "tyvawiki",
1013
- "umap",
1014
- "uncyclopedia",
1015
- "unihan",
1016
- "unreal",
1017
- "urbandict",
1018
- "usej",
1019
- "usemod",
1020
- "usability",
1021
- "utrs",
1022
- "vikidia",
1023
- "viaf",
1024
- "vlos",
1025
- "vkol",
1026
- "votewiki",
1027
- "vrtwiki",
1028
- "vrts",
1029
- "weirdgloop",
1030
- "werelate",
1031
- "wg",
1032
- "wikia",
1033
- "wikiasite",
1034
- "wikiapiary",
1035
- "wikibooks",
1036
- "wikichristian",
1037
- "wikicities",
1038
- "wikicity",
1039
- "wikiconference",
1040
- "wikidata",
1041
- "wikiedudashboard",
1042
- "wikif1",
1043
- "wikifur",
1044
- "wikihow",
1045
- "wikiindex",
1046
- "wikilemon",
1047
- "wikilivres",
1048
- "wikilivresru",
1049
- "wikimac-de",
1050
- "wikimedia",
1051
- "wikinews",
1052
- "wikinfo",
1053
- "wikinvest",
1054
- "wikiotics",
1055
- "wikipapers",
1056
- "wikipedia",
1057
- "wikipediawikipedia",
1058
- "wikiquote",
1059
- "wikisophia",
1060
- "wikisource",
1061
- "wikisp",
1062
- "wikispecies",
1063
- "wikispot",
1064
- "wikiskripta",
1065
- "wikitech",
1066
- "labsconsole",
1067
- "wikiti",
1068
- "wikiversity",
1069
- "wikivoyage",
1070
- "betawikiversity",
1071
- "wikiwikiweb",
1072
- "wiktionary",
1073
- "wlug",
1074
- "wmam",
1075
- "wmar",
1076
- "wmat",
1077
- "wmau",
1078
- "wmbd",
1079
- "wmbe",
1080
- "wmbr",
1081
- "wmca",
1082
- "wmch",
1083
- "wmcl",
1084
- "wmcn",
1085
- "wmco",
1086
- "wmcz",
1087
- "wmcz_docs",
1088
- "wmcz_old",
1089
- "wmdc",
1090
- "securewikidc",
1091
- "wmde",
1092
- "wmdk",
1093
- "wmee",
1094
- "wmec",
1095
- "wmes",
1096
- "wmet",
1097
- "wmfdashboard",
1098
- "wmfi",
1099
- "wmfr",
1100
- "wmge",
1101
- "wmhi",
1102
- "wmhk",
1103
- "wmhu",
1104
- "wmid",
1105
- "wmil",
1106
- "wmin",
1107
- "wmit",
1108
- "wmke",
1109
- "wmmk",
1110
- "wmmx",
1111
- "wmnl",
1112
- "wmnyc",
1113
- "wmno",
1114
- "wmpa-us",
1115
- "wmph",
1116
- "wmpl",
1117
- "wmplsite",
1118
- "wmpt",
1119
- "wmpunjabi",
1120
- "wmromd",
1121
- "wmrs",
1122
- "wmru",
1123
- "wmse",
1124
- "wmsk",
1125
- "wmtr",
1126
- "wmtw",
1127
- "wmua",
1128
- "wmuk",
1129
- "wmve",
1130
- "wmza",
1131
- "wm2005",
1132
- "wm2006",
1133
- "wm2007",
1134
- "wm2008",
1135
- "wm2009",
1136
- "wm2010",
1137
- "wm2011",
1138
- "wm2012",
1139
- "wm2013",
1140
- "wm2014",
1141
- "wm2015",
1142
- "wm2016",
1143
- "wm2017",
1144
- "wm2018",
1145
- "wmania",
1146
- "wikimania",
1147
- "wikispore",
1148
- "wmteam",
1149
- "wmf",
1150
- "wmfblog",
1151
- "wmdeblog",
1152
- "wookieepedia",
1153
- "wowwiki",
1154
- "wqy",
1155
- "wurmpedia",
1156
- "xtools",
1157
- "zrhwiki",
1158
- "zum",
1159
- "zwiki",
1160
- "m",
1161
- "meta",
1162
- "d",
1163
- "cz",
1164
- "dk",
1165
- "epo",
1166
- "jp",
1167
- "minnan",
1168
- "zh-cfr",
1169
- "cmn",
1170
- "en-simple",
1171
- "w",
1172
- "wikt",
1173
- "q",
1174
- "b",
1175
- "n",
1176
- "s",
1177
- "chapter",
1178
- "v",
1179
- "voy"
1180
- ],
714
+ "interwiki": [],
1181
715
  "img": {
1182
716
  "thumbnail": "thumbnail",
1183
717
  "thumb": "thumbnail",
@@ -0,0 +1,163 @@
1
+ (() => {
2
+ const version = '1.12.7';
3
+ const workerJS = () => {
4
+ importScripts(`https://testingcf.jsdelivr.net/npm/wikiparser-node@$VERSION-b/bundle/bundle.min.js`);
5
+ const entities = { '&': 'amp', '<': 'lt', '>': 'gt' };
6
+ self.onmessage = ({ data }) => {
7
+ const [command, qid, wikitext, include, stage] = 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 'json':
19
+ postMessage([qid, Parser.parse(wikitext, include, stage).json()]);
20
+ break;
21
+ case 'lint':
22
+ postMessage([qid, Parser.parse(wikitext, include).lint(), wikitext]);
23
+ break;
24
+ case 'print':
25
+ postMessage([
26
+ qid,
27
+ Parser.parse(wikitext, include, stage).childNodes.map(child => [
28
+ stage !== null && stage !== void 0 ? stage : Infinity,
29
+ String(child),
30
+ child.type === 'text'
31
+ ? String(child).replace(/[&<>]/gu, p => `&${entities[p]};`)
32
+ : child.print(),
33
+ ]),
34
+ ]);
35
+ }
36
+ };
37
+ };
38
+ const blob = new Blob([`(${String(workerJS).replace('$VERSION', version)})()`], { type: 'text/javascript' }), url = URL.createObjectURL(blob), worker = new Worker(url);
39
+ URL.revokeObjectURL(url);
40
+ const getListener = (qid, resolve, raw) => {
41
+ const listener = ({ data: [rid, res, resRaw] }) => {
42
+ if (rid === qid && (raw === undefined || raw === resRaw)) {
43
+ worker.removeEventListener('message', listener);
44
+ resolve(res);
45
+ }
46
+ };
47
+ return listener;
48
+ };
49
+ const setI18N = (i18n) => {
50
+ worker.postMessage(['setI18N', i18n]);
51
+ };
52
+ const setConfig = (config) => {
53
+ worker.postMessage(['setConfig', config]);
54
+ };
55
+ const getFeedback = (command, qid, strict, raw, ...args) => new Promise(resolve => {
56
+ worker.addEventListener('message', getListener(qid, resolve, strict ? raw : undefined));
57
+ worker.postMessage([command, qid, raw, ...args]);
58
+ });
59
+ const getConfig = () => getFeedback('getConfig', -3);
60
+ const json = (wikitext, include, qid = -4, stage) => getFeedback('json', qid, false, wikitext, include, stage);
61
+ const print = (wikitext, include, stage, qid = -1) => getFeedback('print', qid, false, wikitext, include, stage);
62
+ const lint = (wikitext, include, qid = -2) => getFeedback('lint', qid, true, wikitext, include);
63
+ const append = (parent, text) => {
64
+ if (text) {
65
+ parent.append(text);
66
+ }
67
+ };
68
+ const splitNewLine = (html) => {
69
+ let cur = html.cloneNode();
70
+ cur.style.padding = '';
71
+ const result = [cur];
72
+ for (const child of html.childNodes) {
73
+ const { textContent } = child;
74
+ if (!(textContent === null || textContent === void 0 ? void 0 : textContent.includes('\n'))) {
75
+ cur.append(child.cloneNode(true));
76
+ continue;
77
+ }
78
+ const lines = child.nodeType === Node.TEXT_NODE ? textContent.split('\n') : splitNewLine(child);
79
+ append(cur, lines[0]);
80
+ for (const text of lines.slice(1)) {
81
+ cur = html.cloneNode();
82
+ cur.style.padding = '';
83
+ result.push(cur);
84
+ append(cur, text);
85
+ }
86
+ }
87
+ return result;
88
+ };
89
+ const getGutter = (container) => container.querySelector('.wikiparser-line-numbers');
90
+ const size = (html) => {
91
+ const container = html.parentElement, gutter = getGutter(container);
92
+ if (!gutter) {
93
+ intersectionObserver.unobserve(html);
94
+ return;
95
+ }
96
+ html.style.marginLeft = '';
97
+ const start = Number(html.dataset['start'] || 1), lines = splitNewLine(html), width = `${String(lines.length + start - 1).length + 1.5}ch`;
98
+ html.style.marginLeft = width;
99
+ gutter.style.width = width;
100
+ const sizer = document.createElement('span'), { style: { paddingLeft, paddingRight } } = html;
101
+ sizer.className = 'wikiparser-sizer';
102
+ sizer.style.paddingLeft = paddingLeft;
103
+ sizer.style.paddingRight = paddingRight;
104
+ for (const child of lines) {
105
+ sizer.append(child, '\n');
106
+ }
107
+ html.append(sizer);
108
+ let line, lastTop;
109
+ for (let i = 0; i < lines.length; i++) {
110
+ const child = lines[i], { top } = child.getBoundingClientRect();
111
+ if (line) {
112
+ line.style.height = `${top - lastTop}px`;
113
+ }
114
+ line = document.createElement('span');
115
+ line.textContent = String(i + start);
116
+ gutter.append(line);
117
+ lastTop = top;
118
+ }
119
+ if (line) {
120
+ const noScroll = html.offsetHeight <= container.clientHeight;
121
+ if (html.isContentEditable) {
122
+ line.style.height = `${container.clientHeight}px`;
123
+ }
124
+ else if (noScroll) {
125
+ line.style.height = `${container.getBoundingClientRect().top + container.scrollHeight - lastTop}px`;
126
+ container.style.overflowY = 'hidden';
127
+ }
128
+ else {
129
+ line.style.height = `${html.getBoundingClientRect().bottom - lastTop}px`;
130
+ container.style.overflowY = '';
131
+ }
132
+ }
133
+ sizer.remove();
134
+ intersectionObserver.unobserve(html);
135
+ };
136
+ const intersectionObserver = new IntersectionObserver(entries => {
137
+ for (const entry of entries) {
138
+ if (!entry.isIntersecting) {
139
+ continue;
140
+ }
141
+ size(entry.target);
142
+ }
143
+ });
144
+ const lineNumbers = (html, start = 1, paddingTop = '') => {
145
+ const container = html.parentElement, gutter = document.createElement('span');
146
+ html.dataset['start'] = String(start);
147
+ gutter.className = 'wikiparser-line-numbers';
148
+ gutter.style.paddingTop = paddingTop;
149
+ container.classList.add('wikiparse-container');
150
+ container.append(gutter);
151
+ if (getComputedStyle(html).whiteSpace !== 'pre') {
152
+ html.style.whiteSpace = 'pre-wrap';
153
+ }
154
+ if (html.offsetParent) {
155
+ size(html);
156
+ }
157
+ else {
158
+ intersectionObserver.observe(html);
159
+ }
160
+ };
161
+ const wikiparse = { version, id: 0, setI18N, setConfig, getConfig, print, lint, json, lineNumbers };
162
+ Object.assign(window, { wikiparse });
163
+ })();