@drincs/pixi-vn-ink 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +15 -0
  2. package/dist/functions/ChoiceInfoConverter.d.mts +5 -0
  3. package/dist/functions/ChoiceInfoConverter.d.ts +5 -0
  4. package/dist/functions/ChoiceInfoConverter.js +57 -0
  5. package/dist/functions/ChoiceInfoConverter.js.map +1 -0
  6. package/dist/functions/ChoiceInfoConverter.mjs +55 -0
  7. package/dist/functions/ChoiceInfoConverter.mjs.map +1 -0
  8. package/dist/functions/Importer.d.mts +3 -0
  9. package/dist/functions/Importer.d.ts +3 -0
  10. package/dist/functions/Importer.js +231 -0
  11. package/dist/functions/Importer.js.map +1 -0
  12. package/dist/functions/Importer.mjs +229 -0
  13. package/dist/functions/Importer.mjs.map +1 -0
  14. package/dist/functions/InkToPixivn.d.mts +5 -0
  15. package/dist/functions/InkToPixivn.d.ts +5 -0
  16. package/dist/functions/InkToPixivn.js +220 -0
  17. package/dist/functions/InkToPixivn.js.map +1 -0
  18. package/dist/functions/InkToPixivn.mjs +218 -0
  19. package/dist/functions/InkToPixivn.mjs.map +1 -0
  20. package/dist/functions/StoryInfoConverter.d.mts +6 -0
  21. package/dist/functions/StoryInfoConverter.d.ts +6 -0
  22. package/dist/functions/StoryInfoConverter.js +192 -0
  23. package/dist/functions/StoryInfoConverter.js.map +1 -0
  24. package/dist/functions/StoryInfoConverter.mjs +190 -0
  25. package/dist/functions/StoryInfoConverter.mjs.map +1 -0
  26. package/dist/functions/index.d.mts +3 -0
  27. package/dist/functions/index.d.ts +3 -0
  28. package/dist/functions/index.js +232 -0
  29. package/dist/functions/index.js.map +1 -0
  30. package/dist/functions/index.mjs +229 -0
  31. package/dist/functions/index.mjs.map +1 -0
  32. package/dist/types/InkRootType.d.mts +5 -0
  33. package/dist/types/InkRootType.d.ts +5 -0
  34. package/dist/types/InkRootType.js +4 -0
  35. package/dist/types/InkRootType.js.map +1 -0
  36. package/dist/types/InkRootType.mjs +3 -0
  37. package/dist/types/InkRootType.mjs.map +1 -0
  38. package/dist/types/InkStoryType.d.mts +9 -0
  39. package/dist/types/InkStoryType.d.ts +9 -0
  40. package/dist/types/InkStoryType.js +4 -0
  41. package/dist/types/InkStoryType.js.map +1 -0
  42. package/dist/types/InkStoryType.mjs +3 -0
  43. package/dist/types/InkStoryType.mjs.map +1 -0
  44. package/dist/types/LabelChoiceRes.d.mts +10 -0
  45. package/dist/types/LabelChoiceRes.d.ts +10 -0
  46. package/dist/types/LabelChoiceRes.js +4 -0
  47. package/dist/types/LabelChoiceRes.js.map +1 -0
  48. package/dist/types/LabelChoiceRes.mjs +3 -0
  49. package/dist/types/LabelChoiceRes.mjs.map +1 -0
  50. package/dist/types/parserItems/CallParserItemType.d.mts +5 -0
  51. package/dist/types/parserItems/CallParserItemType.d.ts +5 -0
  52. package/dist/types/parserItems/CallParserItemType.js +4 -0
  53. package/dist/types/parserItems/CallParserItemType.js.map +1 -0
  54. package/dist/types/parserItems/CallParserItemType.mjs +3 -0
  55. package/dist/types/parserItems/CallParserItemType.mjs.map +1 -0
  56. package/dist/types/parserItems/ChoiseInfoParserItemType.d.mts +8 -0
  57. package/dist/types/parserItems/ChoiseInfoParserItemType.d.ts +8 -0
  58. package/dist/types/parserItems/ChoiseInfoParserItemType.js +4 -0
  59. package/dist/types/parserItems/ChoiseInfoParserItemType.js.map +1 -0
  60. package/dist/types/parserItems/ChoiseInfoParserItemType.mjs +3 -0
  61. package/dist/types/parserItems/ChoiseInfoParserItemType.mjs.map +1 -0
  62. package/dist/types/parserItems/ChoiseParserItemType.d.mts +6 -0
  63. package/dist/types/parserItems/ChoiseParserItemType.d.ts +6 -0
  64. package/dist/types/parserItems/ChoiseParserItemType.js +4 -0
  65. package/dist/types/parserItems/ChoiseParserItemType.js.map +1 -0
  66. package/dist/types/parserItems/ChoiseParserItemType.mjs +3 -0
  67. package/dist/types/parserItems/ChoiseParserItemType.mjs.map +1 -0
  68. package/dist/types/parserItems/RootParserItemType.d.mts +5 -0
  69. package/dist/types/parserItems/RootParserItemType.d.ts +5 -0
  70. package/dist/types/parserItems/RootParserItemType.js +4 -0
  71. package/dist/types/parserItems/RootParserItemType.js.map +1 -0
  72. package/dist/types/parserItems/RootParserItemType.mjs +3 -0
  73. package/dist/types/parserItems/RootParserItemType.mjs.map +1 -0
  74. package/package.json +50 -0
