nadesiko3 3.5.0 → 3.5.2
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/README.md +5 -1
- package/core/package.json +1 -1
- package/core/src/nako_from_dncl2.mjs +2 -1
- package/core/src/nako_from_dncl2.mts +2 -1
- package/core/src/plugin_system.mjs +1 -1
- package/core/src/plugin_system.mts +1 -1
- package/core/test/dncl2_test.mjs +40 -12
- package/demo/browsers.html +15 -15
- package/doc/browsers.md +13 -13
- package/package.json +1 -1
- package/release/_hash.txt +20 -20
- package/release/_script-tags.txt +13 -13
- package/release/plugin_caniuse.js +1 -1
- package/release/plugin_caniuse.js.map +1 -1
- package/release/plugin_webworker.js +1 -1
- package/release/plugin_webworker.js.map +1 -1
- package/release/stats.json +1 -1
- package/release/version.js +1 -1
- package/release/version.js.map +1 -1
- package/release/wnako3.js +1 -1
- package/release/wnako3.js.map +1 -1
- package/release/wnako3webworker.js +1 -1
- package/release/wnako3webworker.js.map +1 -1
- package/src/browsers.mjs +1 -1
- package/src/browsers.txt +31 -30
- package/src/nako_version.mjs +2 -2
- package/src/nako_version.mts +2 -2
- package/src/plugin_webworker.mjs +39 -2
- package/src/wnako3webworker.mjs +17 -0
package/README.md
CHANGED
|
@@ -118,9 +118,13 @@ sudo apt install xdotool
|
|
|
118
118
|
|
|
119
119
|
```bash
|
|
120
120
|
npm test
|
|
121
|
-
npm run test:all
|
|
122
121
|
```
|
|
123
122
|
|
|
123
|
+
## Colabでビルドテスト
|
|
124
|
+
|
|
125
|
+
Google Colabでなでしこのビルドテストできます。
|
|
126
|
+
- [ノートブック](https://colab.research.google.com/drive/1a-Choj3tCBCA1R7x7vPdNQN48vGzBd7E?usp=sharing)
|
|
127
|
+
|
|
124
128
|
## なでしこの開発履歴
|
|
125
129
|
|
|
126
130
|
「なでしこ3」の開発は2017年に始まり、以後コツコツとバージョンアップを続けています。
|
package/core/package.json
CHANGED
|
@@ -19,7 +19,8 @@ const DNCL_SIMPLES = {
|
|
|
19
19
|
// 'word:or': ['or', 'または'],
|
|
20
20
|
'word:not': ['not', '!'],
|
|
21
21
|
'word:乱数': ['word', '乱数範囲'],
|
|
22
|
-
'word:表示': ['word', '連続表示']
|
|
22
|
+
'word:表示': ['word', '連続表示'],
|
|
23
|
+
'word:と定義': ['ここまで', 'ここまで'] // 「と定義」→「ここまで」
|
|
23
24
|
};
|
|
24
25
|
/**
|
|
25
26
|
* DNCLのソースコードをなでしこに変換する
|
|
@@ -22,7 +22,8 @@ const DNCL_SIMPLES: { [key: string]: string[] } = {
|
|
|
22
22
|
// 'word:or': ['or', 'または'],
|
|
23
23
|
'word:not': ['not', '!'],
|
|
24
24
|
'word:乱数': ['word', '乱数範囲'],
|
|
25
|
-
'word:表示': ['word', '連続表示']
|
|
25
|
+
'word:表示': ['word', '連続表示'],
|
|
26
|
+
'word:と定義': ['ここまで', 'ここまで'] // 「と定義」→「ここまで」
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
/**
|
|
@@ -137,7 +137,7 @@ export default {
|
|
|
137
137
|
sys.chk = (value, constId) => {
|
|
138
138
|
if (typeof value === 'undefined') {
|
|
139
139
|
const cp = sys.constPools[constId];
|
|
140
|
-
const
|
|
140
|
+
const [msgNo, msgArgs, fileNo, lineNo] = cp;
|
|
141
141
|
let msg = sys.constPoolsTemplate[msgNo];
|
|
142
142
|
for (const i in msgArgs) {
|
|
143
143
|
const arg = sys.constPoolsTemplate[msgArgs[i]];
|
|
@@ -125,7 +125,7 @@ export default {
|
|
|
125
125
|
sys.chk = (value:any, constId: number): any => {
|
|
126
126
|
if (typeof value === 'undefined') {
|
|
127
127
|
const cp = sys.constPools[constId]
|
|
128
|
-
const
|
|
128
|
+
const [ msgNo, msgArgs, fileNo, lineNo ] = cp
|
|
129
129
|
let msg = sys.constPoolsTemplate[msgNo]
|
|
130
130
|
for (const i in msgArgs) {
|
|
131
131
|
const arg = sys.constPoolsTemplate[msgArgs[i]]
|
package/core/test/dncl2_test.mjs
CHANGED
|
@@ -176,18 +176,18 @@ describe('dncl2 (core #41)', async () => {
|
|
|
176
176
|
'\n', '2,1,0')
|
|
177
177
|
})
|
|
178
178
|
it('「情報」サンプル問題-当選数を決めるプログラム2', async () => {
|
|
179
|
-
await cmp(
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
179
|
+
await cmp(`
|
|
180
|
+
!DNCL2
|
|
181
|
+
Tomei = ["A党", "B党", "C党", "D党"]
|
|
182
|
+
Tokuhyo = [1200, 660, 1440, 180]
|
|
183
|
+
sousuu = 0
|
|
184
|
+
giseki = 6
|
|
185
|
+
m を 0 から 3 まで 1 ずつ増やしながら繰り返す:
|
|
186
|
+
⎿ sousuu = sousuu + Tokuhyo[m]
|
|
187
|
+
kizyunsuu = sousuu / giseki
|
|
188
|
+
m を 0 から 3 まで 1 ずつ増やしながら繰り返す:
|
|
189
|
+
⎿ 表示する(Tomei[m], ":", Tokuhyo[m] / kizyunsuu)
|
|
190
|
+
`, 'A党:2.0689655172413794\nB党:1.1379310344827587\nC党:2.4827586206896552\nD党:0.3103448275862069')
|
|
191
191
|
})
|
|
192
192
|
it('「情報」サンプル問題-当選数を決めるプログラム2改', async () => {
|
|
193
193
|
await cmp('' +
|
|
@@ -243,4 +243,32 @@ describe('dncl2 (core #41)', async () => {
|
|
|
243
243
|
'2**3を表示;' +
|
|
244
244
|
'', '8')
|
|
245
245
|
})
|
|
246
|
+
it('関数・・・定義する (core #145)', async () => {
|
|
247
|
+
await cmp(`
|
|
248
|
+
!DNCL2
|
|
249
|
+
関数の点数評価(tensu)を
|
|
250
|
+
もし tensu >=85 ならば:
|
|
251
|
+
表示する("勝って兜の緒を締めよ")
|
|
252
|
+
そうでなく、もし 85 > tensu and tensu >65ならば:
|
|
253
|
+
表示する("ドンマイ:気持ちを切り替えよう。")
|
|
254
|
+
そうでなければ:
|
|
255
|
+
表示する("自分のこれからと真剣に向き合おう")
|
|
256
|
+
と定義する
|
|
257
|
+
tensu = 60
|
|
258
|
+
点数評価(tensu)
|
|
259
|
+
`, '自分のこれからと真剣に向き合おう')
|
|
260
|
+
await cmp(`
|
|
261
|
+
!DNCL2
|
|
262
|
+
関数の点数評価(tensu)を
|
|
263
|
+
もし tensu >=85 ならば:
|
|
264
|
+
表示する("勝って兜の緒を締めよ")
|
|
265
|
+
そうでなく、もし 85 > tensu and tensu >65ならば:
|
|
266
|
+
表示する("ドンマイ:気持ちを切り替えよう。")
|
|
267
|
+
そうでなければ:
|
|
268
|
+
表示する("自分のこれからと真剣に向き合おう")
|
|
269
|
+
と定義する
|
|
270
|
+
tensu = 80
|
|
271
|
+
点数評価(tensu)
|
|
272
|
+
`, 'ドンマイ:気持ちを切り替えよう。')
|
|
273
|
+
})
|
|
246
274
|
})
|
package/demo/browsers.html
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
<html><head>
|
|
2
2
|
<title>対応ブラウザ - なでしこ3</title>
|
|
3
3
|
</head><body>
|
|
4
|
-
<h1
|
|
4
|
+
<h1>なでしこ3 対応ブラウザ一覧</h1>
|
|
5
5
|
|
|
6
6
|
<p>日本語プログラミング言語「なでしこ3」は以下のブラウザに対応しています。</p>
|
|
7
7
|
|
|
8
|
-
<h2
|
|
8
|
+
<h2>デスクトップ</h2>
|
|
9
9
|
|
|
10
10
|
<ul>
|
|
11
|
-
<li>Edge (
|
|
12
|
-
<li>Firefox (
|
|
13
|
-
<li>Chrome (
|
|
14
|
-
<li>Safari (
|
|
15
|
-
<li>Opera (
|
|
16
|
-
<li>Node.js (
|
|
11
|
+
<li>Edge (120/119/118以上)</li>
|
|
12
|
+
<li>Firefox (121/120/119/115以上)</li>
|
|
13
|
+
<li>Chrome (120/119/118/117/116/109以上)</li>
|
|
14
|
+
<li>Safari (17.2/17.1/16.6/15.6以上)</li>
|
|
15
|
+
<li>Opera (104/103/102以上)</li>
|
|
16
|
+
<li>Node.js (21.3.0/20.10.0/18.19.0以上)</li>
|
|
17
17
|
</ul>
|
|
18
18
|
|
|
19
|
-
<h2
|
|
19
|
+
<h2>モバイル</h2>
|
|
20
20
|
|
|
21
21
|
<ul>
|
|
22
|
-
<li>Safari on iOS (16.
|
|
22
|
+
<li>Safari on iOS (17.1/17.0/16.6-16.7/16.5/16.3/16.2/16.1/16.0/15.6-15.7以上)</li>
|
|
23
23
|
<li>Opera Mini (all以上)</li>
|
|
24
|
-
<li>Android Browser (
|
|
24
|
+
<li>Android Browser (120以上)</li>
|
|
25
25
|
<li>Opera Mobile (73以上)</li>
|
|
26
|
-
<li>Chrome for Android (
|
|
27
|
-
<li>Firefox for Android (
|
|
28
|
-
<li>UC Browser for Android (
|
|
29
|
-
<li>Samsung Internet (
|
|
26
|
+
<li>Chrome for Android (120以上)</li>
|
|
27
|
+
<li>Firefox for Android (119以上)</li>
|
|
28
|
+
<li>UC Browser for Android (15.5以上)</li>
|
|
29
|
+
<li>Samsung Internet (23/22以上)</li>
|
|
30
30
|
<li>QQ Browser (13.1以上)</li>
|
|
31
31
|
<li>KaiOS Browser (3.0-3.1/2.5以上)</li>
|
|
32
32
|
</ul>
|
package/doc/browsers.md
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
# なでしこ3 対応ブラウザ一覧
|
|
2
2
|
|
|
3
|
-
日本語プログラミング言語「なでしこ3
|
|
3
|
+
日本語プログラミング言語「なでしこ3」は以下のブラウザに対応しています。
|
|
4
4
|
|
|
5
5
|
## デスクトップ
|
|
6
6
|
|
|
7
|
-
- Edge (
|
|
8
|
-
- Firefox (
|
|
9
|
-
- Chrome (
|
|
10
|
-
- Safari (
|
|
11
|
-
- Opera (
|
|
12
|
-
- Node.js (
|
|
7
|
+
- Edge (120/119/118以上)
|
|
8
|
+
- Firefox (121/120/119/115以上)
|
|
9
|
+
- Chrome (120/119/118/117/116/109以上)
|
|
10
|
+
- Safari (17.2/17.1/16.6/15.6以上)
|
|
11
|
+
- Opera (104/103/102以上)
|
|
12
|
+
- Node.js (21.3.0/20.10.0/18.19.0以上)
|
|
13
13
|
|
|
14
14
|
## モバイル
|
|
15
15
|
|
|
16
|
-
- Safari on iOS (16.
|
|
16
|
+
- Safari on iOS (17.1/17.0/16.6-16.7/16.5/16.3/16.2/16.1/16.0/15.6-15.7以上)
|
|
17
17
|
- Opera Mini (all以上)
|
|
18
|
-
- Android Browser (
|
|
18
|
+
- Android Browser (120以上)
|
|
19
19
|
- Opera Mobile (73以上)
|
|
20
|
-
- Chrome for Android (
|
|
21
|
-
- Firefox for Android (
|
|
22
|
-
- UC Browser for Android (
|
|
23
|
-
- Samsung Internet (
|
|
20
|
+
- Chrome for Android (120以上)
|
|
21
|
+
- Firefox for Android (119以上)
|
|
22
|
+
- UC Browser for Android (15.5以上)
|
|
23
|
+
- Samsung Internet (23/22以上)
|
|
24
24
|
- QQ Browser (13.1以上)
|
|
25
25
|
- KaiOS Browser (3.0-3.1/2.5以上)
|
package/package.json
CHANGED
package/release/_hash.txt
CHANGED
|
@@ -14,10 +14,10 @@ nako_gen_async.js:
|
|
|
14
14
|
sha256(base64): 141RazK1UcSlHO71KVaHYHg8hPbF2QAp+ps4ki1bRDA=
|
|
15
15
|
sha512(base64): /73lycspxJ921s+NmqaOKF58X9rCsgEZrZT4O4sW1aCe5CSXtQevIasAoGgIoL3a5RmlaghbaIVASwAgmoE3+g==
|
|
16
16
|
plugin_caniuse.js:
|
|
17
|
-
md5(hex):
|
|
18
|
-
sha256(hex):
|
|
19
|
-
sha256(base64):
|
|
20
|
-
sha512(base64):
|
|
17
|
+
md5(hex): 2868e70def62f52107a7c518f5e355aa
|
|
18
|
+
sha256(hex): 6213276990fdd250b7c27899341b9e6d58ed2cd893253369ab9d97d17527710d
|
|
19
|
+
sha256(base64): YhMnaZD90lC3wniZNBuebVjtLNiTJTNpq52X0XUncQ0=
|
|
20
|
+
sha512(base64): NH52R7jESOM+p3yqg2n5ngcQEHHVYTYnxVVhC1K+sSIdoif76+36YFuUmIl0Um+/gsR089geaabYpOpqCY0u5Q==
|
|
21
21
|
plugin_datetime.js:
|
|
22
22
|
md5(hex): e6431d23d871abbaea59f0192e6cc02a
|
|
23
23
|
sha256(hex): ed31777c821d8f1bd9d570c95a925dcbf28f3b859ad0324b79266b9d215b29f4
|
|
@@ -39,27 +39,27 @@ plugin_turtle.js:
|
|
|
39
39
|
sha256(base64): M10RQpHSqvnWVYyn8HtvcDiFXW3m0qfdRf5p1J/Cpqo=
|
|
40
40
|
sha512(base64): eQGdHJUa8h8N8hu3N4U/7YpdPCeqDH3zw2nAHtnzrFpUtYmIOSclURwNVt9CjtANG6SdzATVIvzY6lBKc7Kagw==
|
|
41
41
|
plugin_webworker.js:
|
|
42
|
-
md5(hex):
|
|
43
|
-
sha256(hex):
|
|
44
|
-
sha256(base64):
|
|
45
|
-
sha512(base64):
|
|
42
|
+
md5(hex): 4567961b2a7eb0133affe3b64cad4c7f
|
|
43
|
+
sha256(hex): ecc869abe5f2466ec22edfd90419d3b475ad0d0e652f4ca731d1c7627c870523
|
|
44
|
+
sha256(base64): 7Mhpq+XyRm7CLt/ZBBnTtHWtDQ5lL0ynMdHHYnyHBSM=
|
|
45
|
+
sha512(base64): YAjXGsckAfwzk7wsfPGAZNzLAHrzZZyeLH910+IcCl5p8v4oSkQJhFTrgKwOxlLJJNf+2cDM+zIXG6glJr7tgA==
|
|
46
46
|
plugin_weykturtle3d.js:
|
|
47
47
|
md5(hex): bbdae69dc29f4d5b7e1804205c5b47cb
|
|
48
48
|
sha256(hex): 14eff384871b3b884d3c31ddf99c4f947220dabe3fddec53ecb358bc6e4bc13b
|
|
49
49
|
sha256(base64): FO/zhIcbO4hNPDHd+ZxPlHIg2r4/3exT7LNYvG5LwTs=
|
|
50
50
|
sha512(base64): TH7Xjq3mkiXW4wy88JLUIASpIN7lYEMlPR62yDlFEJ6vx8oKKv13hoW0Oyx/U0OEjUPZ1vI9zGUHck9UKg+mwQ==
|
|
51
51
|
version.js:
|
|
52
|
-
md5(hex):
|
|
53
|
-
sha256(hex):
|
|
54
|
-
sha256(base64):
|
|
55
|
-
sha512(base64):
|
|
52
|
+
md5(hex): 1f69b47581c0648c455efe35ea90ddb3
|
|
53
|
+
sha256(hex): b424da40c6c6890c7e7f27319ebf463853e3157ed05331a157859296502e902c
|
|
54
|
+
sha256(base64): tCTaQMbGiQx+fycxnr9GOFPjFX7QUzGhV4WSllAukCw=
|
|
55
|
+
sha512(base64): hqKznHhVlDVpQ9oIyHG7pRh/YbI2T9XSmA3mAMdSYuxbAy5Izxd/dDwg8vga16UzJGX0gpy4pTPOVTrehdXR6w==
|
|
56
56
|
wnako3.js:
|
|
57
|
-
md5(hex):
|
|
58
|
-
sha256(hex):
|
|
59
|
-
sha256(base64):
|
|
60
|
-
sha512(base64):
|
|
57
|
+
md5(hex): 18436e6de8fb1b61e60553e40c99d2ed
|
|
58
|
+
sha256(hex): c89bf36b91cb52eaacb2e4fd242e1d91ad81fcfd1765173da93282d9b938a5fd
|
|
59
|
+
sha256(base64): yJvza5HLUuqssuT9JC4dka2B/P0XZRc9qTKC2bk4pf0=
|
|
60
|
+
sha512(base64): nXXnt+egLUGndsyUQKk17C7H5EGRuSI+xdY21LiFWT5NMGOCKRG1N+cW0Z6bros7L+JjqorrSdzcv77XqrOeRg==
|
|
61
61
|
wnako3webworker.js:
|
|
62
|
-
md5(hex):
|
|
63
|
-
sha256(hex):
|
|
64
|
-
sha256(base64):
|
|
65
|
-
sha512(base64):
|
|
62
|
+
md5(hex): b9ec1bc60a51a952c945d35c43943db8
|
|
63
|
+
sha256(hex): a26f09b9c6e9da7a6a9cefd394f2d19b93553f244fcc60d2a687ca984fc24669
|
|
64
|
+
sha256(base64): om8Jucbp2npqnO/TlPLRm5NVPyRPzGDSpofKmE/CRmk=
|
|
65
|
+
sha512(base64): ZyL+Ur63jv+8tN2us7S2Zv3yfsHK0+o0aCX6GVXkTZSoqZPxU2Ynz299JC4EWMQlLXmYyvLlRQjdScmQkvD3VQ==
|
package/release/_script-tags.txt
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
2
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
3
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
4
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
5
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
6
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
7
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
8
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
9
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
10
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
11
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
12
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
13
|
-
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.
|
|
1
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/command.json.js" integrity="sha512-VWse4UnLJdqshARVFtdO/78vYUsCuGEJq0eBlQSd1Jl+9oiUhBnfWZKYaiw4azDYiaxm7jSPX0IchvF9GLjUww==" crossorigin="anonymous"></script>
|
|
2
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/editor.js" integrity="sha512-b+YEoSAoQ2Xmdts+75seadjHm5vjw2kEOJxvoWyJz1tGghMG1YOFmHUcCXOqjNIvNv1voOlFajp64xFh7L/+PA==" crossorigin="anonymous"></script>
|
|
3
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/nako_gen_async.js" integrity="sha512-/73lycspxJ921s+NmqaOKF58X9rCsgEZrZT4O4sW1aCe5CSXtQevIasAoGgIoL3a5RmlaghbaIVASwAgmoE3+g==" crossorigin="anonymous"></script>
|
|
4
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/plugin_caniuse.js" integrity="sha512-NH52R7jESOM+p3yqg2n5ngcQEHHVYTYnxVVhC1K+sSIdoif76+36YFuUmIl0Um+/gsR089geaabYpOpqCY0u5Q==" crossorigin="anonymous"></script>
|
|
5
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/plugin_datetime.js" integrity="sha512-aZf1UQqdrf3hekiBvJaOqroF5yCWm18BkLlScbxocfnVR/4+DJoVGQt+ISxFyY20GUHDyvLspWfsc0ObJSUVog==" crossorigin="anonymous"></script>
|
|
6
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/plugin_kansuji.js" integrity="sha512-5/TRx8Ke69YV9s8M67sOWrJmhhHK4MMLbMJh5nKg3oV8spmOOTn6tXl/TxYk8YWkTurOTCaXtRFuR9h2yEDt7w==" crossorigin="anonymous"></script>
|
|
7
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/plugin_markup.js" integrity="sha512-yQJ1nsb6FM58ElnwqPQjSrmzSpqSgJ2kSPlPmoc51oDrzBQJfdYF9gWic9+9BUD33jJtBDddfMg63VBEsyANSw==" crossorigin="anonymous"></script>
|
|
8
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/plugin_turtle.js" integrity="sha512-eQGdHJUa8h8N8hu3N4U/7YpdPCeqDH3zw2nAHtnzrFpUtYmIOSclURwNVt9CjtANG6SdzATVIvzY6lBKc7Kagw==" crossorigin="anonymous"></script>
|
|
9
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/plugin_webworker.js" integrity="sha512-YAjXGsckAfwzk7wsfPGAZNzLAHrzZZyeLH910+IcCl5p8v4oSkQJhFTrgKwOxlLJJNf+2cDM+zIXG6glJr7tgA==" crossorigin="anonymous"></script>
|
|
10
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/plugin_weykturtle3d.js" integrity="sha512-TH7Xjq3mkiXW4wy88JLUIASpIN7lYEMlPR62yDlFEJ6vx8oKKv13hoW0Oyx/U0OEjUPZ1vI9zGUHck9UKg+mwQ==" crossorigin="anonymous"></script>
|
|
11
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/version.js" integrity="sha512-hqKznHhVlDVpQ9oIyHG7pRh/YbI2T9XSmA3mAMdSYuxbAy5Izxd/dDwg8vga16UzJGX0gpy4pTPOVTrehdXR6w==" crossorigin="anonymous"></script>
|
|
12
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/wnako3.js" integrity="sha512-nXXnt+egLUGndsyUQKk17C7H5EGRuSI+xdY21LiFWT5NMGOCKRG1N+cW0Z6bros7L+JjqorrSdzcv77XqrOeRg==" crossorigin="anonymous"></script>
|
|
13
|
+
<script defer src="https://nadesi.com/v3/cdn.php?v=3.5.2&f=release/wnako3webworker.js" integrity="sha512-ZyL+Ur63jv+8tN2us7S2Zv3yfsHK0+o0aCX6GVXkTZSoqZPxU2Ynz299JC4EWMQlLXmYyvLlRQjdScmQkvD3VQ==" crossorigin="anonymous"></script>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(){"use strict";var o={and_chr:["
|
|
1
|
+
!function(){"use strict";var o={and_chr:["120"],and_ff:["119"],and_qq:["13.1"],and_uc:["15.5"],android:["120"],chrome:["120","119","118","117","116","109"],edge:["120","119","118"],firefox:["121","120","119","115"],ios_saf:["17.1","17.0","16.6-16.7","16.5","16.3","16.2","16.1","16.0","15.6-15.7"],kaios:["3.0-3.1","2.5"],node:["21.3.0","20.10.0","18.19.0"],op_mini:["all"],op_mob:["73"],opera:["104","103","102"],safari:["17.2","17.1","16.6","15.6"],samsung:["23","22"]};const r={"初期化":{type:"func",josi:[],pure:!0,fn:function(o){}},"ブラウザ名変換表":{type:"const",value:{ie:"IE",edge:"Edge",firefox:"Firefox",chrome:"Chrome",safari:"Safari",opera:"Opera",ios_saf:"Safari on iOS",op_mini:"Opera Mini",android:"Android Browser",bb:"Blackberry Browser",op_mob:"Opera Mobile",and_chr:"Chrome for Android",and_ff:"Firefox for Android",ie_mob:"IE Mobile",and_uc:"UC Browser for Android",samsung:"Samsung Internet",and_qq:"QQ Browser",baidu:"Baidu Browser",kaios:"KaiOS Browser"}},"対応ブラウザ一覧取得":{type:"func",josi:[],fn:function(){return o}}};"object"==typeof navigator&&(navigator.nako3,1)&&navigator.nako3.addPluginObject("PluginCaniuse",r)}();
|
|
2
2
|
//# sourceMappingURL=plugin_caniuse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin_caniuse.js","mappings":"yBAAA,OAAgB,QAAU,CAAC,OAAO,OAAS,CAAC,OAAO,OAAS,CAAC,QAAQ,OAAS,CAAC,QAAQ,QAAU,CAAC,OAAO,OAAS,CAAC,MAAM,MAAM,MAAM,MAAM,OAAO,KAAO,CAAC,MAAM,MAAM,OAAO,QAAU,CAAC,MAAM,MAAM,MAAM,OAAO,QAAU,CAAC,OAAO,OAAO,
|
|
1
|
+
{"version":3,"file":"plugin_caniuse.js","mappings":"yBAAA,OAAgB,QAAU,CAAC,OAAO,OAAS,CAAC,OAAO,OAAS,CAAC,QAAQ,OAAS,CAAC,QAAQ,QAAU,CAAC,OAAO,OAAS,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO,KAAO,CAAC,MAAM,MAAM,OAAO,QAAU,CAAC,MAAM,MAAM,MAAM,OAAO,QAAU,CAAC,OAAO,OAAO,YAAY,OAAO,OAAO,OAAO,OAAO,OAAO,aAAa,MAAQ,CAAC,UAAU,OAAO,KAAO,CAAC,SAAS,UAAU,WAAW,QAAU,CAAC,OAAO,OAAS,CAAC,MAAM,MAAQ,CAAC,MAAM,MAAM,OAAO,OAAS,CAAC,OAAO,OAAO,OAAO,QAAQ,QAAU,CAAC,KAAK,OCOje,MAAMA,EAAgB,CACpB,MAAO,CACLC,KAAM,OACNC,KAAM,GACNC,MAAM,EACNC,GAAI,SAAUC,GACd,GAGF,WAAY,CAAEJ,KAAM,QAASK,MChB/B,CAAgB,GAAK,KAAK,KAAO,OAAO,QAAU,UAAU,OAAS,SAAS,OAAS,SAAS,MAAQ,QAAQ,QAAU,gBAAgB,QAAU,aAAa,QAAU,kBAAkB,GAAK,qBAAqB,OAAS,eAAe,QAAU,qBAAqB,OAAS,sBAAsB,OAAS,YAAY,OAAS,yBAAyB,QAAU,mBAAmB,OAAS,aAAa,MAAQ,gBAAgB,MAAQ,kBDiBrb,aAAc,CACZL,KAAM,OACNC,KAAM,GACNE,GAAI,WACF,OAAOG,CACT,IAMuB,iBAAhB,YAAoCC,UAAe,MAAvB,IAA4BA,UAAUC,MAAMC,gBAAgB,gBAAiBV,E","sources":["webpack://nadesiko3/./src/browsers.mjs","webpack://nadesiko3/./src/plugin_caniuse.mjs","webpack://nadesiko3/./src/browsers_agents.mjs"],"sourcesContent":["export default {\"and_chr\":[\"120\"],\"and_ff\":[\"119\"],\"and_qq\":[\"13.1\"],\"and_uc\":[\"15.5\"],\"android\":[\"120\"],\"chrome\":[\"120\",\"119\",\"118\",\"117\",\"116\",\"109\"],\"edge\":[\"120\",\"119\",\"118\"],\"firefox\":[\"121\",\"120\",\"119\",\"115\"],\"ios_saf\":[\"17.1\",\"17.0\",\"16.6-16.7\",\"16.5\",\"16.3\",\"16.2\",\"16.1\",\"16.0\",\"15.6-15.7\"],\"kaios\":[\"3.0-3.1\",\"2.5\"],\"node\":[\"21.3.0\",\"20.10.0\",\"18.19.0\"],\"op_mini\":[\"all\"],\"op_mob\":[\"73\"],\"opera\":[\"104\",\"103\",\"102\"],\"safari\":[\"17.2\",\"17.1\",\"16.6\",\"15.6\"],\"samsung\":[\"23\",\"22\"]}","// @ts-nocheck\n// (memo) require('caniuse-db/data.json').agents を確認\n// `npm run build:browsers` を実行すると browsers.mjs が生成される\n\nimport browsers from './browsers.mjs'\nimport agents from './browsers_agents.mjs'\n\nconst PluginCaniuse = {\n '初期化': {\n type: 'func',\n josi: [],\n pure: true,\n fn: function (sys) {\n }\n },\n // @ブラウザサポート\n 'ブラウザ名変換表': { type: 'const', value: agents }, // @ぶらうざめいへんかんひょう\n '対応ブラウザ一覧取得': { // @対応しているブラウザの一覧を取得する // @たいおうぶらうざいちらんしゅとく\n type: 'func',\n josi: [],\n fn: function () {\n return browsers\n }\n }\n}\nexport default PluginCaniuse\n// scriptタグで取り込んだ時、自動で登録する\n/* istanbul ignore else */\nif (typeof (navigator) === 'object' && typeof (navigator.nako3)) { navigator.nako3.addPluginObject('PluginCaniuse', PluginCaniuse) }\n","export default {\"ie\":\"IE\",\"edge\":\"Edge\",\"firefox\":\"Firefox\",\"chrome\":\"Chrome\",\"safari\":\"Safari\",\"opera\":\"Opera\",\"ios_saf\":\"Safari on iOS\",\"op_mini\":\"Opera Mini\",\"android\":\"Android Browser\",\"bb\":\"Blackberry Browser\",\"op_mob\":\"Opera Mobile\",\"and_chr\":\"Chrome for Android\",\"and_ff\":\"Firefox for Android\",\"ie_mob\":\"IE Mobile\",\"and_uc\":\"UC Browser for Android\",\"samsung\":\"Samsung Internet\",\"and_qq\":\"QQ Browser\",\"baidu\":\"Baidu Browser\",\"kaios\":\"KaiOS Browser\"}\n"],"names":["PluginCaniuse","type","josi","pure","fn","sys","value","browsers","navigator","nako3","addPluginObject"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(){"use strict";const e={"初期化":{type:"func",josi:[],pure:!0,fn:function(e){e._webworker={setNakoHandler:function(n){n.onmessage=o=>{const t=o.data||{type:"",data:""},r=t.type||"",s=t.data||"";switch(r){case"output":n.onoutput&&n.onoutput.apply(e,[s,o]);break;case"data":n.ondata&&n.ondata.apply(e,[s,o]);break;case"error":e.logger.error(s.noColor)}},n.onerror=n=>{const o=new Error(void 0!==n.message?n.message:"no message");e.logger.error(o)},n.onerrormessage=n=>{const o=new Error(void 0!==n.message?n.message:"no message");e.logger.error(o)}},inWorker:()=>"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,getBaseUrlFromTag:()=>{if(!self.document)return"";const e="plugin_webworker.js";let n=location.pathname;if("/"!==n.substr(n.length-1,1)){const e=n.split("/");n="/"&e.slice(e.length-1,1).join("/")}const o=document.querySelectorAll("script");for(let t=0;t<o.length;t++){let r=o[t].src||"";const s=r.indexOf(e);if(s>=0&&(r.length-s==19||"?&#".indexOf(r.substr(s+19,1))>=0))return r=r.substring(0,s),"/"===r.substring(0,1)?location.origin+r:/^[a-zA-Z]+:\/\//.test(r)?r:location.origin+n+r}return location.origin+n}},e.__v0["ワーカーURL"]=e._webworker.getBaseUrlFromTag()}},"対象イベント":{type:"const",value:""},"受信データ":{type:"const",value:""},"ワーカーURL":{type:"const",value:""},"ワーカーURL設定":{type:"func",josi:[["に","へ","と"]],pure:!0,fn:function(e,n){e&&"/"!==e.substring(e.length-1)&&(e+="/"),n.__v0["ワーカーURL"]=e},return_none:!0},"ワーカー起動":{type:"func",josi:[["で","を","の"]],pure:!0,fn:function(e,n){return new Worker(e)},return_none:!1},"ワーカーJS起動":{type:"func",josi:[["で","を","の"]],pure:!0,fn:function(e,n){const o=new Blob([e],{type:"application/javascript"}),t=URL.createObjectURL(o);return new Worker(t)},return_none:!1},"NAKOワーカー起動":{type:"func",josi:[["で"]],isVariableJosi:!0,pure:!0,fn:function(e,n){let o;if(void 0===n&&(n=e,e=void 0),void 0!==e){if(!(e instanceof Array))throw new Error("プラグインはファイル名を配列で指定してください");const t=n.__v0["ワーカーURL"];let r=`importScripts('${t}wnako3webworker.js')\n`;const s=e.length;let i;for(i=0;i<s;i++)r+=`importScripts('${t}${e[i]}')\n`;const a=new Blob([r],{type:"application/javascript"});o=URL.createObjectURL(a)}else o=n.__v0["ワーカーURL"]+"wnako3webworker.js";const t=new Worker(o);return t&&n._webworker.setNakoHandler(t),t},return_none:!1},"NAKOワーカーハンドラ設定":{type:"func",josi:[["に","へ","の"]],pure:!0,fn:function(e,n){n._webworker.setNakoHandler(e)},return_none:!0},"NAKOワーカーデータ受信時":{type:"func",josi:[["で"],["から"]],isVariableJosi:!0,pure:!1,fn:function(e,n,o){void 0===o&&(o=n,n=self),e=o.__findVar(e,null),n.ondata=(n,t)=>(o.__v0["受信データ"]=n,o.__v0["対象イベント"]=t,e(t,o))},return_none:!0},"NAKOワーカー表示時":{type:"func",josi:[["で"],["から"]],pure:!1,fn:function(e,n,o){e=o.__findVar(e,null),n.onoutput=(n,t)=>(o.__v0["受信データ"]=n,o.__v0["対象イベント"]=t,e(t,o))},return_none:!0},"ワーカーメッセージ受信時":{type:"func",josi:[["で"],["から"]],isVariableJosi:!0,pure:!1,fn:function(e,n,o){void 0===o&&(o=n,n=self),e=o.__findVar(e,null),n.onmessage=n=>(o.__v0["受信データ"]=n.data,o.__v0["対象イベント"]=n,e(n,o))},return_none:!0},"NAKOワーカープログラム起動":{type:"func",josi:[["に","で"],["を"]],pure:!0,fn:function(e,n,o){const t={type:"run",data:
|
|
1
|
+
!function(){"use strict";const e={"初期化":{type:"func",josi:[],pure:!0,fn:function(e){e._webworker={setNakoHandler:function(n){n.onmessage=o=>{const t=o.data||{type:"",data:""},r=t.type||"",s=t.data||"";switch(r){case"output":n.onoutput&&n.onoutput.apply(e,[s,o]);break;case"data":n.ondata&&n.ondata.apply(e,[s,o]);break;case"error":e.logger.error(s.noColor)}},n.onerror=n=>{const o=new Error(void 0!==n.message?n.message:"no message");e.logger.error(o)},n.onerrormessage=n=>{const o=new Error(void 0!==n.message?n.message:"no message");e.logger.error(o)}},inWorker:()=>"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,getBaseUrlFromTag:()=>{if(!self.document)return"";const e="plugin_webworker.js";let n=location.pathname;if("/"!==n.substr(n.length-1,1)){const e=n.split("/");n="/"&e.slice(e.length-1,1).join("/")}const o=document.querySelectorAll("script");for(let t=0;t<o.length;t++){let r=o[t].src||"";const s=r.indexOf(e);if(s>=0&&(r.length-s==19||"?&#".indexOf(r.substr(s+19,1))>=0))return r=r.substring(0,s),"/"===r.substring(0,1)?location.origin+r:/^[a-zA-Z]+:\/\//.test(r)?r:location.origin+n+r}return location.origin+n}},e.__v0["ワーカーURL"]=e._webworker.getBaseUrlFromTag()}},"対象イベント":{type:"const",value:""},"受信データ":{type:"const",value:""},"ワーカーURL":{type:"const",value:""},"ワーカーURL設定":{type:"func",josi:[["に","へ","と"]],pure:!0,fn:function(e,n){e&&"/"!==e.substring(e.length-1)&&(e+="/"),n.__v0["ワーカーURL"]=e},return_none:!0},"ワーカー起動":{type:"func",josi:[["で","を","の"]],pure:!0,fn:function(e,n){return new Worker(e)},return_none:!1},"ワーカーJS起動":{type:"func",josi:[["で","を","の"]],pure:!0,fn:function(e,n){const o=new Blob([e],{type:"application/javascript"}),t=URL.createObjectURL(o);return new Worker(t)},return_none:!1},"NAKOワーカー起動":{type:"func",josi:[["で"]],isVariableJosi:!0,pure:!0,fn:function(e,n){let o;if(void 0===n&&(n=e,e=void 0),void 0!==e){if(!(e instanceof Array))throw new Error("プラグインはファイル名を配列で指定してください");const t=n.__v0["ワーカーURL"];let r=`importScripts('${t}wnako3webworker.js')\n`;const s=e.length;let i;for(i=0;i<s;i++)r+=`importScripts('${t}${e[i]}')\n`;const a=new Blob([r],{type:"application/javascript"});o=URL.createObjectURL(a)}else o=n.__v0["ワーカーURL"]+"wnako3webworker.js";const t=new Worker(o);return t&&n._webworker.setNakoHandler(t),t},return_none:!1},"NAKOワーカーハンドラ設定":{type:"func",josi:[["に","へ","の"]],pure:!0,fn:function(e,n){n._webworker.setNakoHandler(e)},return_none:!0},"NAKOワーカーデータ受信時":{type:"func",josi:[["で"],["から"]],isVariableJosi:!0,pure:!1,fn:function(e,n,o){void 0===o&&(o=n,n=self),e=o.__findVar(e,null),n.ondata=(n,t)=>(o.__v0["受信データ"]=n,o.__v0["対象イベント"]=t,e(t,o))},return_none:!0},"NAKOワーカー表示時":{type:"func",josi:[["で"],["から"]],pure:!1,fn:function(e,n,o){e=o.__findVar(e,null),n.onoutput=(n,t)=>(o.__v0["受信データ"]=n,o.__v0["対象イベント"]=t,e(t,o))},return_none:!0},"ワーカーメッセージ受信時":{type:"func",josi:[["で"],["から"]],isVariableJosi:!0,pure:!1,fn:function(e,n,o){void 0===o&&(o=n,n=self),e=o.__findVar(e,null),n.onmessage=n=>(o.__v0["受信データ"]=n.data,o.__v0["対象イベント"]=n,e(n,o))},return_none:!0},"NAKOワーカープログラム起動":{type:"func",josi:[["に","で"],["を"]],pure:!0,fn:function(e,n,o){const t={type:"run",data:n};e.postMessage(t)},return_none:!0},"NAKOワーカーリセット":{type:"func",josi:[["を"]],pure:!0,fn:function(e,n){e.postMessage({type:"reset",data:""})},return_none:!0},"ワーカー終了":{type:"func",josi:[["を"]],isVariableJosi:!0,pure:!0,fn:function(e,n){void 0===n&&(n=e,e=self),e.terminate()},return_none:!0},"NAKOワーカー終了":{type:"func",josi:[["を"]],isVariableJosi:!0,pure:!0,fn:function(e,n){if(void 0===n)return void self.close();e.postMessage({type:"close",data:""})},return_none:!0},"NAKOワーカーデータ送信":{type:"func",josi:[["を"],["に","へ"]],isVariableJosi:!0,pure:!0,fn:function(e,n,o){void 0===o&&(o=n,n=self);const t={type:"data",data:e};n.postMessage(t)},return_none:!0},"ワーカーメッセージ送信":{type:"func",josi:[["を"],["に","へ"]],isVariableJosi:!0,pure:!0,fn:function(e,n,o){void 0===o&&(o=n,n=self),n.postMessage(e)},return_none:!0},"NAKOワーカー転送":{type:"func",josi:[["を"],["に","へ"]],isVariableJosi:!0,pure:!1,fn:function(e,n,o){void 0===o&&(o=n,n=self);const t=[],r=[];if("string"==typeof e&&(e=[e]),e.forEach((e=>{if(-1===e.indexOf("__"))for(const n of o.__modList){const t=n+"__"+e;if(void 0!==o.__varslist[2][t]||void 0!==o.__varslist[1][t]){e=t;break}}if(e.indexOf("__")>-1){const n=e.split("__")[0];-1===t.indexOf(n)&&t.push(n)}if(void 0!==o.__varslist[2][e])r.push({type:"val",name:e,content:o.__varslist[2][e]});else{if(void 0===o.__varslist[1][e])throw console.error("指定した名前のユーザ関数もしくはグローバル変数がありません:"+e),new Error("指定した名前のユーザ関数もしくはグローバル変数がありません:"+e);r.push({type:"func",name:e,content:{meta:o.gen.nakoFuncList[e],func:Object.assign({},o.compiler.funclist[e],{fn:null})}})}})),r.length>0){const e=[];for(const n of t)e.push({name:n,export:o.compiler.moduleExport[n]});r.push({type:"env",name:"modlist",content:e}),r.push({type:"env",name:"constPools",content:o.constPools}),r.push({type:"env",name:"constPoolsTemplate",content:o.constPoolsTemplate});const s={type:"trans",data:r};n.postMessage(s)}},return_none:!0}};"object"==typeof navigator&&"object"==typeof navigator.nako3&&navigator.nako3.addPluginObject("PluginWebWorker",e)}();
|
|
2
2
|
//# sourceMappingURL=plugin_webworker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin_webworker.js","mappings":"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","sources":["webpack://nadesiko3/./src/plugin_webworker.mjs"],"sourcesContent":["// @ts-nocheck\nconst PluginWebWorker = {\n '初期化': {\n type: 'func',\n josi: [],\n pure: true,\n fn: function (sys) {\n sys._webworker = {\n setNakoHandler: function (work) {\n work.onmessage = (event) => {\n const data = event.data || { type: '', data: '' }\n const type = data.type || ''\n const value = data.data || ''\n switch (type) {\n case 'output':\n if (work.onoutput) {\n work.onoutput.apply(sys, [value, event])\n }\n break\n case 'data':\n if (work.ondata) {\n work.ondata.apply(sys, [value, event])\n }\n break\n case 'error':\n sys.logger.error(value.noColor)\n break\n }\n }\n work.onerror = (event) => {\n const e = new Error(typeof event.message !== 'undefined' ? event.message : 'no message')\n sys.logger.error(e)\n }\n work.onerrormessage = (event) => {\n const e = new Error(typeof event.message !== 'undefined' ? event.message : 'no message')\n sys.logger.error(e)\n }\n },\n inWorker: () => {\n // eslint-disable-next-line no-undef\n return typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope\n },\n getBaseUrlFromTag: () => {\n if (!self.document) { return '' }\n const pluginName = 'plugin_webworker.js'\n let path = location.pathname\n if (path.substr(path.length - 1, 1) !== '/') {\n const paths = path.split('/')\n path = paths.slice(paths.length - 1, 1).join('/') & '/'\n }\n const scripts = document.querySelectorAll('script')\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i]\n let src = script.src || ''\n const index = src.indexOf(pluginName)\n if (index >= 0) {\n if (src.length - index === pluginName.length ||\n '?&#'.indexOf(src.substr(index + pluginName.length, 1)) >= 0) {\n src = src.substring(0, index)\n if (src.substring(0, 1) === '/') {\n // スクリプトソースはorigin無しの絶対パス\n return location.origin + src\n }\n if (/^[a-zA-Z]+:\\/\\//.test(src)) {\n // スクリプトソースは絶対URI\n return src\n }\n // スクリプトソースはorigin無しの相対パス\n return location.origin + path + src\n }\n }\n }\n // スクリプトソースが見つからなかったのでドキュメントのURIを返す\n return location.origin + path\n }\n }\n sys.__v0['ワーカーURL'] = sys._webworker.getBaseUrlFromTag()\n }\n },\n // @イベント定数\n '対象イベント': { type: 'const', value: '' }, // @たいしょういべんと\n '受信データ': { type: 'const', value: '' }, // @たいしょういべんと\n\n 'ワーカーURL': { type: 'const', value: '' }, // @わーかーURL\n 'ワーカーURL設定': { // @なでしこv3のファイルのあるURLを設定 // @わーかーURLせってい\n type: 'func',\n josi: [['に', 'へ', 'と']],\n pure: true,\n fn: function (url, sys) {\n if (url && url.substring(url.length - 1) !== '/') {\n url += '/'\n }\n sys.__v0['ワーカーURL'] = url\n },\n return_none: true\n },\n\n // @NAKOワーカー\n 'ワーカー起動': { // @指定したURLでWebWorkerを起動する。ワーカオブジェクトを返す。 // @わーかーきどう\n type: 'func',\n josi: [['で', 'を', 'の']],\n pure: true,\n fn: function (url, sys) {\n return new Worker(url)\n },\n return_none: false\n },\n 'ワーカーJS起動': { // @指定したJavascriptのソースでWebWorkerを起動する。ワーカオブジェクトを返す。 // @わーかーJSきどう\n type: 'func',\n josi: [['で', 'を', 'の']],\n pure: true,\n fn: function (src, sys) {\n const blob = new Blob([src], { type: 'application/javascript' })\n const url = URL.createObjectURL(blob)\n return new Worker(url)\n },\n return_none: false\n },\n 'NAKOワーカー起動': { // @指定したなでしこ3のWebWorkerを起動する。ワーカオブジェクトを返す。 // @NAKOわーかーきどう\n type: 'func',\n josi: [['で']],\n isVariableJosi: true,\n pure: true,\n fn: function (plugins, sys) {\n let url\n if (typeof sys === 'undefined') { sys = plugins; plugins = undefined }\n if (plugins !== undefined) {\n if (!(plugins instanceof Array)) {\n throw new Error('プラグインはファイル名を配列で指定してください')\n }\n const baseurl = sys.__v0['ワーカーURL']\n let code = `importScripts('${baseurl}wnako3webworker.js')\\n`\n const l = plugins.length\n let i\n for (i = 0; i < l; i++) {\n code += `importScripts('${baseurl}${plugins[i]}')\\n`\n }\n const blob = new Blob([code], { type: 'application/javascript' })\n url = URL.createObjectURL(blob)\n } else {\n url = sys.__v0['ワーカーURL'] + 'wnako3webworker.js'\n }\n const myWorker = new Worker(url)\n if (myWorker) {\n sys._webworker.setNakoHandler(myWorker)\n }\n return myWorker\n },\n return_none: false\n },\n 'NAKOワーカーハンドラ設定': { // @ワーカーにNAKOワーカーのための設定を行う。 // @NAKOわーかーはんどらせってい\n type: 'func',\n josi: [['に', 'へ', 'の']],\n pure: true,\n fn: function (work, sys) {\n sys._webworker.setNakoHandler(work)\n },\n return_none: true\n },\n 'NAKOワーカーデータ受信時': { // @無名関数Fでなでしこv3エンジンに対してワーカーメッセージによりデータを受信した時に実行するイベントを設定。『受信データ』に受信したデータ。『対象イベント』にイベント引数。 // @NAKOわーかーでーたじゅしんしたとき\n type: 'func',\n josi: [['で'], ['から']],\n isVariableJosi: true,\n pure: false,\n fn: function (func, work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n func = sys.__findVar(func, null) // 文字列指定なら関数に変換\n work.ondata = (data, e) => {\n sys.__v0['受信データ'] = data\n sys.__v0['対象イベント'] = e\n return func(e, sys)\n }\n },\n return_none: true\n },\n 'NAKOワーカー表示時': { // @無名関数Fでなでしこv3エンジンに対してワーカーメッセージにより表示データを受信した時に実行するイベントを設定。『受信データ』に表示しようとしたデータ。『対象イベント』にイベント引数。 // @NAKOわーかーひょうじしたとき\n type: 'func',\n josi: [['で'], ['から']],\n pure: false,\n fn: function (func, work, sys) {\n func = sys.__findVar(func, null) // 文字列指定なら関数に変換\n work.onoutput = (data, e) => {\n sys.__v0['受信データ'] = data\n sys.__v0['対象イベント'] = e\n return func(e, sys)\n }\n },\n return_none: true\n },\n 'ワーカーメッセージ受信時': { // @無名関数Fでworkに対してメッセージを受信した時に実行するイベントを設定。『受信データ』に受信したデータ。『対象イベント』にイベント引数。 // @わーかーめっせーじじゅしんしたとき\n type: 'func',\n josi: [['で'], ['から']],\n isVariableJosi: true,\n pure: false,\n fn: function (func, work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n func = sys.__findVar(func, null) // 文字列指定なら関数に変換\n work.onmessage = (e) => {\n sys.__v0['受信データ'] = e.data\n sys.__v0['対象イベント'] = e\n return func(e, sys)\n }\n },\n return_none: true\n },\n 'NAKOワーカープログラム起動': { // @WORKERに固有の形式でプログラムの転送と実行行う。 // @NAKOわーかーぷろぐらむきどう\n type: 'func',\n josi: [['に', 'で'], ['を']],\n pure: true,\n fn: function (work, data, sys) {\n const msg = {\n type: 'run',\n data: sys.__modName + '__' + data\n }\n work.postMessage(msg)\n },\n return_none: true\n },\n 'NAKOワーカーリセット': { // @WORKERに固有の形式でプログラムの転送と実行行う。 // @わーかーりせっと\n type: 'func',\n josi: [['を']],\n pure: true,\n fn: function (work, sys) {\n const msg = {\n type: 'reset',\n data: ''\n }\n work.postMessage(msg)\n },\n return_none: true\n },\n 'ワーカー終了': { // @WORKERを終了する。 // @わーかーしゅうりょう\n type: 'func',\n josi: [['を']],\n isVariableJosi: true,\n pure: true,\n fn: function (work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n work.terminate()\n },\n return_none: true\n },\n 'NAKOワーカー終了': { // @WORKERを終了する。 // @NAKOわーかーしゅうりょう\n type: 'func',\n josi: [['を']],\n isVariableJosi: true,\n pure: true,\n fn: function (work, sys) {\n if (typeof sys === 'undefined') {\n self.close()\n return\n }\n const msg = {\n type: 'close',\n data: ''\n }\n work.postMessage(msg)\n },\n return_none: true\n },\n 'NAKOワーカーデータ送信': { // @WORKERに固有の形式でデータを送信する。 // @NAKOわーかーでーたそうしん\n type: 'func',\n josi: [['を'], ['に', 'へ']],\n isVariableJosi: true,\n pure: true,\n fn: function (data, work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n const msg = {\n type: 'data',\n data: data\n }\n work.postMessage(msg)\n },\n return_none: true\n },\n 'ワーカーメッセージ送信': { // @WORKERにメッセージを送信する。 // @わーかーめっせーじそうしん\n type: 'func',\n josi: [['を'], ['に', 'へ']],\n isVariableJosi: true,\n pure: true,\n fn: function (msg, work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n work.postMessage(msg)\n },\n return_none: true\n },\n 'NAKOワーカー転送': { // @WORKERにユーザー定義関数またはユーザ定義のグローバル変数を転送する。 // @NAKOわーかーてんそう\n type: 'func',\n josi: [['を'], ['に', 'へ']],\n isVariableJosi: true,\n pure: false,\n fn: function (datas, work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n const obj = []\n if (typeof datas === 'string') { datas = [datas] }\n datas.forEach(data => {\n data = sys.__modName + '__' + data\n if (typeof sys.__varslist[2][data] !== 'undefined') {\n obj.push({\n type: 'val',\n name: data,\n content: sys.__varslist[2][data]\n })\n } else\n if (typeof sys.__varslist[1][data] !== 'undefined') {\n obj.push({\n type: 'func',\n name: data,\n content: {\n meta: sys.gen.nakoFuncList[data],\n func: Object.assign({}, sys.compiler.funclist[data], { fn: null })\n }\n })\n } else {\n console.error('指定した名前のユーザ関数もしくはグローバル変数がありません:' + data)\n throw new Error('指定した名前のユーザ関数もしくはグローバル変数がありません:' + data)\n }\n })\n if (obj.length > 0) {\n const msg = {\n type: 'trans',\n data: obj\n }\n work.postMessage(msg)\n }\n },\n return_none: true\n }\n}\n\nexport default PluginWebWorker\n\nif (typeof (navigator) === 'object' && typeof (navigator.nako3) === 'object') {\n navigator.nako3.addPluginObject('PluginWebWorker', PluginWebWorker)\n}\n\n"],"names":["PluginWebWorker","type","josi","pure","fn","sys","_webworker","setNakoHandler","work","onmessage","event","data","value","onoutput","apply","ondata","logger","error","noColor","onerror","e","Error","message","onerrormessage","inWorker","WorkerGlobalScope","self","getBaseUrlFromTag","document","pluginName","path","location","pathname","substr","length","paths","split","slice","join","scripts","querySelectorAll","i","src","index","indexOf","substring","origin","test","__v0","url","return_none","Worker","blob","Blob","URL","createObjectURL","isVariableJosi","plugins","undefined","Array","baseurl","code","l","myWorker","func","__findVar","msg","__modName","postMessage","terminate","close","datas","obj","forEach","__varslist","push","name","content","console","meta","gen","nakoFuncList","Object","assign","compiler","funclist","navigator","nako3","addPluginObject"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"plugin_webworker.js","mappings":"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","sources":["webpack://nadesiko3/./src/plugin_webworker.mjs"],"sourcesContent":["// @ts-nocheck\nconst PluginWebWorker = {\n '初期化': {\n type: 'func',\n josi: [],\n pure: true,\n fn: function (sys) {\n sys._webworker = {\n setNakoHandler: function (work) {\n work.onmessage = (event) => {\n const data = event.data || { type: '', data: '' }\n const type = data.type || ''\n const value = data.data || ''\n switch (type) {\n case 'output':\n if (work.onoutput) {\n work.onoutput.apply(sys, [value, event])\n }\n break\n case 'data':\n if (work.ondata) {\n work.ondata.apply(sys, [value, event])\n }\n break\n case 'error':\n sys.logger.error(value.noColor)\n break\n }\n }\n work.onerror = (event) => {\n const e = new Error(typeof event.message !== 'undefined' ? event.message : 'no message')\n sys.logger.error(e)\n }\n work.onerrormessage = (event) => {\n const e = new Error(typeof event.message !== 'undefined' ? event.message : 'no message')\n sys.logger.error(e)\n }\n },\n inWorker: () => {\n // eslint-disable-next-line no-undef\n return typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope\n },\n getBaseUrlFromTag: () => {\n if (!self.document) { return '' }\n const pluginName = 'plugin_webworker.js'\n let path = location.pathname\n if (path.substr(path.length - 1, 1) !== '/') {\n const paths = path.split('/')\n path = paths.slice(paths.length - 1, 1).join('/') & '/'\n }\n const scripts = document.querySelectorAll('script')\n for (let i = 0; i < scripts.length; i++) {\n const script = scripts[i]\n let src = script.src || ''\n const index = src.indexOf(pluginName)\n if (index >= 0) {\n if (src.length - index === pluginName.length ||\n '?&#'.indexOf(src.substr(index + pluginName.length, 1)) >= 0) {\n src = src.substring(0, index)\n if (src.substring(0, 1) === '/') {\n // スクリプトソースはorigin無しの絶対パス\n return location.origin + src\n }\n if (/^[a-zA-Z]+:\\/\\//.test(src)) {\n // スクリプトソースは絶対URI\n return src\n }\n // スクリプトソースはorigin無しの相対パス\n return location.origin + path + src\n }\n }\n }\n // スクリプトソースが見つからなかったのでドキュメントのURIを返す\n return location.origin + path\n }\n }\n sys.__v0['ワーカーURL'] = sys._webworker.getBaseUrlFromTag()\n }\n },\n // @イベント定数\n '対象イベント': { type: 'const', value: '' }, // @たいしょういべんと\n '受信データ': { type: 'const', value: '' }, // @たいしょういべんと\n\n 'ワーカーURL': { type: 'const', value: '' }, // @わーかーURL\n 'ワーカーURL設定': { // @なでしこv3のファイルのあるURLを設定 // @わーかーURLせってい\n type: 'func',\n josi: [['に', 'へ', 'と']],\n pure: true,\n fn: function (url, sys) {\n if (url && url.substring(url.length - 1) !== '/') {\n url += '/'\n }\n sys.__v0['ワーカーURL'] = url\n },\n return_none: true\n },\n\n // @NAKOワーカー\n 'ワーカー起動': { // @指定したURLでWebWorkerを起動する。ワーカオブジェクトを返す。 // @わーかーきどう\n type: 'func',\n josi: [['で', 'を', 'の']],\n pure: true,\n fn: function (url, sys) {\n return new Worker(url)\n },\n return_none: false\n },\n 'ワーカーJS起動': { // @指定したJavascriptのソースでWebWorkerを起動する。ワーカオブジェクトを返す。 // @わーかーJSきどう\n type: 'func',\n josi: [['で', 'を', 'の']],\n pure: true,\n fn: function (src, sys) {\n const blob = new Blob([src], { type: 'application/javascript' })\n const url = URL.createObjectURL(blob)\n return new Worker(url)\n },\n return_none: false\n },\n 'NAKOワーカー起動': { // @指定したなでしこ3のWebWorkerを起動する。ワーカオブジェクトを返す。 // @NAKOわーかーきどう\n type: 'func',\n josi: [['で']],\n isVariableJosi: true,\n pure: true,\n fn: function (plugins, sys) {\n let url\n if (typeof sys === 'undefined') { sys = plugins; plugins = undefined }\n if (plugins !== undefined) {\n if (!(plugins instanceof Array)) {\n throw new Error('プラグインはファイル名を配列で指定してください')\n }\n const baseurl = sys.__v0['ワーカーURL']\n let code = `importScripts('${baseurl}wnako3webworker.js')\\n`\n const l = plugins.length\n let i\n for (i = 0; i < l; i++) {\n code += `importScripts('${baseurl}${plugins[i]}')\\n`\n }\n const blob = new Blob([code], { type: 'application/javascript' })\n url = URL.createObjectURL(blob)\n } else {\n url = sys.__v0['ワーカーURL'] + 'wnako3webworker.js'\n }\n const myWorker = new Worker(url)\n if (myWorker) {\n sys._webworker.setNakoHandler(myWorker)\n }\n return myWorker\n },\n return_none: false\n },\n 'NAKOワーカーハンドラ設定': { // @ワーカーにNAKOワーカーのための設定を行う。 // @NAKOわーかーはんどらせってい\n type: 'func',\n josi: [['に', 'へ', 'の']],\n pure: true,\n fn: function (work, sys) {\n sys._webworker.setNakoHandler(work)\n },\n return_none: true\n },\n 'NAKOワーカーデータ受信時': { // @無名関数Fでなでしこv3エンジンに対してワーカーメッセージによりデータを受信した時に実行するイベントを設定。『受信データ』に受信したデータ。『対象イベント』にイベント引数。 // @NAKOわーかーでーたじゅしんしたとき\n type: 'func',\n josi: [['で'], ['から']],\n isVariableJosi: true,\n pure: false,\n fn: function (func, work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n func = sys.__findVar(func, null) // 文字列指定なら関数に変換\n work.ondata = (data, e) => {\n sys.__v0['受信データ'] = data\n sys.__v0['対象イベント'] = e\n return func(e, sys)\n }\n },\n return_none: true\n },\n 'NAKOワーカー表示時': { // @無名関数Fでなでしこv3エンジンに対してワーカーメッセージにより表示データを受信した時に実行するイベントを設定。『受信データ』に表示しようとしたデータ。『対象イベント』にイベント引数。 // @NAKOわーかーひょうじしたとき\n type: 'func',\n josi: [['で'], ['から']],\n pure: false,\n fn: function (func, work, sys) {\n func = sys.__findVar(func, null) // 文字列指定なら関数に変換\n work.onoutput = (data, e) => {\n sys.__v0['受信データ'] = data\n sys.__v0['対象イベント'] = e\n return func(e, sys)\n }\n },\n return_none: true\n },\n 'ワーカーメッセージ受信時': { // @無名関数Fでworkに対してメッセージを受信した時に実行するイベントを設定。『受信データ』に受信したデータ。『対象イベント』にイベント引数。 // @わーかーめっせーじじゅしんしたとき\n type: 'func',\n josi: [['で'], ['から']],\n isVariableJosi: true,\n pure: false,\n fn: function (func, work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n func = sys.__findVar(func, null) // 文字列指定なら関数に変換\n work.onmessage = (e) => {\n sys.__v0['受信データ'] = e.data\n sys.__v0['対象イベント'] = e\n return func(e, sys)\n }\n },\n return_none: true\n },\n 'NAKOワーカープログラム起動': { // @WORKERに固有の形式でプログラムの転送と実行行う。 // @NAKOわーかーぷろぐらむきどう\n type: 'func',\n josi: [['に', 'で'], ['を']],\n pure: true,\n fn: function (work, data, sys) {\n const msg = {\n type: 'run',\n data: data\n }\n work.postMessage(msg)\n },\n return_none: true\n },\n 'NAKOワーカーリセット': { // @WORKERに固有の形式でプログラムの転送と実行行う。 // @わーかーりせっと\n type: 'func',\n josi: [['を']],\n pure: true,\n fn: function (work, sys) {\n const msg = {\n type: 'reset',\n data: ''\n }\n work.postMessage(msg)\n },\n return_none: true\n },\n 'ワーカー終了': { // @WORKERを終了する。 // @わーかーしゅうりょう\n type: 'func',\n josi: [['を']],\n isVariableJosi: true,\n pure: true,\n fn: function (work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n work.terminate()\n },\n return_none: true\n },\n 'NAKOワーカー終了': { // @WORKERを終了する。 // @NAKOわーかーしゅうりょう\n type: 'func',\n josi: [['を']],\n isVariableJosi: true,\n pure: true,\n fn: function (work, sys) {\n if (typeof sys === 'undefined') {\n self.close()\n return\n }\n const msg = {\n type: 'close',\n data: ''\n }\n work.postMessage(msg)\n },\n return_none: true\n },\n 'NAKOワーカーデータ送信': { // @WORKERに固有の形式でデータを送信する。 // @NAKOわーかーでーたそうしん\n type: 'func',\n josi: [['を'], ['に', 'へ']],\n isVariableJosi: true,\n pure: true,\n fn: function (data, work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n const msg = {\n type: 'data',\n data: data\n }\n work.postMessage(msg)\n },\n return_none: true\n },\n 'ワーカーメッセージ送信': { // @WORKERにメッセージを送信する。 // @わーかーめっせーじそうしん\n type: 'func',\n josi: [['を'], ['に', 'へ']],\n isVariableJosi: true,\n pure: true,\n fn: function (msg, work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n work.postMessage(msg)\n },\n return_none: true\n },\n 'NAKOワーカー転送': { // @WORKERにユーザー定義関数またはユーザ定義のグローバル変数を転送する。 // @NAKOわーかーてんそう\n type: 'func',\n josi: [['を'], ['に', 'へ']],\n isVariableJosi: true,\n pure: false,\n fn: function (datas, work, sys) {\n if (typeof sys === 'undefined') { sys = work; work = self }\n const modNameList = []\n const obj = []\n if (typeof datas === 'string') { datas = [datas] }\n datas.forEach(data => {\n if (data.indexOf('__') === -1) {\n for (const modname of sys.__modList) {\n const varname = modname + '__' + data\n if (typeof sys.__varslist[2][varname] !== 'undefined' || typeof sys.__varslist[1][varname] !== 'undefined') {\n data = varname\n break\n }\n }\n }\n if (data.indexOf('__') > -1) {\n const modname = data.split('__')[0]\n if (modNameList.indexOf(modname) === -1) {\n modNameList.push(modname)\n }\n }\n if (typeof sys.__varslist[2][data] !== 'undefined') {\n obj.push({\n type: 'val',\n name: data,\n content: sys.__varslist[2][data]\n })\n } else\n if (typeof sys.__varslist[1][data] !== 'undefined') {\n obj.push({\n type: 'func',\n name: data,\n content: {\n meta: sys.gen.nakoFuncList[data],\n func: Object.assign({}, sys.compiler.funclist[data], { fn: null })\n }\n })\n } else {\n console.error('指定した名前のユーザ関数もしくはグローバル変数がありません:' + data)\n throw new Error('指定した名前のユーザ関数もしくはグローバル変数がありません:' + data)\n }\n })\n if (obj.length > 0) {\n const modInfoList = []\n for (const modname of modNameList) {\n modInfoList.push({\n name: modname,\n export: sys.compiler.moduleExport[modname]\n })\n }\n obj.push({\n type: 'env',\n name: 'modlist',\n content: modInfoList\n })\n obj.push({\n type: 'env',\n name: 'constPools',\n content: sys.constPools\n })\n obj.push({\n type: 'env',\n name: 'constPoolsTemplate',\n content: sys.constPoolsTemplate\n })\n const msg = {\n type: 'trans',\n data: obj\n }\n work.postMessage(msg)\n }\n },\n return_none: true\n }\n}\n\nexport default PluginWebWorker\n\nif (typeof (navigator) === 'object' && typeof (navigator.nako3) === 'object') {\n navigator.nako3.addPluginObject('PluginWebWorker', PluginWebWorker)\n}\n\n"],"names":["PluginWebWorker","type","josi","pure","fn","sys","_webworker","setNakoHandler","work","onmessage","event","data","value","onoutput","apply","ondata","logger","error","noColor","onerror","e","Error","message","onerrormessage","inWorker","WorkerGlobalScope","self","getBaseUrlFromTag","document","pluginName","path","location","pathname","substr","length","paths","split","slice","join","scripts","querySelectorAll","i","src","index","indexOf","substring","origin","test","__v0","url","return_none","Worker","blob","Blob","URL","createObjectURL","isVariableJosi","plugins","undefined","Array","baseurl","code","l","myWorker","func","__findVar","msg","postMessage","terminate","close","datas","modNameList","obj","forEach","modname","__modList","varname","__varslist","push","name","content","console","meta","gen","nakoFuncList","Object","assign","compiler","funclist","modInfoList","export","moduleExport","constPools","constPoolsTemplate","navigator","nako3","addPluginObject"],"sourceRoot":""}
|