@famibee/skynovel 2.0.1 → 2.0.3
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/dist/Button.js +36 -34
- package/dist/Button.js.map +1 -1
- package/dist/CallStack.js +11 -6
- package/dist/CallStack.js.map +1 -1
- package/dist/CmnInterface.js +13 -11
- package/dist/CmnInterface.js.map +1 -1
- package/dist/CmnLib.js +58 -56
- package/dist/CmnLib.js.map +1 -1
- package/dist/Config.js +9 -7
- package/dist/Config.js.map +1 -1
- package/dist/ConfigBase.js +52 -49
- package/dist/ConfigBase.js.map +1 -1
- package/dist/DebugMng.js +9 -6
- package/dist/DebugMng.js.map +1 -1
- package/dist/EventListenerCtn.js +6 -4
- package/dist/EventListenerCtn.js.map +1 -1
- package/dist/EventMng.js +522 -417
- package/dist/EventMng.js.map +1 -1
- package/dist/Grammar.js +22 -20
- package/dist/Grammar.js.map +1 -1
- package/dist/GrpLayer.js +58 -57
- package/dist/GrpLayer.js.map +1 -1
- package/dist/Layer.js +66 -64
- package/dist/Layer.js.map +1 -1
- package/dist/LayerMng.js +461 -441
- package/dist/LayerMng.js.map +1 -1
- package/dist/Main.js +69 -67
- package/dist/Main.js.map +1 -1
- package/dist/PropParser.js +23 -19
- package/dist/PropParser.js.map +1 -1
- package/dist/Reading.js +422 -418
- package/dist/Reading.js.map +1 -1
- package/dist/RubySpliter.js +6 -4
- package/dist/RubySpliter.js.map +1 -1
- package/dist/ScriptIterator.js +374 -370
- package/dist/ScriptIterator.js.map +1 -1
- package/dist/SndBuf.js +643 -622
- package/dist/SndBuf.js.map +1 -1
- package/dist/SoundMng.js +59 -60
- package/dist/SoundMng.js.map +1 -1
- package/dist/SpritesMng.js +135 -129
- package/dist/SpritesMng.js.map +1 -1
- package/dist/SysBase.js +985 -950
- package/dist/SysBase.js.map +1 -1
- package/dist/TxtLayer.js +558 -551
- package/dist/TxtLayer.js.map +1 -1
- package/dist/Variable.js +47 -45
- package/dist/Variable.js.map +1 -1
- package/dist/chunk.js +11 -9
- package/dist/gamepad.js +396 -660
- package/dist/gamepad.js.map +1 -1
- package/dist/pixi.js +2631 -2593
- package/dist/pixi.js.map +1 -1
- package/dist/platform.js +6 -4
- package/dist/platform.js.map +1 -1
- package/dist/rolldown-runtime.js +20 -0
- package/dist/sn/RubySpliter.d.ts.map +1 -1
- package/dist/web.js +418 -418
- package/dist/web.js.map +1 -1
- package/dist_app/Button.js +36 -34
- package/dist_app/Button.js.map +1 -1
- package/dist_app/CallStack.js +11 -6
- package/dist_app/CallStack.js.map +1 -1
- package/dist_app/CmnInterface.js +13 -11
- package/dist_app/CmnInterface.js.map +1 -1
- package/dist_app/CmnLib.js +58 -56
- package/dist_app/CmnLib.js.map +1 -1
- package/dist_app/Config.js +9 -7
- package/dist_app/Config.js.map +1 -1
- package/dist_app/ConfigBase.js +52 -49
- package/dist_app/ConfigBase.js.map +1 -1
- package/dist_app/DebugMng.js +9 -6
- package/dist_app/DebugMng.js.map +1 -1
- package/dist_app/EventListenerCtn.js +6 -4
- package/dist_app/EventListenerCtn.js.map +1 -1
- package/dist_app/EventMng.js +522 -417
- package/dist_app/EventMng.js.map +1 -1
- package/dist_app/Grammar.js +22 -20
- package/dist_app/Grammar.js.map +1 -1
- package/dist_app/GrpLayer.js +58 -57
- package/dist_app/GrpLayer.js.map +1 -1
- package/dist_app/Layer.js +66 -64
- package/dist_app/Layer.js.map +1 -1
- package/dist_app/LayerMng.js +461 -441
- package/dist_app/LayerMng.js.map +1 -1
- package/dist_app/Main.js +69 -67
- package/dist_app/Main.js.map +1 -1
- package/dist_app/PropParser.js +23 -19
- package/dist_app/PropParser.js.map +1 -1
- package/dist_app/Reading.js +422 -418
- package/dist_app/Reading.js.map +1 -1
- package/dist_app/RubySpliter.js +6 -4
- package/dist_app/RubySpliter.js.map +1 -1
- package/dist_app/ScriptIterator.js +374 -370
- package/dist_app/ScriptIterator.js.map +1 -1
- package/dist_app/SndBuf.js +643 -622
- package/dist_app/SndBuf.js.map +1 -1
- package/dist_app/SoundMng.js +59 -60
- package/dist_app/SoundMng.js.map +1 -1
- package/dist_app/SpritesMng.js +135 -129
- package/dist_app/SpritesMng.js.map +1 -1
- package/dist_app/SysBase.js +985 -950
- package/dist_app/SysBase.js.map +1 -1
- package/dist_app/TxtLayer.js +558 -551
- package/dist_app/TxtLayer.js.map +1 -1
- package/dist_app/Variable.js +47 -45
- package/dist_app/Variable.js.map +1 -1
- package/dist_app/app.js +62 -63
- package/dist_app/app.js.map +1 -1
- package/dist_app/appMain.js +11 -11
- package/dist_app/appMain.js.map +1 -1
- package/dist_app/chunk.js +11 -9
- package/dist_app/gamepad.js +396 -660
- package/dist_app/gamepad.js.map +1 -1
- package/dist_app/pixi.js +2028 -1990
- package/dist_app/pixi.js.map +1 -1
- package/dist_app/platform.js +6 -4
- package/dist_app/platform.js.map +1 -1
- package/dist_app/preload.js +1 -1
- package/dist_app/preload.js.map +1 -1
- package/dist_app/rolldown-runtime.js +20 -0
- package/dist_app/sn/RubySpliter.d.ts.map +1 -1
- package/package.json +20 -21
package/dist_app/Main.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { h as
|
|
2
|
-
import { _ as
|
|
3
|
-
import "./
|
|
4
|
-
import { t as
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
var
|
|
1
|
+
import { h as e, s as t, t as n } from "./CmnLib.js";
|
|
2
|
+
import { _ as r, r as i, y as a } from "./pixi.js";
|
|
3
|
+
import { t as o } from "./DebugMng.js";
|
|
4
|
+
import { t as s } from "./Config.js";
|
|
5
|
+
import { i as c, n as l } from "./Grammar.js";
|
|
6
|
+
//#region src/sn/Main.ts
|
|
7
|
+
var u = "skynovel", d = class d {
|
|
8
|
+
sys;
|
|
8
9
|
static async generate(e) {
|
|
9
|
-
|
|
10
|
-
let
|
|
11
|
-
return await
|
|
10
|
+
a();
|
|
11
|
+
let t = new d(e);
|
|
12
|
+
return await t.#a().catch((e) => console.error("Main.generate err e:%o", e)), t;
|
|
12
13
|
}
|
|
13
14
|
cvs;
|
|
14
15
|
#e = Object.create(null);
|
|
@@ -20,30 +21,30 @@ var SN_ID = "skynovel", Main = class d {
|
|
|
20
21
|
this.sys = e;
|
|
21
22
|
}
|
|
22
23
|
async #a() {
|
|
23
|
-
let
|
|
24
|
-
this.sys.setMain(this,
|
|
25
|
-
let
|
|
26
|
-
width:
|
|
27
|
-
height:
|
|
28
|
-
backgroundColor:
|
|
24
|
+
let t = await s.generate(this.sys);
|
|
25
|
+
this.sys.setMain(this, t);
|
|
26
|
+
let a = {
|
|
27
|
+
width: t.oCfg.window.width,
|
|
28
|
+
height: t.oCfg.window.height,
|
|
29
|
+
backgroundColor: e(String(t.oCfg.init.bg_color)),
|
|
29
30
|
resolution: globalThis.devicePixelRatio
|
|
30
|
-
},
|
|
31
|
-
if (
|
|
32
|
-
let e =
|
|
33
|
-
e.id =
|
|
34
|
-
let
|
|
35
|
-
this.#i.unshift(() =>
|
|
31
|
+
}, c = document.getElementById(u);
|
|
32
|
+
if (c) {
|
|
33
|
+
let e = c.cloneNode(!0);
|
|
34
|
+
e.id = u, a.view = c;
|
|
35
|
+
let t = c.parentNode;
|
|
36
|
+
this.#i.unshift(() => t.appendChild(e));
|
|
36
37
|
} else {
|
|
37
38
|
let e = document.createElement("canvas");
|
|
38
|
-
e.id =
|
|
39
|
+
e.id = u, a.view = e, document.body.appendChild(e), this.#i.unshift(() => document.body.removeChild(e));
|
|
39
40
|
}
|
|
40
|
-
let
|
|
41
|
+
let l = new i(a);
|
|
41
42
|
this.#i.unshift(() => {
|
|
42
|
-
|
|
43
|
-
}), this.cvs =
|
|
43
|
+
r(), this.sys.destroy(), l.destroy(!1);
|
|
44
|
+
}), this.cvs = l.view, this.cvs.id = "skynovel_act", c || document.body.appendChild(this.cvs);
|
|
44
45
|
let d = document.createElement("canvas").getContext("2d");
|
|
45
46
|
if (!d) throw "#init cc err";
|
|
46
|
-
|
|
47
|
+
n.cc4ColorName = d;
|
|
47
48
|
let [{ Variable: f }, { PropParser: p }, { SoundMng: m }, { ScriptIterator: h }, { LayerMng: g }, { EventMng: _ }, { Button: v }] = await Promise.all([
|
|
48
49
|
import("./Variable.js"),
|
|
49
50
|
import("./PropParser.js"),
|
|
@@ -53,18 +54,18 @@ var SN_ID = "skynovel", Main = class d {
|
|
|
53
54
|
import("./EventMng.js"),
|
|
54
55
|
import("./Button.js")
|
|
55
56
|
]);
|
|
56
|
-
v.init(
|
|
57
|
-
let y = new f(this.sys,
|
|
58
|
-
this.#o = (e,
|
|
59
|
-
let x = new m(
|
|
60
|
-
this.#i.unshift(() => x.destroy()), this.#t = new h(
|
|
61
|
-
let S = new
|
|
62
|
-
this.#i.unshift(() => S.destroy()), this.errScript = (e,
|
|
63
|
-
if (this.stop(),
|
|
64
|
-
}, this.#n = new g(
|
|
57
|
+
v.init(t);
|
|
58
|
+
let y = new f(this.sys, t, this.#e), b = new p(y, t.oCfg.init.escape);
|
|
59
|
+
this.#o = (e, t, n, r) => y.setVal_Nochk(e, t, n, r), this.#l = (e) => b.getValAmpersand(e), this.#u = (e) => b.parse(e), await Promise.allSettled(this.sys.init(this.#e, l, y));
|
|
60
|
+
let x = new m(t, this.#e, y, this, this.sys);
|
|
61
|
+
this.#i.unshift(() => x.destroy()), this.#t = new h(t, this.#e, this, y, b, x, this.sys), this.#i.unshift(() => this.#t.destroy());
|
|
62
|
+
let S = new o(this.sys, this.#e, this.#t);
|
|
63
|
+
this.#i.unshift(() => S.destroy()), this.errScript = (e, t) => {
|
|
64
|
+
if (this.stop(), o.myTrace(e), n.debugLog && console.log("🍜 SKYNovel err!"), t) throw e;
|
|
65
|
+
}, this.#n = new g(t, this.#e, l, y, this, this.#t, this.sys, x, b), this.#i.unshift(() => this.#n.destroy()), this.#r = new _(t, this.#e, l, this, this.#n, y, x, this.#t, this.sys), this.#i.unshift(() => this.#r.destroy()), this.#i.unshift(() => {
|
|
65
66
|
this.stop(), this.#s = !1;
|
|
66
67
|
let e = () => !0;
|
|
67
|
-
for (let
|
|
68
|
+
for (let t in this.#e) this.#e[t] = e;
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
71
|
destroy() {
|
|
@@ -72,18 +73,18 @@ var SN_ID = "skynovel", Main = class d {
|
|
|
72
73
|
for (let e of this.#i) e();
|
|
73
74
|
this.#i = [];
|
|
74
75
|
}
|
|
75
|
-
errScript = (e,
|
|
76
|
+
errScript = (e, t = !0) => {};
|
|
76
77
|
resumeByJumpOrCall(e) {
|
|
77
78
|
if (e.url) {
|
|
78
79
|
this.#e.navigate_to(e), this.#t.jumpJustBefore();
|
|
79
80
|
return;
|
|
80
81
|
}
|
|
81
|
-
if (this.#o("tmp", "sn.eventArg", String(e.arg ?? "")), this.#o("tmp", "sn.eventLabel", e.label ?? ""),
|
|
82
|
+
if (this.#o("tmp", "sn.eventArg", String(e.arg ?? "")), this.#o("tmp", "sn.eventLabel", e.label ?? ""), t(e, "call", !1)) {
|
|
82
83
|
if (this.#t.subIdxToken(), this.#e.call(e)) return;
|
|
83
84
|
} else if (this.#e.clear_event({}), this.#e.jump(e)) return;
|
|
84
85
|
this.resume();
|
|
85
86
|
}
|
|
86
|
-
#o = (e,
|
|
87
|
+
#o = (e, t, n, r = !1) => {};
|
|
87
88
|
resume() {
|
|
88
89
|
this.#n.clearBreak(), this.#t.noticeBreak(!1), this.#r.hideHint(), queueMicrotask(() => {
|
|
89
90
|
this.#c();
|
|
@@ -92,54 +93,55 @@ var SN_ID = "skynovel", Main = class d {
|
|
|
92
93
|
stop = () => {
|
|
93
94
|
this.#t.noticeBreak(!0);
|
|
94
95
|
};
|
|
95
|
-
setLoop(e,
|
|
96
|
-
(this.#s = e) ? this.resume() : this.stop(), this.sys.setTitleInfo(
|
|
96
|
+
setLoop(e, t = "") {
|
|
97
|
+
(this.#s = e) ? this.resume() : this.stop(), this.sys.setTitleInfo(t ? ` -- ${t}中` : "");
|
|
97
98
|
}
|
|
98
99
|
#s = !0;
|
|
99
100
|
async #c() {
|
|
100
101
|
let e = "";
|
|
101
102
|
try {
|
|
102
103
|
for (; this.#s;) {
|
|
103
|
-
let
|
|
104
|
-
if (!
|
|
105
|
-
let
|
|
106
|
-
if (
|
|
107
|
-
if (
|
|
108
|
-
this.#t.addLineNum(
|
|
104
|
+
let t = this.#t.nextToken();
|
|
105
|
+
if (!t) return;
|
|
106
|
+
let n = t.charCodeAt(0);
|
|
107
|
+
if (n !== 9) {
|
|
108
|
+
if (n === 10) {
|
|
109
|
+
this.#t.addLineNum(t.length);
|
|
109
110
|
continue;
|
|
110
111
|
}
|
|
111
|
-
if (
|
|
112
|
-
if (e = "タグ開始", this.#t.isBreak(
|
|
113
|
-
let [
|
|
114
|
-
e = `[${
|
|
115
|
-
let
|
|
116
|
-
if (
|
|
112
|
+
if (n === 91) {
|
|
113
|
+
if (e = "タグ開始", this.#t.isBreak(t)) return;
|
|
114
|
+
let [n, r] = c(t);
|
|
115
|
+
e = `[${n}]例外`;
|
|
116
|
+
let i = (t.match(/\n/g) ?? []).length;
|
|
117
|
+
if (i > 0 && this.#t.addLineNum(i), await this.#t.タグ解析(n, r)) {
|
|
117
118
|
this.stop();
|
|
118
119
|
return;
|
|
119
120
|
}
|
|
120
121
|
continue;
|
|
121
122
|
}
|
|
122
|
-
if (
|
|
123
|
-
if (!
|
|
124
|
-
if (e = "変数計算", this.#t.isBreak(
|
|
125
|
-
let
|
|
126
|
-
|
|
123
|
+
if (n === 38) {
|
|
124
|
+
if (!t.endsWith("&")) {
|
|
125
|
+
if (e = "変数計算", this.#t.isBreak(t)) return;
|
|
126
|
+
let n = l(t.slice(1));
|
|
127
|
+
n.name = this.#l(n.name), n.text = String(this.#u(n.text)), this.#e.let(n);
|
|
127
128
|
continue;
|
|
128
129
|
}
|
|
129
|
-
if (e = "変数操作",
|
|
130
|
-
|
|
131
|
-
} else if (
|
|
132
|
-
else if (
|
|
133
|
-
e = "文字表示", this.#n.setNormalChWait(), this.#n.currentTxtlayForeNeedErr.tagCh(
|
|
130
|
+
if (e = "変数操作", t.charAt(1) === "&") throw Error("「&表示&」書式では「&」指定が不要です");
|
|
131
|
+
t = String(this.#u(t.slice(1, -1)));
|
|
132
|
+
} else if (n === 59) continue;
|
|
133
|
+
else if (n === 42 && t.length > 1) continue;
|
|
134
|
+
e = "文字表示", this.#n.setNormalChWait(), this.#n.currentTxtlayForeNeedErr.tagCh(t);
|
|
134
135
|
}
|
|
135
136
|
}
|
|
136
|
-
} catch (
|
|
137
|
-
this.errScript(`${e} ${
|
|
137
|
+
} catch (t) {
|
|
138
|
+
this.errScript(`${e} ${t instanceof Error ? `mes=${t.message}(${t.name})` : String(t)}`, !1);
|
|
138
139
|
}
|
|
139
140
|
}
|
|
140
141
|
#l = (e) => "";
|
|
141
142
|
#u;
|
|
142
143
|
};
|
|
143
|
-
|
|
144
|
+
//#endregion
|
|
145
|
+
export { d as Main };
|
|
144
146
|
|
|
145
147
|
//# sourceMappingURL=Main.js.map
|
package/dist_app/Main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Main.js","names":["#init","sys: SysBase","hApp: IApplicationOptions","#aDest","#hTag","#setVal_Nochk","#getValAmpersand","#parse","#scrItr","#layMng","#evtMng","#isLoop","#main"],"sources":["../src/sn/Main.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2018-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {CmnLib, argChk_Boolean, parseColor} from './CmnLib';\nimport type {T_HTag, TArg} from './Grammar';\nimport type {T_Main, Scope, T_VAL_BSNU, T_VAL_DATA} from './CmnInterface';\nimport type {SysBase} from './SysBase';\nimport {DebugMng} from './DebugMng';\nimport {Config} from './Config';\nimport {splitAmpersand, tagToken2Name_Args} from './Grammar';\nimport type {ScriptIterator} from './ScriptIterator';\nimport type {LayerMng} from './LayerMng';\nimport type {EventMng} from './EventMng';\n\nimport {type IApplicationOptions, Application, utils} from 'pixi.js';\n\n\nconst\tSN_ID\t= 'skynovel';\n\n\nexport class Main implements T_Main {\n\tstatic\tasync generate(sys: SysBase): Promise<Main> {\n\t\tutils.skipHello();\n\n\t\tconst m = new Main(sys);\n\t\tawait m.#init()\n\t\t.catch((e: unknown)=> console.error('Main.generate err e:%o', e));\n\n\t\treturn m;\n\t}\n\n\n\tcvs\t\t\t: HTMLCanvasElement;\n\n\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t#hTag\t\t: T_HTag\t\t= Object.create(null);\t// タグ処理辞書\n\n\t#scrItr\t\t: ScriptIterator;\n\t#layMng\t\t: LayerMng;\n\t#evtMng\t\t: EventMng;\n\n\t#aDest\t\t: (()=> void)[]\t\t= [];\n\n\n\tprivate constructor(private readonly sys: SysBase) {}\n\n\tasync #init() {\n\t\tconst cfg = await Config.generate(this.sys);\n\t\tthis.sys.setMain(this, cfg);\n\n\t\tconst hApp: IApplicationOptions = {\n\t\t\twidth\t\t\t: cfg.oCfg.window.width,\n\t\t\theight\t\t\t: cfg.oCfg.window.height,\n\t\t\tbackgroundColor\t: parseColor(String(cfg.oCfg.init.bg_color)),\n\t\t\t\t// このString()は後方互換性のため必須\n\t\t\tresolution\t\t: globalThis.devicePixelRatio,\n\t\t};\n\n\t\tconst cvs = <HTMLCanvasElement | null>document.getElementById(SN_ID);\n\t\tif (cvs) {\n\t\t\tconst clone_cvs = <HTMLCanvasElement>cvs.cloneNode(true);\n\t\t\tclone_cvs.id = SN_ID;\n\t\t\thApp.view = cvs;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconst p = cvs.parentNode!;\n\t\t\tthis.#aDest.unshift(()=> p.appendChild(clone_cvs));\n\t\t}\n\t\telse {\t// 自動的に作ってくれるが、どうも appendChild に遅延があるので\n\t\t\tconst c = document.createElement('canvas');\n\t\t\tc.id = SN_ID;\n\t\t\thApp.view = c;\n\t\t\tdocument.body.appendChild(c);\n\t\t\tthis.#aDest.unshift(()=> document.body.removeChild(c));\n\t\t}\n\n\t\tconst app = new Application(hApp);\n\t\tthis.#aDest.unshift(()=> {\n\t\t\tutils.clearTextureCache();\n\t\t\tthis.sys.destroy();\n\t\t\tapp.destroy(false);\t// remove canvas from DOM が非同期なのでウチがやる\n\t\t});\n\n\t\tthis.cvs = app.view;\n\t\tthis.cvs.id = SN_ID +'_act';\n\t\tif (! cvs) document.body.appendChild(this.cvs);\n\n\n\t\tconst cc = document.createElement('canvas').getContext('2d');\n\t\tif (! cc) throw '#init cc err';\n\t\tCmnLib.cc4ColorName = cc;\n\n\t\tconst [{Variable}, {PropParser}, {SoundMng}, {ScriptIterator}, {LayerMng}, {EventMng}, {Button}] = await Promise.all([\n\t\t\timport('./Variable'),\n\t\t\timport('./PropParser'),\n\t\t\timport('./SoundMng'),\n\t\t\timport('./ScriptIterator'),\n\t\t\timport('./LayerMng'),\n\t\t\timport('./EventMng'),\n\t\t\timport('./Button'),\n\t\t]);\n\n\t\tButton.init(cfg);\n\n\t\t// 変数\n\t\tconst val = new Variable(this.sys, cfg, this.#hTag);\n\t\tconst prpPrs = new PropParser(val, cfg.oCfg.init.escape);\n\t\tthis.#setVal_Nochk = (scope, nm, v, autocast)=> val.setVal_Nochk(scope, nm, v, autocast);\n\t\tthis.#getValAmpersand = v=> prpPrs.getValAmpersand(v);\n\t\tthis.#parse = s=> prpPrs.parse(s);\n\n\t\t// システム\n\t\tawait Promise.allSettled(this.sys.init(this.#hTag, app, val));\t// 変数準備完了\n\n\t\t// BGM・効果音\n\t\tconst sndMng = new SoundMng(cfg, this.#hTag, val, this, this.sys);\n\t\tthis.#aDest.unshift(()=> sndMng.destroy());\n\n\t\t// 条件分岐、ラベル・ジャンプ、マクロ、しおり\n\t\tthis.#scrItr = new ScriptIterator(cfg, this.#hTag, this, val, prpPrs, sndMng, this.sys);\n\t\tthis.#aDest.unshift(()=> this.#scrItr.destroy());\n\n\t\t// デバッグ・その他\n\t\tconst dbgMng = new DebugMng(this.sys, this.#hTag, this.#scrItr);\n\t\tthis.#aDest.unshift(()=> dbgMng.destroy());\n\t\tthis.errScript = (mes, isThrow)=> {\n\t\t\tthis.stop();\n\t\t\tDebugMng.myTrace(mes);\n\t\t\tif (CmnLib.debugLog) console.log('🍜 SKYNovel err!');\n\t\t\tif (isThrow) throw mes;\n\t\t}\n\n\t\t// レイヤ共通、文字レイヤ、画像レイヤ\n\t\tthis.#layMng = new LayerMng(cfg, this.#hTag, app, val, this, this.#scrItr, this.sys, sndMng, prpPrs);\n\t\tthis.#aDest.unshift(()=> this.#layMng.destroy());\n\n\t\t// イベント\n\t\tthis.#evtMng = new EventMng(cfg, this.#hTag, app, this, this.#layMng, val, sndMng, this.#scrItr, this.sys);\n\t\tthis.#aDest.unshift(()=> this.#evtMng.destroy());\n\n\t\tthis.#aDest.unshift(()=> {\n\t\t\tthis.stop();\n\t\t\tthis.#isLoop = false;\n\n\t\t\tconst fncDummy = ()=> true;\n\t\t\tfor (const key in this.#hTag) this.#hTag[<keyof T_HTag>key] = fncDummy;\n\t\t});\n\t}\n\n\n\tdestroy() {\n\t\tthis.resume = this.destroy = ()=> { /* empty */ };\t// destroy()連打対策\n\n\t\tthis.cvs.parentElement?.removeChild(this.cvs);\n\t\t\t// (ギャラリーで)document.body はエラーになる\n\t\tfor (const f of this.#aDest) f();\n\t\tthis.#aDest = [];\n\t}\n\n\n\terrScript = (_mes: string, _isThrow = true)=> { /* empty */ }\n\n\n\tresumeByJumpOrCall(hArg: TArg) {\n\t\tif (hArg.url) {\n\t\t\tthis.#hTag.navigate_to(hArg);\n\t\t\tthis.#scrItr.jumpJustBefore();\n\t\t\treturn;\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-base-to-string\n\t\tthis.#setVal_Nochk('tmp', 'sn.eventArg', String(hArg.arg ?? ''));\n\t\tthis.#setVal_Nochk('tmp', 'sn.eventLabel', hArg.label ?? '');\n// console.log(`📜 %cresumeByJumpOrCall:%o`, 'color:#3B0;', hArg);\n\t\tif (argChk_Boolean(hArg, 'call', false)) {\n\t\t\tthis.#scrItr.subIdxToken();\t// 「コール元の次」に進めず、「コール元」に戻す\n\t\t\tif (this.#hTag.call(hArg)) return;\n\t\t}\n\t\telse {\n\t\t\tthis.#hTag.clear_event({});\n\t\t\tif (this.#hTag.jump(hArg)) return;\n\t\t}\n\t\tthis.resume();\n\t}\n\t\t#setVal_Nochk = (_scope: Scope, _nm: string, _val: T_VAL_BSNU, _autocast = false)=> { /* empty */ }\n\n\tresume() {\n// console.log(`📜🟢 resume!`);\n\t\t// スクリプトが動くとき、ブレイクマークなど消去\n\t\tthis.#layMng.clearBreak();\n\t\tthis.#scrItr.noticeBreak(false);\n\t\tthis.#evtMng.hideHint();\n\n\t\tqueueMicrotask(()=> {void this.#main()});\n\t}\n\treadonly stop = ()=> {\n// console.log(`📜🔴 stop!`);\n\t\tthis.#scrItr.noticeBreak(true);\n\t};\n\n\tsetLoop(isLoop: boolean, mes = '') {\n\t\t///console.log('setLoop:'+ (isLoop ?'resume!' :'stop!') +' mes:'+ mes);\n\t\t// eslint-disable-next-line no-cond-assign\n\t\tif (this.#isLoop = isLoop) this.resume(); else this.stop();\n\t\tthis.sys.setTitleInfo(mes ?` -- ${mes}中` :'');\n\t}\n\t// oxlint-disable-next-line no-unused-private-class-members\n\t#isLoop = true;\n\n\t//MARK: メイン処理(シナリオ解析)\n\tasync #main() {\n\t\tlet errHd = '';\n\t\ttry {\n\t\t\twhile (this.#isLoop) {\n\t\t\t\tlet token = this.#scrItr.nextToken();\n\t\t\t\tif (! token) return;\t// 初期化前に終了した場合向け\n\n\t\t\t\tconst uc = token.charCodeAt(0);\t// TokenTopUnicode\n\t\t\t\t// \\t タブ\n\t\t\t\tif (uc === 9) continue;\n\t\t\t\t// \\n 改行\n\t\t\t\tif (uc === 10) {this.#scrItr.addLineNum(token.length); continue}\n\t\t\t\t// [ タグ開始\n\t\t\t\tif (uc === 91) {\n\t\t\t\t\terrHd = 'タグ開始';\n\t\t\t\t\tif (this.#scrItr.isBreak(token)) return;\n\n\t\t\t\t\tconst [tag_name, args] = tagToken2Name_Args(token);\n\t\t\t\t\terrHd = `[${tag_name}]例外`;\n\n\t\t\t\t\tconst cl = (token.match(/\\n/g) ?? []).length;\n\t\t\t\t\tif (cl > 0) this.#scrItr.addLineNum(cl);\n\t\t\t\t\tif (await this.#scrItr.タグ解析(\n\t\t\t\t\t\t<keyof T_HTag>tag_name, args\n\t\t\t\t\t)) {this.stop(); return}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t// & 変数操作・変数表示\n\t\t\t\t// an時代・瀬戸愛羅さんより https://famibee.blog.fc2.com/blog-entry-245.html\n\t\t\t\tif (uc === 38) {\n\t\t\t\t\tif (! token.endsWith('&')) {\n\t\t\t\t\t\terrHd = '変数計算';\n\t\t\t\t\t\tif (this.#scrItr.isBreak(token)) return;\n\t\t\t\t\t\tconst o = splitAmpersand(token.slice(1));\n\t\t\t\t\t\to.name = this.#getValAmpersand(o.name);\n\t\t\t\t\t\to.text = String(this.#parse(o.text));\n\t\t\t\t\t\tthis.#hTag.let(o);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\terrHd = '変数操作';\n\t\t\t\t\tif (token.charAt(1) === '&') throw new Error('「&表示&」書式では「&」指定が不要です');\n\t\t\t\t\ttoken = String(this.#parse( token.slice(1, -1) ));\n\t\t\t\t\t\t// -> 文字表示 へ\n\t\t\t\t}\n\t\t\t\t// ; コメント\n\t\t\t\telse if (uc === 59) continue;\n\t\t\t\t// * ラベル\n\t\t\t\telse if (uc === 42 && token.length > 1) continue;\n\n\t\t\t\t// 文字表示\n\t\t\t\terrHd = '文字表示';\n\t\t\t\tthis.#layMng.setNormalChWait();\n\t\t\t\tconst tl = this.#layMng.currentTxtlayForeNeedErr;\n\t\t\t\ttl.tagCh(token);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis.errScript(`${errHd} ${\n\t\t\t\te instanceof Error ?`mes=${e.message}(${e.name})` :String(e)\n\t\t\t}`, false);\n\t\t}\n\t}\n\t\t#getValAmpersand\t= (_v: string)=> '';\n\t\t#parse\t\t\t\t: (_s: string)=> T_VAL_DATA;\n\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Main.js","names":["#init","#aDest","#hTag","#setVal_Nochk","#getValAmpersand","#parse","#scrItr","#layMng","#evtMng","#isLoop","#main"],"sources":["../src/sn/Main.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2018-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {CmnLib, argChk_Boolean, parseColor} from './CmnLib';\nimport type {T_HTag, TArg} from './Grammar';\nimport type {T_Main, Scope, T_VAL_BSNU, T_VAL_DATA} from './CmnInterface';\nimport type {SysBase} from './SysBase';\nimport {DebugMng} from './DebugMng';\nimport {Config} from './Config';\nimport {splitAmpersand, tagToken2Name_Args} from './Grammar';\nimport type {ScriptIterator} from './ScriptIterator';\nimport type {LayerMng} from './LayerMng';\nimport type {EventMng} from './EventMng';\n\nimport {type IApplicationOptions, Application, utils} from 'pixi.js';\n\n\nconst\tSN_ID\t= 'skynovel';\n\n\nexport class Main implements T_Main {\n\tstatic\tasync generate(sys: SysBase): Promise<Main> {\n\t\tutils.skipHello();\n\n\t\tconst m = new Main(sys);\n\t\tawait m.#init()\n\t\t.catch((e: unknown)=> console.error('Main.generate err e:%o', e));\n\n\t\treturn m;\n\t}\n\n\n\tcvs\t\t\t: HTMLCanvasElement;\n\n\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t#hTag\t\t: T_HTag\t\t= Object.create(null);\t// タグ処理辞書\n\n\t#scrItr\t\t: ScriptIterator;\n\t#layMng\t\t: LayerMng;\n\t#evtMng\t\t: EventMng;\n\n\t#aDest\t\t: (()=> void)[]\t\t= [];\n\n\n\tprivate constructor(private readonly sys: SysBase) {}\n\n\tasync #init() {\n\t\tconst cfg = await Config.generate(this.sys);\n\t\tthis.sys.setMain(this, cfg);\n\n\t\tconst hApp: IApplicationOptions = {\n\t\t\twidth\t\t\t: cfg.oCfg.window.width,\n\t\t\theight\t\t\t: cfg.oCfg.window.height,\n\t\t\tbackgroundColor\t: parseColor(String(cfg.oCfg.init.bg_color)),\n\t\t\t\t// このString()は後方互換性のため必須\n\t\t\tresolution\t\t: globalThis.devicePixelRatio,\n\t\t};\n\n\t\tconst cvs = <HTMLCanvasElement | null>document.getElementById(SN_ID);\n\t\tif (cvs) {\n\t\t\tconst clone_cvs = <HTMLCanvasElement>cvs.cloneNode(true);\n\t\t\tclone_cvs.id = SN_ID;\n\t\t\thApp.view = cvs;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\tconst p = cvs.parentNode!;\n\t\t\tthis.#aDest.unshift(()=> p.appendChild(clone_cvs));\n\t\t}\n\t\telse {\t// 自動的に作ってくれるが、どうも appendChild に遅延があるので\n\t\t\tconst c = document.createElement('canvas');\n\t\t\tc.id = SN_ID;\n\t\t\thApp.view = c;\n\t\t\tdocument.body.appendChild(c);\n\t\t\tthis.#aDest.unshift(()=> document.body.removeChild(c));\n\t\t}\n\n\t\tconst app = new Application(hApp);\n\t\tthis.#aDest.unshift(()=> {\n\t\t\tutils.clearTextureCache();\n\t\t\tthis.sys.destroy();\n\t\t\tapp.destroy(false);\t// remove canvas from DOM が非同期なのでウチがやる\n\t\t});\n\n\t\tthis.cvs = app.view;\n\t\tthis.cvs.id = SN_ID +'_act';\n\t\tif (! cvs) document.body.appendChild(this.cvs);\n\n\n\t\tconst cc = document.createElement('canvas').getContext('2d');\n\t\tif (! cc) throw '#init cc err';\n\t\tCmnLib.cc4ColorName = cc;\n\n\t\tconst [{Variable}, {PropParser}, {SoundMng}, {ScriptIterator}, {LayerMng}, {EventMng}, {Button}] = await Promise.all([\n\t\t\timport('./Variable'),\n\t\t\timport('./PropParser'),\n\t\t\timport('./SoundMng'),\n\t\t\timport('./ScriptIterator'),\n\t\t\timport('./LayerMng'),\n\t\t\timport('./EventMng'),\n\t\t\timport('./Button'),\n\t\t]);\n\n\t\tButton.init(cfg);\n\n\t\t// 変数\n\t\tconst val = new Variable(this.sys, cfg, this.#hTag);\n\t\tconst prpPrs = new PropParser(val, cfg.oCfg.init.escape);\n\t\tthis.#setVal_Nochk = (scope, nm, v, autocast)=> val.setVal_Nochk(scope, nm, v, autocast);\n\t\tthis.#getValAmpersand = v=> prpPrs.getValAmpersand(v);\n\t\tthis.#parse = s=> prpPrs.parse(s);\n\n\t\t// システム\n\t\tawait Promise.allSettled(this.sys.init(this.#hTag, app, val));\t// 変数準備完了\n\n\t\t// BGM・効果音\n\t\tconst sndMng = new SoundMng(cfg, this.#hTag, val, this, this.sys);\n\t\tthis.#aDest.unshift(()=> sndMng.destroy());\n\n\t\t// 条件分岐、ラベル・ジャンプ、マクロ、しおり\n\t\tthis.#scrItr = new ScriptIterator(cfg, this.#hTag, this, val, prpPrs, sndMng, this.sys);\n\t\tthis.#aDest.unshift(()=> this.#scrItr.destroy());\n\n\t\t// デバッグ・その他\n\t\tconst dbgMng = new DebugMng(this.sys, this.#hTag, this.#scrItr);\n\t\tthis.#aDest.unshift(()=> dbgMng.destroy());\n\t\tthis.errScript = (mes, isThrow)=> {\n\t\t\tthis.stop();\n\t\t\tDebugMng.myTrace(mes);\n\t\t\tif (CmnLib.debugLog) console.log('🍜 SKYNovel err!');\n\t\t\tif (isThrow) throw mes;\n\t\t}\n\n\t\t// レイヤ共通、文字レイヤ、画像レイヤ\n\t\tthis.#layMng = new LayerMng(cfg, this.#hTag, app, val, this, this.#scrItr, this.sys, sndMng, prpPrs);\n\t\tthis.#aDest.unshift(()=> this.#layMng.destroy());\n\n\t\t// イベント\n\t\tthis.#evtMng = new EventMng(cfg, this.#hTag, app, this, this.#layMng, val, sndMng, this.#scrItr, this.sys);\n\t\tthis.#aDest.unshift(()=> this.#evtMng.destroy());\n\n\t\tthis.#aDest.unshift(()=> {\n\t\t\tthis.stop();\n\t\t\tthis.#isLoop = false;\n\n\t\t\tconst fncDummy = ()=> true;\n\t\t\tfor (const key in this.#hTag) this.#hTag[<keyof T_HTag>key] = fncDummy;\n\t\t});\n\t}\n\n\n\tdestroy() {\n\t\tthis.resume = this.destroy = ()=> { /* empty */ };\t// destroy()連打対策\n\n\t\tthis.cvs.parentElement?.removeChild(this.cvs);\n\t\t\t// (ギャラリーで)document.body はエラーになる\n\t\tfor (const f of this.#aDest) f();\n\t\tthis.#aDest = [];\n\t}\n\n\n\terrScript = (_mes: string, _isThrow = true)=> { /* empty */ }\n\n\n\tresumeByJumpOrCall(hArg: TArg) {\n\t\tif (hArg.url) {\n\t\t\tthis.#hTag.navigate_to(hArg);\n\t\t\tthis.#scrItr.jumpJustBefore();\n\t\t\treturn;\n\t\t}\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-base-to-string\n\t\tthis.#setVal_Nochk('tmp', 'sn.eventArg', String(hArg.arg ?? ''));\n\t\tthis.#setVal_Nochk('tmp', 'sn.eventLabel', hArg.label ?? '');\n// console.log(`📜 %cresumeByJumpOrCall:%o`, 'color:#3B0;', hArg);\n\t\tif (argChk_Boolean(hArg, 'call', false)) {\n\t\t\tthis.#scrItr.subIdxToken();\t// 「コール元の次」に進めず、「コール元」に戻す\n\t\t\tif (this.#hTag.call(hArg)) return;\n\t\t}\n\t\telse {\n\t\t\tthis.#hTag.clear_event({});\n\t\t\tif (this.#hTag.jump(hArg)) return;\n\t\t}\n\t\tthis.resume();\n\t}\n\t\t#setVal_Nochk = (_scope: Scope, _nm: string, _val: T_VAL_BSNU, _autocast = false)=> { /* empty */ }\n\n\tresume() {\n// console.log(`📜🟢 resume!`);\n\t\t// スクリプトが動くとき、ブレイクマークなど消去\n\t\tthis.#layMng.clearBreak();\n\t\tthis.#scrItr.noticeBreak(false);\n\t\tthis.#evtMng.hideHint();\n\n\t\tqueueMicrotask(()=> {void this.#main()});\n\t}\n\treadonly stop = ()=> {\n// console.log(`📜🔴 stop!`);\n\t\tthis.#scrItr.noticeBreak(true);\n\t};\n\n\tsetLoop(isLoop: boolean, mes = '') {\n\t\t///console.log('setLoop:'+ (isLoop ?'resume!' :'stop!') +' mes:'+ mes);\n\t\t// eslint-disable-next-line no-cond-assign\n\t\tif (this.#isLoop = isLoop) this.resume(); else this.stop();\n\t\tthis.sys.setTitleInfo(mes ?` -- ${mes}中` :'');\n\t}\n\t// oxlint-disable-next-line no-unused-private-class-members\n\t#isLoop = true;\n\n\t//MARK: メイン処理(シナリオ解析)\n\tasync #main() {\n\t\tlet errHd = '';\n\t\ttry {\n\t\t\twhile (this.#isLoop) {\n\t\t\t\tlet token = this.#scrItr.nextToken();\n\t\t\t\tif (! token) return;\t// 初期化前に終了した場合向け\n\n\t\t\t\tconst uc = token.charCodeAt(0);\t// TokenTopUnicode\n\t\t\t\t// \\t タブ\n\t\t\t\tif (uc === 9) continue;\n\t\t\t\t// \\n 改行\n\t\t\t\tif (uc === 10) {this.#scrItr.addLineNum(token.length); continue}\n\t\t\t\t// [ タグ開始\n\t\t\t\tif (uc === 91) {\n\t\t\t\t\terrHd = 'タグ開始';\n\t\t\t\t\tif (this.#scrItr.isBreak(token)) return;\n\n\t\t\t\t\tconst [tag_name, args] = tagToken2Name_Args(token);\n\t\t\t\t\terrHd = `[${tag_name}]例外`;\n\n\t\t\t\t\tconst cl = (token.match(/\\n/g) ?? []).length;\n\t\t\t\t\tif (cl > 0) this.#scrItr.addLineNum(cl);\n\t\t\t\t\tif (await this.#scrItr.タグ解析(\n\t\t\t\t\t\t<keyof T_HTag>tag_name, args\n\t\t\t\t\t)) {this.stop(); return}\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\t// & 変数操作・変数表示\n\t\t\t\t// an時代・瀬戸愛羅さんより https://famibee.blog.fc2.com/blog-entry-245.html\n\t\t\t\tif (uc === 38) {\n\t\t\t\t\tif (! token.endsWith('&')) {\n\t\t\t\t\t\terrHd = '変数計算';\n\t\t\t\t\t\tif (this.#scrItr.isBreak(token)) return;\n\t\t\t\t\t\tconst o = splitAmpersand(token.slice(1));\n\t\t\t\t\t\to.name = this.#getValAmpersand(o.name);\n\t\t\t\t\t\to.text = String(this.#parse(o.text));\n\t\t\t\t\t\tthis.#hTag.let(o);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\terrHd = '変数操作';\n\t\t\t\t\tif (token.charAt(1) === '&') throw new Error('「&表示&」書式では「&」指定が不要です');\n\t\t\t\t\ttoken = String(this.#parse( token.slice(1, -1) ));\n\t\t\t\t\t\t// -> 文字表示 へ\n\t\t\t\t}\n\t\t\t\t// ; コメント\n\t\t\t\telse if (uc === 59) continue;\n\t\t\t\t// * ラベル\n\t\t\t\telse if (uc === 42 && token.length > 1) continue;\n\n\t\t\t\t// 文字表示\n\t\t\t\terrHd = '文字表示';\n\t\t\t\tthis.#layMng.setNormalChWait();\n\t\t\t\tconst tl = this.#layMng.currentTxtlayForeNeedErr;\n\t\t\t\ttl.tagCh(token);\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis.errScript(`${errHd} ${\n\t\t\t\te instanceof Error ?`mes=${e.message}(${e.name})` :String(e)\n\t\t\t}`, false);\n\t\t}\n\t}\n\t\t#getValAmpersand\t= (_v: string)=> '';\n\t\t#parse\t\t\t\t: (_s: string)=> T_VAL_DATA;\n\n}\n"],"mappings":"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"}
|
package/dist_app/PropParser.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import { p as
|
|
3
|
-
|
|
1
|
+
import { t as e } from "./rolldown-runtime.js";
|
|
2
|
+
import { p as t } from "./CmnLib.js";
|
|
3
|
+
//#endregion
|
|
4
|
+
//#region src/sn/PropParser.ts
|
|
5
|
+
var n = (/* @__PURE__ */ e(((e, t) => {
|
|
4
6
|
(function(n, r) {
|
|
5
7
|
typeof e == "object" && typeof t == "object" ? t.exports = r() : typeof define == "function" && define.amd ? define([], r) : typeof e == "object" ? e.Parsimmon = r() : n.Parsimmon = r();
|
|
6
8
|
})(typeof self < "u" ? self : e, function() {
|
|
@@ -683,41 +685,41 @@ var import_parsimmon_umd_min = (/* @__PURE__ */ __commonJSMin(((e, t) => {
|
|
|
683
685
|
}, e.exports = r;
|
|
684
686
|
}]);
|
|
685
687
|
});
|
|
686
|
-
})))(),
|
|
688
|
+
})))(), r = class e {
|
|
689
|
+
val;
|
|
687
690
|
#e = null;
|
|
688
691
|
constructor(e, r = "\\") {
|
|
689
692
|
this.val = e;
|
|
690
693
|
function i(e) {
|
|
691
694
|
let t = [];
|
|
692
|
-
for (let r of e) t.push((typeof r == "string" ? (0,
|
|
693
|
-
return (0,
|
|
695
|
+
for (let r of e) t.push((typeof r == "string" ? (0, n.string)(r) : (0, n.regex)(r)).trim(n.optWhitespace));
|
|
696
|
+
return (0, n.alt)(...t);
|
|
694
697
|
}
|
|
695
698
|
function a(e) {
|
|
696
|
-
return (0,
|
|
699
|
+
return (0, n.alt)(...Object.keys(e).sort().map((t) => (typeof e[t] == "string" ? (0, n.string)(e[t]) : (0, n.regex)(e[t])).trim(n.optWhitespace).result(t)));
|
|
697
700
|
}
|
|
698
701
|
function o(e, t) {
|
|
699
|
-
let r = (0,
|
|
702
|
+
let r = (0, n.lazy)(() => (0, n.seq)(e, r).or(t));
|
|
700
703
|
return r;
|
|
701
704
|
}
|
|
702
705
|
function s(e, t) {
|
|
703
|
-
return (0,
|
|
706
|
+
return (0, n.seqMap)(t, e.many(), (e, t) => t.reduce((e, t) => [t, e], e));
|
|
704
707
|
}
|
|
705
708
|
function c(e, t) {
|
|
706
|
-
let r = (0,
|
|
709
|
+
let r = (0, n.lazy)(() => t.chain((t) => (0, n.seq)(e, (0, n.of)(t), r).or((0, n.of)(t))));
|
|
707
710
|
return r;
|
|
708
711
|
}
|
|
709
712
|
function l(e, t) {
|
|
710
|
-
return (0,
|
|
713
|
+
return (0, n.seqMap)(t, (0, n.seq)(e, t).many(), (e, t) => t.reduce((e, t) => [
|
|
711
714
|
t[0],
|
|
712
715
|
e,
|
|
713
716
|
t[1]
|
|
714
717
|
], e));
|
|
715
718
|
}
|
|
716
|
-
let u = (0,
|
|
719
|
+
let u = (0, n.alt)((0, n.alt)((0, n.regex)(/-?(0|[1-9][0-9]*)\.[0-9]+/), (0, n.regex)(/0x[0-9a-fA-F]+/)).map(Number), (0, n.alt)((0, n.regex)(/-?(0|[1-9][0-9]*)/)).map((e) => t(e))).map((e) => ["!num!", e]).desc("number"), d = (0, n.string)("null").map(() => ["!str!", null]), f = (0, n.regex)(/(true|false)/).map((e) => ["!bool!", e === "true"]).desc("boolean"), p = (0, n.regex)(RegExp(`(?:"(?:\\${r}["'#\\n]|[^"])*"|'(?:\\${r}["'#\\n]|[^'])*'|\\#(?:\\${r}["'#\\n]|[^#])*\\#)`)).map((e) => ["!str!", e.slice(1, -1).replaceAll(r, "")]).desc("string"), m = /\[[^\]]+\]/g, h = (0, n.regex)(/-?(?:(?:tmp|sys|save|mp):)?[^\s!-/:-@[-^`{-~]+(?:\.[^\s!-/:-@[-^`{-~]+|\[[^\]]+\])*(?:@str)?/).map((e) => {
|
|
717
720
|
let t = e.replaceAll(m, (e) => "." + this.parse(e.slice(1, -1))), n = this.val.getVal(t);
|
|
718
721
|
return n == null ? ["!str!", n] : typeof n == "boolean" ? ["!bool!", n] : Object.prototype.toString.call(n) === "[object String]" ? ["!str!", String(n)] : ["!num!", Number(n)];
|
|
719
|
-
}).desc("string"), g = (0,
|
|
720
|
-
this.#e = [
|
|
722
|
+
}).desc("string"), g = (0, n.lazy)(() => (0, n.string)("(").then(this.#e).skip((0, n.string)(")")).or(u).or(d).or(f).or(p).or(h)), _ = [
|
|
721
723
|
{
|
|
722
724
|
type: o,
|
|
723
725
|
ops: i([/[A-Za-z_][A-Za-z0-9_]*(?=\()/])
|
|
@@ -803,7 +805,8 @@ var import_parsimmon_umd_min = (/* @__PURE__ */ __commonJSMin(((e, t) => {
|
|
|
803
805
|
type: c,
|
|
804
806
|
ops: i(["?"])
|
|
805
807
|
}
|
|
806
|
-
].reduce((e, t) => t.type(t.ops, e), g)
|
|
808
|
+
].reduce((e, t) => t.type(t.ops, e), g);
|
|
809
|
+
this.#e = _.trim(n.optWhitespace);
|
|
807
810
|
}
|
|
808
811
|
parse(e) {
|
|
809
812
|
let t = this.#e.parse(e);
|
|
@@ -846,8 +849,8 @@ var import_parsimmon_umd_min = (/* @__PURE__ */ __commonJSMin(((e, t) => {
|
|
|
846
849
|
return Object.prototype.toString.call(t) === "[object String]" || Object.prototype.toString.call(n) === "[object String]" ? String(t) + String(n) : Number(t) + Number(n);
|
|
847
850
|
},
|
|
848
851
|
"-": (e) => Number(this.#t(e.shift())) - Number(this.#t(e.shift())),
|
|
849
|
-
int: (e) =>
|
|
850
|
-
parseInt: (e) =>
|
|
852
|
+
int: (e) => t(this.#r(e.shift())),
|
|
853
|
+
parseInt: (e) => t(this.#n.Number(e)),
|
|
851
854
|
Number: (e) => {
|
|
852
855
|
let t = this.#t(e.shift());
|
|
853
856
|
return Object.prototype.toString.call(t) === "[object String]" ? this.#r(this.#e.parse(String(t)).value) : Number(t);
|
|
@@ -874,7 +877,7 @@ var import_parsimmon_umd_min = (/* @__PURE__ */ __commonJSMin(((e, t) => {
|
|
|
874
877
|
"!=": (e) => !this.#n["=="](e),
|
|
875
878
|
"===": (e) => {
|
|
876
879
|
let t = this.#t(e.shift()), n = this.#t(e.shift());
|
|
877
|
-
return Object.prototype.toString.call(t) == Object.prototype.toString.call(n)
|
|
880
|
+
return Object.prototype.toString.call(t) == Object.prototype.toString.call(n) && String(t) === String(n);
|
|
878
881
|
},
|
|
879
882
|
"!==": (e) => !this.#n["==="](e),
|
|
880
883
|
"&": (e) => Number(this.#t(e.shift())) & Number(this.#t(e.shift())),
|
|
@@ -932,6 +935,7 @@ var import_parsimmon_umd_min = (/* @__PURE__ */ __commonJSMin(((e, t) => {
|
|
|
932
935
|
return r;
|
|
933
936
|
}
|
|
934
937
|
};
|
|
935
|
-
|
|
938
|
+
//#endregion
|
|
939
|
+
export { r as PropParser };
|
|
936
940
|
|
|
937
941
|
//# sourceMappingURL=PropParser.js.map
|