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 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3core",
3
- "version": "3.5.0",
3
+ "version": "3.5.2",
4
4
  "description": "Japanese Programming Language Nadesiko v3 core",
5
5
  "main": "index.mjs",
6
6
  "type": "module",
@@ -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 { msgNo, msgArgs, fileNo, lineNo } = cp;
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 { msgNo, msgArgs, fileNo, lineNo } = cp
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]]
@@ -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
- '!DNCL2\n' +
181
- 'Tomei = ["A党", "B党", "C党", "D党"]\n' +
182
- 'Tokuhyo = [1200, 660, 1440, 180]\n' +
183
- 'sousuu = 0\n' +
184
- 'giseki = 6\n' +
185
- 'm を 0 から 3 まで 1 ずつ増やしながら繰り返す:\n' +
186
- '⎿ sousuu = sousuu + Tokuhyo[m]\n' +
187
- 'kizyunsuu = sousuu / giseki\n' +
188
- 'm を 0 から 3 まで 1 ずつ増やしながら繰り返す:\n' +
189
- '⎿ 表示する(Tomei[m], ":", Tokuhyo[m] / kizyunsuu)\n' +
190
- '\n', 'A党:2.0689655172413794\nB党:1.1379310344827587\nC党:2.4827586206896552\nD党:0.3103448275862069')
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
  })
@@ -1,32 +1,32 @@
1
1
  <html><head>
2
2
  <title>対応ブラウザ - なでしこ3</title>
3
3
  </head><body>
4
- <h1 id="なでしこ3-対応ブラウザ一覧">なでしこ3 対応ブラウザ一覧</h1>
4
+ <h1>なでしこ3 対応ブラウザ一覧</h1>
5
5
 
6
6
  <p>日本語プログラミング言語「なでしこ3」は以下のブラウザに対応しています。</p>
7
7
 
8
- <h2 id="デスクトップ">デスクトップ</h2>
8
+ <h2>デスクトップ</h2>
9
9
 
10
10
  <ul>
11
- <li>Edge (114/113/112以上)</li>
12
- <li>Firefox (114/113/112/102以上)</li>
13
- <li>Chrome (114/113/112/111/109以上)</li>
14
- <li>Safari (16.5/16.4/16.3/15.6以上)</li>
15
- <li>Opera (99/98以上)</li>
16
- <li>Node.js (20.2.0/18.16.0/16.20.0以上)</li>
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 id="モバイル">モバイル</h2>
19
+ <h2>モバイル</h2>
20
20
 
21
21
  <ul>
22
- <li>Safari on iOS (16.5/16.4/16.3/16.2/16.1/16.0/15.6/15.5/14.5-14.8/14.0-14.4以上)</li>
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 (114以上)</li>
24
+ <li>Android Browser (120以上)</li>
25
25
  <li>Opera Mobile (73以上)</li>
26
- <li>Chrome for Android (114以上)</li>
27
- <li>Firefox for Android (113以上)</li>
28
- <li>UC Browser for Android (13.4以上)</li>
29
- <li>Samsung Internet (21/20以上)</li>
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 (114/113/112以上)
8
- - Firefox (114/113/112/102以上)
9
- - Chrome (114/113/112/111/109以上)
10
- - Safari (16.5/16.4/16.3/15.6以上)
11
- - Opera (99/98以上)
12
- - Node.js (20.2.0/18.16.0/16.20.0以上)
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.5/16.4/16.3/16.2/16.1/16.0/15.6/15.5/14.5-14.8/14.0-14.4以上)
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 (114以上)
18
+ - Android Browser (120以上)
19
19
  - Opera Mobile (73以上)
20
- - Chrome for Android (114以上)
21
- - Firefox for Android (113以上)
22
- - UC Browser for Android (13.4以上)
23
- - Samsung Internet (21/20以上)
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nadesiko3",
3
- "version": "3.5.0",
3
+ "version": "3.5.2",
4
4
  "description": "Japanese Programming Language",
