wikiparser-node 1.12.2 → 1.12.3-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 +52 -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 -486
  17. package/dist/addon/token.js +0 -391
  18. package/dist/addon/transclude.js +0 -184
  19. package/dist/base.d.ts +0 -81
  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 -376
  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 -54
  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 -51
  68. package/dist/src/arg.js +0 -225
  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 -478
  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 -150
  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 -47
  84. package/dist/src/gallery.js +0 -145
  85. package/dist/src/heading.d.ts +0 -42
  86. package/dist/src/heading.js +0 -209
  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 -779
  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 -335
  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 -217
  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 -145
  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
@@ -659,7 +659,32 @@
659
659
  ]
660
660
  ],
661
661
  "doubleUnderscore": [
662
- [],
662
+ [
663
+ "forcetoc",
664
+ "强显目录",
665
+ "強制目錄",
666
+ "nocc",
667
+ "nocontentconvert",
668
+ "不转换内容",
669
+ "不轉換內容",
670
+ "noeditsection",
671
+ "无段落编辑",
672
+ "无编辑段落",
673
+ "無段落編輯",
674
+ "nogallery",
675
+ "无图库",
676
+ "無圖庫",
677
+ "notc",
678
+ "notitleconvert",
679
+ "不转换标题",
680
+ "不轉換標題",
681
+ "notoc",
682
+ "无目录",
683
+ "無目錄",
684
+ "toc",
685
+ "目录",
686
+ "目錄"
687
+ ],
663
688
  [
664
689
  "EXPECTUNUSEDCATEGORY",
665
690
  "DISAMBIG",
@@ -680,501 +705,10 @@
680
705
  "靜態重新導向",
681
706
  "NOGLOBAL",
682
707
  "EXPECTED_UNCONNECTED_PAGE"
683
- ],
684
- {
685
- "forcetoc": "forcetoc",
686
- "强显目录": "forcetoc",
687
- "強制目錄": "forcetoc",
688
- "nocc": "nocontentconvert",
689
- "nocontentconvert": "nocontentconvert",
690
- "不转换内容": "nocontentconvert",
691
- "不轉換內容": "nocontentconvert",
692
- "noeditsection": "noeditsection",
693
- "无段落编辑": "noeditsection",
694
- "无编辑段落": "noeditsection",
695
- "無段落編輯": "noeditsection",
696
- "nogallery": "nogallery",
697
- "无图库": "nogallery",
698
- "無圖庫": "nogallery",
699
- "notc": "notitleconvert",
700
- "notitleconvert": "notitleconvert",
701
- "不转换标题": "notitleconvert",
702
- "不轉換標題": "notitleconvert",
703
- "notoc": "notoc",
704
- "无目录": "notoc",
705
- "無目錄": "notoc",
706
- "toc": "toc",
707
- "目录": "toc",
708
- "目錄": "toc"
709
- }
708
+ ]
710
709
  ],
711
710
  "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:",