@@ -0,0 +1,232 @@
1
+ 'use strict';
2
+
3
+ var pixiVn = require('@drincs/pixi-vn');
4
+ var Compiler = require('inkjs/compiler/Compiler');
5
+
6
+ // src/functions/Importer.ts
7
+
8
+ // src/functions/ChoiceInfoConverter.ts
9
+ function getLabelChoice(items, result) {
10
+ let text = "";
11
+ let label = "";
12
+ let preDialog = "";
13
+ items.forEach((v, index) => {
14
+ if (typeof v === "string") {
15
+ if (v.startsWith("^")) {
16
+ text = v.substring(1);
17
+ }
18
+ } else if (v && typeof v === "object") {
19
+ if ("*" in v && typeof v["*"] && typeof v["*"] === "string" && v["*"].includes("c")) {
20
+ let l = "c" + v["*"].split("c")[1];
21
+ label = l;
22
+ } else if ("s" in v && v["s"] instanceof Array) {
23
+ let t = findChoiceText(v["s"]);
24
+ if (t) {
25
+ text = t;
26
+ preDialog = t;
27
+ }
28
+ }
29
+ }
30
+ if (text && label) {
31
+ if (result[label]) {
32
+ result[label].text = text + result[label].text;
33
+ } else {
34
+ result[label] = { text };
35
+ }
36
+ if (preDialog) {
37
+ result[label].preDialog = { text: preDialog };
38
+ }
39
+ let newListItem = items.slice(index + 1);
40
+ getLabelChoice(newListItem, result);
41
+ return;
42
+ }
43
+ });
44
+ }
45
+ function findChoiceText(items) {
46
+ for (const item of items) {
47
+ if (typeof item === "string") {
48
+ if (item.startsWith("^")) {
49
+ return item.substring(1);
50
+ }
51
+ } else if (item instanceof Array) {
52
+ let res = findChoiceText(item);
53
+ if (res) {
54
+ return res;
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+ // src/functions/StoryInfoConverter.ts
61
+ function getInkLabel(story) {
62
+ try {
63
+ let label = {};
64
+ findLabel(story, label);
65
+ return label;
66
+ } catch (e) {
67
+ console.error("[Pixi'VN Ink] Error parsing ink file", e);
68
+ }
69
+ }
70
+ function findLabel(story, labels) {
71
+ for (const storyItem of story) {
72
+ if (storyItem) {
73
+ if (storyItem instanceof Array) {
74
+ findLabel(storyItem, labels);
75
+ } else if (typeof storyItem === "object") {
76
+ addLabels(storyItem, labels);
77
+ }
78
+ }
79
+ }
80
+ }
81
+ function addLabels(storyItem, result, dadLabelKey = "", shareData = { preDialog: {} }) {
82
+ if (storyItem === null) {
83
+ return;
84
+ }
85
+ for (const [key, value] of Object.entries(storyItem)) {
86
+ if (value instanceof Array) {
87
+ let labels = [];
88
+ let subLabels = {};
89
+ let labelName = (dadLabelKey ? dadLabelKey + "_" : "") + key;
90
+ getLabel(value, labelName, labels, subLabels, shareData);
91
+ for (const [subKey, subValue] of Object.entries(subLabels)) {
92
+ result[subKey] = subValue;
93
+ }
94
+ if (labels.length > 0) {
95
+ result[labelName] = labels;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ function getLabel(items, labelKey, labelSteps, subLabels, shareData, isNewLine = true) {
101
+ var _a;
102
+ let isInEnv = false;
103
+ let envList = [];
104
+ if (shareData.preDialog[labelKey]) {
105
+ labelSteps.push({
106
+ dialog: shareData.preDialog[labelKey].text
107
+ });
108
+ delete shareData.preDialog[labelKey];
109
+ isNewLine = false;
110
+ }
111
+ items.forEach((v) => {
112
+ if (isInEnv) {
113
+ envList.push(v);
114
+ if (typeof v === "string" && v == "/ev") {
115
+ isInEnv = false;
116
+ }
117
+ } else if (typeof v === "string") {
118
+ if (v.startsWith("^")) {
119
+ if (!isNewLine && labelSteps.length > 0) {
120
+ labelSteps[labelSteps.length - 1].dialog = labelSteps[labelSteps.length - 1].dialog + v.substring(1);
121
+ } else {
122
+ labelSteps.push({
123
+ dialog: v.substring(1)
124
+ });
125
+ }
126
+ isNewLine = false;
127
+ } else if (v == "ev") {
128
+ isInEnv = true;
129
+ } else if (v == "\n") {
130
+ isNewLine = true;
131
+ } else if (v == "done") {
132
+ labelSteps.push({
133
+ end: "label_end"
134
+ });
135
+ isNewLine = false;
136
+ } else if (v == "end") {
137
+ labelSteps.push({
138
+ end: "game_end"
139
+ });
140
+ isNewLine = false;
141
+ }
142
+ } else if (v instanceof Array) {
143
+ getLabel(v, labelKey, labelSteps, subLabels, shareData, isNewLine);
144
+ } else if (v && typeof v === "object") {
145
+ if ("->" in v && typeof v["->"] === "string" && !v["->"].includes(".^.^.")) {
146
+ labelSteps.push({
147
+ labelToOpen: {
148
+ labelId: v["->"],
149
+ type: "call"
150
+ }
151
+ });
152
+ isNewLine = false;
153
+ } else if ("*" in v && typeof v["*"] === "string" && v["*"].includes("c")) {
154
+ envList.push(v);
155
+ isNewLine = false;
156
+ } else if ("s" in v && v["s"] instanceof Array) {
157
+ envList.push(v);
158
+ isNewLine = false;
159
+ } else {
160
+ addLabels(v, subLabels, labelKey, shareData);
161
+ }
162
+ }
163
+ });
164
+ if (envList.length > 0) {
165
+ let choices = {};
166
+ getLabelChoice(envList, choices);
167
+ for (const [key, value] of Object.entries(choices)) {
168
+ let newKey = labelKey + "_" + key;
169
+ if (labelSteps.length > 0 && "currentChoiceMenuOptions" in labelSteps[labelSteps.length - 1]) {
170
+ (_a = labelSteps[labelSteps.length - 1].currentChoiceMenuOptions) == null ? void 0 : _a.push({
171
+ text: value.text,
172
+ label: newKey,
173
+ props: {},
174
+ type: "call"
175
+ });
176
+ } else {
177
+ labelSteps.push({
178
+ currentChoiceMenuOptions: [{
179
+ text: value.text,
180
+ label: newKey,
181
+ props: {},
182
+ type: "call"
183
+ }]
184
+ });
185
+ }
186
+ if (value.preDialog) {
187
+ shareData.preDialog[newKey] = {
188
+ text: value.preDialog.text
189
+ };
190
+ }
191
+ }
192
+ }
193
+ }
194
+
195
+ // src/functions/InkToPixivn.ts
196
+ function convertInkText(text) {
197
+ let json = convertorInkToJson(text);
198
+ let obj;
199
+ try {
200
+ obj = JSON.parse(json);
201
+ } catch (e) {
202
+ console.error("[Pixi'VN Ink] Error parsing ink file", e);
203
+ return;
204
+ }
205
+ return getInkLabel(obj.root);
206
+ }
207
+ function convertorInkToJson(test) {
208
+ try {
209
+ const story = new Compiler.Compiler(test).Compile();
210
+ let json = story.ToJson();
211
+ console.log(json);
212
+ return json || "";
213
+ } catch (e) {
214
+ console.error("[Pixi'VN] Error compiling ink file", e);
215
+ return "";
216
+ }
217
+ }
218
+
219
+ // src/functions/Importer.ts
220
+ function importInkText(text) {
221
+ let data = convertInkText(text);
222
+ if (data) {
223
+ {
224
+ pixiVn.importPixiVNJson(data);
225
+ }
226
+ }
227
+ }
228
+
229
+ exports.convertInkText = convertInkText;
230
+ exports.importInkText = importInkText;
231
+ //# sourceMappingURL=index.js.map
232
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/functions/ChoiceInfoConverter.ts","../../src/functions/StoryInfoConverter.ts","../../src/functions/InkToPixivn.ts","../../src/functions/Importer.ts"],"names":["Compiler","importPixiVNJson"],"mappings":"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","file":"index.js","sourcesContent":["import LabelChoiceRes from '../types/LabelChoiceRes';\r\nimport RootParserItemType from '../types/parserItems/RootParserItemType';\r\n\r\nexport function getLabelChoice(items: any[], result: LabelChoiceRes) {\r\n let text: string = \"\"\r\n let label: string = \"\"\r\n let preDialog: string = \"\"\r\n items.forEach((v, index) => {\r\n if (typeof v === \"string\") {\r\n // Dialog\r\n if (v.startsWith(\"^\")) {\r\n text = v.substring(1)\r\n }\r\n }\r\n else if (v && typeof v === \"object\") {\r\n // if is a choice\r\n if (\"*\" in v && typeof v[\"*\"] && typeof v[\"*\"] === \"string\" && v[\"*\"].includes(\"c\")) {\r\n let l = \"c\" + v[\"*\"].split(\"c\")[1]\r\n label = l\r\n }\r\n // if is choise info\r\n else if (\"s\" in v && v[\"s\"] instanceof Array) {\r\n let t = findChoiceText(v[\"s\"])\r\n if (t) {\r\n text = t\r\n preDialog = t\r\n }\r\n }\r\n }\r\n if (text && label) {\r\n if (result[label]) {\r\n result[label].text = text + result[label].text\r\n }\r\n else {\r\n result[label] = { text: text }\r\n }\r\n if (preDialog) {\r\n result[label].preDialog = { text: preDialog }\r\n }\r\n // split text and label\r\n let newListItem = items.slice(index + 1)\r\n getLabelChoice(newListItem, result)\r\n return\r\n }\r\n })\r\n}\r\n\r\nfunction findChoiceText(items: RootParserItemType[]): string | undefined {\r\n for (const item of items) {\r\n if (typeof item === \"string\") {\r\n if (item.startsWith(\"^\")) {\r\n return item.substring(1)\r\n }\r\n }\r\n else if (item instanceof Array) {\r\n let res = findChoiceText(item)\r\n if (res) {\r\n return res\r\n }\r\n }\r\n }\r\n}\r\n","import { LabelJsonType, StepLabelJsonType } from '@drincs/pixi-vn';\r\nimport InkRootType from '../types/InkRootType';\r\nimport LabelChoiceRes from '../types/LabelChoiceRes';\r\nimport RootParserItemType from '../types/parserItems/RootParserItemType';\r\nimport { getLabelChoice } from './ChoiceInfoConverter';\r\n\r\nexport function getInkLabel(story: InkRootType[]): LabelJsonType | undefined {\r\n try {\r\n let label: LabelJsonType = {}\r\n\r\n findLabel(story, label)\r\n\r\n return label;\r\n } catch (e) {\r\n console.error(\"[Pixi'VN Ink] Error parsing ink file\", e)\r\n }\r\n}\r\n\r\nfunction findLabel(story: RootParserItemType[], labels: LabelJsonType) {\r\n for (const storyItem of story) {\r\n if (storyItem) {\r\n if (storyItem instanceof Array) {\r\n findLabel(storyItem, labels)\r\n }\r\n else if (typeof storyItem === \"object\") {\r\n addLabels(storyItem, labels)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction addLabels(storyItem: object, result: LabelJsonType, dadLabelKey: string = \"\", shareData: ShareData = { preDialog: {} }) {\r\n if (storyItem === null) {\r\n return\r\n }\r\n // for value and key in item\r\n for (const [key, value] of Object.entries(storyItem)) {\r\n // if value is an array\r\n if (value instanceof Array) {\r\n let labels: StepLabelJsonType[] = []\r\n let subLabels: LabelJsonType = {}\r\n let labelName = (dadLabelKey ? dadLabelKey + \"_\" : \"\") + key\r\n getLabel(value, labelName, labels, subLabels, shareData)\r\n for (const [subKey, subValue] of Object.entries(subLabels)) {\r\n result[subKey] = subValue\r\n }\r\n if (labels.length > 0) {\r\n result[labelName] = labels\r\n }\r\n }\r\n }\r\n}\r\n\r\ntype ShareData = {\r\n preDialog: { [label: string]: { text: string } }\r\n}\r\nfunction getLabel(items: any[], labelKey: string, labelSteps: StepLabelJsonType[], subLabels: LabelJsonType, shareData: ShareData, isNewLine: boolean = true) {\r\n let isInEnv = false\r\n let envList: any[] = []\r\n if (shareData.preDialog[labelKey]) {\r\n labelSteps.push({\r\n dialog: shareData.preDialog[labelKey].text\r\n })\r\n delete shareData.preDialog[labelKey]\r\n isNewLine = false\r\n }\r\n items.forEach((v) => {\r\n if (isInEnv) {\r\n envList.push(v)\r\n if (typeof v === \"string\" && v == \"/ev\") {\r\n isInEnv = false\r\n }\r\n }\r\n else if (typeof v === \"string\") {\r\n // Dialog\r\n if (v.startsWith(\"^\")) {\r\n if (!isNewLine && labelSteps.length > 0) {\r\n labelSteps[labelSteps.length - 1].dialog = labelSteps[labelSteps.length - 1].dialog + v.substring(1)\r\n } else {\r\n labelSteps.push({\r\n dialog: v.substring(1)\r\n })\r\n }\r\n isNewLine = false\r\n }\r\n else if (v == \"ev\") {\r\n isInEnv = true\r\n }\r\n else if (v == \"\\n\") {\r\n isNewLine = true\r\n }\r\n else if (v == \"done\") {\r\n labelSteps.push({\r\n end: \"label_end\"\r\n })\r\n isNewLine = false\r\n }\r\n else if (v == \"end\") {\r\n labelSteps.push({\r\n end: \"game_end\"\r\n })\r\n isNewLine = false\r\n }\r\n }\r\n else if (v instanceof Array) {\r\n getLabel(v, labelKey, labelSteps, subLabels, shareData, isNewLine)\r\n }\r\n else if (v && typeof v === \"object\") {\r\n if (\"->\" in v && typeof v[\"->\"] === \"string\" && !v[\"->\"].includes(\".^.^.\")) {\r\n labelSteps.push({\r\n labelToOpen: {\r\n labelId: v[\"->\"],\r\n type: \"call\",\r\n }\r\n })\r\n isNewLine = false\r\n }\r\n else if (\"*\" in v && typeof v[\"*\"] === \"string\" && v[\"*\"].includes(\"c\")) {\r\n envList.push(v)\r\n isNewLine = false\r\n }\r\n // if is choise info\r\n else if (\"s\" in v && v[\"s\"] instanceof Array) {\r\n envList.push(v)\r\n isNewLine = false\r\n }\r\n else {\r\n addLabels(v, subLabels, labelKey, shareData)\r\n }\r\n }\r\n })\r\n if (envList.length > 0) {\r\n let choices: LabelChoiceRes = {}\r\n getLabelChoice(envList, choices)\r\n for (const [key, value] of Object.entries(choices)) {\r\n let newKey = labelKey + \"_\" + key\r\n // if last step is choice\r\n if (labelSteps.length > 0 && \"currentChoiceMenuOptions\" in labelSteps[labelSteps.length - 1]) {\r\n labelSteps[labelSteps.length - 1].currentChoiceMenuOptions?.push({\r\n text: value.text,\r\n label: newKey,\r\n props: {},\r\n type: \"call\"\r\n })\r\n }\r\n else {\r\n labelSteps.push({\r\n currentChoiceMenuOptions: [{\r\n text: value.text,\r\n label: newKey,\r\n props: {},\r\n type: \"call\"\r\n }]\r\n })\r\n }\r\n if (value.preDialog) {\r\n shareData.preDialog[newKey] = {\r\n text: value.preDialog.text\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { LabelJsonType } from \"@drincs/pixi-vn\";\r\nimport { Compiler } from \"inkjs/compiler/Compiler\";\r\nimport InkStoryType from \"../types/InkStoryType\";\r\nimport { getInkLabel } from \"./StoryInfoConverter\";\r\n\r\nexport function convertInkText(text: string): LabelJsonType | undefined {\r\n let json = convertorInkToJson(text);\r\n let obj: InkStoryType\r\n try {\r\n obj = JSON.parse(json);\r\n } catch (e) {\r\n console.error(\"[Pixi'VN Ink] Error parsing ink file\", e)\r\n return\r\n }\r\n\r\n return getInkLabel(obj.root)\r\n}\r\n\r\nfunction convertorInkToJson(test: string): string {\r\n try {\r\n const story = new Compiler(test).Compile();\r\n let json = story.ToJson();\r\n console.log(json);\r\n return json || \"\";\r\n } catch (e) {\r\n console.error(\"[Pixi'VN] Error compiling ink file\", e)\r\n return \"\"\r\n }\r\n}\r\n","import { importPixiVNJson } from \"@drincs/pixi-vn\";\r\nimport { convertInkText } from \"./InkToPixivn\";\r\n\r\nexport function importInkText(text: string) {\r\n let data = convertInkText(text)\r\n if (data) {\r\n {\r\n importPixiVNJson(data)\r\n }\r\n }\r\n}\r\n"]}
@@ -0,0 +1,229 @@
1
+ import { importPixiVNJson } from '@drincs/pixi-vn';
2
+ import { Compiler } from 'inkjs/compiler/Compiler';
3
+
4
+ // src/functions/Importer.ts
5
+
6
+ // src/functions/ChoiceInfoConverter.ts
7
+ function getLabelChoice(items, result) {
8
+ let text = "";
9
+ let label = "";
10
+ let preDialog = "";
11
+ items.forEach((v, index) => {
12
+ if (typeof v === "string") {
13
+ if (v.startsWith("^")) {
14
+ text = v.substring(1);
15
+ }
16
+ } else if (v && typeof v === "object") {
17
+ if ("*" in v && typeof v["*"] && typeof v["*"] === "string" && v["*"].includes("c")) {
18
+ let l = "c" + v["*"].split("c")[1];
19
+ label = l;
20
+ } else if ("s" in v && v["s"] instanceof Array) {
21
+ let t = findChoiceText(v["s"]);
22
+ if (t) {
23
+ text = t;
24
+ preDialog = t;
25
+ }
26
+ }
27
+ }
28
+ if (text && label) {
29
+ if (result[label]) {
30
+ result[label].text = text + result[label].text;
31
+ } else {
32
+ result[label] = { text };
33
+ }
34
+ if (preDialog) {
35
+ result[label].preDialog = { text: preDialog };
36
+ }
37
+ let newListItem = items.slice(index + 1);
38
+ getLabelChoice(newListItem, result);
39
+ return;
40
+ }
41
+ });
42
+ }
43
+ function findChoiceText(items) {
44
+ for (const item of items) {
45
+ if (typeof item === "string") {
46
+ if (item.startsWith("^")) {
47
+ return item.substring(1);
48
+ }
49
+ } else if (item instanceof Array) {
50
+ let res = findChoiceText(item);
51
+ if (res) {
52
+ return res;
53
+ }
54
+ }
55
+ }
56
+ }
57
+
58
+ // src/functions/StoryInfoConverter.ts
59
+ function getInkLabel(story) {
60
+ try {
61
+ let label = {};
62
+ findLabel(story, label);
63
+ return label;
64
+ } catch (e) {
65
+ console.error("[Pixi'VN Ink] Error parsing ink file", e);
66
+ }
67
+ }
68
+ function findLabel(story, labels) {
69
+ for (const storyItem of story) {
70
+ if (storyItem) {
71
+ if (storyItem instanceof Array) {
72
+ findLabel(storyItem, labels);
73
+ } else if (typeof storyItem === "object") {
74
+ addLabels(storyItem, labels);
75
+ }
76
+ }
77
+ }
78
+ }
79
+ function addLabels(storyItem, result, dadLabelKey = "", shareData = { preDialog: {} }) {
80
+ if (storyItem === null) {
81
+ return;
82
+ }
83
+ for (const [key, value] of Object.entries(storyItem)) {
84
+ if (value instanceof Array) {
85
+ let labels = [];
86
+ let subLabels = {};
87
+ let labelName = (dadLabelKey ? dadLabelKey + "_" : "") + key;
88
+ getLabel(value, labelName, labels, subLabels, shareData);
89
+ for (const [subKey, subValue] of Object.entries(subLabels)) {
90
+ result[subKey] = subValue;
91
+ }
92
+ if (labels.length > 0) {
93
+ result[labelName] = labels;
94
+ }
95
+ }
96
+ }
97
+ }
98
+ function getLabel(items, labelKey, labelSteps, subLabels, shareData, isNewLine = true) {
99
+ var _a;
100
+ let isInEnv = false;
101
+ let envList = [];
102
+ if (shareData.preDialog[labelKey]) {
103
+ labelSteps.push({
104
+ dialog: shareData.preDialog[labelKey].text
105
+ });
106
+ delete shareData.preDialog[labelKey];
107
+ isNewLine = false;
108
+ }
109
+ items.forEach((v) => {
110
+ if (isInEnv) {
111
+ envList.push(v);
112
+ if (typeof v === "string" && v == "/ev") {
113
+ isInEnv = false;
114
+ }
115
+ } else if (typeof v === "string") {
116
+ if (v.startsWith("^")) {
117
+ if (!isNewLine && labelSteps.length > 0) {
118
+ labelSteps[labelSteps.length - 1].dialog = labelSteps[labelSteps.length - 1].dialog + v.substring(1);
119
+ } else {
120
+ labelSteps.push({
121
+ dialog: v.substring(1)
122
+ });
123
+ }
124
+ isNewLine = false;
125
+ } else if (v == "ev") {
126
+ isInEnv = true;
127
+ } else if (v == "\n") {
128
+ isNewLine = true;
129
+ } else if (v == "done") {
130
+ labelSteps.push({
131
+ end: "label_end"
132
+ });
133
+ isNewLine = false;
134
+ } else if (v == "end") {
135
+ labelSteps.push({
136
+ end: "game_end"
137
+ });
138
+ isNewLine = false;
139
+ }
140
+ } else if (v instanceof Array) {
141
+ getLabel(v, labelKey, labelSteps, subLabels, shareData, isNewLine);
142
+ } else if (v && typeof v === "object") {
143
+ if ("->" in v && typeof v["->"] === "string" && !v["->"].includes(".^.^.")) {
144
+ labelSteps.push({
145
+ labelToOpen: {
146
+ labelId: v["->"],
147
+ type: "call"
148
+ }
149
+ });
150
+ isNewLine = false;
151
+ } else if ("*" in v && typeof v["*"] === "string" && v["*"].includes("c")) {
152
+ envList.push(v);
153
+ isNewLine = false;
154
+ } else if ("s" in v && v["s"] instanceof Array) {
155
+ envList.push(v);
156
+ isNewLine = false;
157
+ } else {
158
+ addLabels(v, subLabels, labelKey, shareData);
159
+ }
160
+ }
161
+ });
162
+ if (envList.length > 0) {
163
+ let choices = {};
164
+ getLabelChoice(envList, choices);
165
+ for (const [key, value] of Object.entries(choices)) {
166
+ let newKey = labelKey + "_" + key;
167
+ if (labelSteps.length > 0 && "currentChoiceMenuOptions" in labelSteps[labelSteps.length - 1]) {
168
+ (_a = labelSteps[labelSteps.length - 1].currentChoiceMenuOptions) == null ? void 0 : _a.push({
169
+ text: value.text,
170
+ label: newKey,
171
+ props: {},
172
+ type: "call"
173
+ });
174
+ } else {
175
+ labelSteps.push({
176
+ currentChoiceMenuOptions: [{
177
+ text: value.text,
178
+ label: newKey,
179
+ props: {},
180
+ type: "call"
181
+ }]
182
+ });
183
+ }
184
+ if (value.preDialog) {
185
+ shareData.preDialog[newKey] = {
186
+ text: value.preDialog.text
187
+ };
188
+ }
189
+ }
190
+ }
191
+ }
192
+
193
+ // src/functions/InkToPixivn.ts
194
+ function convertInkText(text) {
195
+ let json = convertorInkToJson(text);
196
+ let obj;
197
+ try {
198
+ obj = JSON.parse(json);
199
+ } catch (e) {
200
+ console.error("[Pixi'VN Ink] Error parsing ink file", e);
201
+ return;
202
+ }
203
+ return getInkLabel(obj.root);
204
+ }
205
+ function convertorInkToJson(test) {
206
+ try {
207
+ const story = new Compiler(test).Compile();
208
+ let json = story.ToJson();
209
+ console.log(json);
210
+ return json || "";
211
+ } catch (e) {
212
+ console.error("[Pixi'VN] Error compiling ink file", e);
213
+ return "";
214
+ }
215
+ }
216
+
217
+ // src/functions/Importer.ts
218
+ function importInkText(text) {
219
+ let data = convertInkText(text);
220
+ if (data) {
221
+ {
222
+ importPixiVNJson(data);
223
+ }
224
+ }
225
+ }
226
+
227
+ export { convertInkText, importInkText };
228
+ //# sourceMappingURL=index.mjs.map
229
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/functions/ChoiceInfoConverter.ts","../../src/functions/StoryInfoConverter.ts","../../src/functions/InkToPixivn.ts","../../src/functions/Importer.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import LabelChoiceRes from '../types/LabelChoiceRes';\r\nimport RootParserItemType from '../types/parserItems/RootParserItemType';\r\n\r\nexport function getLabelChoice(items: any[], result: LabelChoiceRes) {\r\n let text: string = \"\"\r\n let label: string = \"\"\r\n let preDialog: string = \"\"\r\n items.forEach((v, index) => {\r\n if (typeof v === \"string\") {\r\n // Dialog\r\n if (v.startsWith(\"^\")) {\r\n text = v.substring(1)\r\n }\r\n }\r\n else if (v && typeof v === \"object\") {\r\n // if is a choice\r\n if (\"*\" in v && typeof v[\"*\"] && typeof v[\"*\"] === \"string\" && v[\"*\"].includes(\"c\")) {\r\n let l = \"c\" + v[\"*\"].split(\"c\")[1]\r\n label = l\r\n }\r\n // if is choise info\r\n else if (\"s\" in v && v[\"s\"] instanceof Array) {\r\n let t = findChoiceText(v[\"s\"])\r\n if (t) {\r\n text = t\r\n preDialog = t\r\n }\r\n }\r\n }\r\n if (text && label) {\r\n if (result[label]) {\r\n result[label].text = text + result[label].text\r\n }\r\n else {\r\n result[label] = { text: text }\r\n }\r\n if (preDialog) {\r\n result[label].preDialog = { text: preDialog }\r\n }\r\n // split text and label\r\n let newListItem = items.slice(index + 1)\r\n getLabelChoice(newListItem, result)\r\n return\r\n }\r\n })\r\n}\r\n\r\nfunction findChoiceText(items: RootParserItemType[]): string | undefined {\r\n for (const item of items) {\r\n if (typeof item === \"string\") {\r\n if (item.startsWith(\"^\")) {\r\n return item.substring(1)\r\n }\r\n }\r\n else if (item instanceof Array) {\r\n let res = findChoiceText(item)\r\n if (res) {\r\n return res\r\n }\r\n }\r\n }\r\n}\r\n","import { LabelJsonType, StepLabelJsonType } from '@drincs/pixi-vn';\r\nimport InkRootType from '../types/InkRootType';\r\nimport LabelChoiceRes from '../types/LabelChoiceRes';\r\nimport RootParserItemType from '../types/parserItems/RootParserItemType';\r\nimport { getLabelChoice } from './ChoiceInfoConverter';\r\n\r\nexport function getInkLabel(story: InkRootType[]): LabelJsonType | undefined {\r\n try {\r\n let label: LabelJsonType = {}\r\n\r\n findLabel(story, label)\r\n\r\n return label;\r\n } catch (e) {\r\n console.error(\"[Pixi'VN Ink] Error parsing ink file\", e)\r\n }\r\n}\r\n\r\nfunction findLabel(story: RootParserItemType[], labels: LabelJsonType) {\r\n for (const storyItem of story) {\r\n if (storyItem) {\r\n if (storyItem instanceof Array) {\r\n findLabel(storyItem, labels)\r\n }\r\n else if (typeof storyItem === \"object\") {\r\n addLabels(storyItem, labels)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction addLabels(storyItem: object, result: LabelJsonType, dadLabelKey: string = \"\", shareData: ShareData = { preDialog: {} }) {\r\n if (storyItem === null) {\r\n return\r\n }\r\n // for value and key in item\r\n for (const [key, value] of Object.entries(storyItem)) {\r\n // if value is an array\r\n if (value instanceof Array) {\r\n let labels: StepLabelJsonType[] = []\r\n let subLabels: LabelJsonType = {}\r\n let labelName = (dadLabelKey ? dadLabelKey + \"_\" : \"\") + key\r\n getLabel(value, labelName, labels, subLabels, shareData)\r\n for (const [subKey, subValue] of Object.entries(subLabels)) {\r\n result[subKey] = subValue\r\n }\r\n if (labels.length > 0) {\r\n result[labelName] = labels\r\n }\r\n }\r\n }\r\n}\r\n\r\ntype ShareData = {\r\n preDialog: { [label: string]: { text: string } }\r\n}\r\nfunction getLabel(items: any[], labelKey: string, labelSteps: StepLabelJsonType[], subLabels: LabelJsonType, shareData: ShareData, isNewLine: boolean = true) {\r\n let isInEnv = false\r\n let envList: any[] = []\r\n if (shareData.preDialog[labelKey]) {\r\n labelSteps.push({\r\n dialog: shareData.preDialog[labelKey].text\r\n })\r\n delete shareData.preDialog[labelKey]\r\n isNewLine = false\r\n }\r\n items.forEach((v) => {\r\n if (isInEnv) {\r\n envList.push(v)\r\n if (typeof v === \"string\" && v == \"/ev\") {\r\n isInEnv = false\r\n }\r\n }\r\n else if (typeof v === \"string\") {\r\n // Dialog\r\n if (v.startsWith(\"^\")) {\r\n if (!isNewLine && labelSteps.length > 0) {\r\n labelSteps[labelSteps.length - 1].dialog = labelSteps[labelSteps.length - 1].dialog + v.substring(1)\r\n } else {\r\n labelSteps.push({\r\n dialog: v.substring(1)\r\n })\r\n }\r\n isNewLine = false\r\n }\r\n else if (v == \"ev\") {\r\n isInEnv = true\r\n }\r\n else if (v == \"\\n\") {\r\n isNewLine = true\r\n }\r\n else if (v == \"done\") {\r\n labelSteps.push({\r\n end: \"label_end\"\r\n })\r\n isNewLine = false\r\n }\r\n else if (v == \"end\") {\r\n labelSteps.push({\r\n end: \"game_end\"\r\n })\r\n isNewLine = false\r\n }\r\n }\r\n else if (v instanceof Array) {\r\n getLabel(v, labelKey, labelSteps, subLabels, shareData, isNewLine)\r\n }\r\n else if (v && typeof v === \"object\") {\r\n if (\"->\" in v && typeof v[\"->\"] === \"string\" && !v[\"->\"].includes(\".^.^.\")) {\r\n labelSteps.push({\r\n labelToOpen: {\r\n labelId: v[\"->\"],\r\n type: \"call\",\r\n }\r\n })\r\n isNewLine = false\r\n }\r\n else if (\"*\" in v && typeof v[\"*\"] === \"string\" && v[\"*\"].includes(\"c\")) {\r\n envList.push(v)\r\n isNewLine = false\r\n }\r\n // if is choise info\r\n else if (\"s\" in v && v[\"s\"] instanceof Array) {\r\n envList.push(v)\r\n isNewLine = false\r\n }\r\n else {\r\n addLabels(v, subLabels, labelKey, shareData)\r\n }\r\n }\r\n })\r\n if (envList.length > 0) {\r\n let choices: LabelChoiceRes = {}\r\n getLabelChoice(envList, choices)\r\n for (const [key, value] of Object.entries(choices)) {\r\n let newKey = labelKey + \"_\" + key\r\n // if last step is choice\r\n if (labelSteps.length > 0 && \"currentChoiceMenuOptions\" in labelSteps[labelSteps.length - 1]) {\r\n labelSteps[labelSteps.length - 1].currentChoiceMenuOptions?.push({\r\n text: value.text,\r\n label: newKey,\r\n props: {},\r\n type: \"call\"\r\n })\r\n }\r\n else {\r\n labelSteps.push({\r\n currentChoiceMenuOptions: [{\r\n text: value.text,\r\n label: newKey,\r\n props: {},\r\n type: \"call\"\r\n }]\r\n })\r\n }\r\n if (value.preDialog) {\r\n shareData.preDialog[newKey] = {\r\n text: value.preDialog.text\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { LabelJsonType } from \"@drincs/pixi-vn\";\r\nimport { Compiler } from \"inkjs/compiler/Compiler\";\r\nimport InkStoryType from \"../types/InkStoryType\";\r\nimport { getInkLabel } from \"./StoryInfoConverter\";\r\n\r\nexport function convertInkText(text: string): LabelJsonType | undefined {\r\n let json = convertorInkToJson(text);\r\n let obj: InkStoryType\r\n try {\r\n obj = JSON.parse(json);\r\n } catch (e) {\r\n console.error(\"[Pixi'VN Ink] Error parsing ink file\", e)\r\n return\r\n }\r\n\r\n return getInkLabel(obj.root)\r\n}\r\n\r\nfunction convertorInkToJson(test: string): string {\r\n try {\r\n const story = new Compiler(test).Compile();\r\n let json = story.ToJson();\r\n console.log(json);\r\n return json || \"\";\r\n } catch (e) {\r\n console.error(\"[Pixi'VN] Error compiling ink file\", e)\r\n return \"\"\r\n }\r\n}\r\n","import { importPixiVNJson } from \"@drincs/pixi-vn\";\r\nimport { convertInkText } from \"./InkToPixivn\";\r\n\r\nexport function importInkText(text: string) {\r\n let data = convertInkText(text)\r\n if (data) {\r\n {\r\n importPixiVNJson(data)\r\n }\r\n }\r\n}\r\n"]}
@@ -0,0 +1,5 @@
1
+ type InkRootType = {
2
+ [labelId: string]: (string | null)[];
3
+ };
4
+
5
+ export type { InkRootType as default };
@@ -0,0 +1,5 @@
1
+ type InkRootType = {
2
+ [labelId: string]: (string | null)[];
3
+ };
4
+
5
+ export type { InkRootType as default };
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=InkRootType.js.map
4
+ //# sourceMappingURL=InkRootType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"InkRootType.js"}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=InkRootType.mjs.map
3
+ //# sourceMappingURL=InkRootType.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"InkRootType.mjs"}
@@ -0,0 +1,9 @@
1
+ import InkRootType from './InkRootType.mjs';
2
+
3
+ type InkStoryType = {
4
+ inkVersion: number;
5
+ listDefs: {};
6
+ root: InkRootType[];
7
+ };
8
+
9
+ export type { InkStoryType as default };
@@ -0,0 +1,9 @@
1
+ import InkRootType from './InkRootType.js';
2
+
3
+ type InkStoryType = {
4
+ inkVersion: number;
5
+ listDefs: {};
6
+ root: InkRootType[];
7
+ };
8
+
9
+ export type { InkStoryType as default };
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=InkStoryType.js.map
4
+ //# sourceMappingURL=InkStoryType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"InkStoryType.js"}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=InkStoryType.mjs.map
3
+ //# sourceMappingURL=InkStoryType.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"InkStoryType.mjs"}
@@ -0,0 +1,10 @@
1
+ type LabelChoiceRes = {
2
+ [label: string]: {
3
+ text: string;
4
+ preDialog?: {
5
+ text: string;
6
+ };
7
+ };
8
+ };
9
+
10
+ export type { LabelChoiceRes as default };
@@ -0,0 +1,10 @@
1
+ type LabelChoiceRes = {
2
+ [label: string]: {
3
+ text: string;
4
+ preDialog?: {
5
+ text: string;
6
+ };
7
+ };
8
+ };
9
+
10
+ export type { LabelChoiceRes as default };
@@ -0,0 +1,4 @@
1
+ 'use strict';
2
+
3
+ //# sourceMappingURL=LabelChoiceRes.js.map
4
+ //# sourceMappingURL=LabelChoiceRes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"LabelChoiceRes.js"}
@@ -0,0 +1,3 @@
1
+
2
+ //# sourceMappingURL=LabelChoiceRes.mjs.map
3
+ //# sourceMappingURL=LabelChoiceRes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"LabelChoiceRes.mjs"}
@@ -0,0 +1,5 @@
1
+ type CallParserItemType = {
2
+ "->": string;
3
+ };
4
+
5
+ export type { CallParserItemType as default };
@@ -0,0 +1,5 @@
1
+ type CallParserItemType = {
2
+ "->": string;
3
+ };
4
+
5
+ export type { CallParserItemType as default };