5
5
  "type": "module",
6
6
  "main": "src/index.mjs",
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): 299a09a12914920b4f57c6a36e36cd3c
18
- sha256(hex): f29babf69539b536a852148da7225497f237bf0cb1759473cbe61f83f2b22f97
19
- sha256(base64): 8pur9pU5tTaoUhSNpyJUl/I3vwyxdZRzy+Yfg/KyL5c=
20
- sha512(base64): L5Ho2mB44KLA61vGPHTm9BdDD9b1gUsXDRcBMwtlCrT+kep/2Z6TlrHMU/5ShCNZF/WcdBFqtsfRfS0iLupwBQ==
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): 4091c25bd82bd854a82536c8739b668a
43
- sha256(hex): 6e53c41e9ee9d67ddede5c0232153f7ac725b0f8132b398c4131b2128aedee97
44
- sha256(base64): blPEHp7p1n3e3lwCMhU/esclsPgTKzmMQTGyEort7pc=
45
- sha512(base64): 3H0ofY7G3KGEahnY5JzdBAeNnzfMmww4RdXembOOAhq3x7GWsz3p4574hP+tx6VrpBngGaWUuOyDimfMvjAldQ==
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): e98b7b58cdd9feff4b532fa9ac1d31d5
53
- sha256(hex): bc0205620525bd739e3410e57b08881f3df768ca5a1292741b260257cf5186b7
54
- sha256(base64): vAIFYgUlvXOeNBDlewiIHz33aMpaEpJ0GyYCV89Rhrc=
55
- sha512(base64): GWVlI0T6EHwXdDvmd7Iyotj654+VAU6UfjsncuytFtSk+JsDr62J15ioUIUTYAvR2E4i6QzgeLJc2AP73dP8AA==
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): 271c6e20e36982013e35f711b02c4b3b
58
- sha256(hex): 624967e8c56f8a8094008479ae75ad6f801c752a2d1c073106d56da32a55ab90
59
- sha256(base64): Ykln6MVvioCUAIR5rnWtb4AcdSotHAcxBtVtoypVq5A=
60
- sha512(base64): utQP32VDng5DRlv4DLZLu094moRvm4XHmQLYDxhuVY9xZCt9wfRLKPV5GTmvpRB1SjyeCO22aV10g00566hLBw==
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): 86e1a4d4b5ee089fc92c42dca9ae7741
63
- sha256(hex): 53ea302655f2ed59e4bd7ddede501177bc55da232faa8f6b6459e461e02c7c62
64
- sha256(base64): U+owJlXy7VnkvX3e3lARd7xV2iMvqo9rZFnkYeAsfGI=
65
- sha512(base64): YWk1OH+3SQ2BvG7EpZFy+8io3tVUQ/m+4pav8VYK8ChZVltP9ppInLp3csQ69hty/fOgt0dR6mMQDMtMOR3G/g==
62
+ md5(hex): b9ec1bc60a51a952c945d35c43943db8
63
+ sha256(hex): a26f09b9c6e9da7a6a9cefd394f2d19b93553f244fcc60d2a687ca984fc24669
64
+ sha256(base64): om8Jucbp2npqnO/TlPLRm5NVPyRPzGDSpofKmE/CRmk=
65
+ sha512(base64): ZyL+Ur63jv+8tN2us7S2Zv3yfsHK0+o0aCX6GVXkTZSoqZPxU2Ynz299JC4EWMQlLXmYyvLlRQjdScmQkvD3VQ==
@@ -1,13 +1,13 @@
1
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.5.0&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.0&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.0&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.0&f=release/plugin_caniuse.js" integrity="sha512-L5Ho2mB44KLA61vGPHTm9BdDD9b1gUsXDRcBMwtlCrT+kep/2Z6TlrHMU/5ShCNZF/WcdBFqtsfRfS0iLupwBQ==" crossorigin="anonymous"></script>
5
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.5.0&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.0&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.0&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.0&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.0&f=release/plugin_webworker.js" integrity="sha512-3H0ofY7G3KGEahnY5JzdBAeNnzfMmww4RdXembOOAhq3x7GWsz3p4574hP+tx6VrpBngGaWUuOyDimfMvjAldQ==" crossorigin="anonymous"></script>
10
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.5.0&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.0&f=release/version.js" integrity="sha512-GWVlI0T6EHwXdDvmd7Iyotj654+VAU6UfjsncuytFtSk+JsDr62J15ioUIUTYAvR2E4i6QzgeLJc2AP73dP8AA==" crossorigin="anonymous"></script>
12
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.5.0&f=release/wnako3.js" integrity="sha512-utQP32VDng5DRlv4DLZLu094moRvm4XHmQLYDxhuVY9xZCt9wfRLKPV5GTmvpRB1SjyeCO22aV10g00566hLBw==" crossorigin="anonymous"></script>
13
- <script defer src="https://nadesi.com/v3/cdn.php?v=3.5.0&f=release/wnako3webworker.js" integrity="sha512-YWk1OH+3SQ2BvG7EpZFy+8io3tVUQ/m+4pav8VYK8ChZVltP9ppInLp3csQ69hty/fOgt0dR6mMQDMtMOR3G/g==" crossorigin="anonymous"></script>
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:["114"],and_ff:["113"],and_qq:["13.1"],and_uc:["13.4"],android:["114"],chrome:["114","113","112","111","109"],edge:["114","113","112"],firefox:["114","113","112","102"],ios_saf:["16.5","16.4","16.3","16.2","16.1","16.0","15.6","15.5","14.5-14.8","14.0-14.4"],kaios:["3.0-3.1","2.5"],node:["20.2.0","18.16.0","16.20.0"],op_mini:["all"],op_mob:["73"],opera:["99","98"],safari:["16.5","16.4","16.3","15.6"],samsung:["21","20"]};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)}();
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,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,YAAY,aAAa,MAAQ,CAAC,UAAU,OAAO,KAAO,CAAC,SAAS,UAAU,WAAW,QAAU,CAAC,OAAO,OAAS,CAAC,MAAM,MAAQ,CAAC,KAAK,MAAM,OAAS,CAAC,OAAO,OAAO,OAAO,QAAQ,QAAU,CAAC,KAAK,OCO1d,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\":[\"114\"],\"and_ff\":[\"113\"],\"and_qq\":[\"13.1\"],\"and_uc\":[\"13.4\"],\"android\":[\"114\"],\"chrome\":[\"114\",\"113\",\"112\",\"111\",\"109\"],\"edge\":[\"114\",\"113\",\"112\"],\"firefox\":[\"114\",\"113\",\"112\",\"102\"],\"ios_saf\":[\"16.5\",\"16.4\",\"16.3\",\"16.2\",\"16.1\",\"16.0\",\"15.6\",\"15.5\",\"14.5-14.8\",\"14.0-14.4\"],\"kaios\":[\"3.0-3.1\",\"2.5\"],\"node\":[\"20.2.0\",\"18.16.0\",\"16.20.0\"],\"op_mini\":[\"all\"],\"op_mob\":[\"73\"],\"opera\":[\"99\",\"98\"],\"safari\":[\"16.5\",\"16.4\",\"16.3\",\"15.6\"],\"samsung\":[\"21\",\"20\"]}","// @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
+ {"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:o.__modName+"__"+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=[];if("string"==typeof e&&(e=[e]),e.forEach((e=>{if(e=o.__modName+"__"+e,void 0!==o.__varslist[2][e])t.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);t.push({type:"func",name:e,content:{meta:o.gen.nakoFuncList[e],func:Object.assign({},o.compiler.funclist[e],{fn:null})}})}})),t.length>0){const e={type:"trans",data:t};n.postMessage(e)}},return_none:!0}};"object"==typeof navigator&&"object"==typeof navigator.nako3&&navigator.nako3.addPluginObject("PluginWebWorker",e)}();
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":""}