@bscotch/gcdata 0.20.1 → 0.21.1

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 (108) hide show
  1. package/dist/cl2.character.pointers.d.ts +3 -0
  2. package/dist/cl2.character.pointers.d.ts.map +1 -0
  3. package/dist/cl2.character.pointers.js +2 -0
  4. package/dist/cl2.character.pointers.js.map +1 -0
  5. package/dist/cl2.chat.pointers.d.ts +3 -0
  6. package/dist/cl2.chat.pointers.d.ts.map +1 -0
  7. package/dist/cl2.chat.pointers.js +2 -0
  8. package/dist/cl2.chat.pointers.js.map +1 -0
  9. package/dist/cl2.comfort.d.ts +3 -3
  10. package/dist/cl2.comfort.d.ts.map +1 -1
  11. package/dist/cl2.comfort.js +3 -3
  12. package/dist/cl2.comfort.js.map +1 -1
  13. package/dist/cl2.comfort.parse.d.ts +4 -4
  14. package/dist/cl2.comfort.parse.d.ts.map +1 -1
  15. package/dist/cl2.comfort.parse.js +32 -180
  16. package/dist/cl2.comfort.parse.js.map +1 -1
  17. package/dist/cl2.comfort.pointers.d.ts +2 -2
  18. package/dist/cl2.comfort.pointers.d.ts.map +1 -1
  19. package/dist/cl2.comfort.stringify.d.ts +2 -2
  20. package/dist/cl2.comfort.stringify.d.ts.map +1 -1
  21. package/dist/cl2.comfort.stringify.js +5 -3
  22. package/dist/cl2.comfort.stringify.js.map +1 -1
  23. package/dist/cl2.comfort.types.d.ts +6 -28
  24. package/dist/cl2.comfort.types.d.ts.map +1 -1
  25. package/dist/cl2.comfort.types.js +3 -67
  26. package/dist/cl2.comfort.types.js.map +1 -1
  27. package/dist/cl2.quest.d.ts +1 -1
  28. package/dist/cl2.quest.d.ts.map +1 -1
  29. package/dist/cl2.quest.js +1 -1
  30. package/dist/cl2.quest.js.map +1 -1
  31. package/dist/cl2.quest.parse.d.ts +1 -1
  32. package/dist/cl2.quest.parse.d.ts.map +1 -1
  33. package/dist/cl2.quest.parse.js +41 -201
  34. package/dist/cl2.quest.parse.js.map +1 -1
  35. package/dist/cl2.quest.types.d.ts +15 -25
  36. package/dist/cl2.quest.types.d.ts.map +1 -1
  37. package/dist/cl2.quest.types.js +1 -2
  38. package/dist/cl2.quest.types.js.map +1 -1
  39. package/dist/cl2.quest.utils.d.ts +0 -2
  40. package/dist/cl2.quest.utils.d.ts.map +1 -1
  41. package/dist/cl2.quest.utils.js +0 -14
  42. package/dist/cl2.quest.utils.js.map +1 -1
  43. package/dist/cl2.shared.parse.d.ts +38 -0
  44. package/dist/cl2.shared.parse.d.ts.map +1 -0
  45. package/dist/cl2.shared.parse.js +223 -0
  46. package/dist/cl2.shared.parse.js.map +1 -0
  47. package/dist/cl2.shared.types.d.ts +52 -11
  48. package/dist/cl2.shared.types.d.ts.map +1 -1
  49. package/dist/cl2.shared.types.js +25 -1
  50. package/dist/cl2.shared.types.js.map +1 -1
  51. package/dist/cl2.storyline.d.ts +1 -1
  52. package/dist/cl2.storyline.d.ts.map +1 -1
  53. package/dist/cl2.storyline.js +1 -1
  54. package/dist/cl2.storyline.js.map +1 -1
  55. package/dist/cl2.storyline.parse.d.ts.map +1 -1
  56. package/dist/cl2.storyline.parse.js +18 -177
  57. package/dist/cl2.storyline.parse.js.map +1 -1
  58. package/dist/cl2.storyline.stringify.d.ts +1 -1
  59. package/dist/cl2.storyline.stringify.d.ts.map +1 -1
  60. package/dist/cl2.storyline.types.d.ts +5 -24
  61. package/dist/cl2.storyline.types.d.ts.map +1 -1
  62. package/dist/cl2.storyline.types.js +1 -6
  63. package/dist/cl2.storyline.types.js.map +1 -1
  64. package/dist/cl2.types.auto.d.ts +10635 -10434
  65. package/dist/cl2.types.auto.d.ts.map +1 -1
  66. package/dist/index.d.ts +3 -1
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +3 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/types.editor.d.ts +10 -0
  71. package/dist/types.editor.d.ts.map +1 -1
  72. package/dist/util.d.ts +2 -2
  73. package/dist/util.d.ts.map +1 -1
  74. package/dist/util.js +3 -0
  75. package/dist/util.js.map +1 -1
  76. package/package.json +1 -1
  77. package/dist/cl2.storyline.utils.d.ts +0 -1
  78. package/dist/cl2.storyline.utils.d.ts.map +0 -1
  79. package/dist/cl2.storyline.utils.js +0 -2
  80. package/dist/cl2.storyline.utils.js.map +0 -1
  81. package/dist/cl2.types.editor.d.ts +0 -33
  82. package/dist/cl2.types.editor.d.ts.map +0 -1
  83. package/dist/cl2.types.editor.js +0 -2
  84. package/dist/cl2.types.editor.js.map +0 -1
  85. package/dist/cl3.storyline.d.ts +0 -4
  86. package/dist/cl3.storyline.d.ts.map +0 -1
  87. package/dist/cl3.storyline.js +0 -4
  88. package/dist/cl3.storyline.js.map +0 -1
  89. package/dist/cl3.storyline.parse.d.ts +0 -7
  90. package/dist/cl3.storyline.parse.d.ts.map +0 -1
  91. package/dist/cl3.storyline.parse.js +0 -257
  92. package/dist/cl3.storyline.parse.js.map +0 -1
  93. package/dist/cl3.storyline.pointers.d.ts +0 -3
  94. package/dist/cl3.storyline.pointers.d.ts.map +0 -1
  95. package/dist/cl3.storyline.pointers.js +0 -2
  96. package/dist/cl3.storyline.pointers.js.map +0 -1
  97. package/dist/cl3.storyline.stringify.d.ts +0 -4
  98. package/dist/cl3.storyline.stringify.d.ts.map +0 -1
  99. package/dist/cl3.storyline.stringify.js +0 -23
  100. package/dist/cl3.storyline.stringify.js.map +0 -1
  101. package/dist/cl3.storyline.types.d.ts +0 -36
  102. package/dist/cl3.storyline.types.d.ts.map +0 -1
  103. package/dist/cl3.storyline.types.js +0 -87
  104. package/dist/cl3.storyline.types.js.map +0 -1
  105. package/dist/dict.d.ts +0 -3
  106. package/dist/dict.d.ts.map +0 -1
  107. package/dist/dict.js +0 -49777
  108. package/dist/dict.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ export type CharacterMoteDataPointer = `data/${CharacterMotePointer}`;
