@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 @@
1
+ {"version":3,"sources":["../../src/functions/ChoiceInfoConverter.ts","../../src/functions/StoryInfoConverter.ts","../../src/functions/InkToPixivn.ts","../../src/functions/Importer.ts"],"names":[],"mappings":";;;;;;AAGO,SAAS,cAAA,CAAe,OAAc,MAAwB,EAAA;AACjE,EAAA,IAAI,IAAe,GAAA,EAAA,CAAA;AACnB,EAAA,IAAI,KAAgB,GAAA,EAAA,CAAA;AACpB,EAAA,IAAI,SAAoB,GAAA,EAAA,CAAA;AACxB,EAAM,KAAA,CAAA,OAAA,CAAQ,CAAC,CAAA,EAAG,KAAU,KAAA;AACxB,IAAI,IAAA,OAAO,MAAM,QAAU,EAAA;AAEvB,MAAI,IAAA,CAAA,CAAE,UAAW,CAAA,GAAG,CAAG,EAAA;AACnB,QAAO,IAAA,GAAA,CAAA,CAAE,UAAU,CAAC,CAAA,CAAA;AAAA,OACxB;AAAA,KAEK,MAAA,IAAA,CAAA,IAAK,OAAO,CAAA,KAAM,QAAU,EAAA;AAEjC,MAAA,IAAI,OAAO,CAAK,IAAA,OAAO,CAAE,CAAA,GAAG,KAAK,OAAO,CAAA,CAAE,GAAG,CAAA,KAAM,YAAY,CAAE,CAAA,GAAG,CAAE,CAAA,QAAA,CAAS,GAAG,CAAG,EAAA;AACjF,QAAI,IAAA,CAAA,GAAI,MAAM,CAAE,CAAA,GAAG,EAAE,KAAM,CAAA,GAAG,EAAE,CAAC,CAAA,CAAA;AACjC,QAAQ,KAAA,GAAA,CAAA,CAAA;AAAA,iBAGH,GAAO,IAAA,CAAA,IAAK,CAAE,CAAA,GAAG,aAAa,KAAO,EAAA;AAC1C,QAAA,IAAI,CAAI,GAAA,cAAA,CAAe,CAAE,CAAA,GAAG,CAAC,CAAA,CAAA;AAC7B,QAAA,IAAI,CAAG,EAAA;AACH,UAAO,IAAA,GAAA,CAAA,CAAA;AACP,UAAY,SAAA,GAAA,CAAA,CAAA;AAAA,SAChB;AAAA,OACJ;AAAA,KACJ;AACA,IAAA,IAAI,QAAQ,KAAO,EAAA;AACf,MAAI,IAAA,MAAA,CAAO,KAAK,CAAG,EAAA;AACf,QAAA,MAAA,CAAO,KAAK,CAAE,CAAA,IAAA,GAAO,IAAO,GAAA,MAAA,CAAO,KAAK,CAAE,CAAA,IAAA,CAAA;AAAA,OAEzC,MAAA;AACD,QAAO,MAAA,CAAA,KAAK,CAAI,GAAA,EAAE,IAAW,EAAA,CAAA;AAAA,OACjC;AACA,MAAA,IAAI,SAAW,EAAA;AACX,QAAA,MAAA,CAAO,KAAK,CAAA,CAAE,SAAY,GAAA,EAAE,MAAM,SAAU,EAAA,CAAA;AAAA,OAChD;AAEA,MAAA,IAAI,WAAc,GAAA,KAAA,CAAM,KAAM,CAAA,KAAA,GAAQ,CAAC,CAAA,CAAA;AACvC,MAAA,cAAA,CAAe,aAAa,MAAM,CAAA,CAAA;AAClC,MAAA,OAAA;AAAA,KACJ;AAAA,GACH,CAAA,CAAA;AACL,CAAA;AAEA,SAAS,eAAe,KAAiD,EAAA;AACrE,EAAA,KAAA,MAAW,QAAQ,KAAO,EAAA;AACtB,IAAI,IAAA,OAAO,SAAS,QAAU,EAAA;AAC1B,MAAI,IAAA,IAAA,CAAK,UAAW,CAAA,GAAG,CAAG,EAAA;AACtB,QAAO,OAAA,IAAA,CAAK,UAAU,CAAC,CAAA,CAAA;AAAA,OAC3B;AAAA,KACJ,MAAA,IACS,gBAAgB,KAAO,EAAA;AAC5B,MAAI,IAAA,GAAA,GAAM,eAAe,IAAI,CAAA,CAAA;AAC7B,MAAA,IAAI,GAAK,EAAA;AACL,QAAO,OAAA,GAAA,CAAA;AAAA,OACX;AAAA,KACJ;AAAA,GACJ;AACJ,CAAA;;;ACvDO,SAAS,YAAY,KAAiD,EAAA;AACzE,EAAI,IAAA;AACA,IAAA,IAAI,QAAuB,EAAC,CAAA;AAE5B,IAAA,SAAA,CAAU,OAAO,KAAK,CAAA,CAAA;AAEtB,IAAO,OAAA,KAAA,CAAA;AAAA,WACF,CAAG,EAAA;AACR,IAAQ,OAAA,CAAA,KAAA,CAAM,wCAAwC,CAAC,CAAA,CAAA;AAAA,GAC3D;AACJ,CAAA;AAEA,SAAS,SAAA,CAAU,OAA6B,MAAuB,EAAA;AACnE,EAAA,KAAA,MAAW,aAAa,KAAO,EAAA;AAC3B,IAAA,IAAI,SAAW,EAAA;AACX,MAAA,IAAI,qBAAqB,KAAO,EAAA;AAC5B,QAAA,SAAA,CAAU,WAAW,MAAM,CAAA,CAAA;AAAA,OAC/B,MAAA,IACS,OAAO,SAAA,KAAc,QAAU,EAAA;AACpC,QAAA,SAAA,CAAU,WAAW,MAAM,CAAA,CAAA;AAAA,OAC/B;AAAA,KACJ;AAAA,GACJ;AACJ,CAAA;AAEA,SAAS,SAAA,CAAU,SAAmB,EAAA,MAAA,EAAuB,WAAsB,GAAA,EAAA,EAAI,YAAuB,EAAE,SAAA,EAAW,EAAC,EAAK,EAAA;AAC7H,EAAA,IAAI,cAAc,IAAM,EAAA;AACpB,IAAA,OAAA;AAAA,GACJ;AAEA,EAAA,KAAA,MAAW,CAAC,GAAK,EAAA,KAAK,KAAK,MAAO,CAAA,OAAA,CAAQ,SAAS,CAAG,EAAA;AAElD,IAAA,IAAI,iBAAiB,KAAO,EAAA;AACxB,MAAA,IAAI,SAA8B,EAAC,CAAA;AACnC,MAAA,IAAI,YAA2B,EAAC,CAAA;AAChC,MAAA,IAAI,SAAa,GAAA,CAAA,WAAA,GAAc,WAAc,GAAA,GAAA,GAAM,EAAM,IAAA,GAAA,CAAA;AACzD,MAAA,QAAA,CAAS,KAAO,EAAA,SAAA,EAAW,MAAQ,EAAA,SAAA,EAAW,SAAS,CAAA,CAAA;AACvD,MAAA,KAAA,MAAW,CAAC,MAAQ,EAAA,QAAQ,KAAK,MAAO,CAAA,OAAA,CAAQ,SAAS,CAAG,EAAA;AACxD,QAAA,MAAA,CAAO,MAAM,CAAI,GAAA,QAAA,CAAA;AAAA,OACrB;AACA,MAAI,IAAA,MAAA,CAAO,SAAS,CAAG,EAAA;AACnB,QAAA,MAAA,CAAO,SAAS,CAAI,GAAA,MAAA,CAAA;AAAA,OACxB;AAAA,KACJ;AAAA,GACJ;AACJ,CAAA;AAKA,SAAS,SAAS,KAAc,EAAA,QAAA,EAAkB,YAAiC,SAA0B,EAAA,SAAA,EAAsB,YAAqB,IAAM,EAAA;AAxD9J,EAAA,IAAA,EAAA,CAAA;AAyDI,EAAA,IAAI,OAAU,GAAA,KAAA,CAAA;AACd,EAAA,IAAI,UAAiB,EAAC,CAAA;AACtB,EAAI,IAAA,SAAA,CAAU,SAAU,CAAA,QAAQ,CAAG,EAAA;AAC/B,IAAA,UAAA,CAAW,IAAK,CAAA;AAAA,MACZ,MAAQ,EAAA,SAAA,CAAU,SAAU,CAAA,QAAQ,CAAE,CAAA,IAAA;AAAA,KACzC,CAAA,CAAA;AACD,IAAO,OAAA,SAAA,CAAU,UAAU,QAAQ,CAAA,CAAA;AACnC,IAAY,SAAA,GAAA,KAAA,CAAA;AAAA,GAChB;AACA,EAAM,KAAA,CAAA,OAAA,CAAQ,CAAC,CAAM,KAAA;AACjB,IAAA,IAAI,OAAS,EAAA;AACT,MAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AACd,MAAA,IAAI,OAAO,CAAA,KAAM,QAAY,IAAA,CAAA,IAAK,KAAO,EAAA;AACrC,QAAU,OAAA,GAAA,KAAA,CAAA;AAAA,OACd;AAAA,KACJ,MAAA,IACS,OAAO,CAAA,KAAM,QAAU,EAAA;AAE5B,MAAI,IAAA,CAAA,CAAE,UAAW,CAAA,GAAG,CAAG,EAAA;AACnB,QAAA,IAAI,CAAC,SAAA,IAAa,UAAW,CAAA,MAAA,GAAS,CAAG,EAAA;AACrC,UAAA,UAAA,CAAW,UAAW,CAAA,MAAA,GAAS,CAAC,CAAA,CAAE,MAAS,GAAA,UAAA,CAAW,UAAW,CAAA,MAAA,GAAS,CAAC,CAAA,CAAE,MAAS,GAAA,CAAA,CAAE,UAAU,CAAC,CAAA,CAAA;AAAA,SAChG,MAAA;AACH,UAAA,UAAA,CAAW,IAAK,CAAA;AAAA,YACZ,MAAA,EAAQ,CAAE,CAAA,SAAA,CAAU,CAAC,CAAA;AAAA,WACxB,CAAA,CAAA;AAAA,SACL;AACA,QAAY,SAAA,GAAA,KAAA,CAAA;AAAA,OAChB,MAAA,IACS,KAAK,IAAM,EAAA;AAChB,QAAU,OAAA,GAAA,IAAA,CAAA;AAAA,OACd,MAAA,IACS,KAAK,IAAM,EAAA;AAChB,QAAY,SAAA,GAAA,IAAA,CAAA;AAAA,OAChB,MAAA,IACS,KAAK,MAAQ,EAAA;AAClB,QAAA,UAAA,CAAW,IAAK,CAAA;AAAA,UACZ,GAAK,EAAA,WAAA;AAAA,SACR,CAAA,CAAA;AACD,QAAY,SAAA,GAAA,KAAA,CAAA;AAAA,OAChB,MAAA,IACS,KAAK,KAAO,EAAA;AACjB,QAAA,UAAA,CAAW,IAAK,CAAA;AAAA,UACZ,GAAK,EAAA,UAAA;AAAA,SACR,CAAA,CAAA;AACD,QAAY,SAAA,GAAA,KAAA,CAAA;AAAA,OAChB;AAAA,KACJ,MAAA,IACS,aAAa,KAAO,EAAA;AACzB,MAAA,QAAA,CAAS,CAAG,EAAA,QAAA,EAAU,UAAY,EAAA,SAAA,EAAW,WAAW,SAAS,CAAA,CAAA;AAAA,KAE5D,MAAA,IAAA,CAAA,IAAK,OAAO,CAAA,KAAM,QAAU,EAAA;AACjC,MAAA,IAAI,IAAQ,IAAA,CAAA,IAAK,OAAO,CAAA,CAAE,IAAI,CAAA,KAAM,QAAY,IAAA,CAAC,CAAE,CAAA,IAAI,CAAE,CAAA,QAAA,CAAS,OAAO,CAAG,EAAA;AACxE,QAAA,UAAA,CAAW,IAAK,CAAA;AAAA,UACZ,WAAa,EAAA;AAAA,YACT,OAAA,EAAS,EAAE,IAAI,CAAA;AAAA,YACf,IAAM,EAAA,MAAA;AAAA,WACV;AAAA,SACH,CAAA,CAAA;AACD,QAAY,SAAA,GAAA,KAAA,CAAA;AAAA,OAEP,MAAA,IAAA,GAAA,IAAO,CAAK,IAAA,OAAO,CAAE,CAAA,GAAG,CAAM,KAAA,QAAA,IAAY,CAAE,CAAA,GAAG,CAAE,CAAA,QAAA,CAAS,GAAG,CAAG,EAAA;AACrE,QAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AACd,QAAY,SAAA,GAAA,KAAA,CAAA;AAAA,iBAGP,GAAO,IAAA,CAAA,IAAK,CAAE,CAAA,GAAG,aAAa,KAAO,EAAA;AAC1C,QAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AACd,QAAY,SAAA,GAAA,KAAA,CAAA;AAAA,OAEX,MAAA;AACD,QAAU,SAAA,CAAA,CAAA,EAAG,SAAW,EAAA,QAAA,EAAU,SAAS,CAAA,CAAA;AAAA,OAC/C;AAAA,KACJ;AAAA,GACH,CAAA,CAAA;AACD,EAAI,IAAA,OAAA,CAAQ,SAAS,CAAG,EAAA;AACpB,IAAA,IAAI,UAA0B,EAAC,CAAA;AAC/B,IAAA,cAAA,CAAe,SAAS,OAAO,CAAA,CAAA;AAC/B,IAAA,KAAA,MAAW,CAAC,GAAK,EAAA,KAAK,KAAK,MAAO,CAAA,OAAA,CAAQ,OAAO,CAAG,EAAA;AAChD,MAAI,IAAA,MAAA,GAAS,WAAW,GAAM,GAAA,GAAA,CAAA;AAE9B,MAAI,IAAA,UAAA,CAAW,SAAS,CAAK,IAAA,0BAAA,IAA8B,WAAW,UAAW,CAAA,MAAA,GAAS,CAAC,CAAG,EAAA;AAC1F,QAAA,CAAA,EAAA,GAAA,UAAA,CAAW,WAAW,MAAS,GAAA,CAAC,CAAE,CAAA,wBAAA,KAAlC,mBAA4D,IAAK,CAAA;AAAA,UAC7D,MAAM,KAAM,CAAA,IAAA;AAAA,UACZ,KAAO,EAAA,MAAA;AAAA,UACP,OAAO,EAAC;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,SACV,CAAA,CAAA;AAAA,OAEC,MAAA;AACD,QAAA,UAAA,CAAW,IAAK,CAAA;AAAA,UACZ,0BAA0B,CAAC;AAAA,YACvB,MAAM,KAAM,CAAA,IAAA;AAAA,YACZ,KAAO,EAAA,MAAA;AAAA,YACP,OAAO,EAAC;AAAA,YACR,IAAM,EAAA,MAAA;AAAA,WACT,CAAA;AAAA,SACJ,CAAA,CAAA;AAAA,OACL;AACA,MAAA,IAAI,MAAM,SAAW,EAAA;AACjB,QAAU,SAAA,CAAA,SAAA,CAAU,MAAM,CAAI,GAAA;AAAA,UAC1B,IAAA,EAAM,MAAM,SAAU,CAAA,IAAA;AAAA,SAC1B,CAAA;AAAA,OACJ;AAAA,KACJ;AAAA,GACJ;AACJ,CAAA;;;AC7JO,SAAS,eAAe,IAAyC,EAAA;AACpE,EAAI,IAAA,IAAA,GAAO,mBAAmB,IAAI,CAAA,CAAA;AAClC,EAAI,IAAA,GAAA,CAAA;AACJ,EAAI,IAAA;AACA,IAAM,GAAA,GAAA,IAAA,CAAK,MAAM,IAAI,CAAA,CAAA;AAAA,WAChB,CAAG,EAAA;AACR,IAAQ,OAAA,CAAA,KAAA,CAAM,wCAAwC,CAAC,CAAA,CAAA;AACvD,IAAA,OAAA;AAAA,GACJ;AAEA,EAAO,OAAA,WAAA,CAAY,IAAI,IAAI,CAAA,CAAA;AAC/B,CAAA;AAEA,SAAS,mBAAmB,IAAsB,EAAA;AAC9C,EAAI,IAAA;AACA,IAAA,MAAM,KAAQ,GAAA,IAAI,QAAS,CAAA,IAAI,EAAE,OAAQ,EAAA,CAAA;AACzC,IAAI,IAAA,IAAA,GAAO,MAAM,MAAO,EAAA,CAAA;AACxB,IAAA,OAAA,CAAQ,IAAI,IAAI,CAAA,CAAA;AAChB,IAAA,OAAO,IAAQ,IAAA,EAAA,CAAA;AAAA,WACV,CAAG,EAAA;AACR,IAAQ,OAAA,CAAA,KAAA,CAAM,sCAAsC,CAAC,CAAA,CAAA;AACrD,IAAO,OAAA,EAAA,CAAA;AAAA,GACX;AACJ,CAAA;;;ACzBO,SAAS,cAAc,IAAc,EAAA;AACxC,EAAI,IAAA,IAAA,GAAO,eAAe,IAAI,CAAA,CAAA;AAC9B,EAAA,IAAI,IAAM,EAAA;AACN,IAAA;AACI,MAAA,gBAAA,CAAiB,IAAI,CAAA,CAAA;AAAA,KACzB;AAAA,GACJ;AACJ","file":"Importer.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
+ import { LabelJsonType } from '@drincs/pixi-vn';
2
+
3
+ declare function convertInkText(text: string): LabelJsonType | undefined;
4
+
5
+ export { convertInkText };
@@ -0,0 +1,5 @@
1
+ import { LabelJsonType } from '@drincs/pixi-vn';
2
+
3
+ declare function convertInkText(text: string): LabelJsonType | undefined;
4
+
5
+ export { convertInkText };
@@ -0,0 +1,220 @@
1
+ 'use strict';
2
+
3
+ var Compiler = require('inkjs/compiler/Compiler');
4
+
5
+ // src/functions/InkToPixivn.ts
6
+
7
+ // src/functions/ChoiceInfoConverter.ts
8
+ function getLabelChoice(items, result) {
9
+ let text = "";
10
+ let label = "";
11
+ let preDialog = "";
12
+ items.forEach((v, index) => {
13
+ if (typeof v === "string") {
14
+ if (v.startsWith("^")) {
15
+ text = v.substring(1);
16
+ }
17
+ } else if (v && typeof v === "object") {
18
+ if ("*" in v && typeof v["*"] && typeof v["*"] === "string" && v["*"].includes("c")) {
19
+ let l = "c" + v["*"].split("c")[1];
20
+ label = l;
21
+ } else if ("s" in v && v["s"] instanceof Array) {
22
+ let t = findChoiceText(v["s"]);
23
+ if (t) {
24
+ text = t;
25
+ preDialog = t;
26
+ }
27
+ }
28
+ }
29
+ if (text && label) {
30
+ if (result[label]) {
31
+ result[label].text = text + result[label].text;
32
+ } else {
33
+ result[label] = { text };
34
+ }
35
+ if (preDialog) {
36
+ result[label].preDialog = { text: preDialog };
37
+ }
38
+ let newListItem = items.slice(index + 1);
39
+ getLabelChoice(newListItem, result);
40
+ return;
41
+ }
42
+ });
43
+ }
44
+ function findChoiceText(items) {
45
+ for (const item of items) {
46
+ if (typeof item === "string") {
47
+ if (item.startsWith("^")) {
48
+ return item.substring(1);
49
+ }
50
+ } else if (item instanceof Array) {
51
+ let res = findChoiceText(item);
52
+ if (res) {
53
+ return res;
54
+ }
55
+ }
56
+ }
57
+ }
58
+
59
+ // src/functions/StoryInfoConverter.ts
60
+ function getInkLabel(story) {
61
+ try {
62
+ let label = {};
63
+ findLabel(story, label);
64
+ return label;
65
+ } catch (e) {
66
+ console.error("[Pixi'VN Ink] Error parsing ink file", e);
67
+ }
68
+ }
69
+ function findLabel(story, labels) {
70
+ for (const storyItem of story) {
71
+ if (storyItem) {
72
+ if (storyItem instanceof Array) {
73
+ findLabel(storyItem, labels);
74
+ } else if (typeof storyItem === "object") {
75
+ addLabels(storyItem, labels);
76
+ }
77
+ }
78
+ }
79
+ }
80
+ function addLabels(storyItem, result, dadLabelKey = "", shareData = { preDialog: {} }) {
81
+ if (storyItem === null) {
82
+ return;
83
+ }
84
+ for (const [key, value] of Object.entries(storyItem)) {
85
+ if (value instanceof Array) {
86
+ let labels = [];
87
+ let subLabels = {};
88
+ let labelName = (dadLabelKey ? dadLabelKey + "_" : "") + key;
89
+ getLabel(value, labelName, labels, subLabels, shareData);
90
+ for (const [subKey, subValue] of Object.entries(subLabels)) {
91
+ result[subKey] = subValue;
92
+ }
93
+ if (labels.length > 0) {
94
+ result[labelName] = labels;
95
+ }
96
+ }
97
+ }
98
+ }
99
+ function getLabel(items, labelKey, labelSteps, subLabels, shareData, isNewLine = true) {
100
+ var _a;
101
+ let isInEnv = false;
102
+ let envList = [];
103
+ if (shareData.preDialog[labelKey]) {
104
+ labelSteps.push({
105
+ dialog: shareData.preDialog[labelKey].text
106
+ });
107
+ delete shareData.preDialog[labelKey];
108
+ isNewLine = false;
109
+ }
110
+ items.forEach((v) => {
111
+ if (isInEnv) {
112
+ envList.push(v);
113
+ if (typeof v === "string" && v == "/ev") {
114
+ isInEnv = false;
115
+ }
116
+ } else if (typeof v === "string") {
117
+ if (v.startsWith("^")) {
118
+ if (!isNewLine && labelSteps.length > 0) {
119
+ labelSteps[labelSteps.length - 1].dialog = labelSteps[labelSteps.length - 1].dialog + v.substring(1);
120
+ } else {
121
+ labelSteps.push({
122
+ dialog: v.substring(1)
123
+ });
124
+ }
125
+ isNewLine = false;
126
+ } else if (v == "ev") {
127
+ isInEnv = true;
128
+ } else if (v == "\n") {
129
+ isNewLine = true;
130
+ } else if (v == "done") {
131
+ labelSteps.push({
132
+ end: "label_end"
133
+ });
134
+ isNewLine = false;
135
+ } else if (v == "end") {
136
+ labelSteps.push({
137
+ end: "game_end"
138
+ });
139
+ isNewLine = false;
140
+ }
141
+ } else if (v instanceof Array) {
142
+ getLabel(v, labelKey, labelSteps, subLabels, shareData, isNewLine);
143
+ } else if (v && typeof v === "object") {
144
+ if ("->" in v && typeof v["->"] === "string" && !v["->"].includes(".^.^.")) {
145
+ labelSteps.push({
146
+ labelToOpen: {
147
+ labelId: v["->"],
148
+ type: "call"
149
+ }
150
+ });
151
+ isNewLine = false;
152
+ } else if ("*" in v && typeof v["*"] === "string" && v["*"].includes("c")) {
153
+ envList.push(v);
154
+ isNewLine = false;
155
+ } else if ("s" in v && v["s"] instanceof Array) {
156
+ envList.push(v);
157
+ isNewLine = false;
158
+ } else {
159
+ addLabels(v, subLabels, labelKey, shareData);
160
+ }
161
+ }
162
+ });
163
+ if (envList.length > 0) {
164
+ let choices = {};
165
+ getLabelChoice(envList, choices);
166
+ for (const [key, value] of Object.entries(choices)) {
167
+ let newKey = labelKey + "_" + key;
168
+ if (labelSteps.length > 0 && "currentChoiceMenuOptions" in labelSteps[labelSteps.length - 1]) {
169
+ (_a = labelSteps[labelSteps.length - 1].currentChoiceMenuOptions) == null ? void 0 : _a.push({
170
+ text: value.text,
171
+ label: newKey,
172
+ props: {},
173
+ type: "call"
174
+ });
175
+ } else {
176
+ labelSteps.push({
177
+ currentChoiceMenuOptions: [{
178
+ text: value.text,
179
+ label: newKey,
180
+ props: {},
181
+ type: "call"
182
+ }]
183
+ });
184
+ }
185
+ if (value.preDialog) {
186
+ shareData.preDialog[newKey] = {
187
+ text: value.preDialog.text
188
+ };
189
+ }
190
+ }
191
+ }
192
+ }
193
+
194
+ // src/functions/InkToPixivn.ts
195
+ function convertInkText(text) {
196
+ let json = convertorInkToJson(text);
197
+ let obj;
198
+ try {
199
+ obj = JSON.parse(json);
200
+ } catch (e) {
201
+ console.error("[Pixi'VN Ink] Error parsing ink file", e);
202
+ return;
203
+ }
204
+ return getInkLabel(obj.root);
205
+ }
206
+ function convertorInkToJson(test) {
207
+ try {
208
+ const story = new Compiler.Compiler(test).Compile();
209
+ let json = story.ToJson();
210
+ console.log(json);
211
+ return json || "";
212
+ } catch (e) {
213
+ console.error("[Pixi'VN] Error compiling ink file", e);
214
+ return "";
215
+ }
216
+ }
217
+
218
+ exports.convertInkText = convertInkText;
219
+ //# sourceMappingURL=InkToPixivn.js.map
220
+ //# sourceMappingURL=InkToPixivn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/functions/ChoiceInfoConverter.ts","../../src/functions/StoryInfoConverter.ts","../../src/functions/InkToPixivn.ts"],"names":["Compiler"],"mappings":"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","file":"InkToPixivn.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"]}
@@ -0,0 +1,218 @@
1
+ import { Compiler } from 'inkjs/compiler/Compiler';
2
+
3
+ // src/functions/InkToPixivn.ts
4
+
5
+ // src/functions/ChoiceInfoConverter.ts
6
+ function getLabelChoice(items, result) {
7
+ let text = "";
8
+ let label = "";
9
+ let preDialog = "";
10
+ items.forEach((v, index) => {
11
+ if (typeof v === "string") {
12
+ if (v.startsWith("^")) {
13
+ text = v.substring(1);
14
+ }
15
+ } else if (v && typeof v === "object") {
16
+ if ("*" in v && typeof v["*"] && typeof v["*"] === "string" && v["*"].includes("c")) {
17
+ let l = "c" + v["*"].split("c")[1];
18
+ label = l;
19
+ } else if ("s" in v && v["s"] instanceof Array) {
20
+ let t = findChoiceText(v["s"]);
21
+ if (t) {
22
+ text = t;
23
+ preDialog = t;
24
+ }
25
+ }
26
+ }
27
+ if (text && label) {
28
+ if (result[label]) {
29
+ result[label].text = text + result[label].text;
30
+ } else {
31
+ result[label] = { text };
32
+ }
33
+ if (preDialog) {
34
+ result[label].preDialog = { text: preDialog };
35
+ }
36
+ let newListItem = items.slice(index + 1);
37
+ getLabelChoice(newListItem, result);
38
+ return;
39
+ }
40
+ });
41
+ }
42
+ function findChoiceText(items) {
43
+ for (const item of items) {
44
+ if (typeof item === "string") {
45
+ if (item.startsWith("^")) {
46
+ return item.substring(1);
47
+ }
48
+ } else if (item instanceof Array) {
49
+ let res = findChoiceText(item);
50
+ if (res) {
51
+ return res;
52
+ }
53
+ }
54
+ }
55
+ }
56
+
57
+ // src/functions/StoryInfoConverter.ts
58
+ function getInkLabel(story) {
59
+ try {
60
+ let label = {};
61
+ findLabel(story, label);
62
+ return label;
63
+ } catch (e) {
64
+ console.error("[Pixi'VN Ink] Error parsing ink file", e);
65
+ }
66
+ }
67
+ function findLabel(story, labels) {
68
+ for (const storyItem of story) {
69
+ if (storyItem) {
70
+ if (storyItem instanceof Array) {
71
+ findLabel(storyItem, labels);
72
+ } else if (typeof storyItem === "object") {
73
+ addLabels(storyItem, labels);
74
+ }
75
+ }
76
+ }
77
+ }
78
+ function addLabels(storyItem, result, dadLabelKey = "", shareData = { preDialog: {} }) {
79
+ if (storyItem === null) {
80
+ return;
81
+ }
82
+ for (const [key, value] of Object.entries(storyItem)) {
83
+ if (value instanceof Array) {
84
+ let labels = [];
85
+ let subLabels = {};
86
+ let labelName = (dadLabelKey ? dadLabelKey + "_" : "") + key;
87
+ getLabel(value, labelName, labels, subLabels, shareData);
88
+ for (const [subKey, subValue] of Object.entries(subLabels)) {
89
+ result[subKey] = subValue;
90
+ }
91
+ if (labels.length > 0) {
92
+ result[labelName] = labels;
93
+ }
94
+ }
95
+ }
96
+ }
97
+ function getLabel(items, labelKey, labelSteps, subLabels, shareData, isNewLine = true) {
98
+ var _a;
99
+ let isInEnv = false;
100
+ let envList = [];
101
+ if (shareData.preDialog[labelKey]) {
102
+ labelSteps.push({
103
+ dialog: shareData.preDialog[labelKey].text
104
+ });
105
+ delete shareData.preDialog[labelKey];
106
+ isNewLine = false;
107
+ }
108
+ items.forEach((v) => {
109
+ if (isInEnv) {
110
+ envList.push(v);
111
+ if (typeof v === "string" && v == "/ev") {
112
+ isInEnv = false;
113
+ }
114
+ } else if (typeof v === "string") {
115
+ if (v.startsWith("^")) {
116
+ if (!isNewLine && labelSteps.length > 0) {
117
+ labelSteps[labelSteps.length - 1].dialog = labelSteps[labelSteps.length - 1].dialog + v.substring(1);
118
+ } else {
119
+ labelSteps.push({
120
+ dialog: v.substring(1)
121
+ });
122
+ }
123
+ isNewLine = false;
124
+ } else if (v == "ev") {
125
+ isInEnv = true;
126
+ } else if (v == "\n") {
127
+ isNewLine = true;
128
+ } else if (v == "done") {
129
+ labelSteps.push({
130
+ end: "label_end"
131
+ });
132
+ isNewLine = false;
133
+ } else if (v == "end") {
134
+ labelSteps.push({
135
+ end: "game_end"
136
+ });
137
+ isNewLine = false;
138
+ }
139
+ } else if (v instanceof Array) {
140
+ getLabel(v, labelKey, labelSteps, subLabels, shareData, isNewLine);
141
+ } else if (v && typeof v === "object") {
142
+ if ("->" in v && typeof v["->"] === "string" && !v["->"].includes(".^.^.")) {
143
+ labelSteps.push({
144
+ labelToOpen: {
145
+ labelId: v["->"],
146
+ type: "call"
147
+ }
148
+ });
149
+ isNewLine = false;
150
+ } else if ("*" in v && typeof v["*"] === "string" && v["*"].includes("c")) {
151
+ envList.push(v);
152
+ isNewLine = false;
153
+ } else if ("s" in v && v["s"] instanceof Array) {
154
+ envList.push(v);
155
+ isNewLine = false;
156
+ } else {
157
+ addLabels(v, subLabels, labelKey, shareData);
158
+ }
159
+ }
160
+ });
161
+ if (envList.length > 0) {
162
+ let choices = {};
163
+ getLabelChoice(envList, choices);
164
+ for (const [key, value] of Object.entries(choices)) {
165
+ let newKey = labelKey + "_" + key;
166
+ if (labelSteps.length > 0 && "currentChoiceMenuOptions" in labelSteps[labelSteps.length - 1]) {
167
+ (_a = labelSteps[labelSteps.length - 1].currentChoiceMenuOptions) == null ? void 0 : _a.push({
168
+ text: value.text,
169
+ label: newKey,
170
+ props: {},
171
+ type: "call"
172
+ });
173
+ } else {
174
+ labelSteps.push({
175
+ currentChoiceMenuOptions: [{
176
+ text: value.text,
177
+ label: newKey,
178
+ props: {},
179
+ type: "call"
180
+ }]
181
+ });
182
+ }
183
+ if (value.preDialog) {
184
+ shareData.preDialog[newKey] = {
185
+ text: value.preDialog.text
186
+ };
187
+ }
188
+ }
189
+ }
190
+ }
191
+
192
+ // src/functions/InkToPixivn.ts
193
+ function convertInkText(text) {
194
+ let json = convertorInkToJson(text);
195
+ let obj;
196
+ try {
197
+ obj = JSON.parse(json);
198
+ } catch (e) {
199
+ console.error("[Pixi'VN Ink] Error parsing ink file", e);
200
+ return;
201
+ }
202
+ return getInkLabel(obj.root);
203
+ }
204
+ function convertorInkToJson(test) {
205
+ try {
206
+ const story = new Compiler(test).Compile();
207
+ let json = story.ToJson();
208
+ console.log(json);
209
+ return json || "";
210
+ } catch (e) {
211
+ console.error("[Pixi'VN] Error compiling ink file", e);
212
+ return "";
213
+ }
214
+ }
215
+
216
+ export { convertInkText };
217
+ //# sourceMappingURL=InkToPixivn.mjs.map
218
+ //# sourceMappingURL=InkToPixivn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/functions/ChoiceInfoConverter.ts","../../src/functions/StoryInfoConverter.ts","../../src/functions/InkToPixivn.ts"],"names":[],"mappings":"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","file":"InkToPixivn.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"]}
@@ -0,0 +1,6 @@
1
+ import { LabelJsonType } from '@drincs/pixi-vn';
2
+ import InkRootType from '../types/InkRootType.mjs';
3
+
4
+ declare function getInkLabel(story: InkRootType[]): LabelJsonType | undefined;
5
+
6
+ export { getInkLabel };
@@ -0,0 +1,6 @@
1
+ import { LabelJsonType } from '@drincs/pixi-vn';
2
+ import InkRootType from '../types/InkRootType.js';
3
+
4
+ declare function getInkLabel(story: InkRootType[]): LabelJsonType | undefined;
5
+
6
+ export { getInkLabel };