nadesiko3 3.3.45 → 3.3.49

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 (329) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +143 -132
  3. package/batch/browsers.template.md +3 -3
  4. package/batch/build_browsers.nako3 +72 -72
  5. package/batch/build_command.nako3 +44 -44
  6. package/batch/build_nako_version.nako3 +42 -42
  7. package/batch/calc_hash.nako3 +29 -29
  8. package/batch/cmd_txt2json.nako3 +74 -74
  9. package/batch/command.txt +270 -338
  10. package/batch/command_nakopad.txt +9 -69
  11. package/batch/download-extlib.nako3 +43 -43
  12. package/batch/gen_command_nakopad.nako3 +57 -57
  13. package/batch/jsplugin2text.nako3 +285 -285
  14. package/batch/pickup_command.nako3 +110 -110
  15. package/batch/pickup_reserved_words.nako3 +11 -11
  16. package/batch/publish_version.nako3 +46 -46
  17. package/batch/show_agents.js +14 -14
  18. package/batch/turtle2js.nako3 +21 -21
  19. package/bin/cnako3 +10 -10
  20. package/core/.editorconfig +6 -0
  21. package/core/.eslintrc.cjs +33 -0
  22. package/core/.github/dependabot.yml +7 -0
  23. package/core/.github/workflows/nodejs.yml +37 -0
  24. package/core/.github/workflows/super-linter.yml +61 -0
  25. package/core/.github/workflows/textlint.yml +199 -0
  26. package/core/LICENSE +21 -0
  27. package/core/README.md +66 -0
  28. package/core/batch/build_nako_version.nako3 +42 -0
  29. package/core/command/snako.mjs +105 -0
  30. package/core/command/snako.mts +116 -0
  31. package/core/index.mjs +21 -0
  32. package/core/index.mts +21 -0
  33. package/core/package.json +47 -0
  34. package/core/sample/hello.nako3 +7 -0
  35. package/core/sample/hoge.mjs +4 -0
  36. package/core/sample/hoge.mts +6 -0
  37. package/core/src/nako3.mjs +858 -0
  38. package/core/src/nako3.mts +967 -0
  39. package/core/src/nako_colors.mjs +78 -0
  40. package/core/src/nako_colors.mts +86 -0
  41. package/core/src/nako_core_version.mjs +8 -0
  42. package/core/src/nako_core_version.mts +19 -0
  43. package/core/src/nako_csv.mjs +185 -0
  44. package/core/src/nako_csv.mts +188 -0
  45. package/core/src/nako_errors.mjs +173 -0
  46. package/core/src/nako_errors.mts +197 -0
  47. package/core/src/nako_from_dncl.mjs +255 -0
  48. package/core/src/nako_from_dncl.mts +250 -0
  49. package/core/src/nako_gen.mjs +1648 -0
  50. package/core/src/nako_gen.mts +1719 -0
  51. package/core/src/nako_gen_async.mjs +1659 -0
  52. package/core/src/nako_gen_async.mts +1732 -0
  53. package/core/src/nako_global.mjs +107 -0
  54. package/core/src/nako_global.mts +138 -0
  55. package/core/src/nako_indent.mjs +445 -0
  56. package/core/src/nako_indent.mts +492 -0
  57. package/core/src/nako_josi_list.mjs +38 -0
  58. package/core/src/nako_josi_list.mts +45 -0
  59. package/core/src/nako_lex_rules.mjs +253 -0
  60. package/core/src/nako_lex_rules.mts +260 -0
  61. package/core/src/nako_lexer.mjs +609 -0
  62. package/core/src/nako_lexer.mts +612 -0
  63. package/core/src/nako_logger.mjs +199 -0
  64. package/core/src/nako_logger.mts +232 -0
  65. package/core/src/nako_parser3.mjs +2439 -0
  66. package/core/src/nako_parser3.mts +2195 -0
  67. package/core/src/nako_parser_base.mjs +370 -0
  68. package/core/src/nako_parser_base.mts +370 -0
  69. package/core/src/nako_parser_const.mjs +37 -0
  70. package/core/src/nako_parser_const.mts +37 -0
  71. package/core/src/nako_prepare.mjs +304 -0
  72. package/core/src/nako_prepare.mts +315 -0
  73. package/core/src/nako_reserved_words.mjs +38 -0
  74. package/core/src/nako_reserved_words.mts +38 -0
  75. package/core/src/nako_source_mapping.mjs +207 -0
  76. package/core/src/nako_source_mapping.mts +262 -0
  77. package/core/src/nako_test.mjs +37 -0
  78. package/core/src/nako_types.mjs +25 -0
  79. package/core/src/nako_types.mts +151 -0
  80. package/core/src/plugin_csv.mjs +49 -0
  81. package/core/src/plugin_csv.mts +50 -0
  82. package/core/src/plugin_math.mjs +328 -0
  83. package/core/src/plugin_math.mts +326 -0
  84. package/core/src/plugin_promise.mjs +91 -0
  85. package/core/src/plugin_promise.mts +91 -0
  86. package/core/src/plugin_system.mjs +2832 -0
  87. package/core/src/plugin_system.mts +2690 -0
  88. package/core/src/plugin_test.mjs +34 -0
  89. package/core/src/plugin_test.mts +34 -0
  90. package/core/test/array_test.mjs +34 -0
  91. package/core/test/basic_test.mjs +344 -0
  92. package/core/test/calc_test.mjs +140 -0
  93. package/core/test/core_module_test.mjs +23 -0
  94. package/core/test/debug_test.mjs +16 -0
  95. package/core/test/dncl_test.mjs +94 -0
  96. package/core/test/error_message_test.mjs +210 -0
  97. package/core/test/error_test.mjs +16 -0
  98. package/core/test/flow_test.mjs +373 -0
  99. package/core/test/func_call.mjs +160 -0
  100. package/core/test/func_test.mjs +149 -0
  101. package/core/test/indent_test.mjs +364 -0
  102. package/core/test/lex_test.mjs +168 -0
  103. package/core/test/literal_test.mjs +73 -0
  104. package/core/test/nako_lexer_test.mjs +35 -0
  105. package/core/test/nako_logger_test.mjs +76 -0
  106. package/core/test/nako_logger_test.mts +78 -0
  107. package/core/test/plugin_csv_test.mjs +38 -0
  108. package/core/test/plugin_promise_test.mjs +18 -0
  109. package/core/test/plugin_system_test.mjs +630 -0
  110. package/core/test/prepare_test.mjs +96 -0
  111. package/core/test/re_test.mjs +22 -0
  112. package/core/test/side_effects_test.mjs +92 -0
  113. package/core/test/variable_scope_test.mjs +149 -0
  114. package/core/tsconfig.json +101 -0
  115. package/demo/ace_editor.html +89 -89
  116. package/demo/ace_editor_tabs.html +161 -161
  117. package/demo/basic.html +71 -71
  118. package/demo/browsers.html +9 -10
  119. package/demo/css/basic.css +3 -3
  120. package/demo/css/common.css +157 -157
  121. package/demo/css/editor.css +8 -8
  122. package/demo/css/flow.css +3 -3
  123. package/demo/css/index.css +3 -3
  124. package/demo/flow.html +98 -98
  125. package/demo/graph.html +53 -53
  126. package/demo/image/nakopad-icon256.png +0 -0
  127. package/demo/index.html +133 -133
  128. package/demo/js/common.js +17 -17
  129. package/demo/js/turtle3d_test.js +44 -44
  130. package/demo/js/turtle_test.js +45 -45
  131. package/demo/nako3/calc.nako3 +4 -4
  132. package/demo/runscript.html +47 -47
  133. package/demo/runscript2.html +33 -33
  134. package/demo/runscript3.html +35 -35
  135. package/demo/runscript4.html +33 -33
  136. package/demo/turtle.html +58 -58
  137. package/demo/turtle2.html +141 -141
  138. package/demo/turtle3.html +279 -279
  139. package/demo/turtle3d.html +58 -58
  140. package/demo/turtle3d2.html +107 -107
  141. package/demo/version.html +24 -24
  142. package/doc/SETUP.md +157 -157
  143. package/doc/about.md +17 -17
  144. package/doc/browsers.md +26 -26
  145. package/doc/docgen.md +21 -21
  146. package/doc/editor.md +44 -44
  147. package/doc/files.md +39 -39
  148. package/doc/plugins.md +234 -234
  149. package/doc/release.md +79 -79
  150. package/doc/textlint.md +43 -43
  151. package/doc/win32.md +57 -57
  152. package/package.json +195 -192
  153. package/release/_hash.txt +28 -28
  154. package/release/_script-tags.txt +14 -14
  155. package/release/command.json +1 -1
  156. package/release/command.json.js +1 -1
  157. package/release/command_cnako3.json +1 -1
  158. package/release/command_list.json +1 -1
  159. package/release/editor.js +1 -1
  160. package/release/nako_gen_async.js +1 -1
  161. package/release/plugin_csv.js +1 -1
  162. package/release/stats.json +1 -1
  163. package/release/version.js +1 -1
  164. package/release/wnako3.js +1 -1
  165. package/release/wnako3webworker.js +1 -1
  166. package/src/browsers.txt +11 -12
  167. package/src/browsers_agents.json +2 -2
  168. package/src/browsers_agents.mjs +1 -1
  169. package/src/cnako3.mjs +17 -10
  170. package/src/cnako3.mts +18 -12
  171. package/src/cnako3mod.mjs +707 -687
  172. package/src/cnako3mod.mts +712 -696
  173. package/src/commander_ja.mjs +164 -164
  174. package/src/commander_ja.mts +161 -161
  175. package/src/enako3.mjs +68 -69
  176. package/src/era.mjs +22 -22
  177. package/src/image_turtle-elephant.mjs +2 -5
  178. package/src/image_turtle-panda.mjs +2 -5
  179. package/src/image_turtle64.mjs +2 -5
  180. package/src/index.mjs +9 -9
  181. package/src/index.mts +10 -11
  182. package/src/nako3editorfix.sfd +106 -106
  183. package/src/nako_version.mjs +8 -8
  184. package/src/nako_version.mts +2 -2
  185. package/src/plugin_browser.mjs +213 -212
  186. package/src/plugin_browser.mts +206 -205
  187. package/src/plugin_browser_ajax.mjs +399 -399
  188. package/src/plugin_browser_audio.mjs +109 -109
  189. package/src/plugin_browser_canvas.mjs +449 -449
  190. package/src/plugin_browser_chart.mjs +294 -294
  191. package/src/plugin_browser_color.mjs +49 -49
  192. package/src/plugin_browser_crypto.mjs +26 -26
  193. package/src/plugin_browser_dialog.mjs +53 -53
  194. package/src/plugin_browser_dom_basic.mjs +336 -336
  195. package/src/plugin_browser_dom_event.mjs +193 -193
  196. package/src/plugin_browser_dom_parts.mjs +396 -396
  197. package/src/plugin_browser_geolocation.mjs +51 -51
  198. package/src/plugin_browser_hotkey.mjs +25 -25
  199. package/src/plugin_browser_html.mjs +59 -59
  200. package/src/plugin_browser_in_worker.mjs +45 -45
  201. package/src/plugin_browser_location.mjs +21 -21
  202. package/src/plugin_browser_speech.mjs +111 -111
  203. package/src/plugin_browser_storage.mjs +121 -121
  204. package/src/plugin_browser_system.mjs +31 -31
  205. package/src/plugin_browser_websocket.mjs +73 -73
  206. package/src/plugin_caniuse.mjs +29 -29
  207. package/src/plugin_datetime.mjs +394 -394
  208. package/src/plugin_httpserver.mjs +277 -0
  209. package/src/plugin_httpserver.mts +286 -0
  210. package/src/plugin_kansuji.mjs +224 -224
  211. package/src/plugin_keigo.mjs +55 -55
  212. package/src/plugin_markup.mjs +32 -32
  213. package/src/plugin_node.mjs +1047 -1047
  214. package/src/plugin_node.mts +980 -980
  215. package/src/plugin_turtle.mjs +647 -647
  216. package/src/plugin_webworker.mjs +334 -334
  217. package/src/plugin_weykturtle3d.mjs +1214 -1214
  218. package/src/plugin_worker.mjs +95 -95
  219. package/src/repl.nako3 +63 -63
  220. package/src/wnako3.mjs +12 -12
  221. package/src/wnako3.mts +11 -11
  222. package/src/wnako3_editor.css +215 -215
  223. package/src/wnako3_editor.mjs +1542 -1542
  224. package/src/wnako3_editor.mts +1657 -1656
  225. package/src/wnako3mod.mjs +213 -213
  226. package/src/wnako3mod.mts +214 -214
  227. package/src/wnako3webworker.mjs +69 -68
  228. package/test/ace_editor/karma.config.js +94 -94
  229. package/test/ace_editor/test/.babelrc.json +3 -3
  230. package/test/ace_editor/test/ace_editor_test.js +178 -178
  231. package/test/ace_editor/test/html/custom_context.html +139 -139
  232. package/test/async/async_basic_test.mjs +122 -122
  233. package/test/browser/karma.config.js +221 -221
  234. package/test/browser/test/.babelrc.json +3 -3
  235. package/test/browser/test/compare_util.js +50 -50
  236. package/test/browser/test/html/div_basic.html +2 -2
  237. package/test/browser/test/html/event_dom_form.html +4 -4
  238. package/test/browser/test/html/event_dom_scrolldiv.html +5 -5
  239. package/test/browser/test/import_plugin_checker.js +24 -24
  240. package/test/browser/test/plugin_browser_test.js +51 -51
  241. package/test/browser/test/plugin_browser_test_ajax.js +123 -123
  242. package/test/browser/test/plugin_browser_test_color.js +18 -18
  243. package/test/browser/test/plugin_browser_test_dialog.js +72 -72
  244. package/test/browser/test/plugin_browser_test_dom_event.js +598 -598
  245. package/test/browser/test/plugin_browser_test_dom_parts.js +125 -125
  246. package/test/browser/test/plugin_browser_test_system.js +9 -9
  247. package/test/browser/test/plugin_turtle_test.js +817 -817
  248. package/test/browser/test/plugin_webworker_test.js +86 -86
  249. package/test/browser/test/require_test.js +68 -68
  250. package/test/bundled/karma.config.base.js +117 -117
  251. package/test/bundled/karma.config.js +86 -86
  252. package/test/bundled/test/.babelrc.json +3 -3
  253. package/test/bundled/test/bundled_test.js +69 -69
  254. package/test/bundled/test/html/custom_context.html +65 -65
  255. package/test/bundled/test/html/custom_debug.html +66 -66
  256. package/test/bundled/test4b.cmd +52 -52
  257. package/test/bundled/test_base/.babelrc.json +3 -3
  258. package/test/bundled/test_base/_checktool_test.js +25 -25
  259. package/test/bundled/test_base/basic_ajax_test.js +56 -56
  260. package/test/bundled/test_base/basic_async_test.js +18 -18
  261. package/test/bundled/test_base/basic_test.js +153 -153
  262. package/test/bundled/test_base/calc_test.js +132 -132
  263. package/test/bundled/test_base/css/browsers_box.css +114 -114
  264. package/test/bundled/test_base/html/custom_context.html +69 -69
  265. package/test/bundled/test_base/html/custom_debug.html +71 -71
  266. package/test/bundled/test_base/js/browsers_box.js +72 -72
  267. package/test/bundled/test_base/plugin_csv_test.js +37 -37
  268. package/test/bundled/test_base/plugin_datetime_test.js +115 -115
  269. package/test/bundled/test_base/plugin_kansuji_test.js +49 -49
  270. package/test/bundled/test_base/plugin_system_test.js +410 -410
  271. package/test/bundled/test_base/plugin_webworker_test.js +53 -53
  272. package/test/bundled/test_base/test_utils.js +191 -191
  273. package/test/common/plugin_browser_test.mjs +22 -24
  274. package/test/common/plugin_browser_ut_audio_test.mjs +108 -108
  275. package/test/common/plugin_browser_ut_color_test.mjs +21 -21
  276. package/test/common/plugin_browser_ut_dialog_test.mjs +100 -100
  277. package/test/common/plugin_browser_ut_html_test.mjs +13 -13
  278. package/test/common/plugin_browser_ut_system_test.mjs +10 -10
  279. package/test/common/plugin_markup_test.mjs +23 -23
  280. package/test/jsconfig.json +19 -19
  281. package/test/karma.config.js +91 -91
  282. package/test/node/async_test.mjs +96 -82
  283. package/test/node/commander_ja_test.mjs +89 -89
  284. package/test/node/error_message_test.mjs +243 -253
  285. package/test/node/kai_test.nako3 +6 -6
  286. package/test/node/node_test.mjs +60 -60
  287. package/test/node/plugin_broken.js.txt +3 -3
  288. package/test/node/plugin_browser_ut_ajax_test.mjs.todo +357 -357
  289. package/test/node/plugin_browser_ut_location_test.mjs +42 -42
  290. package/test/node/plugin_markup_test.mjs +47 -46
  291. package/test/node/plugin_math_test.mjs +45 -44
  292. package/test/node/plugin_node_test.mjs +98 -97
  293. package/test/node/plugin_test.mjs +44 -43
  294. package/test/node/relative_import_test_1.nako3 +1 -1
  295. package/test/node/relative_import_test_2.nako3 +2 -2
  296. package/test/node/require_nako3_test.mjs +67 -66
  297. package/test/node/requiretest.nako3 +4 -4
  298. package/test/node/requiretest_indirect.nako3 +1 -1
  299. package/test/node/requiretest_name.nako3 +5 -5
  300. package/test/node/runtime_error.nako3 +2 -2
  301. package/test/node/scope1.nako3 +10 -10
  302. package/test/node/scope2.nako3 +12 -12
  303. package/test/node/side_effects_test.mjs +39 -119
  304. package/test/node/sjis.txt +5 -5
  305. package/test/node/syntax_error.nako3 +1 -1
  306. package/test/node/wnako3_editor_test.mjs +384 -384
  307. package/tools/README.md +12 -7
  308. package/tools/check_new_version.nako3 +25 -25
  309. package/tools/nako3edit/html/daisyui/LICENSE +22 -22
  310. package/tools/nako3edit/html/daisyui/version_2.14.1 +1 -1
  311. package/tools/nako3edit/html/edit.html +170 -170
  312. package/tools/nako3edit/html/edit_plugin.js +6 -6
  313. package/tools/nako3edit/html/files.html +125 -125
  314. package/tools/nako3edit/html/nako3edit.css +65 -65
  315. package/tools/nako3edit/index.mjs +248 -244
  316. package/tools/nako3server/index.html +10 -0
  317. package/tools/nako3server/index.mjs +116 -116
  318. package/tools/nako3server/index.nako3 +34 -0
  319. package/release/nako_gen_async.js.LICENSE.txt +0 -35
  320. package/release/plugin_caniuse.js.LICENSE.txt +0 -11
  321. package/release/plugin_csv.js.LICENSE.txt +0 -15
  322. package/release/plugin_datetime.js.LICENSE.txt +0 -15
  323. package/release/plugin_kansuji.js.LICENSE.txt +0 -3
  324. package/release/plugin_markup.js.LICENSE.txt +0 -11
  325. package/release/plugin_turtle.js.LICENSE.txt +0 -15
  326. package/release/plugin_webworker.js.LICENSE.txt +0 -3
  327. package/release/plugin_weykturtle3d.js.LICENSE.txt +0 -3
  328. package/release/wnako3webworker.js.LICENSE.txt +0 -131
  329. package/tools/nako3edit/a.sqlite3 +0 -0
