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,336 +1,336 @@
1
- // @ts-nocheck
2
- export default {
3
- // @DOM操作
4
- 'DOCUMENT': { type: 'const', value: '' }, // @DOCUMENT
5
- 'WINDOW': { type: 'const', value: '' }, // @WINDOW
6
- 'NAVIGATOR': { type: 'const', value: '' }, // @NAVIGATOR
7
- 'DOM要素ID取得': { // @DOMの要素をIDを指定して取得 // @DOMようそIDしゅとく
8
- type: 'func',
9
- josi: [['の', 'を']],
10
- pure: true,
11
- fn: function (id) {
12
- return document.getElementById(id)
13
- }
14
- },
15
- 'DOM要素取得': { // @DOMの要素をクエリqで取得して返す // @DOMようそしゅとく
16
- type: 'func',
17
- josi: [['の', 'を']],
18
- pure: true,
19
- fn: function (q) {
20
- return document.querySelector(q)
21
- }
22
- },
23
- 'DOM要素全取得': { // @DOMの要素をクエリqで全部取得して返す // @DOMようそぜんしゅとく
24
- type: 'func',
25
- josi: [['の', 'を']],
26
- pure: true,
27
- fn: function (q) {
28
- return Array.from(document.querySelectorAll(q))
29
- }
30
- },
31
- 'タグ一覧取得': { // @任意のタグの一覧を取得して返す // @たぐいちらんしゅとく
32
- type: 'func',
33
- josi: [['の', 'を']],
34
- pure: true,
35
- fn: function (tag) {
36
- return document.getElementsByTagName(tag)
37
- }
38
- },
39
- 'DOM子要素取得': { // @DOMの要素PAの子要素をクエリqを指定して結果を一つ取得して返す // @DOMこようそしゅとく
40
- type: 'func',
41
- josi: [['の'], ['を']],
42
- pure: true,
43
- fn: function (pa, q) {
44
- if (typeof pa === 'string') { pa = document.querySelector(pa) }
45
- if (!pa.querySelector) {
46
- throw new Error('『DOM子要素取得』で親要素がDOMではありません。')
47
- }
48
- return pa.querySelector(q)
49
- }
50
- },
51
- 'DOM子要素全取得': { // @DOMの要素PAの子要素をクエリqを指定して結果を複数取得して返す // @DOMこようそぜんしゅとく
52
- type: 'func',
53
- josi: [['の'], ['を']],
54
- pure: true,
55
- fn: function (pa, q) {
56
- if (typeof pa === 'string') { pa = document.querySelector(pa) }
57
- if (!pa.querySelectorAll) {
58
- throw new Error('『DOM子要素取得』で親要素がDOMではありません。')
59
- }
60
- return pa.querySelectorAll(q)
61
- }
62
- },
63
- 'DOMイベント設定': { // @DOMのEVENTになでしこ関数名funcStrのイベントを設定 // @DOMいべんとせってい
64
- type: 'func',
65
- josi: [['の'], ['に', 'へ'], ['を']],
66
- pure: false,
67
- fn: function (dom, event, funcStr, sys) {
68
- if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
69
-
70
- dom[event] = sys.__findVar(funcStr, null)
71
- },
72
- return_none: true
73
- },
74
- 'DOMテキスト設定': { // @DOMにテキストを設定 // @DOMてきすとせってい
75
- type: 'func',
76
- josi: [['に', 'の', 'へ'], ['を']],
77
- pure: true,
78
- fn: function (dom, text) {
79
- if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
80
-
81
- const tag = dom.tagName.toUpperCase()
82
- if (tag === 'INPUT' || tag === 'TEXTAREA') { dom.value = text } else if (tag === 'SELECT') {
83
- for (let i = 0; i < dom.options.length; i++) {
84
- const v = dom.options[i].value
85
- if (String(v) === text) {
86
- dom.selectedIndex = i
87
- break
88
- }
89
- }
90
- } else { dom.innerHTML = text }
91
- },
92
- return_none: true
93
- },
94
- 'DOMテキスト取得': { // @DOMのテキストを取得 // @DOMてきすとしゅとく
95
- type: 'func',
96
- josi: [['の', 'から']],
97
- pure: true,
98
- fn: function (dom) {
99
- if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
100
- if (!dom.tagName) {
101
- console.log('[DOMテキスト取得]でタグ名が取得できません。', dom)
102
- return ''
103
- }
104
- const tag = dom.tagName.toUpperCase()
105
- // input or textarea
106
- if (tag === 'INPUT' || tag === 'TEXTAREA') { return dom.value }
107
- // select
108
- if (tag === 'SELECT') {
109
- const idx = dom.selectedIndex
110
- if (idx < 0) { return null }
111
- return dom.options[idx].value
112
- }
113
- return dom.innerHTML
114
- }
115
- },
116
- 'DOM_HTML設定': { // @DOMにHTML文字列を設定 // @DOM_HTMLせってい
117
- type: 'func',
118
- josi: [['に', 'の', 'へ'], ['を']],
119
- pure: true,
120
- fn: function (dom, text) {
121
- if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
122
-
123
- dom.innerHTML = text
124
- },
125
- return_none: true
126
- },
127
- 'DOM_HTML取得': { // @DOMのHTML文字列を取得 // @DOM_HTMLしゅとく
128
- type: 'func',
129
- josi: [['の', 'から']],
130
- pure: true,
131
- fn: function (dom) {
132
- if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
133
-
134
- return dom.innerHTML
135
- }
136
- },
137
- 'テキスト設定': { // @DOMのテキストにVを設定 // @てきすとせってい
138
- type: 'func',
139
- josi: [['に', 'の', 'へ'], ['を']],
140
- pure: false,
141
- fn: function (dom, v, sys) {
142
- return sys.__exec('DOMテキスト設定', [dom, v, sys])
143
- }
144
- },
145
- 'テキスト取得': { // @DOMのテキストを取得 // @てきすとしゅとく
146
- type: 'func',
147
- josi: [['の', 'から']],
148
- pure: false,
149
- fn: function (dom, sys) {
150
- return sys.__exec('DOMテキスト取得', [dom, sys])
151
- }
152
- },
153
- 'HTML設定': { // @DOMのHTMLにVを設定 // @HTMLせってい
154
- type: 'func',
155
- josi: [['に', 'の', 'へ'], ['を']],
156
- pure: false,
157
- fn: function (dom, v, sys) {
158
- return sys.__exec('DOM_HTML設定', [dom, v, sys])
159
- }
160
- },
161
- 'HTML取得': { // @DOMのテキストを取得 // @HTMLしゅとく
162
- type: 'func',
163
- josi: [['の', 'から']],
164
- pure: false,
165
- fn: function (dom, sys) {
166
- return sys.__exec('DOM_HTML取得', [dom, sys])
167
- }
168
- },
169
- 'DOM属性設定': { // @DOMの属性Sに値Vを設定 // @DOMぞくせいせってい
170
- type: 'func',
171
- josi: [['の'], ['に', 'へ'], ['を']],
172
- uses: ['DOM和スタイル'],
173
- pure: true,
174
- fn: function (dom, s, v, sys) {
175
- if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
176
- const wa = sys.__v0['DOM和スタイル']
177
- if (wa[s]) { s = wa[s] }
178
- dom[s] = v
179
- },
180
- return_none: true
181
- },
182
- 'DOM属性取得': { // @DOMの属性Sを取得 // @DOMぞくせいしゅとく
183
- type: 'func',
184
- josi: [['の', 'から'], ['を']],
185
- uses: ['DOM和スタイル'],
186
- pure: true,
187
- fn: function (dom, s, sys) {
188
- if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
189
- const wa = sys.__v0['DOM和スタイル']
190
- if (wa[s]) { s = wa[s] }
191
- return dom[s]
192
- }
193
- },
194
- 'DOM和スタイル': { // const // @DOMわすたいる
195
- type: 'const',
196
- value: {
197
- '幅': 'width',
198
- '高さ': 'height',
199
- '高': 'height',
200
- '背景色': 'background-color',
201
- '色': 'color',
202
- 'マージン': 'margin',
203
- '余白': 'padding',
204
- '文字サイズ': 'font-size',
205
- '行揃え': 'text-align',
206
- '左': 'left',
207
- '右': 'right',
208
- '中央': 'center',
209
- 'ボーダー': 'border',
210
- 'ボックス表示': 'display',
211
- 'なし': 'none',
212
- 'ブロック': 'block',
213
- '表示位置': 'float',
214
- '重なり': 'z-index'
215
- }
216
- },
217
- 'DOMスタイル設定': { // @DOMのスタイルAに値Bを設定 // @DOMすたいるせってい
218
- type: 'func',
219
- josi: [['の'], ['に', 'へ'], ['を']],
220
- uses: ['DOM和スタイル'],
221
- pure: true,
222
- fn: function (dom, s, v, sys) {
223
- if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
224
- const wa = sys.__v0['DOM和スタイル']
225
- if (wa[s] !== undefined) { s = wa[s] }
226
- if (wa[v] !== undefined) { v = wa[v] }
227
- dom.style[s] = v
228
- },
229
- return_none: true
230
- },
231
- 'DOMスタイル一括設定': { // @DOMに(オブジェクト型で)スタイル情報を一括設定 // @DOMすたいるいっかつせってい
232
- type: 'func',
233
- josi: [['に', 'へ'], ['を']],
234
- uses: ['DOM和スタイル'],
235
- pure: true,
236
- fn: function (dom, values, sys) {
237
- if (typeof dom === 'string') { dom = document.querySelectorAll(dom) }
238
- if (!dom) { return }
239
- if (dom instanceof window.HTMLElement) { dom = [dom] }
240
- const wa = sys.__v0['DOM和スタイル']
241
- // 列挙したDOM一覧を全てスタイル変更する
242
- for (let i = 0; i < dom.length; i++) {
243
- const e = dom[i]
244
- for (const key in values) {
245
- let s = key
246
- let v = values[key]
247
- if (wa[s] !== undefined) { s = wa[s] }
248
- if (wa[v] !== undefined) { v = wa[v] }
249
- e.style[s] = v
250
- }
251
- }
252
- },
253
- return_none: true
254
- },
255
- 'DOMスタイル取得': { // @DOMのSTYLEの値を取得 // @DOMすたいるしゅとく
256
- type: 'func',
257
- josi: [['の'], ['を']],
258
- uses: ['DOM和スタイル'],
259
- pure: true,
260
- fn: function (dom, style, sys) {
261
- if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
262
- if (!dom) { return '' }
263
- const wa = sys.__v0['DOM和スタイル']
264
- if (wa[style]) { style = wa[style] }
265
- return dom.style[style]
266
- }
267
- },
268
- 'DOMスタイル一括取得': { // @DOMのSTYLE(配列で複数指定)の値を取得 // @DOMすたいるいっかつしゅとく
269
- type: 'func',
270
- josi: [['の'], ['を']],
271
- uses: ['DOM和スタイル'],
272
- pure: true,
273
- fn: function (dom, style, sys) {
274
- const res = {}
275
- if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
276
-
277
- if (!dom) { return res }
278
- if (style instanceof String) { style = [style] }
279
-
280
- const wa = sys.__v0['DOM和スタイル']
281
- if (style instanceof Array) {
282
- style.forEach((key) => {
283
- if (wa[key]) { key = wa[key] }
284
- res[key] = dom.style[key]
285
- })
286
- return res
287
- }
288
- if (style instanceof Object) {
289
- for (let key in style) {
290
- if (wa[key]) { key = wa[key] }
291
- res[key] = dom.style[key]
292
- }
293
- return res
294
- }
295
- return dom.style[style]
296
- }
297
- },
298
- 'DOM要素作成': { // @DOMにTAGの新規要素を作成 // @DOMようそさくせい
299
- type: 'func',
300
- josi: [['の', 'を']],
301
- pure: true,
302
- fn: function (tag) {
303
- return document.createElement(tag)
304
- }
305
- },
306
- 'DOM子要素追加': { // @DOMの要素PAの子へ要素ELを追加してPAを返す // @DOMこようそついか
307
- type: 'func',
308
- josi: [['に', 'へ'], ['を']],
309
- pure: true,
310
- fn: function (pa, el) {
311
- if (typeof el === 'string') { el = document.querySelector(el) }
312
- if (typeof pa === 'string') { pa = document.querySelector(pa) }
313
- pa.appendChild(el)
314
- }
315
- },
316
- 'DOM子要素削除': { // @DOMの要素PAの子から要素ELを削除してPAを返す // @DOMこようそさくじょ
317
- type: 'func',
318
- josi: [['から'], ['を']],
319
- pure: true,
320
- fn: function (pa, el) {
321
- if (typeof el === 'string') { el = document.querySelector(el) }
322
- if (typeof pa === 'string') { pa = document.querySelector(pa) }
323
- pa.removeChild(el)
324
- }
325
- },
326
- '注目': { // @DOMの要素Aにフォーカスする(カーソルを移動する) // @ちゅうもく
327
- type: 'func',
328
- josi: [['を', 'へ', 'に']],
329
- pure: true,
330
- fn: function (el) {
331
- if (typeof el === 'string') { el = document.querySelector(el) }
332
- if (el.focus) { el.focus() }
333
- },
334
- return_none: true
335
- }
336
- }
1
+ // @ts-nocheck
2
+ export default {
3
+ // @DOM操作
4
+ 'DOCUMENT': { type: 'const', value: '' }, // @DOCUMENT
5
+ 'WINDOW': { type: 'const', value: '' }, // @WINDOW
6
+ 'NAVIGATOR': { type: 'const', value: '' }, // @NAVIGATOR
7
+ 'DOM要素ID取得': { // @DOMの要素をIDを指定して取得 // @DOMようそIDしゅとく
8
+ type: 'func',
9
+ josi: [['の', 'を']],
10
+ pure: true,
11
+ fn: function (id) {
12
+ return document.getElementById(id)
13
+ }
14
+ },
15
+ 'DOM要素取得': { // @DOMの要素をクエリqで取得して返す // @DOMようそしゅとく
16
+ type: 'func',
17
+ josi: [['の', 'を']],
18
+ pure: true,
19
+ fn: function (q) {
20
+ return document.querySelector(q)
21
+ }
22
+ },
23
+ 'DOM要素全取得': { // @DOMの要素をクエリqで全部取得して返す // @DOMようそぜんしゅとく
24
+ type: 'func',
25
+ josi: [['の', 'を']],
26
+ pure: true,
27
+ fn: function (q) {
28
+ return Array.from(document.querySelectorAll(q))
29
+ }
30
+ },
31
+ 'タグ一覧取得': { // @任意のタグの一覧を取得して返す // @たぐいちらんしゅとく
32
+ type: 'func',
33
+ josi: [['の', 'を']],
34
+ pure: true,
35
+ fn: function (tag) {
36
+ return document.getElementsByTagName(tag)
37
+ }
38
+ },
39
+ 'DOM子要素取得': { // @DOMの要素PAの子要素をクエリqを指定して結果を一つ取得して返す // @DOMこようそしゅとく
40
+ type: 'func',
41
+ josi: [['の'], ['を']],
42
+ pure: true,
43
+ fn: function (pa, q) {
44
+ if (typeof pa === 'string') { pa = document.querySelector(pa) }
45
+ if (!pa.querySelector) {
46
+ throw new Error('『DOM子要素取得』で親要素がDOMではありません。')
47
+ }
48
+ return pa.querySelector(q)
49
+ }
50
+ },
51
+ 'DOM子要素全取得': { // @DOMの要素PAの子要素をクエリqを指定して結果を複数取得して返す // @DOMこようそぜんしゅとく
52
+ type: 'func',
53
+ josi: [['の'], ['を']],
54
+ pure: true,
55
+ fn: function (pa, q) {
56
+ if (typeof pa === 'string') { pa = document.querySelector(pa) }
57
+ if (!pa.querySelectorAll) {
58
+ throw new Error('『DOM子要素取得』で親要素がDOMではありません。')
59
+ }
60
+ return pa.querySelectorAll(q)
61
+ }
62
+ },
63
+ 'DOMイベント設定': { // @DOMのEVENTになでしこ関数名funcStrのイベントを設定 // @DOMいべんとせってい
64
+ type: 'func',
65
+ josi: [['の'], ['に', 'へ'], ['を']],
66
+ pure: false,
67
+ fn: function (dom, event, funcStr, sys) {
68
+ if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
69
+
70
+ dom[event] = sys.__findVar(funcStr, null)
71
+ },
72
+ return_none: true
73
+ },
74
+ 'DOMテキスト設定': { // @DOMにテキストを設定 // @DOMてきすとせってい
75
+ type: 'func',
76
+ josi: [['に', 'の', 'へ'], ['を']],
77
+ pure: true,
78
+ fn: function (dom, text) {
79
+ if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
80
+
81
+ const tag = dom.tagName.toUpperCase()
82
+ if (tag === 'INPUT' || tag === 'TEXTAREA') { dom.value = text } else if (tag === 'SELECT') {
83
+ for (let i = 0; i < dom.options.length; i++) {
84
+ const v = dom.options[i].value
85
+ if (String(v) === text) {
86
+ dom.selectedIndex = i
87
+ break
88
+ }
89
+ }
90
+ } else { dom.innerHTML = text }
91
+ },
92
+ return_none: true
93
+ },
94
+ 'DOMテキスト取得': { // @DOMのテキストを取得 // @DOMてきすとしゅとく
95
+ type: 'func',
96
+ josi: [['の', 'から']],
97
+ pure: true,
98
+ fn: function (dom) {
99
+ if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
100
+ if (!dom.tagName) {
101
+ console.log('[DOMテキスト取得]でタグ名が取得できません。', dom)
102
+ return ''
103
+ }
104
+ const tag = dom.tagName.toUpperCase()
105
+ // input or textarea
106
+ if (tag === 'INPUT' || tag === 'TEXTAREA') { return dom.value }
107
+ // select
108
+ if (tag === 'SELECT') {
109
+ const idx = dom.selectedIndex
110
+ if (idx < 0) { return null }
111
+ return dom.options[idx].value
112
+ }
113
+ return dom.innerHTML
114
+ }
115
+ },
116
+ 'DOM_HTML設定': { // @DOMにHTML文字列を設定 // @DOM_HTMLせってい
117
+ type: 'func',
118
+ josi: [['に', 'の', 'へ'], ['を']],
119
+ pure: true,
120
+ fn: function (dom, text) {
121
+ if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
122
+
123
+ dom.innerHTML = text
124
+ },
125
+ return_none: true
126
+ },
127
+ 'DOM_HTML取得': { // @DOMのHTML文字列を取得 // @DOM_HTMLしゅとく
128
+ type: 'func',
129
+ josi: [['の', 'から']],
130
+ pure: true,
131
+ fn: function (dom) {
132
+ if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
133
+
134
+ return dom.innerHTML
135
+ }
136
+ },
137
+ 'テキスト設定': { // @DOMのテキストにVを設定 // @てきすとせってい
138
+ type: 'func',
139
+ josi: [['に', 'の', 'へ'], ['を']],
140
+ pure: false,
141
+ fn: function (dom, v, sys) {
142
+ return sys.__exec('DOMテキスト設定', [dom, v, sys])
143
+ }
144
+ },
145
+ 'テキスト取得': { // @DOMのテキストを取得 // @てきすとしゅとく
146
+ type: 'func',
147
+ josi: [['の', 'から']],
148
+ pure: false,
149
+ fn: function (dom, sys) {
150
+ return sys.__exec('DOMテキスト取得', [dom, sys])
151
+ }
152
+ },
153
+ 'HTML設定': { // @DOMのHTMLにVを設定 // @HTMLせってい
154
+ type: 'func',
155
+ josi: [['に', 'の', 'へ'], ['を']],
156
+ pure: false,
157
+ fn: function (dom, v, sys) {
158
+ return sys.__exec('DOM_HTML設定', [dom, v, sys])
159
+ }
160
+ },
161
+ 'HTML取得': { // @DOMのテキストを取得 // @HTMLしゅとく
162
+ type: 'func',
163
+ josi: [['の', 'から']],
164
+ pure: false,
165
+ fn: function (dom, sys) {
166
+ return sys.__exec('DOM_HTML取得', [dom, sys])
167
+ }
168
+ },
169
+ 'DOM属性設定': { // @DOMの属性Sに値Vを設定 // @DOMぞくせいせってい
170
+ type: 'func',
171
+ josi: [['の'], ['に', 'へ'], ['を']],
172
+ uses: ['DOM和スタイル'],
173
+ pure: true,
174
+ fn: function (dom, s, v, sys) {
175
+ if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
176
+ const wa = sys.__v0['DOM和スタイル']
177
+ if (wa[s]) { s = wa[s] }
178
+ dom[s] = v
179
+ },
180
+ return_none: true
181
+ },
182
+ 'DOM属性取得': { // @DOMの属性Sを取得 // @DOMぞくせいしゅとく
183
+ type: 'func',
184
+ josi: [['の', 'から'], ['を']],
185
+ uses: ['DOM和スタイル'],
186
+ pure: true,
187
+ fn: function (dom, s, sys) {
188
+ if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
189
+ const wa = sys.__v0['DOM和スタイル']
190
+ if (wa[s]) { s = wa[s] }
191
+ return dom[s]
192
+ }
193
+ },
194
+ 'DOM和スタイル': { // const // @DOMわすたいる
195
+ type: 'const',
196
+ value: {
197
+ '幅': 'width',
198
+ '高さ': 'height',
199
+ '高': 'height',
200
+ '背景色': 'background-color',
201
+ '色': 'color',
202
+ 'マージン': 'margin',
203
+ '余白': 'padding',
204
+ '文字サイズ': 'font-size',
205
+ '行揃え': 'text-align',
206
+ '左': 'left',
207
+ '右': 'right',
208
+ '中央': 'center',
209
+ 'ボーダー': 'border',
210
+ 'ボックス表示': 'display',
211
+ 'なし': 'none',
212
+ 'ブロック': 'block',
213
+ '表示位置': 'float',
214
+ '重なり': 'z-index'
215
+ }
216
+ },
217
+ 'DOMスタイル設定': { // @DOMのスタイルAに値Bを設定 // @DOMすたいるせってい
218
+ type: 'func',
219
+ josi: [['の'], ['に', 'へ'], ['を']],
220
+ uses: ['DOM和スタイル'],
221
+ pure: true,
222
+ fn: function (dom, s, v, sys) {
223
+ if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
224
+ const wa = sys.__v0['DOM和スタイル']
225
+ if (wa[s] !== undefined) { s = wa[s] }
226
+ if (wa[v] !== undefined) { v = wa[v] }
227
+ dom.style[s] = v
228
+ },
229
+ return_none: true
230
+ },
231
+ 'DOMスタイル一括設定': { // @DOMに(オブジェクト型で)スタイル情報を一括設定 // @DOMすたいるいっかつせってい
232
+ type: 'func',
233
+ josi: [['に', 'へ'], ['を']],
234
+ uses: ['DOM和スタイル'],
235
+ pure: true,
236
+ fn: function (dom, values, sys) {
237
+ if (typeof dom === 'string') { dom = document.querySelectorAll(dom) }
238
+ if (!dom) { return }
239
+ if (dom instanceof window.HTMLElement) { dom = [dom] }
240
+ const wa = sys.__v0['DOM和スタイル']
241
+ // 列挙したDOM一覧を全てスタイル変更する
242
+ for (let i = 0; i < dom.length; i++) {
243
+ const e = dom[i]
244
+ for (const key in values) {
245
+ let s = key
246
+ let v = values[key]
247
+ if (wa[s] !== undefined) { s = wa[s] }
248
+ if (wa[v] !== undefined) { v = wa[v] }
249
+ e.style[s] = v
250
+ }
251
+ }
252
+ },
253
+ return_none: true
254
+ },
255
+ 'DOMスタイル取得': { // @DOMのSTYLEの値を取得 // @DOMすたいるしゅとく
256
+ type: 'func',
257
+ josi: [['の'], ['を']],
258
+ uses: ['DOM和スタイル'],
259
+ pure: true,
260
+ fn: function (dom, style, sys) {
261
+ if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
262
+ if (!dom) { return '' }
263
+ const wa = sys.__v0['DOM和スタイル']
264
+ if (wa[style]) { style = wa[style] }
265
+ return dom.style[style]
266
+ }
267
+ },
268
+ 'DOMスタイル一括取得': { // @DOMのSTYLE(配列で複数指定)の値を取得 // @DOMすたいるいっかつしゅとく
269
+ type: 'func',
270
+ josi: [['の'], ['を']],
271
+ uses: ['DOM和スタイル'],
272
+ pure: true,
273
+ fn: function (dom, style, sys) {
274
+ const res = {}
275
+ if (typeof (dom) === 'string') { dom = document.querySelector(dom) }
276
+
277
+ if (!dom) { return res }
278
+ if (style instanceof String) { style = [style] }
279
+
280
+ const wa = sys.__v0['DOM和スタイル']
281
+ if (style instanceof Array) {
282
+ style.forEach((key) => {
283
+ if (wa[key]) { key = wa[key] }
284
+ res[key] = dom.style[key]
285
+ })
286
+ return res
287
+ }
288
+ if (style instanceof Object) {
289
+ for (let key in style) {
290
+ if (wa[key]) { key = wa[key] }
291
+ res[key] = dom.style[key]
292
+ }
293
+ return res
294
+ }
295
+ return dom.style[style]
296
+ }
297
+ },
298
+ 'DOM要素作成': { // @DOMにTAGの新規要素を作成 // @DOMようそさくせい
299
+ type: 'func',
300
+ josi: [['の', 'を']],
301
+ pure: true,
302
+ fn: function (tag) {
303
+ return document.createElement(tag)
304
+ }
305
+ },
306
+ 'DOM子要素追加': { // @DOMの要素PAの子へ要素ELを追加してPAを返す // @DOMこようそついか
307
+ type: 'func',
308
+ josi: [['に', 'へ'], ['を']],
309
+ pure: true,
310
+ fn: function (pa, el) {
311
+ if (typeof el === 'string') { el = document.querySelector(el) }
312
+ if (typeof pa === 'string') { pa = document.querySelector(pa) }
313
+ pa.appendChild(el)
314
+ }
315
+ },
316
+ 'DOM子要素削除': { // @DOMの要素PAの子から要素ELを削除してPAを返す // @DOMこようそさくじょ
317
+ type: 'func',
318
+ josi: [['から'], ['を']],
319
+ pure: true,
320
+ fn: function (pa, el) {
321
+ if (typeof el === 'string') { el = document.querySelector(el) }
322
+ if (typeof pa === 'string') { pa = document.querySelector(pa) }
323
+ pa.removeChild(el)
324
+ }
325
+ },
326
+ '注目': { // @DOMの要素Aにフォーカスする(カーソルを移動する) // @ちゅうもく
327
+ type: 'func',
328
+ josi: [['を', 'へ', 'に']],
329
+ pure: true,
330
+ fn: function (el) {
331
+ if (typeof el === 'string') { el = document.querySelector(el) }
332
+ if (el.focus) { el.focus() }
333
+ },
334
+ return_none: true
335
+ }
336
+ }