2
+ export type CharacterMotePointer = `` | `back_horn` | `background_info/brief` | `background_info/notes/${string}/element` | `background_info/notes/${string}/order` | `background_info/notes/${string}` | `background_info/notes` | `background_info/personality` | `background_info/pronouns` | `background_info` | `editor_excluded` | `editor_group` | `face` | `fallback_actors/${string}/element` | `fallback_actors/${string}/order` | `fallback_actors/${string}` | `fallback_actors` | `front_horn` | `head_scale` | `idle_text/${string}/element/name` | `idle_text/${string}/element/phrase_groups/${string}/element/name` | `idle_text/${string}/element/phrase_groups/${string}/element/phrases/${string}/element/emoji` | `idle_text/${string}/element/phrase_groups/${string}/element/phrases/${string}/element/text/skip` | `idle_text/${string}/element/phrase_groups/${string}/element/phrases/${string}/element/text/text` | `idle_text/${string}/element/phrase_groups/${string}/element/phrases/${string}/element/text` | `idle_text/${string}/element/phrase_groups/${string}/element/phrases/${string}/element` | `idle_text/${string}/element/phrase_groups/${string}/element/phrases/${string}/order` | `idle_text/${string}/element/phrase_groups/${string}/element/phrases/${string}` | `idle_text/${string}/element/phrase_groups/${string}/element/phrases` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/area` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/artisan` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/boss` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/comfort_status` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/comfort` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/comparisons/${string}/element/comparison` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/comparisons/${string}/element/value0` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/comparisons/${string}/element/value1` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/comparisons/${string}/element` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/comparisons/${string}/order` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/comparisons/${string}` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/comparisons` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/exclusive` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/following` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/group_requirements/${string}/recursion(cl2_quest_requirement)` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/group_requirements` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/infusion_status` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/infusion` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/insight_status` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/insight` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/invert` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/item_id` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/item` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/items_owned/${string}/element/key` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/items_owned/${string}/element/value` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/items_owned/${string}/element` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/items_owned/${string}/order` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/items_owned/${string}` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/items_owned` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/pet` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/quest_status` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/quest` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/require_all` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/stage/comparison` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/stage/stage` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/stage` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/style` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/teleporter_active` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/teleporter_area` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element/time` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/element` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}/order` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements/${string}` | `idle_text/${string}/element/phrase_groups/${string}/element/requirements` | `idle_text/${string}/element/phrase_groups/${string}/element` | `idle_text/${string}/element/phrase_groups/${string}/order` | `idle_text/${string}/element/phrase_groups/${string}` | `idle_text/${string}/element/phrase_groups` | `idle_text/${string}/element/requirements/${string}/element/area` | `idle_text/${string}/element/requirements/${string}/element/artisan` | `idle_text/${string}/element/requirements/${string}/element/boss` | `idle_text/${string}/element/requirements/${string}/element/comfort_status` | `idle_text/${string}/element/requirements/${string}/element/comfort` | `idle_text/${string}/element/requirements/${string}/element/comparisons/${string}/element/comparison` | `idle_text/${string}/element/requirements/${string}/element/comparisons/${string}/element/value0` | `idle_text/${string}/element/requirements/${string}/element/comparisons/${string}/element/value1` | `idle_text/${string}/element/requirements/${string}/element/comparisons/${string}/element` | `idle_text/${string}/element/requirements/${string}/element/comparisons/${string}/order` | `idle_text/${string}/element/requirements/${string}/element/comparisons/${string}` | `idle_text/${string}/element/requirements/${string}/element/comparisons` | `idle_text/${string}/element/requirements/${string}/element/distance` | `idle_text/${string}/element/requirements/${string}/element/exclusive` | `idle_text/${string}/element/requirements/${string}/element/following` | `idle_text/${string}/element/requirements/${string}/element/group_requirements/${string}/recursion(cl2_quest_moment_requirement)` | `idle_text/${string}/element/requirements/${string}/element/group_requirements` | `idle_text/${string}/element/requirements/${string}/element/infusion_status` | `idle_text/${string}/element/requirements/${string}/element/infusion` | `idle_text/${string}/element/requirements/${string}/element/insight_status` | `idle_text/${string}/element/requirements/${string}/element/insight` | `idle_text/${string}/element/requirements/${string}/element/invert` | `idle_text/${string}/element/requirements/${string}/element/item_id` | `idle_text/${string}/element/requirements/${string}/element/item_ids/${string}/element` | `idle_text/${string}/element/requirements/${string}/element/item_ids/${string}/order` | `idle_text/${string}/element/requirements/${string}/element/item_ids/${string}` | `idle_text/${string}/element/requirements/${string}/element/item_ids` | `idle_text/${string}/element/requirements/${string}/element/item` | `idle_text/${string}/element/requirements/${string}/element/items_owned/${string}/element/key` | `idle_text/${string}/element/requirements/${string}/element/items_owned/${string}/element/value` | `idle_text/${string}/element/requirements/${string}/element/items_owned/${string}/element` | `idle_text/${string}/element/requirements/${string}/element/items_owned/${string}/order` | `idle_text/${string}/element/requirements/${string}/element/items_owned/${string}` | `idle_text/${string}/element/requirements/${string}/element/items_owned` | `idle_text/${string}/element/requirements/${string}/element/pet` | `idle_text/${string}/element/requirements/${string}/element/quest_status` | `idle_text/${string}/element/requirements/${string}/element/quest` | `idle_text/${string}/element/requirements/${string}/element/require_all` | `idle_text/${string}/element/requirements/${string}/element/same_room` | `idle_text/${string}/element/requirements/${string}/element/stage/comparison` | `idle_text/${string}/element/requirements/${string}/element/stage/stage` | `idle_text/${string}/element/requirements/${string}/element/stage` | `idle_text/${string}/element/requirements/${string}/element/style` | `idle_text/${string}/element/requirements/${string}/element/teleporter_active` | `idle_text/${string}/element/requirements/${string}/element/teleporter_area` | `idle_text/${string}/element/requirements/${string}/element/time` | `idle_text/${string}/element/requirements/${string}/element` | `idle_text/${string}/element/requirements/${string}/order` | `idle_text/${string}/element/requirements/${string}` | `idle_text/${string}/element/requirements` | `idle_text/${string}/element` | `idle_text/${string}/order` | `idle_text/${string}` | `idle_text` | `name/description` | `name/skip` | `name/text` | `name_color/b` | `name_color/g` | `name_color/r` | `name_color` | `name` | `scale` | `species` | `speech_sounds/${string}/element` | `speech_sounds/${string}/order` | `speech_sounds/${string}` | `speech_sounds` | `vocal_pitch` | `wip/notes/${string}/element/author` | `wip/notes/${string}/element/text` | `wip/notes/${string}/element/timestamp` | `wip/notes/${string}/element` | `wip/notes/${string}/order` | `wip/notes/${string}` | `wip/notes` | `wip/staging` | `wip`;
3
+ //# sourceMappingURL=cl2.character.pointers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cl2.character.pointers.d.ts","sourceRoot":"","sources":["../src/cl2.character.pointers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG,QAAQ,oBAAoB,EAAE,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,EAAE,GACjC,WAAW,GACX,uBAAuB,GACvB,yBAAyB,MAAM,UAAU,GACzC,yBAAyB,MAAM,QAAQ,GACvC,yBAAyB,MAAM,EAAE,GACjC,uBAAuB,GACvB,6BAA6B,GAC7B,0BAA0B,GAC1B,iBAAiB,GACjB,iBAAiB,GACjB,cAAc,GACd,MAAM,GACN,mBAAmB,MAAM,UAAU,GACnC,mBAAmB,MAAM,QAAQ,GACjC,mBAAmB,MAAM,EAAE,GAC3B,iBAAiB,GACjB,YAAY,GACZ,YAAY,GACZ,aAAa,MAAM,eAAe,GAClC,aAAa,MAAM,0BAA0B,MAAM,eAAe,GAClE,aAAa,MAAM,0BAA0B,MAAM,oBAAoB,MAAM,gBAAgB,GAC7F,aAAa,MAAM,0BAA0B,MAAM,oBAAoB,MAAM,oBAAoB,GACjG,aAAa,MAAM,0BAA0B,MAAM,oBAAoB,MAAM,oBAAoB,GACjG,aAAa,MAAM,0BAA0B,MAAM,oBAAoB,MAAM,eAAe,GAC5F,aAAa,MAAM,0BAA0B,MAAM,oBAAoB,MAAM,UAAU,GACvF,aAAa,MAAM,0BAA0B,MAAM,oBAAoB,MAAM,QAAQ,GACrF,aAAa,MAAM,0BAA0B,MAAM,oBAAoB,MAAM,EAAE,GAC/E,aAAa,MAAM,0BAA0B,MAAM,kBAAkB,GACrE,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,eAAe,GACjG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,kBAAkB,GACpG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,eAAe,GACjG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,yBAAyB,GAC3G,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,kBAAkB,GACpG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,qBAAqB,GACrI,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,iBAAiB,GACjI,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,iBAAiB,GACjI,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,UAAU,GAC1H,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,QAAQ,GACxH,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,EAAE,GAClH,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,sBAAsB,GACxG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,oBAAoB,GACtG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,oBAAoB,GACtG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,+BAA+B,MAAM,mCAAmC,GAC1J,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,6BAA6B,GAC/G,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,0BAA0B,GAC5G,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,mBAAmB,GACrG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,yBAAyB,GAC3G,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,kBAAkB,GACpG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,iBAAiB,GACnG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,kBAAkB,GACpG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,eAAe,GACjG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,cAAc,GAC9H,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,gBAAgB,GAChI,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,UAAU,GAC1H,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,QAAQ,GACxH,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,EAAE,GAClH,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,sBAAsB,GACxG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,cAAc,GAChG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,uBAAuB,GACzG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,gBAAgB,GAClG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,sBAAsB,GACxG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,2BAA2B,GAC7G,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,sBAAsB,GACxG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,gBAAgB,GAClG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,gBAAgB,GAClG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,4BAA4B,GAC9G,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,0BAA0B,GAC5G,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,eAAe,GACjG,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,UAAU,GAC5F,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,QAAQ,GAC1F,aAAa,MAAM,0BAA0B,MAAM,yBAAyB,MAAM,EAAE,GACpF,aAAa,MAAM,0BAA0B,MAAM,uBAAuB,GAC1E,aAAa,MAAM,0BAA0B,MAAM,UAAU,GAC7D,aAAa,MAAM,0BAA0B,MAAM,QAAQ,GAC3D,aAAa,MAAM,0BAA0B,MAAM,EAAE,GACrD,aAAa,MAAM,wBAAwB,GAC3C,aAAa,MAAM,yBAAyB,MAAM,eAAe,GACjE,aAAa,MAAM,yBAAyB,MAAM,kBAAkB,GACpE,aAAa,MAAM,yBAAyB,MAAM,eAAe,GACjE,aAAa,MAAM,yBAAyB,MAAM,yBAAyB,GAC3E,aAAa,MAAM,yBAAyB,MAAM,kBAAkB,GACpE,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,qBAAqB,GACrG,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,iBAAiB,GACjG,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,iBAAiB,GACjG,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,UAAU,GAC1F,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,QAAQ,GACxF,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,EAAE,GAClF,aAAa,MAAM,yBAAyB,MAAM,sBAAsB,GACxE,aAAa,MAAM,yBAAyB,MAAM,mBAAmB,GACrE,aAAa,MAAM,yBAAyB,MAAM,oBAAoB,GACtE,aAAa,MAAM,yBAAyB,MAAM,oBAAoB,GACtE,aAAa,MAAM,yBAAyB,MAAM,+BAA+B,MAAM,0CAA0C,GACjI,aAAa,MAAM,yBAAyB,MAAM,6BAA6B,GAC/E,aAAa,MAAM,yBAAyB,MAAM,0BAA0B,GAC5E,aAAa,MAAM,yBAAyB,MAAM,mBAAmB,GACrE,aAAa,MAAM,yBAAyB,MAAM,yBAAyB,GAC3E,aAAa,MAAM,yBAAyB,MAAM,kBAAkB,GACpE,aAAa,MAAM,yBAAyB,MAAM,iBAAiB,GACnE,aAAa,MAAM,yBAAyB,MAAM,kBAAkB,GACpE,aAAa,MAAM,yBAAyB,MAAM,qBAAqB,MAAM,UAAU,GACvF,aAAa,MAAM,yBAAyB,MAAM,qBAAqB,MAAM,QAAQ,GACrF,aAAa,MAAM,yBAAyB,MAAM,qBAAqB,MAAM,EAAE,GAC/E,aAAa,MAAM,yBAAyB,MAAM,mBAAmB,GACrE,aAAa,MAAM,yBAAyB,MAAM,eAAe,GACjE,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,cAAc,GAC9F,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,gBAAgB,GAChG,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,UAAU,GAC1F,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,QAAQ,GACxF,aAAa,MAAM,yBAAyB,MAAM,wBAAwB,MAAM,EAAE,GAClF,aAAa,MAAM,yBAAyB,MAAM,sBAAsB,GACxE,aAAa,MAAM,yBAAyB,MAAM,cAAc,GAChE,aAAa,MAAM,yBAAyB,MAAM,uBAAuB,GACzE,aAAa,MAAM,yBAAyB,MAAM,gBAAgB,GAClE,aAAa,MAAM,yBAAyB,MAAM,sBAAsB,GACxE,aAAa,MAAM,yBAAyB,MAAM,oBAAoB,GACtE,aAAa,MAAM,yBAAyB,MAAM,2BAA2B,GAC7E,aAAa,MAAM,yBAAyB,MAAM,sBAAsB,GACxE,aAAa,MAAM,yBAAyB,MAAM,gBAAgB,GAClE,aAAa,MAAM,yBAAyB,MAAM,gBAAgB,GAClE,aAAa,MAAM,yBAAyB,MAAM,4BAA4B,GAC9E,aAAa,MAAM,yBAAyB,MAAM,0BAA0B,GAC5E,aAAa,MAAM,yBAAyB,MAAM,eAAe,GACjE,aAAa,MAAM,yBAAyB,MAAM,UAAU,GAC5D,aAAa,MAAM,yBAAyB,MAAM,QAAQ,GAC1D,aAAa,MAAM,yBAAyB,MAAM,EAAE,GACpD,aAAa,MAAM,uBAAuB,GAC1C,aAAa,MAAM,UAAU,GAC7B,aAAa,MAAM,QAAQ,GAC3B,aAAa,MAAM,EAAE,GACrB,WAAW,GACX,kBAAkB,GAClB,WAAW,GACX,WAAW,GACX,cAAc,GACd,cAAc,GACd,cAAc,GACd,YAAY,GACZ,MAAM,GACN,OAAO,GACP,SAAS,GACT,iBAAiB,MAAM,UAAU,GACjC,iBAAiB,MAAM,QAAQ,GAC/B,iBAAiB,MAAM,EAAE,GACzB,eAAe,GACf,aAAa,GACb,aAAa,MAAM,iBAAiB,GACpC,aAAa,MAAM,eAAe,GAClC,aAAa,MAAM,oBAAoB,GACvC,aAAa,MAAM,UAAU,GAC7B,aAAa,MAAM,QAAQ,GAC3B,aAAa,MAAM,EAAE,GACrB,WAAW,GACX,aAAa,GACb,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cl2.character.pointers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cl2.character.pointers.js","sourceRoot":"","sources":["../src/cl2.character.pointers.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export type ChatMoteDataPointer = `data/${ChatMotePointer}`;
2
+ export type ChatMotePointer = `` | `moments/${string}/element/${string}/element/emoji` | `moments/${string}/element/${string}/element/speaker` | `moments/${string}/element/${string}/element/text/skip` | `moments/${string}/element/${string}/element/text/text` | `moments/${string}/element/${string}/element/text` | `moments/${string}/element/${string}/element` | `moments/${string}/element/${string}/order` | `moments/${string}/element/${string}` | `moments/${string}/element` | `moments/${string}/order` | `moments/${string}` | `moments` | `name` | `wip/notes/${string}/element/author` | `wip/notes/${string}/element/text` | `wip/notes/${string}/element/timestamp` | `wip/notes/${string}/element` | `wip/notes/${string}/order` | `wip/notes/${string}` | `wip/notes` | `wip/staging` | `wip`;
3
+ //# sourceMappingURL=cl2.chat.pointers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cl2.chat.pointers.d.ts","sourceRoot":"","sources":["../src/cl2.chat.pointers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,eAAe,EAAE,CAAC;AAC5D,MAAM,MAAM,eAAe,GAAG,EAAE,GAC5B,WAAW,MAAM,YAAY,MAAM,gBAAgB,GACnD,WAAW,MAAM,YAAY,MAAM,kBAAkB,GACrD,WAAW,MAAM,YAAY,MAAM,oBAAoB,GACvD,WAAW,MAAM,YAAY,MAAM,oBAAoB,GACvD,WAAW,MAAM,YAAY,MAAM,eAAe,GAClD,WAAW,MAAM,YAAY,MAAM,UAAU,GAC7C,WAAW,MAAM,YAAY,MAAM,QAAQ,GAC3C,WAAW,MAAM,YAAY,MAAM,EAAE,GACrC,WAAW,MAAM,UAAU,GAC3B,WAAW,MAAM,QAAQ,GACzB,WAAW,MAAM,EAAE,GACnB,SAAS,GACT,MAAM,GACN,aAAa,MAAM,iBAAiB,GACpC,aAAa,MAAM,eAAe,GAClC,aAAa,MAAM,oBAAoB,GACvC,aAAa,MAAM,UAAU,GAC7B,aAAa,MAAM,QAAQ,GAC3B,aAAa,MAAM,EAAE,GACrB,WAAW,GACX,aAAa,GACb,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cl2.chat.pointers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cl2.chat.pointers.js","sourceRoot":"","sources":["../src/cl2.chat.pointers.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
- export { parseStringifiedStoryline, updateChangesFromParsedStoryline, } from './cl2.comfort.parse.js';
2
- export { stringifyStoryline } from './cl2.comfort.stringify.js';
3
- export { isComfortMote as isStorylineMote, listComforts as listStorylines, comfortSchemaId as storylineSchemaId, type ComfortData as StorylineData, type ComfortMote as StorylineMote, type StorylineUpdateResult, } from './cl2.comfort.types.js';
1
+ export { parseStringifiedComfort, updateChangesFromParsedComfort, } from './cl2.comfort.parse.js';
2
+ export { stringifyComfort } from './cl2.comfort.stringify.js';
3
+ export { isComfortMote, listComforts, type ComfortUpdateResult, } from './cl2.comfort.types.js';
4
4
  //# sourceMappingURL=cl2.comfort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cl2.comfort.d.ts","sourceRoot":"","sources":["../src/cl2.comfort.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EACL,aAAa,IAAI,eAAe,EAChC,YAAY,IAAI,cAAc,EAC9B,eAAe,IAAI,iBAAiB,EACpC,KAAK,WAAW,IAAI,aAAa,EACjC,KAAK,WAAW,IAAI,aAAa,EACjC,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"cl2.comfort.d.ts","sourceRoot":"","sources":["../src/cl2.comfort.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACL,aAAa,EACb,YAAY,EACZ,KAAK,mBAAmB,GACzB,MAAM,wBAAwB,CAAC"}
@@ -1,4 +1,4 @@
1
- export { parseStringifiedStoryline, updateChangesFromParsedStoryline, } from './cl2.comfort.parse.js';
2
- export { stringifyStoryline } from './cl2.comfort.stringify.js';
3
- export { isComfortMote as isStorylineMote, listComforts as listStorylines, comfortSchemaId as storylineSchemaId, } from './cl2.comfort.types.js';
1
+ export { parseStringifiedComfort, updateChangesFromParsedComfort, } from './cl2.comfort.parse.js';
2
+ export { stringifyComfort } from './cl2.comfort.stringify.js';
3
+ export { isComfortMote, listComforts, } from './cl2.comfort.types.js';
4
4
  //# sourceMappingURL=cl2.comfort.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cl2.comfort.js","sourceRoot":"","sources":["../src/cl2.comfort.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EACL,aAAa,IAAI,eAAe,EAChC,YAAY,IAAI,cAAc,EAC9B,eAAe,IAAI,iBAAiB,GAIrC,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"cl2.comfort.js","sourceRoot":"","sources":["../src/cl2.comfort.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACL,aAAa,EACb,YAAY,GAEb,MAAM,wBAAwB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { GameChanger } from './GameChanger.js';
2
- import { type StorylineUpdateResult } from './cl2.storyline.types.js';
3
- export declare function parseStringifiedStoryline(text: string, packed: GameChanger, options?: {
2
+ import { type ComfortUpdateResult } from './cl2.comfort.types.js';
3
+ export declare function parseStringifiedComfort(text: string, packed: GameChanger, options?: {
4
4
  checkSpelling?: boolean;
5
- }): StorylineUpdateResult;
6
- export declare function updateChangesFromParsedStoryline(parsed: StorylineUpdateResult['parsed'], moteId: string, packed: GameChanger): Promise<void>;
5
+ }): ComfortUpdateResult;
6
+ export declare function updateChangesFromParsedComfort(parsed: ComfortUpdateResult['parsed'], moteId: string, packed: GameChanger): Promise<void>;
7
7
  //# sourceMappingURL=cl2.comfort.parse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cl2.comfort.parse.d.ts","sourceRoot":"","sources":["../src/cl2.comfort.parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAKpD,OAAO,EAQL,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,OAAO,CAAC;CACpB,GACL,qBAAqB,CAkMvB;AAED,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CA0Ef"}
1
+ {"version":3,"file":"cl2.comfort.parse.d.ts","sourceRoot":"","sources":["../src/cl2.comfort.parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAShC,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,EACnB,OAAO,GAAE;IACP,aAAa,CAAC,EAAE,OAAO,CAAC;CACpB,GACL,mBAAmB,CA4ErB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EACrC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
@@ -1,9 +1,8 @@
1
1
  import { assert } from './assert.js';
2
- import { getStagingOptions } from './cl2.quest.utils.js';
3
- import { arrayTagPattern, getStorylineMote, getStorylineSchema, lineIsArrayItem, linePatterns, parseIfMatch, storylineSchemaId, } from './cl2.storyline.types.js';
4
- import { bsArrayToArray, createBsArrayKey, updateBsArrayOrder, } from './helpers.js';
5
- import { checkWords, includes } from './util.js';
6
- export function parseStringifiedStoryline(text, packed, options = {}) {
2
+ import { getComfortSchema, linePatterns, } from './cl2.comfort.types.js';
3
+ import { isCommentLine, isStageLine, prepareParserHelpers, updateWipChangesFromParsed, } from './cl2.shared.parse.js';
4
+ import { comfortSchemaId } from './cl2.shared.types.js';
5
+ export function parseStringifiedComfort(text, packed, options = {}) {
7
6
  const result = {
8
7
  diagnostics: [],
9
8
  hovers: [],
@@ -14,124 +13,30 @@ export function parseStringifiedStoryline(text, packed, options = {}) {
14
13
  comments: [],
15
14
  },
16
15
  };
17
- const availableGlobalLabels = new Set([
18
- 'Name',
19
- 'Description',
20
- 'Stage',
21
- ]);
22
- const stagingOptions = getStagingOptions(packed.working);
23
- /** Terms from the glossary for use in autocompletes */
24
- const glossaryTerms = (packed.glossary?.relevantTerms() || []).map((t) => t.text);
25
- const checkSpelling = (item) => {
26
- if (!item || !options.checkSpelling)
27
- return;
28
- result.words.push(...checkWords(item, packed.glossary));
29
- };
30
- const lines = text.split(/(\r?\n)/g);
31
- let index = 0;
32
- let lineNumber = 0;
33
- for (const line of lines) {
16
+ const helpers = prepareParserHelpers(text, packed, {
17
+ ...options,
18
+ globalLabels: new Set([
19
+ 'Name',
20
+ 'Description',
21
+ 'Unlocked Description',
22
+ 'Stage',
23
+ ]),
24
+ }, result);
25
+ for (const line of helpers.lines) {
34
26
  const trace = [];
35
27
  try {
36
- // Is this just a newline?
37
- if (line.match(/\r?\n/)) {
38
- // Then we just need to increment the index
39
- index += line.length;
40
- lineNumber++;
41
- continue;
42
- }
43
- const lineRange = {
44
- start: {
45
- index,
46
- line: lineNumber,
47
- character: 0,
48
- },
49
- end: {
50
- index: index + line.length,
51
- line: lineNumber,
52
- character: line.length,
53
- },
54
- };
55
- // Is this just a blank line?
56
28
  if (!line) {
57
- // Add global autocompletes
58
- result.completions.push({
59
- type: 'labels',
60
- start: lineRange.start,
61
- end: lineRange.end,
62
- options: availableGlobalLabels,
63
- });
64
29
  continue;
65
30
  }
31
+ const lineRange = helpers.currentLineRange;
66
32
  // Find the first matching pattern and pull the values from it.
67
- let parsedLine = null;
68
- for (const pattern of linePatterns) {
69
- parsedLine = parseIfMatch(pattern, line, lineRange.start);
70
- if (parsedLine)
71
- break;
72
- }
73
- if (!parsedLine) {
74
- // Then this is likely the result of uncommenting something
75
- // that was commented out, resulting in a line that starts with
76
- // the comment's array tag. Provide a deletion edit!
77
- parsedLine = parseIfMatch(`^${arrayTagPattern} +(?<text>.*)$`, line, lineRange.start);
78
- if (parsedLine) {
79
- result.edits.push({
80
- start: lineRange.start,
81
- end: lineRange.end,
82
- newText: parsedLine.text.value,
83
- });
84
- }
85
- else {
86
- result.diagnostics.push({
87
- message: `Unfamiliar syntax: ${line}`,
88
- ...lineRange,
89
- });
90
- }
91
- index += line.length;
33
+ const parsedLine = helpers.parseCurrentLine(linePatterns);
34
+ if (!parsedLine)
92
35
  continue;
93
- }
94
- // Ensure the array tag. It goes right after the label or indicator.
95
- if (!parsedLine.arrayTag?.value && lineIsArrayItem(line)) {
96
- const arrayTag = createBsArrayKey();
97
- const start = parsedLine.indicator?.end || parsedLine.label?.end;
98
- result.edits.push({
99
- start,
100
- end: start,
101
- newText: `#${arrayTag}`,
102
- });
103
- parsedLine.arrayTag = {
104
- start,
105
- end: start,
106
- value: arrayTag,
107
- };
108
- }
109
- // If this has a label, remove it from the list of available labels
110
- if (parsedLine.label?.value &&
111
- availableGlobalLabels.has(parsedLine.label.value)) {
112
- availableGlobalLabels.delete(parsedLine.label.value);
113
- }
114
- // If this has a text section, provide glossary autocompletes
115
- if ('text' in parsedLine) {
116
- const start = parsedLine.text.start;
117
- const end = parsedLine.text.end;
118
- result.completions.push({
119
- type: 'glossary',
120
- start,
121
- end,
122
- options: glossaryTerms,
123
- });
124
- }
125
36
  // Work through each line type to add diagnostics and completions