@@ -1,205 +1,206 @@
1
- // plugin_browser
2
- // @ts-nocheck
3
- import PartBrowserColor from './plugin_browser_color.mjs'
4
- import PartBrowserSystem from './plugin_browser_system.mjs'
5
- import PartBrowserDialog from './plugin_browser_dialog.mjs'
6
- import PartBrowserLocation from './plugin_browser_location.mjs'
7
- import PartBrowserAjax from './plugin_browser_ajax.mjs'
8
- import PartBrowserDomBasic from './plugin_browser_dom_basic.mjs'
9
- import PartBrowserDomEvent from './plugin_browser_dom_event.mjs'
10
- import PartBrowserDomParts from './plugin_browser_dom_parts.mjs'
11
- import PartBrowserHtml from './plugin_browser_html.mjs'
12
- import PartBrowserStorage from './plugin_browser_storage.mjs'
13
- import PartBrowserCanvas from './plugin_browser_canvas.mjs'
14
- import PartBrowserGeolocation from './plugin_browser_geolocation.mjs'
15
- import PartBrowserSpeech from './plugin_browser_speech.mjs'
16
- import PartBrowserWebsocket from './plugin_browser_websocket.mjs'
17
- import PartBrowserAudio from './plugin_browser_audio.mjs'
18
- import PartBrowserHotkey from './plugin_browser_hotkey.mjs'
19
- import PartBrowserChart from './plugin_browser_chart.mjs'
20
- import PartBrowserCrypto from './plugin_browser_crypto.mjs'
21
-
22
- const BrowserParts = [
23
- PartBrowserColor,
24
- PartBrowserSystem,
25
- PartBrowserDialog,
26
- PartBrowserLocation,
27
- PartBrowserAjax,
28
- PartBrowserDomBasic,
29
- PartBrowserDomEvent,
30
- PartBrowserDomParts,
31
- PartBrowserHtml,
32
- PartBrowserStorage,
33
- PartBrowserCanvas,
34
- PartBrowserGeolocation,
35
- PartBrowserSpeech,
36
- PartBrowserWebsocket,
37
- PartBrowserAudio,
38
- PartBrowserHotkey,
39
- PartBrowserChart,
40
- PartBrowserCrypto
41
- ]
42
-
43
- const PluginBrowser = {
44
- 'meta': {
45
- type: 'const',
46
- value: {
47
- pluginName: 'plugin_browser', // プラグインの名前
48
- pluginVersion: '3.2.24', // プラグインのバージョン
49
- nakoRuntime: ['wnako'], // 対象ランタイム
50
- nakoVersion: '^3.2.24' // 要求なでしこバージョン
51
- }
52
- },
53
- '初期化': {
54
- type: 'func',
55
- josi: [],
56
- pure: true,
57
- fn: function (sys: any) {
58
- /* eslint no-global-assign: 0 */
59
- const doc: any = (typeof document === 'undefined') ? { 'body': {} } : document
60
- const win: any = (typeof window === 'undefined') ? { 'location': { 'href': '' } } : window
61
- const nav: any = (typeof navigator === 'undefined') ? {} : navigator
62
-
63
- // 定数を初期化
64
- sys.__v0['AJAX:ONERROR'] = (err: any) => { console.log(err) }
65
- // オブジェクトを初期化
66
- sys.__v0.DOCUMENT = doc
67
- sys.__v0.WINDOW = win
68
- sys.__v0.NAVIGATOR = nav
69
- sys.__v0['DOM親要素'] = doc.body
70
- sys.__v0['ブラウザURL'] = win.location.href
71
-
72
- // 便利なメソッドを定義
73
- sys.__tohtml = (text: string): string => {
74
- return ('' + text)
75
- .replace(/&/g, '&')
76
- .replace(/>/g, '>')
77
- .replace(/</g, '&lt;')
78
- }
79
- sys.__tohtmlQ = (text: string): string => {
80
- return sys.__tohtml(text)
81
- .replace(/"/g, '&#34;')
82
- .replace(/'/g, '&#39;')
83
- }
84
-
85
- // 「!クリア」でDOMイベントを削除するため
86
- sys.__dom_events = [] // [{}, {}, {} ...]
87
- // DOM追加イベント
88
- sys.__addEvent = (dom: any, event: any, func: any, setHandler: any) => {
89
- // dom
90
- if (typeof (dom) === 'string') {
91
- dom = doc.querySelector(dom)
92
- if (!dom) { throw new Error('DOMイベントが追加できません。要素が見当たりません。') }
93
- }
94
- // func
95
- if (typeof (func) === 'string') {
96
- func = sys.__findVar(func, null)
97
- if (!func) { throw new Error('DOMイベントが追加できません。関数が見当たりません。') }
98
- }
99
- // make wrapper func
100
- const wrapperFunc = (e: any) => {
101
- sys.__v0['対象'] = e.target
102
- sys.__v0['対象イベント'] = e
103
- // 追加データが得られる場合
104
- if (setHandler) { setHandler(e, sys) }
105
- if (sys.__genMode === '非同期モード') { sys.newenv = true }
106
- return func(e, sys)
107
- }
108
- // add
109
- sys.__dom_events.push({ dom, event, func: wrapperFunc, rawFunc: func })
110
- dom.addEventListener(event, wrapperFunc)
111
- }
112
- // キーイベントハンドラ
113
- sys.__keyHandler = (e: any, sys: any) => {
114
- sys.__v0['押キー'] = e.key
115
- }
116
- // マウスイベントハンドラ
117
- sys.__mouseHandler = (e, sys) => {
118
- const box = e.target.getBoundingClientRect()
119
- sys.__v0['マウスX'] = e.clientX - box.left
120
- sys.__v0['マウスY'] = e.clientY - box.top
121
- }
122
- // タッチイベントハンドラ
123
- sys.__touchHandler = (e, sys) => {
124
- const box = e.target.getBoundingClientRect()
125
- const touches = e.changedTouches
126
- if (touches.length <= 0) { return }
127
- const ts = []
128
- for (let i = 0; i < touches.length; i++) {
129
- const t = touches[i]
130
- const tx = t.clientX - box.left
131
- const ty = t.clientY - box.top
132
- if (i === 0) {
133
- sys.__v0['タッチX'] = tx
134
- sys.__v0['タッチY'] = ty
135
- }
136
- ts.push([tx, ty])
137
- }
138
- sys.__v0['タッチ配列'] = ts
139
- return ts
140
- }
141
- // DOMイベント削除 (探して削除)
142
- sys.__removeEvent = (dom, event, func) => {
143
- // dom
144
- if (typeof (dom) === 'string') {
145
- dom = doc.querySelector(dom)
146
- if (!dom) { throw new Error('DOMイベントが削除できません。要素が見当たりません。') }
147
- }
148
- // func
149
- if (typeof (func) === 'string') {
150
- func = sys.__findVar(func, null)
151
- if (!func) { throw new Error('DOMイベントが削除できません。関数が見当たりません。') }
152
- }
153
- // find
154
- for (let i = 0; i < sys.__dom_events.length; i++) {
155
- const e = sys.__dom_events[i]
156
- if (e.dom === dom && e.event === event && e.rawFunc === func) {
157
- e.dom.removeEventListener(e.event, e.func)
158
- sys.__dom_events.splice(i, 1)
159
- break
160
- }
161
- }
162
- }
163
- // requestAnimationFrame のためのid
164
- sys.__requestAnimationFrameLastId = 0
165
- // DOMイベント全クリア
166
- sys.__removeAllDomEvent = () => {
167
- sys.__dom_events.forEach(e => {
168
- console.log(e.event, e.dom, e)
169
- e.dom.removeEventListener(e.event, e.func)
170
- })
171
- sys.__dom_events = []
172
- // requestAnimationFrame
173
- if (sys.__requestAnimationFrameLastId > 0) {
174
- win.cancelAnimationFrame(sys.__requestAnimationFrameLastId)
175
- sys.__requestAnimationFrameLastId = 0
176
- }
177
- }
178
- }
179
- },
180
- '!クリア': {
181
- type: 'func',
182
- josi: [],
183
- pure: false,
184
- fn: function (sys) {
185
- // chart.jsを破棄
186
- if (sys.__chartjs) {
187
- sys.__chartjs.destroy()
188
- }
189
- // 全DOMイベントをクリア
190
- sys.__removeAllDomEvent()
191
- }
192
- }
193
- }
194
-
195
- BrowserParts.forEach((a) => {
196
- const b: any = {}
197
- Object.assign(b, a)
198
- // 各モジュールでの初期化処理は認めない
199
- if (typeof b['初期化'] !== 'undefined') {
200
- delete b['初期化']
201
- }
202
- Object.assign(PluginBrowser, b)
203
- })
204
-
205
- export default PluginBrowser
1
+ // plugin_browser
2
+ // @ts-nocheck
3
+ import PartBrowserColor from './plugin_browser_color.mjs'
4
+ import PartBrowserSystem from './plugin_browser_system.mjs'
5
+ import PartBrowserDialog from './plugin_browser_dialog.mjs'
6
+ import PartBrowserLocation from './plugin_browser_location.mjs'
7
+ import PartBrowserAjax from './plugin_browser_ajax.mjs'
8
+ import PartBrowserDomBasic from './plugin_browser_dom_basic.mjs'
9
+ import PartBrowserDomEvent from './plugin_browser_dom_event.mjs'
10
+ import PartBrowserDomParts from './plugin_browser_dom_parts.mjs'
11
+ import PartBrowserHtml from './plugin_browser_html.mjs'
12
+ import PartBrowserStorage from './plugin_browser_storage.mjs'
13
+ import PartBrowserCanvas from './plugin_browser_canvas.mjs'
14
+ import PartBrowserGeolocation from './plugin_browser_geolocation.mjs'
15
+ import PartBrowserSpeech from './plugin_browser_speech.mjs'
16
+ import PartBrowserWebsocket from './plugin_browser_websocket.mjs'
17
+ import PartBrowserAudio from './plugin_browser_audio.mjs'
18
+ import PartBrowserHotkey from './plugin_browser_hotkey.mjs'
19
+ import PartBrowserChart from './plugin_browser_chart.mjs'
20
+ import PartBrowserCrypto from './plugin_browser_crypto.mjs'
21
+
22
+ const BrowserParts = [
23
+ PartBrowserColor,
24
+ PartBrowserSystem,
25
+ PartBrowserDialog,
26
+ PartBrowserLocation,
27
+ PartBrowserAjax,
28
+ PartBrowserDomBasic,
29
+ PartBrowserDomEvent,
30
+ PartBrowserDomParts,
31
+ PartBrowserHtml,
32
+ PartBrowserStorage,
33
+ PartBrowserCanvas,
34
+ PartBrowserGeolocation,
35
+ PartBrowserSpeech,
36
+ PartBrowserWebsocket,
37
+ PartBrowserAudio,
38
+ PartBrowserHotkey,
39
+ PartBrowserChart,
40
+ PartBrowserCrypto
41
+ ]
42
+
43
+ const PluginBrowser = {
44
+ 'meta': {
45
+ type: 'const',
46
+ value: {
47
+ pluginName: 'plugin_browser', // プラグインの名前
48
+ pluginVersion: '3.2.24', // プラグインのバージョン
49
+ nakoRuntime: ['wnako'], // 対象ランタイム
50
+ nakoVersion: '^3.2.24' // 要求なでしこバージョン
51
+ }
52
+ },
53
+ '初期化': {
54
+ type: 'func',
55
+ josi: [],
56
+ pure: true,
57
+ fn: function (sys: any) {
58
+ /* eslint no-global-assign: 0 */
59
+ const doc: any = (typeof document === 'undefined') ? { 'body': {} } : document
60
+ const win: any = (typeof window === 'undefined') ? { 'location': { 'href': 'http://localhost/' } } : window
61
+ const nav: any = (typeof navigator === 'undefined') ? {} : navigator
62
+ const loc: any = (typeof win.location === 'undefined') ? { 'href': 'http://localhost/' } : win.location
63
+
64
+ // 定数を初期化
65
+ sys.__v0['AJAX:ONERROR'] = (err: any) => { console.log(err) }
66
+ // オブジェクトを初期化
67
+ sys.__v0.DOCUMENT = doc
68
+ sys.__v0.WINDOW = win
69
+ sys.__v0.NAVIGATOR = nav
70
+ sys.__v0['DOM親要素'] = doc.body
71
+ sys.__v0['ブラウザURL'] = loc.href
72
+
73
+ // 便利なメソッドを定義
74
+ sys.__tohtml = (text: string): string => {
75
+ return ('' + text)
76
+ .replace(/&/g, '&amp;')
77
+ .replace(/>/g, '&gt;')
78
+ .replace(/</g, '&lt;')
79
+ }
80
+ sys.__tohtmlQ = (text: string): string => {
81
+ return sys.__tohtml(text)
82
+ .replace(/"/g, '&#34;')
83
+ .replace(/'/g, '&#39;')
84
+ }
85
+
86
+ // 「!クリア」でDOMイベントを削除するため
87
+ sys.__dom_events = [] // [{}, {}, {} ...]
88
+ // DOM追加イベント
89
+ sys.__addEvent = (dom: any, event: any, func: any, setHandler: any) => {
90
+ // dom
91
+ if (typeof (dom) === 'string') {
92
+ dom = doc.querySelector(dom)
93
+ if (!dom) { throw new Error('DOMイベントが追加できません。要素が見当たりません。') }
94
+ }
95
+ // func
96
+ if (typeof (func) === 'string') {
97
+ func = sys.__findVar(func, null)
98
+ if (!func) { throw new Error('DOMイベントが追加できません。関数が見当たりません。') }
99
+ }
100
+ // make wrapper func
101
+ const wrapperFunc = (e: any) => {
102
+ sys.__v0['対象'] = e.target
103
+ sys.__v0['対象イベント'] = e
104
+ // 追加データが得られる場合
105
+ if (setHandler) { setHandler(e, sys) }
106
+ if (sys.__genMode === '非同期モード') { sys.newenv = true }
107
+ return func(e, sys)
108
+ }
109
+ // add
110
+ sys.__dom_events.push({ dom, event, func: wrapperFunc, rawFunc: func })
111
+ dom.addEventListener(event, wrapperFunc)
112
+ }
113
+ // キーイベントハンドラ
114
+ sys.__keyHandler = (e: any, sys: any) => {
115
+ sys.__v0['押キー'] = e.key
116
+ }
117
+ // マウスイベントハンドラ
118
+ sys.__mouseHandler = (e, sys) => {
119
+ const box = e.target.getBoundingClientRect()
120
+ sys.__v0['マウスX'] = e.clientX - box.left
121
+ sys.__v0['マウスY'] = e.clientY - box.top
122
+ }
123
+ // タッチイベントハンドラ
124
+ sys.__touchHandler = (e, sys) => {
125
+ const box = e.target.getBoundingClientRect()
126
+ const touches = e.changedTouches
127
+ if (touches.length <= 0) { return }
128
+ const ts = []
129
+ for (let i = 0; i < touches.length; i++) {
130
+ const t = touches[i]
131
+ const tx = t.clientX - box.left
132
+ const ty = t.clientY - box.top
133
+ if (i === 0) {
134
+ sys.__v0['タッチX'] = tx
135
+ sys.__v0['タッチY'] = ty
136
+ }
137
+ ts.push([tx, ty])
138
+ }
139
+ sys.__v0['タッチ配列'] = ts
140
+ return ts
141
+ }
142
+ // DOMイベント削除 (探して削除)
143
+ sys.__removeEvent = (dom, event, func) => {
144
+ // dom
145
+ if (typeof (dom) === 'string') {
146
+ dom = doc.querySelector(dom)
147
+ if (!dom) { throw new Error('DOMイベントが削除できません。要素が見当たりません。') }
148
+ }
149
+ // func
150
+ if (typeof (func) === 'string') {
151
+ func = sys.__findVar(func, null)
152
+ if (!func) { throw new Error('DOMイベントが削除できません。関数が見当たりません。') }
153
+ }
154
+ // find
155
+ for (let i = 0; i < sys.__dom_events.length; i++) {
156
+ const e = sys.__dom_events[i]
157
+ if (e.dom === dom && e.event === event && e.rawFunc === func) {
158
+ e.dom.removeEventListener(e.event, e.func)
159
+ sys.__dom_events.splice(i, 1)
160
+ break
161
+ }
162
+ }
163
+ }
164
+ // requestAnimationFrame のためのid
165
+ sys.__requestAnimationFrameLastId = 0
166
+ // DOMイベント全クリア
167
+ sys.__removeAllDomEvent = () => {
168
+ sys.__dom_events.forEach(e => {
169
+ console.log(e.event, e.dom, e)
170
+ e.dom.removeEventListener(e.event, e.func)
171
+ })
172
+ sys.__dom_events = []
173
+ // requestAnimationFrame
174
+ if (sys.__requestAnimationFrameLastId > 0) {
175
+ win.cancelAnimationFrame(sys.__requestAnimationFrameLastId)
176
+ sys.__requestAnimationFrameLastId = 0
177
+ }
178
+ }
179
+ }
180
+ },
181
+ '!クリア': {
182
+ type: 'func',
183
+ josi: [],
184
+ pure: false,
185
+ fn: function (sys) {
186
+ // chart.jsを破棄
187
+ if (sys.__chartjs) {
188
+ sys.__chartjs.destroy()
189
+ }
190
+ // 全DOMイベントをクリア
191
+ sys.__removeAllDomEvent()
192
+ }
193
+ }
194
+ }
195
+
196
+ BrowserParts.forEach((a) => {
197
+ const b: any = {}
198
+ Object.assign(b, a)
199
+ // 各モジュールでの初期化処理は認めない
200
+ if (typeof b['初期化'] !== 'undefined') {
201
+ delete b['初期化']
202
+ }
203
+ Object.assign(PluginBrowser, b)
204
+ })
205
+
206
+ export default PluginBrowser