712
- "interwiki": [
713
- "acronym",
714
- "advisory",
715
- "advogato",
716
- "aew",
717
- "appropedia",
718
- "aquariumwiki",
719
- "arborwiki",
720
- "arxiv",
721
- "baden",
722
- "battlestarwiki",
723
- "bcnbio",
724
- "beacha",
725
- "betawiki",
726
- "bibcode",
727
- "bibliowiki",
728
- "bluwiki",
729
- "botwiki",
730
- "boxrec",
731
- "bugzilla",
732
- "bulba",
733
- "c",
734
- "c2",
735
- "c2find",
736
- "cache",
737
- "ĉej",
738
- "centralwikia",
739
- "chej",
740
- "choralwiki",
741
- "citizendium",
742
- "comixpedia",
743
- "commons",
744
- "communityscheme",
745
- "communitywiki",
746
- "comune",
747
- "creativecommons",
748
- "creativecommonswiki",
749
- "cxej",
750
- "dcc",
751
- "dcdatabase",
752
- "dcma",
753
- "debian",
754
- "delicious",
755
- "devmo",
756
- "dico",
757
- "dicoado",
758
- "dictionary",
759
- "dict",
760
- "disinfopedia",
761
- "distributedproofreaders",
762
- "distributedproofreadersca",
763
- "dmoz",
764
- "dmozs",
765
- "doi",
766
- "donate",
767
- "doom_wiki",
768
- "download",
769
- "dbdump",
770
- "dpd",
771
- "dpla",
772
- "drae",
773
- "dreamhost",
774
- "drumcorpswiki",
775
- "dwjwiki",
776
- "ecoreality",
777
- "elibre",
778
- "emacswiki",
779
- "encyc",
780
- "energiewiki",
781
- "englyphwiki",
782
- "enkol",
783
- "eokulturcentro",
784
- "esolang",
785
- "etherpad",
786
- "ethnologue",
787
- "ethnologuefamily",
788
- "evowiki",
789
- "exotica",
790
- "fanimutationwiki",
791
- "fedora",
792
- "finalfantasy",
793
- "finnix",
794
- "flickruser",
795
- "flickrphoto",
796
- "floralwiki",
797
- "foldoc",
798
- "foundation",
799
- "foundationsite",
800
- "foxwiki",
801
- "freebio",
802
- "freebsdman",
803
- "freeculturewiki",
804
- "freedomdefined",
805
- "freefeel",
806
- "freekiwiki",
807
- "freenode",
808
- "freesoft",
809
- "ganfyd",
810
- "gardenology",
811
- "gausswiki",
812
- "gentoo",
813
- "genwiki",
814
- "gerrit",
815
- "git",
816
- "gitlab",
817
- "globalcontribs",
818
- "glottolog",
819
- "glottopedia",
820
- "google",
821
- "googledefine",
822
- "googlegroups",
823
- "guildwarswiki",
824
- "guildwiki",
825
- "gucprefix",
826
- "gutenberg",
827
- "gutenbergwiki",
828
- "hackerspaces",
829
- "h2wiki",
830
- "hammondwiki",
831
- "hdl",
832
- "heraldik",
833
- "horizonlabs",
834
- "hrwiki",
835
- "hrfwiki",
836
- "hupwiki",
837
- "iarchive",
838
- "imdbname",
839
- "imdbtitle",
840
- "imdbcompany",
841
- "imdbcharacter",
842
- "incubator",
843
- "infosecpedia",
844
- "infosphere",
845
- "irc",
846
- "ircs",
847
- "ircrc",
848
- "rcirc",
849
- "iso639-3",
850
- "issn",
851
- "iuridictum",
852
- "jaglyphwiki",
853
- "jefo",
854
- "jerseydatabase",
855
- "jira",
856
- "jspwiki",
857
- "jstor",
858
- "kamelo",
859
- "karlsruhe",
860
- "kinowiki",
861
- "komicawiki",
862
- "kontuwiki",
863
- "lexemes",
864
- "liberachat",
865
- "libreplanet",
866
- "lingualibre",
867
- "linguistlist",
868
- "linuxwiki",
869
- "linuxwikide",
870
- "listarchive",
871
- "liswiki",
872
- "literateprograms",
873
- "livepedia",
874
- "localwiki",
875
- "lojban",
876
- "lokalhistoriewiki",
877
- "lostpedia",
878
- "lqwiki",
879
- "luxo",
880
- "mail",
881
- "mailarchive",
882
- "mariowiki",
883
- "marveldatabase",
884
- "meatball",
885
- "mw",
886
- "mediazilla",
887
- "memoryalpha",
888
- "metawiki",
889
- "metawikimedia",
890
- "metawikipedia",
891
- "mineralienatlas",
892
- "mixnmatch",
893
- "moinmoin",
894
- "monstropedia",
895
- "mosapedia",
896
- "mozcom",
897
- "mozillawiki",
898
- "mozillazinekb",
899
- "musicbrainz",
900
- "mediawikiwiki",
901
- "mwod",
902
- "mwot",
903
- "nkcells",
904
- "nlab",
905
- "nara",
906
- "nosmoke",
907
- "nost",
908
- "nostalgia",
909
- "oeis",
910
- "oldwikisource",
911
- "olpc",
912
- "omegawiki",
913
- "onelook",
914
- "openlibrary",
915
- "openstreetmap",
916
- "openwetware",
917
- "opera7wiki",
918
- "organicdesign",
919
- "orthodoxwiki",
920
- "osmwiki",
921
- "otrs",
922
- "otrswiki",
923
- "ourmedia",
924
- "outreach",
925
- "outreachwiki",
926
- "owasp",
927
- "panawiki",
928
- "patwiki",
929
- "paws",
930
- "personaltelco",
931
- "petscan",
932
- "phab",
933
- "phabricator",
934
- "phwiki",
935
- "phpwiki",
936
- "planetmath",
937
- "pmeg",
938
- "pmid",
939
- "pokewiki",
940
- "pokéwiki",
941
- "policy",
942
- "proofwiki",
943
- "pyrev",
944
- "pythoninfo",
945
- "pythonwiki",
946
- "pywiki",
947
- "quality",
948
- "quarry",
949
- "regiowiki",
950
- "rev",
951
- "revo",
952
- "rfc",
953
- "rheinneckar",
954
- "robowiki",
955
- "rodovid",
956
- "rowiki",
957
- "rt",
958
- "s23wiki",
959
- "scholar",
960
- "schoolswp",
961
- "scores",
962
- "scoutwiki",
963
- "scramble",
964
- "seapig",
965
- "seattlewiki",
966
- "slwiki",
967
- "semantic-mw",
968
- "senseislibrary",
969
- "sep11",
970
- "sharemap",
971
- "silcode",
972
- "slashdot",
973
- "sourceforge",
974
- "spcom",
975
- "species",
976
- "squeak",
977
- "stats",
978
- "stewardry",
979
- "strategy",
980
- "strategywiki",
981
- "sulutil",
982
- "swtrain",
983
- "svn",
984
- "swinbrain",
985
- "tabwiki",
986
- "tclerswiki",
987
- "technorati",
988
- "tenwiki",
989
- "testwiki",
990
- "testwikidata",
991
- "test2wiki",
992
- "tfwiki",
993
- "thelemapedia",
994
- "theopedia",
995
- "thinkwiki",
996
- "ticket",
997
- "tmbw",
998
- "tmnet",
999
- "tmwiki",
1000
- "toolforge",
1001
- "toollabs",
1002
- "tools",
1003
- "tswiki",
1004
- "translatewiki",
1005
- "tviv",
1006
- "tvtropes",
1007
- "twiki",
1008
- "twl",
1009
- "tyvawiki",
1010
- "umap",
1011
- "uncyclopedia",
1012
- "unihan",
1013
- "unreal",
1014
- "urbandict",
1015
- "usej",
1016
- "usemod",
1017
- "usability",
1018
- "utrs",
1019
- "vikidia",
1020
- "viaf",
1021
- "vlos",
1022
- "vkol",
1023
- "votewiki",
1024
- "vrtwiki",
1025
- "vrts",
1026
- "weirdgloop",
1027
- "werelate",
1028
- "wg",
1029
- "wikia",
1030
- "wikiasite",
1031
- "wikiapiary",
1032
- "wikibooks",
1033
- "wikichristian",
1034
- "wikicities",
1035
- "wikicity",
1036
- "wikiconference",
1037
- "wikidata",
1038
- "wikiedudashboard",
1039
- "wikif1",
1040
- "wikifur",
1041
- "wikihow",
1042
- "wikiindex",
1043
- "wikilemon",
1044
- "wikilivres",
1045
- "wikilivresru",
1046
- "wikimac-de",
1047
- "wikimedia",
1048
- "wikinews",
1049
- "wikinfo",
1050
- "wikinvest",
1051
- "wikiotics",
1052
- "wikipapers",
1053
- "wikipedia",
1054
- "wikipediawikipedia",
1055
- "wikiquote",
1056
- "wikisophia",
1057
- "wikisource",
1058
- "wikisp",
1059
- "wikispecies",
1060
- "wikispot",
1061
- "wikiskripta",
1062
- "wikitech",
1063
- "labsconsole",
1064
- "wikiti",
1065
- "wikiversity",
1066
- "wikivoyage",
1067
- "betawikiversity",
1068
- "wikiwikiweb",
1069
- "wiktionary",
1070
- "wlug",
1071
- "wmam",
1072
- "wmar",
1073
- "wmat",
1074
- "wmau",
1075
- "wmbd",
1076
- "wmbe",
1077
- "wmbr",
1078
- "wmca",
1079
- "wmch",
1080
- "wmcl",
1081
- "wmcn",
1082
- "wmco",
1083
- "wmcz",
1084
- "wmcz_docs",
1085
- "wmcz_old",
1086
- "wmdc",
1087
- "securewikidc",
1088
- "wmde",
1089
- "wmdk",
1090
- "wmee",
1091
- "wmec",
1092
- "wmes",
1093
- "wmet",
1094
- "wmfdashboard",
1095
- "wmfi",
1096
- "wmfr",
1097
- "wmge",
1098
- "wmhi",
1099
- "wmhk",
1100
- "wmhu",
1101
- "wmid",
1102
- "wmil",
1103
- "wmin",
1104
- "wmit",
1105
- "wmke",
1106
- "wmmk",
1107
- "wmmx",
1108
- "wmnl",
1109
- "wmnyc",
1110
- "wmno",
1111
- "wmpa-us",
1112
- "wmph",
1113
- "wmpl",
1114
- "wmplsite",
1115
- "wmpt",
1116
- "wmpunjabi",
1117
- "wmromd",
1118
- "wmrs",
1119
- "wmru",
1120
- "wmse",
1121
- "wmsk",
1122
- "wmtr",
1123
- "wmtw",
1124
- "wmua",
1125
- "wmuk",
1126
- "wmve",
1127
- "wmza",
1128
- "wm2005",
1129
- "wm2006",
1130
- "wm2007",
1131
- "wm2008",
1132
- "wm2009",
1133
- "wm2010",
1134
- "wm2011",
1135
- "wm2012",
1136
- "wm2013",
1137
- "wm2014",
1138
- "wm2015",
1139
- "wm2016",
1140
- "wm2017",
1141
- "wm2018",
1142
- "wmania",
1143
- "wikimania",
1144
- "wikispore",
1145
- "wmteam",
1146
- "wmf",
1147
- "wmfblog",
1148
- "wmdeblog",
1149
- "wookieepedia",
1150
- "wowwiki",
1151
- "wqy",
1152
- "wurmpedia",
1153
- "xtools",
1154
- "zrhwiki",
1155
- "zum",
1156
- "zwiki",
1157
- "m",
1158
- "meta",
1159
- "d",
1160
- "cz",
1161
- "dk",
1162
- "epo",
1163
- "jp",
1164
- "minnan",
1165
- "zh-cfr",
1166
- "cmn",
1167
- "en-simple",
1168
- "w",
1169
- "wikt",
1170
- "q",
1171
- "b",
1172
- "n",
1173
- "s",
1174
- "chapter",
1175
- "v",
1176
- "voy"
1177
- ],
711
+ "interwiki": [],
1178
712
  "img": {
1179
713
  "thumbnail": "thumbnail",
1180
714
  "thumb": "thumbnail",
@@ -0,0 +1,163 @@
1
+ (() => {
2
+ const version = '1.12.3';
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
+ })();