nadesiko3 3.7.8 → 3.7.9
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.
- package/batch/build_nako_version.nako3 +1 -1
- package/batch/command.txt +71 -47
- package/batch/pickup_command.nako3 +1 -1
- package/core/package.json +1 -1
- package/core/src/nako_core_version.mjs +2 -2
- package/core/src/nako_core_version.mts +2 -2
- package/core/src/nako_indent_inline.mjs +59 -32
- package/core/src/nako_indent_inline.mts +62 -22
- package/core/src/nako_parser3.mjs +34 -31
- package/core/src/nako_parser3.mts +31 -28
- package/core/test/calc_test.mjs +9 -0
- package/core/test/inline_indent_test.mjs +17 -0
- package/package.json +5 -5
- package/release/_hash.txt +28 -28
- package/release/_script-tags.txt +16 -16
- package/release/command.json +1 -1
- package/release/command.json.js +1 -1
- package/release/command_cnako3.json +1 -1
- package/release/command_list.json +1 -1
- package/release/edit_main.js +5 -5
- package/release/edit_main.js.map +2 -2
- package/release/editor.js +5 -5
- package/release/version.js +1 -1
- package/release/version_main.js +1 -1
- package/release/version_main.js.map +1 -1
- package/release/wnako3.js +32 -32
- package/release/wnako3.js.map +3 -3
- package/release/wnako3webworker.js +32 -32
- package/release/wnako3webworker.js.map +3 -3
- package/src/nako_version.mjs +2 -2
- package/src/nako_version.mts +2 -2
- package/src/plugin_browser_canvas.mjs +12 -12
- package/src/plugin_browser_canvas.mts +10 -4
|
@@ -60,7 +60,7 @@ export default nakoVersion
|
|
|
60
60
|
P@"version" = メインバージョン
|
|
61
61
|
PをJSONエンコード整形してSに代入。
|
|
62
62
|
CORE_PACKAGEにSを保存。
|
|
63
|
-
RES=「cnako3 "{基本パス}/core/batch/build_nako_version.nako3"」を起動待機。
|
|
63
|
+
RES=「node "{基本パス}/src/cnako3.mjs" "{基本パス}/core/batch/build_nako_version.nako3"」を起動待機。
|
|
64
64
|
RESを表示。
|
|
65
65
|
|
|
66
66
|
|
package/batch/command.txt
CHANGED
|
@@ -625,29 +625,30 @@
|
|
|
625
625
|
| 関数 | 線描画 | AからBへ/Bまで | [x1, y1]から[x2, y2]まで線を描画する | せんびょうが | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L75
|
|
626
626
|
| 関数 | 線太設定 | Vに/Vへ | vに線の太さ設定 | せんふとさせってい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L88
|
|
627
627
|
| 関数 | 四角描画 | Bの/Bへ/Bに | [x, y, w, h]で矩形を描画する | しかくびょうが | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L98
|
|
628
|
-
| 関数 | 全描画クリア | | 描画中のキャンバスをクリアする。 | ぜんびょうがくりあ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#
|
|
629
|
-
| 関数 | 描画クリア | Bの/Bへ/Bに | [x, y, w, h]の範囲を描画クリア。空配列を指定すると『全描画クリア』と同じ。2要素の配列だと[0,0]を省略したのと同じ。 | びょうがくりあ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#
|
|
630
|
-
| 関数 |
|
|
631
|
-
| 関数 |
|
|
632
|
-
| 関数 |
|
|
633
|
-
| 関数 |
|
|
634
|
-
| 関数 |
|
|
635
|
-
| 関数 |
|
|
636
|
-
| 関数 |
|
|
637
|
-
| 関数 |
|
|
638
|
-
| 関数 |
|
|
639
|
-
| 関数 |
|
|
640
|
-
| 関数 |
|
|
641
|
-
| 関数 |
|
|
642
|
-
| 関数 |
|
|
643
|
-
| 関数 |
|
|
644
|
-
| 関数 |
|
|
645
|
-
| 関数 |
|
|
646
|
-
| 関数 |
|
|
647
|
-
| 関数 |
|
|
648
|
-
| 関数 | 描画データ
|
|
649
|
-
| 関数 |
|
|
650
|
-
| 関数 |
|
|
628
|
+
| 関数 | 全描画クリア | | 描画中のキャンバスをクリアする。 | ぜんびょうがくりあ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L111
|
|
629
|
+
| 関数 | 描画クリア | Bの/Bへ/Bに | [x, y, w, h]の範囲を描画クリア。空配列を指定すると『全描画クリア』と同じ。2要素の配列だと[0,0]を省略したのと同じ。 | びょうがくりあ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L122
|
|
630
|
+
| 関数 | 描画クリップ | | 描画命令のあとに使うと以後その範囲のみに描くことができるようになる | びょうがくりっぷ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L139
|
|
631
|
+
| 関数 | 円描画 | XYへRの/XYに | [x, y]へrの円を描画する | えんびょうが | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L149
|
|
632
|
+
| 関数 | 楕円描画 | ARGSへ/ARGSに/ARGSの | [x, y, x幅, y幅, 回転, 開始角, 終了角, 左回転か]に楕円を描画する | だえんびょうが | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L162
|
|
633
|
+
| 関数 | 多角形描画 | Aで/Aの/Aを | 座標配列vを指定して多角形を描画する | たかっけいびょうが | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L183
|
|
634
|
+
| 関数 | 画像読 | URLの/URLを | 画像のURLを読み込んでImageオブジェクトを返す。(URLにdataスキームも指定可能) | がぞうよむ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L202
|
|
635
|
+
| 関数 | 画像読待 | URLの/URLを | 画像のURLを読み込んでImageオブジェクトを返す。その際、画像の読み込みが終わるまで待つ。(非同期関数) | がぞうよみまつ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L214
|
|
636
|
+
| 関数 | 画像逐次読 | URLの/URLを | (非推奨) 画像のURLを読み込んでImageオブジェクトを返す。また完了時『対象』にも代入する。『逐次実行』構文で使う。 | がぞうちくじよむ | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L230
|
|
637
|
+
| 関数 | 画像読時 | FでURLの/URLを | 画像のURLを読み込んでコールバック関数Fを読み込み、変数『対象』にImageオブジェクトを代入する | がぞうよんだとき | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L251
|
|
638
|
+
| 関数 | 画像描画 | IMGのXYへ/IMGをXYに | 画像IMG(またはURL)を描画先座標[x,y]へ描画し、Imageオブジェクトを返す。座標には2,4,8個の引数を指定可能。 | がぞうびょうが | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L273
|
|
639
|
+
| 関数 | 画像部分描画 | IMGのSXYをDXYへ/SXYからDXYに | 画像IMG(またはURL)の座標[sx, sy, sw, sh]を描画先座標[dx, dy, dw, dh]へ描画し、Imageオブジェクトを返す | がぞうぶぶんびょうが | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L305
|
|
640
|
+
| 関数 | 描画フォント設定 | Nを/Nの/Nで/Nに | 描画フォントを指定する(CSSのフォント設定と同じ 例「36px Aria」)。フォントサイズのみの指定も可。 | びょうがふぉんとせってい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L357
|
|
641
|
+
| 関数 | 文字描画 | XYへSの/XYにSを | [x, y]へテキストSを描画する(描画フォント設定でサイズなど指定) | もじびょうが | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L372
|
|
642
|
+
| 関数 | 文字描画幅取得 | Sの | テキストSを指定して文字の描画幅を取得する | もじびょうがはばしゅとく | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L382
|
|
643
|
+
| 関数 | 描画起点設定 | XYへ/XYに | 描画位置の起点を[x,y]へ設定する(translate) | びょうがきてんせってい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L392
|
|
644
|
+
| 関数 | 描画回転 | Aだけ/Aに/Aへ | 描画内容をA度だけ回転する(rotate) | びょうがかいてん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L402
|
|
645
|
+
| 関数 | 描画拡大 | XYだけ/XYに/XYへ | 描画内容を[x方向,y方向]だけ拡大する(scale) | びょうがかくだい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L412
|
|
646
|
+
| 関数 | 描画変換マトリクス設定 | Aだけ/Aに/Aへ | 描画内容を[a,b,c,d,e,f]の変換マトリクスに設定。既存内容を破棄して設定(setTransform) | びょうがへんかんまとりくすせってい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L422
|
|
647
|
+
| 関数 | 描画変換マトリクス追加 | Aだけ/Aに/Aへ | 描画内容を[a,b,c,d,e,f]のマトリクスで変換。既存のマトリクスに掛け合わせる(transform) | びょうがへんかんまとりくすついか | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L432
|
|
648
|
+
| 関数 | 描画データURL変換 | | 描画内容をPNG形式のデータURLに変換して得る。 | びょうがでーたURLへんかん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L442
|
|
649
|
+
| 関数 | 描画データBLOB変換 | | 描画内容をPNG形式のBLOBオブジェクトに変換して戻す。(非同期関数) | びょうがでーたBLOBへんかん | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L453
|
|
650
|
+
| 関数 | 描画ダウンロードリンク作成 | DOMへ/DOMに | 描画内容をPNG形式のデータURLに変換してDOMに設定する。 | びょうがだうんろーどりんくさくせい | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L464
|
|
651
|
+
| 関数 | 描画ダウンロード | | 描画内容をPNG形式のデータURLに変換してダウンロードする。(「クリックした時」などと組み合わせて使う) | びょうがだうんろーど | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_canvas.mts#L478
|
|
651
652
|
●位置情報
|
|
652
653
|
| 関数 | 位置情報取得時 | FUNCの/FUNCに/FUNCへ | 位置情報を取得してコールバック関数内で変数「対象」に配列で[緯度,経度]を返す | いちじょうほうしゅとくしたとき | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_geolocation.mts#L8
|
|
653
654
|
| 関数 | 位置情報監視時 | FUNCの/FUNCに/FUNCへ | 位置情報を監視してIDを返す。引数に指定したコールバック関数内で変数「対象」に配列で[緯度,経度]を返す | いちじょうほうかんししたとき | https://github.com/kujirahand/nadesiko3/blob/master/src/plugin_browser_geolocation.mts#L27
|
|
@@ -1018,11 +1019,18 @@
|
|
|
1018
1019
|
|
|
1019
1020
|
■nadesiko3-music(拡張プラグイン,wnako)
|
|
1020
1021
|
●音楽
|
|
1021
|
-
| 関数 | MML演奏 | MMLを/MMLの | MMLを演奏する | MMLえんそう | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#
|
|
1022
|
-
| 関数 | MML停止 | | MML演奏で開始した演奏を停止する | MMLていし | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#
|
|
1023
|
-
| 関数 | MIDI演奏 | URLを/URLの | MIDIファイルのあるURLを指定して演奏する(非同期関数) | MIDIえんそう | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#
|
|
1024
|
-
| 関数 | MIDI停止 | | MIDI演奏で開始した演奏を停止する | MIDIていし | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#
|
|
1025
|
-
| 関数 | MIDIループ再生設定 | Vに/Vへ | V(オン/オフ)にMML演奏/MIDI演奏で再生をループするように指定 | MIDIるーぷさいせいせってい | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#
|
|
1022
|
+
| 関数 | MML演奏 | MMLを/MMLの | MMLを演奏する | MMLえんそう | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L52
|
|
1023
|
+
| 関数 | MML停止 | | MML演奏で開始した演奏を停止する | MMLていし | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L78
|
|
1024
|
+
| 関数 | MIDI演奏 | URLを/URLの | MIDIファイルのあるURLを指定して演奏する(非同期関数) | MIDIえんそう | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L89
|
|
1025
|
+
| 関数 | MIDI停止 | | MIDI演奏で開始した演奏を停止する | MIDIていし | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L105
|
|
1026
|
+
| 関数 | MIDIループ再生設定 | Vに/Vへ | V(オン/オフ)にMML演奏/MIDI演奏で再生をループするように指定 | MIDIるーぷさいせいせってい | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L115
|
|
1027
|
+
| 関数 | MMLコンパイル | MMLを/MMLの | MMLをコンパイルしてMIDIファイルに変換する(非同期関数) | MMLこんぱいる | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L123
|
|
1028
|
+
●サウンドフォント
|
|
1029
|
+
| 関数 | サウンドフォント読 | URLから/URLの | サウンドフォントのURLを指定して読み込む。URLに「デフォルト」を指定可能(非同期関数) | さうんどふぉんとよむ | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L132
|
|
1030
|
+
| 関数 | サウンドフォントMIDI演奏 | BINを/BINの | MIDIデータ(バイナリ)を指定して演奏する(非同期関数) | さうんどふぉんとMIDIえんそう | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L140
|
|
1031
|
+
| 関数 | サウンドフォントMIDI演奏停止 | | 再生中のMIDI演奏を停止する(非同期関数) | さうんどふぉんとえんそうていし | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L152
|
|
1032
|
+
| 関数 | サウンドフォントMML演奏 | MMLを/MMLの | MMLをサウンドフォントで演奏する(非同期関数) | さうんどふぉんとMMLえんそう | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L160
|
|
1033
|
+
| 関数 | サウンドフォント待時間設定 | Vに/Vへ | 再生前の待機時間をミリ秒で指定(エラーが出るときに指定)(非同期関数) | さうんどふぉんとまちじかんせってい | https://github.com/kujirahand/nadesiko3-music/blob/master/nadesiko3-music.js#L174
|
|
1026
1034
|
|
|
1027
1035
|
|
|
1028
1036
|
■nadesiko3-tools(拡張プラグイン,cnako)
|
|
@@ -1070,25 +1078,25 @@
|
|
|
1070
1078
|
|
|
1071
1079
|
■nadesiko3-htmlparser(拡張プラグイン,cnako)
|
|
1072
1080
|
●HTMLパーサ(コンソール)
|
|
1073
|
-
| 関数 | HTML_URL開 | URLを | 任意のURLを開いてパースする。(非同期関数) | HTML_URLひらく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1074
|
-
| 関数 | HTMLパース | HTMLを | 任意のHTML文字列をパースする。 | HTMLぱーす | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1075
|
-
| 関数 | DOM検索 | DOMからQを/DOMの | DOMからクエリQを利用して合致するものを検索して配列で返す | DOMちゅうしゅつ | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1076
|
-
| 関数 | DOM要素取得 | Qを/Qの/Qから | パース済みHTMLからクエリQに該当するDOMを取得して返す | DOMようそしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1077
|
-
| 関数 | DOM子要素全取得 | DOMの/DOMから | DOMの子要素を全部取得する | DOMこようそぜんしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1078
|
-
| 関数 | DOM親要素取得 | Qを/Qの/Qから | DOMの親要素を取得する | DOMおやようそしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1079
|
-
| 関数 | DOM次要素取得 | Qを/Qの/Qから | DOMの親要素を取得する | DOMおやようそしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1080
|
-
| 関数 | DOM抽出 | DOMからQを/DOMの | DOMからクエリQを利用して合致するものを抽出して配列で返す | DOMちゅうしゅつ | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1081
|
-
| 関数 | 属性取得 | DOMからKを/DOMの | DOMの属性Kを取得する | ぞくせいしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1082
|
-
| 関数 | テキスト取得 | DOMから/DOMの | DOMのテキストを取得する | てきすとしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1083
|
-
| 関数 | HTML取得 | DOMから/DOMの | DOMのHTMLを取得する | HTMLしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1084
|
-
| 関数 | HTML設定 | DOMにSを/DOMへ | DOMにSを設定する | HTML設定 | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1085
|
-
| 関数 | プロパティ取得 | DOMからPROPを/DOMの | DOMのプロパティPROPを取得する | ぷろぱてぃしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1086
|
-
| 関数 | 値取得 | DOMから/DOMの | DOMの値を取得する | あたいしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1087
|
-
| 関数 | 値設定 | DOMにVを/DOMへ | DOMの値vを設定する | あたいせってい | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1088
|
-
| 関数 | スタイル取得 | DOMからKを/DOMの | DOMのスタイルKを取得する | すたいるしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1089
|
-
| 関数 | データ取得 | DOMからKを/DOMの | DOMのデータkを取得する | でーたしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1090
|
-
| 関数 | DOM配列変換 | DOMから/DOMを | DOMを配列に変換する | DOMはいれつへんかん | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1091
|
-
| 関数 | タグ名取得 | DOMから/DOMの | DOMのタグ名を取得する | たぐめいしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#
|
|
1081
|
+
| 関数 | HTML_URL開 | URLを | 任意のURLを開いてパースする。(非同期関数) | HTML_URLひらく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L51
|
|
1082
|
+
| 関数 | HTMLパース | HTMLを | 任意のHTML文字列をパースする。 | HTMLぱーす | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L68
|
|
1083
|
+
| 関数 | DOM検索 | DOMからQを/DOMの | DOMからクエリQを利用して合致するものを検索して配列で返す | DOMちゅうしゅつ | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L78
|
|
1084
|
+
| 関数 | DOM要素取得 | Qを/Qの/Qから | パース済みHTMLからクエリQに該当するDOMを取得して返す | DOMようそしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L92
|
|
1085
|
+
| 関数 | DOM子要素全取得 | DOMの/DOMから | DOMの子要素を全部取得する | DOMこようそぜんしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L99
|
|
1086
|
+
| 関数 | DOM親要素取得 | Qを/Qの/Qから | DOMの親要素を取得する | DOMおやようそしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L107
|
|
1087
|
+
| 関数 | DOM次要素取得 | Qを/Qの/Qから | DOMの親要素を取得する | DOMおやようそしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L114
|
|
1088
|
+
| 関数 | DOM抽出 | DOMからQを/DOMの | DOMからクエリQを利用して合致するものを抽出して配列で返す | DOMちゅうしゅつ | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L121
|
|
1089
|
+
| 関数 | 属性取得 | DOMからKを/DOMの | DOMの属性Kを取得する | ぞくせいしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L128
|
|
1090
|
+
| 関数 | テキスト取得 | DOMから/DOMの | DOMのテキストを取得する | てきすとしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L136
|
|
1091
|
+
| 関数 | HTML取得 | DOMから/DOMの | DOMのHTMLを取得する | HTMLしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L148
|
|
1092
|
+
| 関数 | HTML設定 | DOMにSを/DOMへ | DOMにSを設定する | HTML設定 | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L156
|
|
1093
|
+
| 関数 | プロパティ取得 | DOMからPROPを/DOMの | DOMのプロパティPROPを取得する | ぷろぱてぃしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L164
|
|
1094
|
+
| 関数 | 値取得 | DOMから/DOMの | DOMの値を取得する | あたいしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L172
|
|
1095
|
+
| 関数 | 値設定 | DOMにVを/DOMへ | DOMの値vを設定する | あたいせってい | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L180
|
|
1096
|
+
| 関数 | スタイル取得 | DOMからKを/DOMの | DOMのスタイルKを取得する | すたいるしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L188
|
|
1097
|
+
| 関数 | データ取得 | DOMからKを/DOMの | DOMのデータkを取得する | でーたしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L196
|
|
1098
|
+
| 関数 | DOM配列変換 | DOMから/DOMを | DOMを配列に変換する | DOMはいれつへんかん | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L204
|
|
1099
|
+
| 関数 | タグ名取得 | DOMから/DOMの | DOMのタグ名を取得する | たぐめいしゅとく | https://github.com/kujirahand/nadesiko3-htmlparser/blob/master/nadesiko3-htmlparser.js#L212
|
|
1092
1100
|
|
|
1093
1101
|
|
|
1094
1102
|
■nadesiko3-websocket(拡張プラグイン,cnako)
|
|
@@ -1311,3 +1319,19 @@
|
|
|
1311
1319
|
| 関数 | TOMLエンコード | Sを/Sから/Sの | オブジェクトをTOML文字列にエンコードする | TOMLえんこーど | https://github.com/kujirahand/nadesiko3-toml/blob/master/src/nadesiko3-toml.js#L35
|
|
1312
1320
|
|
|
1313
1321
|
|
|
1322
|
+
■nadesiko3-drone(拡張プラグイン,cnako)
|
|
1323
|
+
●ドローン
|
|
1324
|
+
| 関数 | ドローン接続 | | ドローンに接続する(非同期関数) | どろーんせつぞく | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L90
|
|
1325
|
+
| 関数 | ドローンバッテリ残量取得 | | ドローンからバッテリ残量を得る(非同期関数) | どろーんばってりざんりょうしゅとく | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L139
|
|
1326
|
+
| 関数 | ドローン緊急停止 | | ドローン緊急停止する | どろーんきんきゅうていし | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L156
|
|
1327
|
+
| 関数 | ドローン送信 | CMDを/CMDの | コマンドをドローンに送信する(非同期関数) | どろーんそうしん | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L165
|
|
1328
|
+
| 関数 | ドローン接続時 | Fを | ドローンに接続した時にFを実行する | どろーんせつぞくしたとき | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L173
|
|
1329
|
+
| 関数 | ドローン受信時 | Fを | ドローンからデータを受信した時にFを実行する | どろーんじゅしんしたとき | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L184
|
|
1330
|
+
| 関数 | ドローン離陸 | | 離陸コマンドをドローンに送信する(非同期関数) | どろーんりりく | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L197
|
|
1331
|
+
| 関数 | ドローン着陸 | | 着陸コマンドをドローンに送信する(非同期関数) | どろーんちゃくりく | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L206
|
|
1332
|
+
| 関数 | ドローン移動 | DIRにNだけ/DIRへ | ドローンを方向(上下左右前後)にN(20-500cm)だけ動かす(非同期関数) | どろーんいどう | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L215
|
|
1333
|
+
| 関数 | ドローン回転 | Nだけ | ドローンをN(1から360/-1から-360)度だけ右回転させる(非同期関数) | どろーんかいてん | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L237
|
|
1334
|
+
| 関数 | ドローン速度設定 | Nに/Nへ | ドローンの速度をN(10-100)に設定 | どろーんそくどせってい | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L253
|
|
1335
|
+
| 関数 | ドローンWIFI設定 | SSIDのPASSに/PASSへ | ドローンのWi-FiをSSIDのPASSに設定 | どろーんWIFIせってい | https://github.com/kujirahand/nadesiko3-drone/blob/master/nadesiko3-drone.js#L263
|
|
1336
|
+
|
|
1337
|
+
|
|
@@ -49,12 +49,12 @@ CORE="core/src"
|
|
|
49
49
|
['nadesiko3php/src/plugin_php.php', 'phpnako'],
|
|
50
50
|
['nadesiko3electron/src/plugin_electron_node.mjs', 'enako'],
|
|
51
51
|
['nadesiko3-toml/src/nadesiko3-toml.js', 'wnako,cnako'],
|
|
52
|
+
['nadesiko3-drone/nadesiko3-drone.js', 'cnako'], # ドローン制御
|
|
52
53
|
]
|
|
53
54
|
# サポートしない
|
|
54
55
|
# 'nadesiko3-firebase/plugin_firebase.js',
|
|
55
56
|
# 'nadesiko3-googlehome/plugin_googlehome.js',
|
|
56
57
|
# 'nadesiko3-sqlite3sync/nadesiko3-sqlite3sync.js', # 利用は非推奨に
|
|
57
|
-
# 'nadesiko3-drone/nadesiko3-drone.js', 'cnako', # ドローン
|
|
58
58
|
|
|
59
59
|
#------------------------
|
|
60
60
|
結果データ=「」
|
package/core/package.json
CHANGED
|
@@ -12,6 +12,62 @@ function isSkipWord(t) {
|
|
|
12
12
|
}
|
|
13
13
|
return false;
|
|
14
14
|
}
|
|
15
|
+
// 前処理として、JSONオブジェクト内に改行があれば削除する処理を追加
|
|
16
|
+
function removeJsonEol(tokens) {
|
|
17
|
+
let jsonObjLevel = 0;
|
|
18
|
+
let jsonArrayLevel = 0;
|
|
19
|
+
let jsonStartIndent = -1;
|
|
20
|
+
let flagNeedResetIndent = false;
|
|
21
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
22
|
+
const t = tokens[i];
|
|
23
|
+
// start of JSON
|
|
24
|
+
if (t.type == '{') {
|
|
25
|
+
jsonObjLevel++;
|
|
26
|
+
if (jsonStartIndent == -1) {
|
|
27
|
+
jsonStartIndent = t.indent;
|
|
28
|
+
}
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
if (t.type == '[') {
|
|
32
|
+
jsonArrayLevel++;
|
|
33
|
+
if (jsonStartIndent == -1) {
|
|
34
|
+
jsonStartIndent = t.indent;
|
|
35
|
+
}
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
// end of JSON
|
|
39
|
+
if (t.type == '}') {
|
|
40
|
+
jsonObjLevel--;
|
|
41
|
+
if (jsonObjLevel == 0 && jsonArrayLevel == 0) {
|
|
42
|
+
flagNeedResetIndent = true;
|
|
43
|
+
}
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
if (t.type == ']') {
|
|
47
|
+
jsonArrayLevel--;
|
|
48
|
+
if (jsonObjLevel == 0 && jsonArrayLevel == 0) {
|
|
49
|
+
flagNeedResetIndent = true;
|
|
50
|
+
}
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (jsonObjLevel > 0 || jsonArrayLevel > 0) {
|
|
54
|
+
t.indent = jsonStartIndent;
|
|
55
|
+
if (t.type == 'eol') {
|
|
56
|
+
// replace eol to comment
|
|
57
|
+
t.type = 'range_comment';
|
|
58
|
+
t.value = 'json::eol';
|
|
59
|
+
}
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (flagNeedResetIndent) {
|
|
63
|
+
t.indent = jsonStartIndent;
|
|
64
|
+
if (t.type == 'eol') {
|
|
65
|
+
flagNeedResetIndent = false;
|
|
66
|
+
jsonStartIndent = -1;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
15
71
|
/** インラインインデント構文 --- 末尾の":"をインデントを考慮して"ここまで"を挿入 (#1215) */
|
|
16
72
|
export function convertInlineIndent(tokens) {
|
|
17
73
|
//
|
|
@@ -22,29 +78,12 @@ export function convertInlineIndent(tokens) {
|
|
|
22
78
|
// 4: 「A=0,B!=0」を表示。
|
|
23
79
|
// 5:違えば:
|
|
24
80
|
// 6: 「A!=0」を表示。
|
|
25
|
-
//
|
|
81
|
+
// 前処理
|
|
82
|
+
removeJsonEol(tokens);
|
|
83
|
+
// 一行ずつ処理する
|
|
26
84
|
const lines = splitTokens(tokens, 'eol');
|
|
27
85
|
const blockIndents = [];
|
|
28
86
|
let checkICount = -1;
|
|
29
|
-
let jsonObjLevel = 0;
|
|
30
|
-
let jsonArrayLevel = 0;
|
|
31
|
-
const checkJsonSyntax = (line) => {
|
|
32
|
-
// JSONのオブジェクトがあるか?
|
|
33
|
-
line.forEach((t) => {
|
|
34
|
-
if (t.type === '{') {
|
|
35
|
-
jsonObjLevel++;
|
|
36
|
-
}
|
|
37
|
-
if (t.type === '}') {
|
|
38
|
-
jsonObjLevel--;
|
|
39
|
-
}
|
|
40
|
-
if (t.type === '[') {
|
|
41
|
-
jsonArrayLevel++;
|
|
42
|
-
}
|
|
43
|
-
if (t.type === ']') {
|
|
44
|
-
jsonArrayLevel--;
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
87
|
for (let i = 0; i < lines.length; i++) {
|
|
49
88
|
const line = lines[i];
|
|
50
89
|
// 空行は飛ばす || コメント行だけの行も飛ばす
|
|
@@ -52,11 +91,6 @@ export function convertInlineIndent(tokens) {
|
|
|
52
91
|
continue;
|
|
53
92
|
}
|
|
54
93
|
const leftToken = GetLeftTokens(line);
|
|
55
|
-
// JSONの途中であればブロックの変更は行わない
|
|
56
|
-
if (jsonObjLevel > 0 || jsonArrayLevel > 0) {
|
|
57
|
-
checkJsonSyntax(line);
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
94
|
// インデントの終了を確認する必要があるか?
|
|
61
95
|
if (checkICount >= 0) {
|
|
62
96
|
const lineICount = leftToken.indent;
|
|
@@ -81,11 +115,6 @@ export function convertInlineIndent(tokens) {
|
|
|
81
115
|
}
|
|
82
116
|
}
|
|
83
117
|
}
|
|
84
|
-
// JSONの途中であればブロックの変更は行わない
|
|
85
|
-
checkJsonSyntax(line);
|
|
86
|
-
if (jsonObjLevel > 0 || jsonArrayLevel > 0) {
|
|
87
|
-
continue;
|
|
88
|
-
}
|
|
89
118
|
// 末尾の「:」をチェック
|
|
90
119
|
const tLast = getLastTokenWithoutEOL(line);
|
|
91
120
|
if (tLast.type === ':') {
|
|
@@ -289,7 +318,6 @@ export function convertIndentSyntax(tokens) {
|
|
|
289
318
|
// ブロックの開始?
|
|
290
319
|
if (curI > lastI) {
|
|
291
320
|
blockIndents.push([curI, lastI]);
|
|
292
|
-
// console.log('@@@push', curI)
|
|
293
321
|
lastI = curI;
|
|
294
322
|
continue;
|
|
295
323
|
}
|
|
@@ -316,7 +344,6 @@ export function convertIndentSyntax(tokens) {
|
|
|
316
344
|
lines[lines.length - 1].push(newToken('eol', '\n', t));
|
|
317
345
|
}
|
|
318
346
|
const result = joinTokenLines(lines);
|
|
319
|
-
// console.log('###', debugTokens(result))
|
|
320
347
|
return result;
|
|
321
348
|
}
|
|
322
349
|
function useIndentSynax(tokens) {
|
|
@@ -12,6 +12,63 @@ function isSkipWord (t: Token): boolean {
|
|
|
12
12
|
return false
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
+
// 前処理として、JSONオブジェクト内に改行があれば削除する処理を追加
|
|
16
|
+
function removeJsonEol(tokens: Token[]) {
|
|
17
|
+
let jsonObjLevel = 0
|
|
18
|
+
let jsonArrayLevel = 0
|
|
19
|
+
let jsonStartIndent = -1
|
|
20
|
+
let flagNeedResetIndent = false
|
|
21
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
22
|
+
const t = tokens[i]
|
|
23
|
+
// start of JSON
|
|
24
|
+
if (t.type == '{') {
|
|
25
|
+
jsonObjLevel++
|
|
26
|
+
if (jsonStartIndent == -1) {
|
|
27
|
+
jsonStartIndent = t.indent
|
|
28
|
+
}
|
|
29
|
+
continue
|
|
30
|
+
}
|
|
31
|
+
if (t.type == '[') {
|
|
32
|
+
jsonArrayLevel++
|
|
33
|
+
if (jsonStartIndent == -1) {
|
|
34
|
+
jsonStartIndent = t.indent
|
|
35
|
+
}
|
|
36
|
+
continue
|
|
37
|
+
}
|
|
38
|
+
// end of JSON
|
|
39
|
+
if (t.type == '}') {
|
|
40
|
+
jsonObjLevel--
|
|
41
|
+
if (jsonObjLevel == 0 && jsonArrayLevel == 0) {
|
|
42
|
+
flagNeedResetIndent = true
|
|
43
|
+
}
|
|
44
|
+
continue
|
|
45
|
+
}
|
|
46
|
+
if (t.type == ']') {
|
|
47
|
+
jsonArrayLevel--
|
|
48
|
+
if (jsonObjLevel == 0 && jsonArrayLevel == 0) {
|
|
49
|
+
flagNeedResetIndent = true
|
|
50
|
+
}
|
|
51
|
+
continue
|
|
52
|
+
}
|
|
53
|
+
if (jsonObjLevel > 0 || jsonArrayLevel > 0) {
|
|
54
|
+
t.indent = jsonStartIndent
|
|
55
|
+
if (t.type == 'eol') {
|
|
56
|
+
// replace eol to comment
|
|
57
|
+
t.type = 'range_comment'
|
|
58
|
+
t.value = 'json::eol'
|
|
59
|
+
}
|
|
60
|
+
continue
|
|
61
|
+
}
|
|
62
|
+
if (flagNeedResetIndent) {
|
|
63
|
+
t.indent = jsonStartIndent
|
|
64
|
+
if (t.type == 'eol') {
|
|
65
|
+
flagNeedResetIndent = false
|
|
66
|
+
jsonStartIndent = -1
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
15
72
|
/** インラインインデント構文 --- 末尾の":"をインデントを考慮して"ここまで"を挿入 (#1215) */
|
|
16
73
|
export function convertInlineIndent (tokens: Token[]): Token[] {
|
|
17
74
|
//
|
|
@@ -22,31 +79,19 @@ export function convertInlineIndent (tokens: Token[]): Token[] {
|
|
|
22
79
|
// 4: 「A=0,B!=0」を表示。
|
|
23
80
|
// 5:違えば:
|
|
24
81
|
// 6: 「A!=0」を表示。
|
|
25
|
-
|
|
82
|
+
|
|
83
|
+
// 前処理
|
|
84
|
+
removeJsonEol(tokens)
|
|
85
|
+
|
|
86
|
+
// 一行ずつ処理する
|
|
26
87
|
const lines: Token[][] = splitTokens(tokens, 'eol')
|
|
27
88
|
const blockIndents: number[] = []
|
|
28
89
|
let checkICount = -1
|
|
29
|
-
let jsonObjLevel = 0
|
|
30
|
-
let jsonArrayLevel = 0
|
|
31
|
-
const checkJsonSyntax = (line: Token[]) => {
|
|
32
|
-
// JSONのオブジェクトがあるか?
|
|
33
|
-
line.forEach((t: Token) => {
|
|
34
|
-
if (t.type === '{') { jsonObjLevel++ }
|
|
35
|
-
if (t.type === '}') { jsonObjLevel-- }
|
|
36
|
-
if (t.type === '[') { jsonArrayLevel++ }
|
|
37
|
-
if (t.type === ']') { jsonArrayLevel-- }
|
|
38
|
-
})
|
|
39
|
-
}
|
|
40
90
|
for (let i = 0; i < lines.length; i++) {
|
|
41
91
|
const line = lines[i]
|
|
42
92
|
// 空行は飛ばす || コメント行だけの行も飛ばす
|
|
43
93
|
if (IsEmptyLine(line)) { continue }
|
|
44
94
|
const leftToken = GetLeftTokens(line)
|
|
45
|
-
// JSONの途中であればブロックの変更は行わない
|
|
46
|
-
if (jsonObjLevel > 0 || jsonArrayLevel > 0) {
|
|
47
|
-
checkJsonSyntax(line)
|
|
48
|
-
continue
|
|
49
|
-
}
|
|
50
95
|
// インデントの終了を確認する必要があるか?
|
|
51
96
|
if (checkICount >= 0) {
|
|
52
97
|
const lineICount: number = leftToken.indent
|
|
@@ -69,9 +114,6 @@ export function convertInlineIndent (tokens: Token[]): Token[] {
|
|
|
69
114
|
}
|
|
70
115
|
}
|
|
71
116
|
}
|
|
72
|
-
// JSONの途中であればブロックの変更は行わない
|
|
73
|
-
checkJsonSyntax(line)
|
|
74
|
-
if (jsonObjLevel > 0 || jsonArrayLevel > 0) { continue }
|
|
75
117
|
// 末尾の「:」をチェック
|
|
76
118
|
const tLast: Token = getLastTokenWithoutEOL(line)
|
|
77
119
|
if (tLast.type === ':') {
|
|
@@ -250,7 +292,6 @@ export function convertIndentSyntax (tokens: Token[]): Token[] {
|
|
|
250
292
|
// ブロックの開始?
|
|
251
293
|
if (curI > lastI) {
|
|
252
294
|
blockIndents.push([curI, lastI])
|
|
253
|
-
// console.log('@@@push', curI)
|
|
254
295
|
lastI = curI
|
|
255
296
|
continue
|
|
256
297
|
}
|
|
@@ -277,7 +318,6 @@ export function convertIndentSyntax (tokens: Token[]): Token[] {
|
|
|
277
318
|
lines[lines.length - 1].push(newToken('eol', '\n', t))
|
|
278
319
|
}
|
|
279
320
|
const result = joinTokenLines(lines)
|
|
280
|
-
// console.log('###', debugTokens(result))
|
|
281
321
|
return result
|
|
282
322
|
}
|
|
283
323
|
|
|
@@ -1508,14 +1508,14 @@ export class NakoParser extends NakoParserBase {
|
|
|
1508
1508
|
return this.yFor();
|
|
1509
1509
|
}
|
|
1510
1510
|
// スタックから引数をポップ
|
|
1511
|
-
let value = this.popStack(['だけ', '']);
|
|
1512
|
-
if (!value) {
|
|
1513
|
-
value = { type: 'number', value: 1, josi: 'だけ', ...map, end: this.peekSourceMap() };
|
|
1514
|
-
}
|
|
1515
1511
|
const word = this.popStack(['を']);
|
|
1516
1512
|
if (!word || (word.type !== 'word' && word.type !== 'ref_array')) {
|
|
1517
1513
|
throw NakoSyntaxError.fromNode(`『${action.type}』文で定数が見当たりません。『(変数名)を(値)だけ${action.type}』のように使います。`, action);
|
|
1518
1514
|
}
|
|
1515
|
+
let value = this.popStack(['だけ', '']);
|
|
1516
|
+
if (!value) {
|
|
1517
|
+
value = { type: 'number', value: 1, josi: 'だけ', ...map, end: this.peekSourceMap() };
|
|
1518
|
+
}
|
|
1519
1519
|
// 減らすなら-1かける
|
|
1520
1520
|
if (action.value === '減') {
|
|
1521
1521
|
const minusOne = { type: 'number', value: -1, line: action.line };
|
|
@@ -2437,37 +2437,40 @@ export class NakoParser extends NakoParserBase {
|
|
|
2437
2437
|
return o;
|
|
2438
2438
|
}
|
|
2439
2439
|
// 一語関数
|
|
2440
|
-
|
|
2441
|
-
|
|
2442
|
-
const oneWordFuncToken = this.get();
|
|
2440
|
+
if (this.check('func')) {
|
|
2441
|
+
const oneWordFuncToken = this.peek();
|
|
2443
2442
|
if (!oneWordFuncToken) {
|
|
2444
2443
|
throw new Error('[System Error] 正しく値が取れませんでした。');
|
|
2445
2444
|
}
|
|
2446
|
-
const
|
|
2447
|
-
|
|
2448
|
-
|
|
2449
|
-
|
|
2450
|
-
|
|
2451
|
-
|
|
2452
|
-
|
|
2453
|
-
|
|
2454
|
-
|
|
2455
|
-
|
|
2456
|
-
|
|
2457
|
-
|
|
2458
|
-
|
|
2459
|
-
|
|
2445
|
+
const splitType = operatorList.concat(['eol', ')', ']', 'ならば', '回', '間', '反復', '条件分岐']);
|
|
2446
|
+
if (this.check2(['func', splitType]) || (oneWordFuncToken?.josi && oneWordFuncToken.josi !== '')) {
|
|
2447
|
+
this.get(); // skip oneWordFuncToken
|
|
2448
|
+
const tt = oneWordFuncToken;
|
|
2449
|
+
const f = this.getVarNameRef(tt);
|
|
2450
|
+
this.usedFuncs.add(f.value);
|
|
2451
|
+
// 引数の個数をチェック
|
|
2452
|
+
const meta = tt.meta;
|
|
2453
|
+
const args = [];
|
|
2454
|
+
if (!meta) {
|
|
2455
|
+
throw NakoSyntaxError.fromNode(`一語関数『${f.value}』は存在しません。`, tt);
|
|
2456
|
+
}
|
|
2457
|
+
if (meta.josi && meta.josi.length === 1) {
|
|
2458
|
+
args.push({ type: 'word', value: 'それ' });
|
|
2459
|
+
}
|
|
2460
|
+
else if (meta.josi && meta.josi.length >= 2) {
|
|
2461
|
+
throw NakoSyntaxError.fromNode(`関数『${f.value}』で引数が指定されていません。${meta.josi.length}個の引数を指定してください。`, tt);
|
|
2462
|
+
}
|
|
2463
|
+
return {
|
|
2464
|
+
type: 'func',
|
|
2465
|
+
name: f.value,
|
|
2466
|
+
blocks: args,
|
|
2467
|
+
josi: f.josi,
|
|
2468
|
+
meta,
|
|
2469
|
+
asyncFn: !!meta.asyncFn,
|
|
2470
|
+
...map,
|
|
2471
|
+
end: this.peekSourceMap()
|
|
2472
|
+
};
|
|
2460
2473
|
}
|
|
2461
|
-
return {
|
|
2462
|
-
type: 'func',
|
|
2463
|
-
name: f.value,
|
|
2464
|
-
blocks: args,
|
|
2465
|
-
josi: f.josi,
|
|
2466
|
-
meta,
|
|
2467
|
-
asyncFn: !!meta.asyncFn,
|
|
2468
|
-
...map,
|
|
2469
|
-
end: this.peekSourceMap()
|
|
2470
|
-
};
|
|
2471
2474
|
}
|
|
2472
2475
|
// C風関数呼び出し FUNC(...)
|
|
2473
2476
|
if (this.check2([['func', 'word'], '(']) && this.peekDef().josi === '') {
|