126
37
  const labelLower = parsedLine.label?.value?.toLowerCase();
127
- const indicator = parsedLine.indicator?.value;
128
- if (indicator === '//') {
129
- // Then this is a comment/note
130
- result.parsed.comments.push({
131
- id: parsedLine.arrayTag?.value?.trim(),
132
- text: parsedLine.text?.value?.trim(),
133
- });
134
- checkSpelling(parsedLine.text);
38
+ if (isCommentLine(parsedLine)) {
39
+ helpers.addComment(parsedLine);
135
40
  }
136
41
  else if (labelLower === 'name') {
137
42
  result.parsed.name = parsedLine.text?.value?.trim();
@@ -144,26 +49,14 @@ export function parseStringifiedStoryline(text, packed, options = {}) {
144
49
  }
145
50
  else if (labelLower === 'description') {
146
51
  result.parsed.description = parsedLine.text?.value?.trim();
147
- checkSpelling(parsedLine.text);
52
+ helpers.checkSpelling(parsedLine.text);
148
53
  }
149
- else if (labelLower === 'stage') {
150
- const stage = parsedLine.text?.value?.trim();
151
- if (includes(stagingOptions, stage)) {
152
- result.parsed.stage = stage;
153
- }
154
- else {
155
- result.diagnostics.push({
156
- message: `Stage must be one of: ${stagingOptions.join(', ')}`,
157
- ...lineRange,
158
- });
159
- // Provide autocomplete options
160
- result.completions.push({
161
- type: 'stages',
162
- options: stagingOptions,
163
- start: parsedLine.labelGroup.end,
164
- end: lineRange.end,
165
- });
166
- }
54
+ else if (labelLower === 'unlocked description') {
55
+ result.parsed.unlockedDescription = parsedLine.text?.value?.trim();
56
+ helpers.checkSpelling(parsedLine.text);
57
+ }
58
+ else if (isStageLine(parsedLine)) {
59
+ helpers.addStage(parsedLine);
167
60
  }
168
61
  else {
169
62
  // Then we're in an error state on this line!
@@ -179,11 +72,11 @@ export function parseStringifiedStoryline(text, packed, options = {}) {
179
72
  }
180
73
  throw err;
181
74
  }
182
- index += line.length;
75
+ helpers.index += line.length;
183
76
  }
184
77
  return result;
185
78
  }
186
- export async function updateChangesFromParsedStoryline(parsed, moteId, packed) {
79
+ export async function updateChangesFromParsedComfort(parsed, moteId, packed) {
187
80
  const _traceLogs = [];
188
81
  const trace = (log) => _traceLogs.push(log);
189
82
  trace(`Updating mote ${moteId}`);
@@ -191,57 +84,16 @@ export async function updateChangesFromParsedStoryline(parsed, moteId, packed) {
191
84
  // We're always going to be computing ALL changes, so clear whatever
192
85
  // we previously had.
193
86
  packed.clearMoteChanges(moteId);
194
- const storylineMoteBase = getStorylineMote(packed.base, moteId);
195
- const storylineMoteWorking = getStorylineMote(packed.working, moteId);
196
- const schema = getStorylineSchema(packed.working);
197
- assert(schema, `${storylineSchemaId} schema not found in working copy`);
87
+ const schema = getComfortSchema(packed.working);
88
+ assert(schema, `${comfortSchemaId} schema not found in working copy`);
198
89
  assert(schema.name, 'Quest mote must have a name pointer');
199
90
  const updateMote = (path, value) => {
200
91
  packed.updateMoteData(moteId, path, value);
201
92
  };
202
93
  updateMote('data/name/text', parsed.name);
203
94
  updateMote('data/description/text', parsed.description);
204
- if (parsed.stage) {
205
- updateMote('data/wip/staging', parsed.stage);
206
- }
207
- else if (storylineMoteWorking?.data.wip) {
208
- updateMote('data/wip/staging', null);
209
- }
210
- const parsedComments = parsed.comments.filter((c) => !!c.text);
211
- //#region COMMENTS
212
- // Add/Update COMMENTS
213
- trace(`Updating comments`);
214
- for (const comment of parsedComments) {
215
- trace(`Updating comment ${comment.id} with text "${comment.text}"`);
216
- updateMote(`data/wip/notes/${comment.id}/element/text`, comment.text);
217
- }
218
- // Remove deleted comments
219
- for (const existingComment of bsArrayToArray(storylineMoteBase?.data.wip?.notes || {})) {
220
- if (!parsedComments.find((c) => c.id === existingComment.id)) {
221
- trace(`Deleting comment ${existingComment.id}`);
222
- updateMote(`data/wip/notes/${existingComment.id}`, null);
223
- }
224
- }
225
- // Get the BASE order of the comments (if any) and use those
226
- // as the starting point for an up to date order.
227
- const comments = parsedComments.map((c) => {
228
- // Look up the base comment
229
- let comment = storylineMoteBase?.data.wip?.notes?.[c.id];
230
- if (!comment) {
231
- comment = storylineMoteWorking?.data.wip?.notes?.[c.id];
232
- // @ts-expect-error - order is a required field, but it'll be re-added
233
- delete comment?.order;
234
- }
235
- assert(comment, `Comment ${c.id} not found in base or working mote`);
236
- return { ...comment, id: c.id };
237
- });
238
- trace('Updating comment order');
239
- updateBsArrayOrder(comments);
240
- comments.forEach((comment) => {
241
- trace(`Updating comment ${comment.id} order to ${comment.order}`);
242
- updateMote(`data/wip/notes/${comment.id}/order`, comment.order);
243
- });
244
- //#endregion
95
+ updateMote('data/unlocked_description/text', parsed.unlockedDescription);
96
+ updateWipChangesFromParsed(parsed, moteId, packed, trace);
245
97
  trace(`Writing changes`);
246
98
  await packed.writeChanges();
247
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cl2.comfort.parse.js","sourceRoot":"","sources":["../src/cl2.comfort.parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cl2.comfort.parse.js","sourceRoot":"","sources":["../src/cl2.comfort.parse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EACL,gBAAgB,EAChB,YAAY,GAEb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,WAAW,EACX,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,uBAAuB,CACrC,IAAY,EACZ,MAAmB,EACnB,UAEI,EAAE;IAEN,MAAM,MAAM,GAAwB;QAClC,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,EAAE;QACT,MAAM,EAAE;YACN,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,oBAAoB,CAClC,IAAI,EACJ,MAAM,EACN;QACE,GAAG,OAAO;QACV,YAAY,EAAE,IAAI,GAAG,CAAS;YAC5B,MAAM;YACN,aAAa;YACb,sBAAsB;YACtB,OAAO;SACR,CAAC;KACH,EACD,MAAM,CACP,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,KAAK,GAAU,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAE3C,+DAA+D;YAC/D,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU;gBAAE,SAAS;YAE1B,iEAAiE;YACjE,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAC1D,IAAI,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACxB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;wBACtB,OAAO,EAAE,sBAAsB;wBAC/B,GAAG,SAAS;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,IAAI,UAAU,KAAK,aAAa,EAAE,CAAC;gBACxC,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBAC3D,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,UAAU,KAAK,sBAAsB,EAAE,CAAC;gBACjD,MAAM,CAAC,MAAM,CAAC,mBAAmB,GAAG,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;gBACnE,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,6CAA6C;gBAC7C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBACtB,OAAO,EAAE,sBAAsB,IAAI,EAAE;oBACrC,GAAG,SAAS;iBACb,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBACzB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YACpB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAAqC,EACrC,MAAc,EACd,MAAmB;IAEnB,MAAM,UAAU,GAAU,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,KAAK,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC;QACH,oEAAoE;QACpE,qBAAqB;QACrB,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,EAAE,GAAG,eAAe,mCAAmC,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,qCAAqC,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,CAAC,IAA4B,EAAE,KAAU,EAAE,EAAE;YAC9D,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,UAAU,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1C,UAAU,CAAC,uBAAuB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,UAAU,CAAC,gCAAgC,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEzE,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAE1D,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzB,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC;QACzB,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1,3 +1,3 @@
1
- export type StorylineMoteDataPointer = `data/${StorylineMotePointer}`;
2
- export type StorylineMotePointer = `` | `description/description` | `description/skip` | `description/text` | `description` | `icon` | `name/description` | `name/skip` | `name/text` | `name` | `order` | `wip/notes/${string}/element/author` | `wip/notes/${string}/element/text` | `wip/notes/${string}/element/timestamp` | `wip/notes/${string}/element` | `wip/notes/${string}/order` | `wip/notes/${string}` | `wip/notes` | `wip/staging` | `wip`;
1
+ export type ComfortMoteDataPointer = `data/${ComfortMotePointer}`;
2
+ export type ComfortMotePointer = `` | `artisan_id` | `description/description` | `description/skip` | `description/text` | `description` | `ignore_in_progression_map` | `name/description` | `name/skip` | `name/text` | `name` | `order` | `priors/${string}/element` | `priors/${string}/order` | `priors/${string}` | `priors` | `uicon` | `unlocked_by` | `unlocked_description/description` | `unlocked_description/skip` | `unlocked_description/text` | `unlocked_description` | `wip/notes/${string}/element/author` | `wip/notes/${string}/element/text` | `wip/notes/${string}/element/timestamp` | `wip/notes/${string}/element` | `wip/notes/${string}/order` | `wip/notes/${string}` | `wip/notes` | `wip/staging` | `wip`;
3
3
  //# sourceMappingURL=cl2.comfort.pointers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cl2.comfort.pointers.d.ts","sourceRoot":"","sources":["../src/cl2.comfort.pointers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wBAAwB,GAAG,QAAQ,oBAAoB,EAAE,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,EAAE,GACjC,yBAAyB,GACzB,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,GACb,MAAM,GACN,kBAAkB,GAClB,WAAW,GACX,WAAW,GACX,MAAM,GACN,OAAO,GACP,aAAa,MAAM,iBAAiB,GACpC,aAAa,MAAM,eAAe,GAClC,aAAa,MAAM,oBAAoB,GACvC,aAAa,MAAM,UAAU,GAC7B,aAAa,MAAM,QAAQ,GAC3B,aAAa,MAAM,EAAE,GACrB,WAAW,GACX,aAAa,GACb,KAAK,CAAC"}
1
+ {"version":3,"file":"cl2.comfort.pointers.d.ts","sourceRoot":"","sources":["../src/cl2.comfort.pointers.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,QAAQ,kBAAkB,EAAE,CAAC;AAClE,MAAM,MAAM,kBAAkB,GAAG,EAAE,GAC/B,YAAY,GACZ,yBAAyB,GACzB,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,GACb,2BAA2B,GAC3B,kBAAkB,GAClB,WAAW,GACX,WAAW,GACX,MAAM,GACN,OAAO,GACP,UAAU,MAAM,UAAU,GAC1B,UAAU,MAAM,QAAQ,GACxB,UAAU,MAAM,EAAE,GAClB,QAAQ,GACR,OAAO,GACP,aAAa,GACb,kCAAkC,GAClC,2BAA2B,GAC3B,2BAA2B,GAC3B,sBAAsB,GACtB,aAAa,MAAM,iBAAiB,GACpC,aAAa,MAAM,eAAe,GAClC,aAAa,MAAM,oBAAoB,GACvC,aAAa,MAAM,UAAU,GAC7B,aAAa,MAAM,QAAQ,GAC3B,aAAa,MAAM,EAAE,GACrB,WAAW,GACX,aAAa,GACb,KAAK,CAAC"}
@@ -1,4 +1,4 @@
1
+ import { ComfortMote } from './cl2.shared.types.js';
1
2
  import type { GameChanger } from './GameChanger.js';
2
- import { type StorylineMote } from './cl2.storyline.types.js';
3
- export declare function stringifyStoryline(mote: StorylineMote, packed: GameChanger): string;
3
+ export declare function stringifyComfort(mote: ComfortMote, packed: GameChanger): string;
4
4
  //# sourceMappingURL=cl2.comfort.stringify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cl2.comfort.stringify.d.ts","sourceRoot":"","sources":["../src/cl2.comfort.stringify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAG9D,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,WAAW,GAClB,MAAM,CA2BR"}
1
+ {"version":3,"file":"cl2.comfort.stringify.d.ts","sourceRoot":"","sources":["../src/cl2.comfort.stringify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,WAAW,GAClB,MAAM,CA8BR"}
@@ -1,9 +1,11 @@
1
1
  import { bsArrayToArray, toArrayTag } from './helpers.js';
2
- export function stringifyStoryline(mote, packed) {
2
+ import { cleanGameChangerString } from './util.js';
3
+ export function stringifyComfort(mote, packed) {
3
4
  // METADATA
4
5
  const blocks = [
5
- `Name: ${packed.working.getMoteName(mote)}`,
6
- `Description: ${mote.data.description?.text || ''}\n`,
6
+ `Name: ${cleanGameChangerString(packed.working.getMoteName(mote))}`,
7
+ `Description: ${cleanGameChangerString(mote.data.description?.text)}\n`,
8
+ `Unlocked Description: ${cleanGameChangerString(mote.data.unlocked_description?.text)}\n`,
7
9
  ];
8
10
  if (mote.data.wip?.staging) {
9
11
  blocks.push(`Stage: ${mote.data.wip.staging}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"cl2.comfort.stringify.js","sourceRoot":"","sources":["../src/cl2.comfort.stringify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D,MAAM,UAAU,kBAAkB,CAChC,IAAmB,EACnB,MAAmB;IAEnB,WAAW;IACX,MAAM,MAAM,GAAa;QACvB,SAAS,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;QAC3C,gBAAgB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,IAAI;KACtD,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,QAAQ;IACR,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CACT,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CACjD,EACD,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"cl2.comfort.stringify.js","sourceRoot":"","sources":["../src/cl2.comfort.stringify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAEnD,MAAM,UAAU,gBAAgB,CAC9B,IAAiB,EACjB,MAAmB;IAEnB,WAAW;IACX,MAAM,MAAM,GAAa;QACvB,SAAS,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE;QACnE,gBAAgB,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI;QACvE,yBAAyB,sBAAsB,CAC7C,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CACrC,IAAI;KACN,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,QAAQ;IACR,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CACT,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CACjD,EACD,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,36 +1,14 @@
1
1
  import type { Gcdata } from './GameChanger.js';
2
- import type { ParsedLine } from './cl2.shared.types.js';
3
- import type { Crashlands2 } from './cl2.types.auto.js';
4
- import type { ParsedBase, ParserResult } from './cl2.types.editor.js';
5
- import type { Position, Range } from './types.editor.js';
6
- import type { BschemaRoot, Mote } from './types.js';
7
- export declare const comfortSchemaId = "cl2_artisan_glads";
8
- export type ComfortData = Crashlands2.Schemas['cl2_artisan_glads'];
9
- export type ComfortMote = Mote<ComfortData>;
10
- type CompletionsData = {
11
- type: 'glossary';
12
- options: string[];
13
- } | {
14
- type: 'stages';
15
- options: string[];
16
- } | {
17
- type: 'labels';
18
- options: Set<string>;
19
- };
20
- export interface StorylineUpdateResult extends ParserResult {
21
- parsed: ParsedBase & {
22
- description?: string;
23
- };
24
- completions: (Range & CompletionsData)[];
2
+ import { ComfortMote, ParserResult } from './cl2.shared.types.js';
3
+ import type { BschemaRoot } from './types.js';
4
+ export interface ComfortUpdateResult extends ParserResult<{
5
+ description?: string;
6
+ unlockedDescription?: string;
7
+ }> {
25
8
  }
26
9
  export declare function listComforts(gcData: Gcdata): ComfortMote[];
27
10
  export declare function isComfortMote(mote: any): mote is ComfortMote;
28
11
  export declare function getComfortMote(gcData: Gcdata, moteId: string): ComfortMote | undefined;
29
- export declare function getComfortMotes(gcData: Gcdata): ComfortMote[];
30
12
  export declare function getComfortSchema(gcData: Gcdata): BschemaRoot | undefined;
31
- export declare const arrayTagPattern = "(?:#(?<arrayTag>[a-z0-9]+))";
32
13
  export declare const linePatterns: string[];
33
- export declare function parseIfMatch(pattern: string, line: string, startPosition: Position): ParsedLine | null;
34
- export declare function lineIsArrayItem(line: string): boolean;
35
- export {};
36
14
  //# sourceMappingURL=cl2.comfort.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cl2.comfort.types.d.ts","sourceRoot":"","sources":["../src/cl2.comfort.types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACnE,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;AAE5C,KAAK,eAAe,GAChB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAC7C,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,MAAM,EAAE,UAAU,GAAG;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,WAAW,EAAE,CAAC,KAAK,GAAG,eAAe,CAAC,EAAE,CAAC;CAC1C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAE1D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,WAAW,CAE5D;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,WAAW,GAAG,SAAS,CAIzB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAG7D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAExE;AAyBD,eAAO,MAAM,eAAe,gCAAgC,CAAC;AAE7D,eAAO,MAAM,YAAY,UAKxB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,QAAQ,GACtB,UAAU,GAAG,IAAI,CAmCnB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD"}
1
+ {"version":3,"file":"cl2.comfort.types.d.ts","sourceRoot":"","sources":["../src/cl2.comfort.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAGL,WAAW,EAEX,YAAY,EACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,WAAW,mBACf,SAAQ,YAAY,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;CAAG;AAEP,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAE1D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,WAAW,CAE5D;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,WAAW,GAAG,SAAS,CAIzB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAExE;AAED,eAAO,MAAM,YAAY,UAKxB,CAAC"}