packages feed

typesafe-precure 0.4.0.0 → 0.5.0.0

raw patch · 9 files changed

+313/−38 lines, 9 files

Files

CHANGELOG.md view
@@ -1,5 +1,17 @@ # 0.4.0.0 (2017/10/07) +- Add: More transformations and purifications of Kirakira :star: PreCure A La Mode:+    - Variation: A La Mode Style+    - Purification: Fantastic Animalé+    - Special Item: Sweets Castle+    - Transformed Groups of Kirakira :star: PreCure A La Mode+- Add: `variationEn` property of `transformees` in Cure Index.+- Add: `transformedGroups` in Cure Index.+- Incompatible Change:+    - Renamed `variation` property of `transformees` in Cure Index into `variationJa`.++# 0.4.0.0 (2017/10/07)+ - Add: More transformations and purifications of Kirakira :star: PreCure A La Mode, including Cure Parfait's and Kirakiraru Creamer's. - Add: Experimental feature: [cure-index.json](https://github.com/igrep/typesafe-precure/blob/master/gen/cure-index.json) and [pretty-cure-index.json](https://github.com/igrep/typesafe-precure/blob/master/gen/pretty-cure-index.json) are generated at build-time by Template Haskell.     - Currently, only data of Kirakira :star: A La Mode is collected.
gen/cure-index.json view
@@ -1,1 +1,1 @@-{"girls":[{"id":"Ichika","nameEn":"Ichika Usami","nameJa":"宇佐美 いちか"},{"id":"Himari","nameEn":"Himari Arisugawa","nameJa":"有栖川 ひまり"},{"id":"Aoi","nameEn":"Aoi Tategami","nameJa":"立神 あおい"},{"id":"Yukari","nameEn":"Yukari Kotozume","nameJa":"琴爪 ゆかり"},{"id":"Akira","nameEn":"Akira Kenjo","nameJa":"剣城 あきら"},{"id":"Ciel","nameEn":"Ciel Kirahoshi","nameJa":"キラ星 シエル"}],"transformees":[{"id":"CureWhip","nameEn":"Cure Whip","nameJa":"キュアホイップ","introducesHerselfAs":"ショートケーキ!元気と笑顔を!レッツ・ラ・まぜまぜ!キュアホイップ!できあがり!","variation":""},{"id":"CureCustard","nameEn":"Cure Custard","nameJa":"キュアカスタード","introducesHerselfAs":"プリン!知性と勇気を!レッツ・ラ・まぜまぜ!キュアカスタード!できあがり!","variation":""},{"id":"CureGelato","nameEn":"Cure Gelato","nameJa":"キュアジェラート","introducesHerselfAs":"アイス!自由と情熱を!レッツ・ラ・まぜまぜ!キュアジェラート!できあがり!","variation":""},{"id":"CureMacaron","nameEn":"Cure Macaron","nameJa":"キュアマカロン","introducesHerselfAs":"マカロン!美しさとトキメキを!レッツ・ラ・まぜまぜ!キュアマカロン!できあがり!","variation":""},{"id":"CureChocolat","nameEn":"Cure Chocolat","nameJa":"キュアショコラ","introducesHerselfAs":"チョコレート!強さと愛を!レッツ・ラ・まぜまぜ!キュアショコラ!できあがり!","variation":""},{"id":"CureParfait","nameEn":"Cure Parfait","nameJa":"キュアパルフェ","introducesHerselfAs":"パフェ!夢と希望を!レッツ・ラ・まぜまぜ!キュアパルフェ!できあがり!","variation":""}],"specialItems":[{"id":"SweetsPact","nameEn":"Sweets Pact","nameJa":"スイーツパクト","attachments":["Animal Sweets"]},{"id":"RabbitShortcake","nameEn":"Rabbit Shortcake","nameJa":"うさぎショートケーキ","attachments":[]},{"id":"SquirrelPudding","nameEn":"Squirrel Pudding","nameJa":"りすプリン","attachments":[]},{"id":"LionIce","nameEn":"Lion Ice","nameJa":"らいおんアイス","attachments":[]},{"id":"CatMacaron","nameEn":"Cat Macaron","nameJa":"ねこマカロン","attachments":[]},{"id":"DogChocolate","nameEn":"Dog Chocolate","nameJa":"いぬチョコレート","attachments":[]},{"id":"PegasusParfait","nameEn":"Pegasus Parfait","nameJa":"ペガサスパフェ","attachments":[]},{"id":"CandyRod","nameEn":"Candy Rod","nameJa":"キャンディロッド","attachments":[]},{"id":"RainbowRibbon","nameEn":"Rainbow Ribbon","nameJa":"レインボーリボン","attachments":[]},{"id":"KirakiraruCreamer","nameEn":"Kirakiraru Creamer","nameJa":"キラキラルクリーマー","attachments":["Crystal Animal"]},{"id":"CrystalAnimalRabbit","nameEn":"Crystal Animal Rabbit","nameJa":"クリスタルアニマルうさぎ","attachments":[]},{"id":"CrystalAnimalSquirrel","nameEn":"Crystal Animal Squirrel","nameJa":"クリスタルアニマルりす","attachments":[]},{"id":"CrystalAnimalLion","nameEn":"Crystal Animal Lion","nameJa":"クリスタルアニマルらいおん","attachments":[]},{"id":"CrystalAnimalCat","nameEn":"Crystal Animal Cat","nameJa":"クリスタルアニマルねこ","attachments":[]},{"id":"CrystalAnimalDog","nameEn":"Crystal Animal Dog","nameJa":"クリスタルアニマルいぬ","attachments":[]},{"id":"CrystalAnimalPegasus","nameEn":"Crystal Animal Pegasus","nameJa":"クリスタルアニマルペガサス","attachments":[]}],"transformations":[{"transformers":["Ichika"],"specialItems":[{"a":["RabbitShortcake"],"i":"SweetsPact"}],"transformees":["CureWhip"],"speech":["キュアラモード・デコレーション!","ショートケーキ!","元気と笑顔を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!"]},{"transformers":["Himari"],"specialItems":[{"a":["SquirrelPudding"],"i":"SweetsPact"}],"transformees":["CureCustard"],"speech":["キュアラモード・デコレーション!","プリン!","知性と勇気を!","レッツ・ラ・まぜまぜ!","キュアカスタード!できあがり!"]},{"transformers":["Aoi"],"specialItems":[{"a":["LionIce"],"i":"SweetsPact"}],"transformees":["CureGelato"],"speech":["キュアラモード・デコレーション!","アイス!","自由と情熱を!","レッツ・ラ・まぜまぜ!","キュアジェラート!できあがり!"]},{"transformers":["Yukari"],"specialItems":[{"a":["CatMacaron"],"i":"SweetsPact"}],"transformees":["CureMacaron"],"speech":["キュアラモード・デコレーション!","マカロン!","美しさとトキメキを!","レッツ・ラ・まぜまぜ!","キュアマカロン!できあがり!"]},{"transformers":["Akira"],"specialItems":[{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureChocolat"],"speech":["キュアラモード・デコレーション!","チョコレート!","強さと愛を!","レッツ・ラ・まぜまぜ!","キュアショコラ!できあがり!"]},{"transformers":["Ciel"],"specialItems":[{"a":["PegasusParfait"],"i":"SweetsPact"}],"transformees":["CureParfait"],"speech":["キュアラモード・デコレーション!","パフェ!","夢と希望を!","レッツ・ラ・まぜまぜ!","キュアパルフェ!できあがり!"]},{"transformers":["Ichika","Himari","Aoi","Yukari","Akira"],"specialItems":[{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat"],"speech":["キュアラモード・デコレーション!","ショートケーキ!","元気と笑顔を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Ichika","Himari","Aoi","Yukari","Akira","Ciel"],"specialItems":[{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"},{"a":["PegasusParfait"],"i":"SweetsPact"}],"transformees":["CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat","CureParfait"],"speech":["キュアラモード・デコレーション!","ショートケーキ!","元気と笑顔を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キュアパルフェ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Himari","Ichika","Aoi","Yukari","Akira"],"specialItems":[{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureCustard","CureWhip","CureGelato","CureMacaron","CureChocolat"],"speech":["キュアラモード・デコレーション!","プリン!","知性と勇気を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Aoi","Ichika","Himari","Yukari","Akira"],"specialItems":[{"a":["LionIce"],"i":"SweetsPact"},{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureGelato","CureWhip","CureCustard","CureMacaron","CureChocolat"],"speech":["キュアラモード・デコレーション!","アイス!","自由と情熱を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Yukari","Ichika","Himari","Aoi","Akira"],"specialItems":[{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureMacaron","CureWhip","CureCustard","CureGelato","CureChocolat"],"speech":["キュアラモード・デコレーション!","マカロン!","美しさとトキメキを!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Akira","Ichika","Himari","Aoi","Yukari"],"specialItems":[{"a":["DogChocolate"],"i":"SweetsPact"},{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"}],"transformees":["CureChocolat","CureWhip","CureCustard","CureGelato","CureMacaron"],"speech":["キュアラモード・デコレーション!","チョコレート!","強さと愛を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Ciel","Ichika","Himari","Aoi","Yukari","Akira"],"specialItems":[{"a":["PegasusParfait"],"i":"SweetsPact"},{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureParfait","CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat"],"speech":["キュアラモード・デコレーション!","パフェ!","夢と希望を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キュアパルフェ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Ichika","Himari","Aoi"],"specialItems":[{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"}],"transformees":["CureWhip","CureCustard","CureGelato"],"speech":["キュアラモード・デコレーション!","ショートケーキ!","元気と笑顔を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!"]},{"transformers":["Ichika","Himari","Aoi","Yukari"],"specialItems":[{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"}],"transformees":["CureWhip","CureCustard","CureGelato","CureMacaron"],"speech":["キュアラモード・デコレーション!","ショートケーキ!","元気と笑顔を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!"]},{"transformers":["Yukari","Akira"],"specialItems":[{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureMacaron","CureChocolat"],"speech":["キュアラモード・デコレーション!","マカロン!","美しさとトキメキを!","レッツ・ラ・まぜまぜ!","キュアマカロン!できあがり!","キュアショコラ!できあがり!"]}],"purifications":[{"purifier":["CureWhip"],"specialItems":["CandyRod"],"speech":["キラキラキラルン!","ホイップ・デコレーション!"]},{"purifier":["CureCustard"],"specialItems":["CandyRod"],"speech":["キラキラキラルン!","カスタード・イリュージョン!"]},{"purifier":["CureGelato"],"specialItems":["CandyRod"],"speech":["キラキラキラルン!","ジェラート・シェイク!"]},{"purifier":["CureMacaron"],"specialItems":["CandyRod"],"speech":["キラキラキラルン!","マカロン・ジュリエンヌ!","にゃーお♥"]},{"purifier":["CureChocolat"],"specialItems":["CandyRod"],"speech":["キラキラキラルン!","ショコラ・アロマーゼ!"]},{"purifier":["CureParfait"],"specialItems":["RainbowRibbon"],"speech":["レインボーリボン!","行くよ!アン・ドゥ・トレビアン!","キラクル・レインボー!","ボナペティ!"]},{"purifier":["CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat"],"specialItems":["CandyRod"],"speech":["キャンディーロッド!","キラキラキラル・フルチャージ!","スイー・ツー・ワンダフル・アラモード!"]},{"purifier":["CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat","CureParfait"],"specialItems":[{"a":["CrystalAnimalRabbit"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalSquirrel"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalLion"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalCat"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalDog"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalPegasus"],"i":"KirakiraruCreamer"}],"speech":["キラキラルクリーマー!","キラッと輝け!クリスタルアニマル!","ぴょーん!","くるるっ!","がぁおー!","にゃーお!","わん!","ぱたた!","プリキュア・アニマルゴーランド!"]}]}+{"girls":[{"id":"Ichika","nameEn":"Ichika Usami","nameJa":"宇佐美 いちか"},{"id":"Himari","nameEn":"Himari Arisugawa","nameJa":"有栖川 ひまり"},{"id":"Aoi","nameEn":"Aoi Tategami","nameJa":"立神 あおい"},{"id":"Yukari","nameEn":"Yukari Kotozume","nameJa":"琴爪 ゆかり"},{"id":"Akira","nameEn":"Akira Kenjo","nameJa":"剣城 あきら"},{"id":"Ciel","nameEn":"Ciel Kirahoshi","nameJa":"キラ星 シエル"}],"transformees":[{"id":"CureWhip","nameEn":"Cure Whip","variationEn":"","nameJa":"キュアホイップ","variationJa":"","introducesHerselfAs":"ショートケーキ!元気と笑顔を!レッツ・ラ・まぜまぜ!キュアホイップ!できあがり!"},{"id":"CureCustard","nameEn":"Cure Custard","variationEn":"","nameJa":"キュアカスタード","variationJa":"","introducesHerselfAs":"プリン!知性と勇気を!レッツ・ラ・まぜまぜ!キュアカスタード!できあがり!"},{"id":"CureGelato","nameEn":"Cure Gelato","variationEn":"","nameJa":"キュアジェラート","variationJa":"","introducesHerselfAs":"アイス!自由と情熱を!レッツ・ラ・まぜまぜ!キュアジェラート!できあがり!"},{"id":"CureMacaron","nameEn":"Cure Macaron","variationEn":"","nameJa":"キュアマカロン","variationJa":"","introducesHerselfAs":"マカロン!美しさとトキメキを!レッツ・ラ・まぜまぜ!キュアマカロン!できあがり!"},{"id":"CureChocolat","nameEn":"Cure Chocolat","variationEn":"","nameJa":"キュアショコラ","variationJa":"","introducesHerselfAs":"チョコレート!強さと愛を!レッツ・ラ・まぜまぜ!キュアショコラ!できあがり!"},{"id":"CureParfait","nameEn":"Cure Parfait","variationEn":"","nameJa":"キュアパルフェ","variationJa":"","introducesHerselfAs":"パフェ!夢と希望を!レッツ・ラ・まぜまぜ!キュアパルフェ!できあがり!"},{"id":"CureWhip_ALaModeStyle","nameEn":"Cure Whip","variationEn":"A La Mode Style","nameJa":"キュアホイップ","variationJa":"アラモードスタイル","introducesHerselfAs":"ショートケーキ!元気と笑顔を!レッツ・ラ・まぜまぜ!キュアホイップ!できあがり!"},{"id":"CureCustard_ALaModeStyle","nameEn":"Cure Custard","variationEn":"A La Mode Style","nameJa":"キュアカスタード","variationJa":"アラモードスタイル","introducesHerselfAs":"プリン!知性と勇気を!レッツ・ラ・まぜまぜ!キュアカスタード!できあがり!"},{"id":"CureGelato_ALaModeStyle","nameEn":"Cure Gelato","variationEn":"A La Mode Style","nameJa":"キュアジェラート","variationJa":"アラモードスタイル","introducesHerselfAs":"アイス!自由と情熱を!レッツ・ラ・まぜまぜ!キュアジェラート!できあがり!"},{"id":"CureMacaron_ALaModeStyle","nameEn":"Cure Macaron","variationEn":"A La Mode Style","nameJa":"キュアマカロン","variationJa":"アラモードスタイル","introducesHerselfAs":"マカロン!美しさとトキメキを!レッツ・ラ・まぜまぜ!キュアマカロン!できあがり!"},{"id":"CureChocolat_ALaModeStyle","nameEn":"Cure Chocolat","variationEn":"A La Mode Style","nameJa":"キュアショコラ","variationJa":"アラモードスタイル","introducesHerselfAs":"チョコレート!強さと愛を!レッツ・ラ・まぜまぜ!キュアショコラ!できあがり!"},{"id":"CureParfait_ALaModeStyle","nameEn":"Cure Parfait","variationEn":"A La Mode Style","nameJa":"キュアパルフェ","variationJa":"アラモードスタイル","introducesHerselfAs":"パフェ!夢と希望を!レッツ・ラ・まぜまぜ!キュアパルフェ!できあがり!"}],"transformedGroups":[{"id":"KirakiraPreCureALaMode","nameEn":"Kirakira PreCure A La Mode","variationEn":"","nameJa":"キラキラ☆プリキュアアラモード","variationJa":""},{"id":"KirakiraPreCureALaMode_ALaModeStyle","nameEn":"Kirakira PreCure A La Mode","variationEn":"A La Mode Style","nameJa":"キラキラ☆プリキュアアラモード","variationJa":"アラモードスタイル"}],"specialItems":[{"id":"SweetsPact","nameEn":"Sweets Pact","nameJa":"スイーツパクト","attachments":["Animal Sweets"]},{"id":"RabbitShortcake","nameEn":"Rabbit Shortcake","nameJa":"うさぎショートケーキ","attachments":[]},{"id":"SquirrelPudding","nameEn":"Squirrel Pudding","nameJa":"りすプリン","attachments":[]},{"id":"LionIce","nameEn":"Lion Ice","nameJa":"らいおんアイス","attachments":[]},{"id":"CatMacaron","nameEn":"Cat Macaron","nameJa":"ねこマカロン","attachments":[]},{"id":"DogChocolate","nameEn":"Dog Chocolate","nameJa":"いぬチョコレート","attachments":[]},{"id":"PegasusParfait","nameEn":"Pegasus Parfait","nameJa":"ペガサスパフェ","attachments":[]},{"id":"CandyRod","nameEn":"Candy Rod","nameJa":"キャンディロッド","attachments":[]},{"id":"RainbowRibbon","nameEn":"Rainbow Ribbon","nameJa":"レインボーリボン","attachments":[]},{"id":"KirakiraruCreamer","nameEn":"Kirakiraru Creamer","nameJa":"キラキラルクリーマー","attachments":["Crystal Animal"]},{"id":"CrystalAnimalRabbit","nameEn":"Crystal Animal Rabbit","nameJa":"クリスタルアニマルうさぎ","attachments":[]},{"id":"CrystalAnimalSquirrel","nameEn":"Crystal Animal Squirrel","nameJa":"クリスタルアニマルりす","attachments":[]},{"id":"CrystalAnimalLion","nameEn":"Crystal Animal Lion","nameJa":"クリスタルアニマルらいおん","attachments":[]},{"id":"CrystalAnimalCat","nameEn":"Crystal Animal Cat","nameJa":"クリスタルアニマルねこ","attachments":[]},{"id":"CrystalAnimalDog","nameEn":"Crystal Animal Dog","nameJa":"クリスタルアニマルいぬ","attachments":[]},{"id":"CrystalAnimalPegasus","nameEn":"Crystal Animal Pegasus","nameJa":"クリスタルアニマルペガサス","attachments":[]},{"id":"SweetsCastle","nameEn":"SweetsCastle","nameJa":"スイーツキャッスル","attachments":[]}],"transformations":[{"transformers":["Ichika"],"specialItems":[{"a":["RabbitShortcake"],"i":"SweetsPact"}],"transformees":["CureWhip"],"speech":["キュアラモード・デコレーション!","ショートケーキ!","元気と笑顔を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!"]},{"transformers":["Himari"],"specialItems":[{"a":["SquirrelPudding"],"i":"SweetsPact"}],"transformees":["CureCustard"],"speech":["キュアラモード・デコレーション!","プリン!","知性と勇気を!","レッツ・ラ・まぜまぜ!","キュアカスタード!できあがり!"]},{"transformers":["Aoi"],"specialItems":[{"a":["LionIce"],"i":"SweetsPact"}],"transformees":["CureGelato"],"speech":["キュアラモード・デコレーション!","アイス!","自由と情熱を!","レッツ・ラ・まぜまぜ!","キュアジェラート!できあがり!"]},{"transformers":["Yukari"],"specialItems":[{"a":["CatMacaron"],"i":"SweetsPact"}],"transformees":["CureMacaron"],"speech":["キュアラモード・デコレーション!","マカロン!","美しさとトキメキを!","レッツ・ラ・まぜまぜ!","キュアマカロン!できあがり!"]},{"transformers":["Akira"],"specialItems":[{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureChocolat"],"speech":["キュアラモード・デコレーション!","チョコレート!","強さと愛を!","レッツ・ラ・まぜまぜ!","キュアショコラ!できあがり!"]},{"transformers":["Ciel"],"specialItems":[{"a":["PegasusParfait"],"i":"SweetsPact"}],"transformees":["CureParfait"],"speech":["キュアラモード・デコレーション!","パフェ!","夢と希望を!","レッツ・ラ・まぜまぜ!","キュアパルフェ!できあがり!"]},{"transformers":["Ichika","Himari","Aoi","Yukari","Akira"],"specialItems":[{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat"],"speech":["キュアラモード・デコレーション!","ショートケーキ!","元気と笑顔を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Ichika","Himari","Aoi","Yukari","Akira","Ciel"],"specialItems":[{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"},{"a":["PegasusParfait"],"i":"SweetsPact"}],"transformees":["CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat","CureParfait"],"speech":["キュアラモード・デコレーション!","ショートケーキ!","元気と笑顔を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キュアパルフェ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Himari","Ichika","Aoi","Yukari","Akira"],"specialItems":[{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureCustard","CureWhip","CureGelato","CureMacaron","CureChocolat"],"speech":["キュアラモード・デコレーション!","プリン!","知性と勇気を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Aoi","Ichika","Himari","Yukari","Akira"],"specialItems":[{"a":["LionIce"],"i":"SweetsPact"},{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureGelato","CureWhip","CureCustard","CureMacaron","CureChocolat"],"speech":["キュアラモード・デコレーション!","アイス!","自由と情熱を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Yukari","Ichika","Himari","Aoi","Akira"],"specialItems":[{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureMacaron","CureWhip","CureCustard","CureGelato","CureChocolat"],"speech":["キュアラモード・デコレーション!","マカロン!","美しさとトキメキを!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Akira","Ichika","Himari","Aoi","Yukari"],"specialItems":[{"a":["DogChocolate"],"i":"SweetsPact"},{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"}],"transformees":["CureChocolat","CureWhip","CureCustard","CureGelato","CureMacaron"],"speech":["キュアラモード・デコレーション!","チョコレート!","強さと愛を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Ciel","Ichika","Himari","Aoi","Yukari","Akira"],"specialItems":[{"a":["PegasusParfait"],"i":"SweetsPact"},{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureParfait","CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat"],"speech":["キュアラモード・デコレーション!","パフェ!","夢と希望を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!","キュアショコラ!できあがり!","キュアパルフェ!できあがり!","キラキラ☆プリキュアアラモード!"]},{"transformers":["Ichika","Himari","Aoi"],"specialItems":[{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"}],"transformees":["CureWhip","CureCustard","CureGelato"],"speech":["キュアラモード・デコレーション!","ショートケーキ!","元気と笑顔を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!"]},{"transformers":["Ichika","Himari","Aoi","Yukari"],"specialItems":[{"a":["RabbitShortcake"],"i":"SweetsPact"},{"a":["SquirrelPudding"],"i":"SweetsPact"},{"a":["LionIce"],"i":"SweetsPact"},{"a":["CatMacaron"],"i":"SweetsPact"}],"transformees":["CureWhip","CureCustard","CureGelato","CureMacaron"],"speech":["キュアラモード・デコレーション!","ショートケーキ!","元気と笑顔を!","レッツ・ラ・まぜまぜ!","キュアホイップ!できあがり!","キュアカスタード!できあがり!","キュアジェラート!できあがり!","キュアマカロン!できあがり!"]},{"transformers":["Yukari","Akira"],"specialItems":[{"a":["CatMacaron"],"i":"SweetsPact"},{"a":["DogChocolate"],"i":"SweetsPact"}],"transformees":["CureMacaron","CureChocolat"],"speech":["キュアラモード・デコレーション!","マカロン!","美しさとトキメキを!","レッツ・ラ・まぜまぜ!","キュアマカロン!できあがり!","キュアショコラ!できあがり!"]},{"transformers":["CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat"],"specialItems":[{"a":["SweetsCastle"],"i":"KirakiraruCreamer"}],"transformees":["CureWhip_ALaModeStyle","CureCustard_ALaModeStyle","CureGelato_ALaModeStyle","CureMacaron_ALaModeStyle","CureChocolat_ALaModeStyle"],"speech":["スイーツキャッスル!","レッツ・ラ・おきがえ!"]}],"purifications":[{"purifier":["CureWhip"],"specialItems":["CandyRod"],"speech":["キラキラキラルン!","ホイップ・デコレーション!"]},{"purifier":["CureCustard"],"specialItems":["CandyRod"],"speech":["キラキラキラルン!","カスタード・イリュージョン!"]},{"purifier":["CureGelato"],"specialItems":["CandyRod"],"speech":["キラキラキラルン!","ジェラート・シェイク!"]},{"purifier":["CureMacaron"],"specialItems":["CandyRod"],"speech":["キラキラキラルン!","マカロン・ジュリエンヌ!","にゃーお♥"]},{"purifier":["CureChocolat"],"specialItems":["CandyRod"],"speech":["キラキラキラルン!","ショコラ・アロマーゼ!"]},{"purifier":["CureParfait"],"specialItems":["RainbowRibbon"],"speech":["レインボーリボン!","行くよ!アン・ドゥ・トレビアン!","キラクル・レインボー!","ボナペティ!"]},{"purifier":["CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat"],"specialItems":["CandyRod"],"speech":["キャンディーロッド!","キラキラキラル・フルチャージ!","スイー・ツー・ワンダフル・アラモード!"]},{"purifier":["CureWhip","CureCustard","CureGelato","CureMacaron","CureChocolat","CureParfait"],"specialItems":[{"a":["CrystalAnimalRabbit"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalSquirrel"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalLion"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalCat"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalDog"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalPegasus"],"i":"KirakiraruCreamer"}],"speech":["キラキラルクリーマー!","キラッと輝け!クリスタルアニマル!","ぴょーん!","くるるっ!","がぁおー!","にゃーお!","わん!","ぱたた!","プリキュア・アニマルゴーランド!"]},{"purifier":["CureWhip_ALaModeStyle","CureCustard_ALaModeStyle","CureGelato_ALaModeStyle","CureMacaron_ALaModeStyle","CureChocolat_ALaModeStyle","CureParfait_ALaModeStyle"],"specialItems":[{"a":["SweetsCastle"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalRabbit"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalSquirrel"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalLion"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalCat"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalDog"],"i":"KirakiraruCreamer"},{"a":["CrystalAnimalPegasus"],"i":"KirakiraruCreamer"}],"speech":["キラッと輝け!","クリスタルアニマル!","ぴょーん!","くるるっ!","がぁおー!","にゃーお!","わん!","ぱたた!","プリキュア・ファンタスティックアニマーレ!"]}]}
gen/pretty-cure-index.json view
@@ -99,50 +99,110 @@             "attachments": [],             "nameJa": "クリスタルアニマルペガサス",             "id": "CrystalAnimalPegasus"+        },+        {+            "nameEn": "SweetsCastle",+            "attachments": [],+            "nameJa": "スイーツキャッスル",+            "id": "SweetsCastle"         }     ],     "transformees": [         {             "nameEn": "Cure Whip",+            "variationEn": "",             "nameJa": "キュアホイップ",+            "variationJa": "",             "id": "CureWhip",-            "introducesHerselfAs": "ショートケーキ!元気と笑顔を!レッツ・ラ・まぜまぜ!キュアホイップ!できあがり!",-            "variation": ""+            "introducesHerselfAs": "ショートケーキ!元気と笑顔を!レッツ・ラ・まぜまぜ!キュアホイップ!できあがり!"         },         {             "nameEn": "Cure Custard",+            "variationEn": "",             "nameJa": "キュアカスタード",+            "variationJa": "",             "id": "CureCustard",-            "introducesHerselfAs": "プリン!知性と勇気を!レッツ・ラ・まぜまぜ!キュアカスタード!できあがり!",-            "variation": ""+            "introducesHerselfAs": "プリン!知性と勇気を!レッツ・ラ・まぜまぜ!キュアカスタード!できあがり!"         },         {             "nameEn": "Cure Gelato",+            "variationEn": "",             "nameJa": "キュアジェラート",+            "variationJa": "",             "id": "CureGelato",-            "introducesHerselfAs": "アイス!自由と情熱を!レッツ・ラ・まぜまぜ!キュアジェラート!できあがり!",-            "variation": ""+            "introducesHerselfAs": "アイス!自由と情熱を!レッツ・ラ・まぜまぜ!キュアジェラート!できあがり!"         },         {             "nameEn": "Cure Macaron",+            "variationEn": "",             "nameJa": "キュアマカロン",+            "variationJa": "",             "id": "CureMacaron",-            "introducesHerselfAs": "マカロン!美しさとトキメキを!レッツ・ラ・まぜまぜ!キュアマカロン!できあがり!",-            "variation": ""+            "introducesHerselfAs": "マカロン!美しさとトキメキを!レッツ・ラ・まぜまぜ!キュアマカロン!できあがり!"         },         {             "nameEn": "Cure Chocolat",+            "variationEn": "",             "nameJa": "キュアショコラ",+            "variationJa": "",             "id": "CureChocolat",-            "introducesHerselfAs": "チョコレート!強さと愛を!レッツ・ラ・まぜまぜ!キュアショコラ!できあがり!",-            "variation": ""+            "introducesHerselfAs": "チョコレート!強さと愛を!レッツ・ラ・まぜまぜ!キュアショコラ!できあがり!"         },         {             "nameEn": "Cure Parfait",+            "variationEn": "",             "nameJa": "キュアパルフェ",+            "variationJa": "",             "id": "CureParfait",-            "introducesHerselfAs": "パフェ!夢と希望を!レッツ・ラ・まぜまぜ!キュアパルフェ!できあがり!",-            "variation": ""+            "introducesHerselfAs": "パフェ!夢と希望を!レッツ・ラ・まぜまぜ!キュアパルフェ!できあがり!"+        },+        {+            "nameEn": "Cure Whip",+            "variationEn": "A La Mode Style",+            "nameJa": "キュアホイップ",+            "variationJa": "アラモードスタイル",+            "id": "CureWhip_ALaModeStyle",+            "introducesHerselfAs": "ショートケーキ!元気と笑顔を!レッツ・ラ・まぜまぜ!キュアホイップ!できあがり!"+        },+        {+            "nameEn": "Cure Custard",+            "variationEn": "A La Mode Style",+            "nameJa": "キュアカスタード",+            "variationJa": "アラモードスタイル",+            "id": "CureCustard_ALaModeStyle",+            "introducesHerselfAs": "プリン!知性と勇気を!レッツ・ラ・まぜまぜ!キュアカスタード!できあがり!"+        },+        {+            "nameEn": "Cure Gelato",+            "variationEn": "A La Mode Style",+            "nameJa": "キュアジェラート",+            "variationJa": "アラモードスタイル",+            "id": "CureGelato_ALaModeStyle",+            "introducesHerselfAs": "アイス!自由と情熱を!レッツ・ラ・まぜまぜ!キュアジェラート!できあがり!"+        },+        {+            "nameEn": "Cure Macaron",+            "variationEn": "A La Mode Style",+            "nameJa": "キュアマカロン",+            "variationJa": "アラモードスタイル",+            "id": "CureMacaron_ALaModeStyle",+            "introducesHerselfAs": "マカロン!美しさとトキメキを!レッツ・ラ・まぜまぜ!キュアマカロン!できあがり!"+        },+        {+            "nameEn": "Cure Chocolat",+            "variationEn": "A La Mode Style",+            "nameJa": "キュアショコラ",+            "variationJa": "アラモードスタイル",+            "id": "CureChocolat_ALaModeStyle",+            "introducesHerselfAs": "チョコレート!強さと愛を!レッツ・ラ・まぜまぜ!キュアショコラ!できあがり!"+        },+        {+            "nameEn": "Cure Parfait",+            "variationEn": "A La Mode Style",+            "nameJa": "キュアパルフェ",+            "variationJa": "アラモードスタイル",+            "id": "CureParfait_ALaModeStyle",+            "introducesHerselfAs": "パフェ!夢と希望を!レッツ・ラ・まぜまぜ!キュアパルフェ!できあがり!"         }     ],     "girls": [@@ -328,6 +388,71 @@                 "CureChocolat",                 "CureParfait"             ]+        },+        {+            "specialItems": [+                {+                    "a": [+                        "SweetsCastle"+                    ],+                    "i": "KirakiraruCreamer"+                },+                {+                    "a": [+                        "CrystalAnimalRabbit"+                    ],+                    "i": "KirakiraruCreamer"+                },+                {+                    "a": [+                        "CrystalAnimalSquirrel"+                    ],+                    "i": "KirakiraruCreamer"+                },+                {+                    "a": [+                        "CrystalAnimalLion"+                    ],+                    "i": "KirakiraruCreamer"+                },+                {+                    "a": [+                        "CrystalAnimalCat"+                    ],+                    "i": "KirakiraruCreamer"+                },+                {+                    "a": [+                        "CrystalAnimalDog"+                    ],+                    "i": "KirakiraruCreamer"+                },+                {+                    "a": [+                        "CrystalAnimalPegasus"+                    ],+                    "i": "KirakiraruCreamer"+                }+            ],+            "speech": [+                "キラッと輝け!",+                "クリスタルアニマル!",+                "ぴょーん!",+                "くるるっ!",+                "がぁおー!",+                "にゃーお!",+                "わん!",+                "ぱたた!",+                "プリキュア・ファンタスティックアニマーレ!"+            ],+            "purifier": [+                "CureWhip_ALaModeStyle",+                "CureCustard_ALaModeStyle",+                "CureGelato_ALaModeStyle",+                "CureMacaron_ALaModeStyle",+                "CureChocolat_ALaModeStyle",+                "CureParfait_ALaModeStyle"+            ]         }     ],     "transformations": [@@ -1029,6 +1154,50 @@                 "Yukari",                 "Akira"             ]+        },+        {+            "specialItems": [+                {+                    "a": [+                        "SweetsCastle"+                    ],+                    "i": "KirakiraruCreamer"+                }+            ],+            "transformees": [+                "CureWhip_ALaModeStyle",+                "CureCustard_ALaModeStyle",+                "CureGelato_ALaModeStyle",+                "CureMacaron_ALaModeStyle",+                "CureChocolat_ALaModeStyle"+            ],+            "speech": [+                "スイーツキャッスル!",+                "レッツ・ラ・おきがえ!"+            ],+            "transformers": [+                "CureWhip",+                "CureCustard",+                "CureGelato",+                "CureMacaron",+                "CureChocolat"+            ]+        }+    ],+    "transformedGroups": [+        {+            "nameEn": "Kirakira PreCure A La Mode",+            "variationEn": "",+            "nameJa": "キラキラ☆プリキュアアラモード",+            "variationJa": "",+            "id": "KirakiraPreCureALaMode"+        },+        {+            "nameEn": "Kirakira PreCure A La Mode",+            "variationEn": "A La Mode Style",+            "nameJa": "キラキラ☆プリキュアアラモード",+            "variationJa": "アラモードスタイル",+            "id": "KirakiraPreCureALaMode_ALaModeStyle"         }     ] }
src/ACME/PreCure/Index.hs view
@@ -50,13 +50,14 @@               fmap concat $ forM textbookMods $ \eachSeriesMod {- ACME.PreCure.Textbook.*.* -} ->                 concat <$> loadAnnotations eachSeriesMod -        gs <- collectAnnotationsFromEachSeriesModules-        ts <- collectAnnotationsFromEachSeriesModules-        is <- collectAnnotationsFromEachSeriesModules-        trs <- collectAnnotationsFromEachSeriesModules-        prs <- collectAnnotationsFromEachSeriesModules--        let index = mkIndex gs ts is trs prs+        index <-+          mkIndex+            <$> collectAnnotationsFromEachSeriesModules+            <*> collectAnnotationsFromEachSeriesModules+            <*> collectAnnotationsFromEachSeriesModules+            <*> collectAnnotationsFromEachSeriesModules+            <*> collectAnnotationsFromEachSeriesModules+            <*> collectAnnotationsFromEachSeriesModules         runIO $ ByteString.writeFile "gen/cure-index.json" $ encode index         runIO $ ByteString.writeFile "gen/pretty-cure-index.json" $ encodePretty index         tupE []
src/ACME/PreCure/Index/Types.hs view
@@ -6,6 +6,7 @@ module ACME.PreCure.Index.Types   ( Girl(Girl)   , Transformee(Transformee)+  , TransformedGroup(TransformedGroup)   , SpecialItem(SpecialItem)   , IdAttachments(IdAttachments)   , Transformation(Transformation)@@ -13,6 +14,7 @@   , Index   , mkGirl   , mkTransformee+  , mkTransformedGroup   , mkSpecialItem   , mkIA   , mkTransformation@@ -48,21 +50,45 @@ mkGirl ne = Girl (head $ words ne) ne  +typeNamify :: String -> String+typeNamify = concat . words+++prefixify :: String -> String+prefixify ve = if null ve then "" else '_' : typeNamify ve++ data Transformee =   Transformee     { transformedId :: String     , transformedNameEn :: String+    , transformedVariationEn :: String     , transformedNameJa :: String+    , transformedVariationJa :: String     , transformedIntroducesHerselfAs :: String-    , transformedVariation :: String     } deriving (Eq, Show, Data)  $(deriveToJsonWithoutTypeNamePrefix ''Transformee) -mkTransformee :: String -> String -> String -> String -> Transformee-mkTransformee ne = Transformee (concat $ words ne) ne+mkTransformee :: String -> String -> String -> String -> String -> Transformee+mkTransformee ne ve = Transformee (typeNamify ne ++ prefixify ve) ne ve  +data TransformedGroup =+  TransformedGroup+    { transformedGroupId :: String+    , transformedGroupNameEn :: String+    , transformedGroupVariationEn :: String+    , transformedGroupNameJa :: String+    , transformedGroupVariationJa :: String+    } deriving (Eq, Show, Data)++$(deriveToJsonWithoutTypeNamePrefix ''TransformedGroup)++mkTransformedGroup :: String -> String -> String -> String -> TransformedGroup+mkTransformedGroup ne ve = TransformedGroup (typeNamify ne ++ prefixify ve) ne ve++ data SpecialItem =   SpecialItem     { specialItemId :: String@@ -74,7 +100,7 @@ $(deriveToJsonWithoutTypeNamePrefix ''SpecialItem)  mkSpecialItem :: String -> String -> [String] -> SpecialItem-mkSpecialItem ne = SpecialItem (concat $ words ne) ne+mkSpecialItem ne = SpecialItem (typeNamify ne) ne   data IdAttachments =@@ -127,6 +153,7 @@   Index     { indexGirls :: [Girl]     , indexTransformees :: [Transformee]+    , indexTransformedGroups :: [TransformedGroup]     , indexSpecialItems :: [SpecialItem]     , indexTransformations :: [Transformation]     , indexPurifications :: [Purification]@@ -137,6 +164,7 @@ mkIndex   :: [Girl]   -> [Transformee]+  -> [TransformedGroup]   -> [SpecialItem]   -> [Transformation]   -> [Purification]
src/ACME/PreCure/Textbook/KirakiraALaMode/Profiles.hs view
@@ -19,15 +19,39 @@  transformees :: [Transformee] transformees =-  [ mkTransformee "Cure Whip" "キュアホイップ" (concat introducesHerselfAs_CureWhip) ""-  , mkTransformee "Cure Custard" "キュアカスタード" (concat introducesHerselfAs_CureCustard) ""-  , mkTransformee "Cure Gelato" "キュアジェラート" (concat introducesHerselfAs_CureGelato) ""-  , mkTransformee "Cure Macaron" "キュアマカロン" (concat introducesHerselfAs_CureMacaron) ""-  , mkTransformee "Cure Chocolat" "キュアショコラ" (concat introducesHerselfAs_CureChocolat) ""-  , mkTransformee "Cure Parfait" "キュアパルフェ" (concat introducesHerselfAs_CureParfait) ""+  [ mkTransformee "Cure Whip" "" "キュアホイップ" "" (concat introducesHerselfAs_CureWhip)+  , mkTransformee "Cure Custard" "" "キュアカスタード" "" (concat introducesHerselfAs_CureCustard)+  , mkTransformee "Cure Gelato" "" "キュアジェラート" "" (concat introducesHerselfAs_CureGelato)+  , mkTransformee "Cure Macaron" "" "キュアマカロン" "" (concat introducesHerselfAs_CureMacaron)+  , mkTransformee "Cure Chocolat" "" "キュアショコラ" "" (concat introducesHerselfAs_CureChocolat)+  , mkTransformee "Cure Parfait" "" "キュアパルフェ" "" (concat introducesHerselfAs_CureParfait)++  , mkTransformee "Cure Whip" aLaModeStyleEn "キュアホイップ" aLaModeStyle (concat introducesHerselfAs_CureWhip)+  , mkTransformee "Cure Custard" aLaModeStyleEn "キュアカスタード" aLaModeStyle (concat introducesHerselfAs_CureCustard)+  , mkTransformee "Cure Gelato" aLaModeStyleEn "キュアジェラート" aLaModeStyle (concat introducesHerselfAs_CureGelato)+  , mkTransformee "Cure Macaron" aLaModeStyleEn "キュアマカロン" aLaModeStyle (concat introducesHerselfAs_CureMacaron)+  , mkTransformee "Cure Chocolat" aLaModeStyleEn "キュアショコラ" aLaModeStyle (concat introducesHerselfAs_CureChocolat)+  , mkTransformee "Cure Parfait" aLaModeStyleEn "キュアパルフェ" aLaModeStyle (concat introducesHerselfAs_CureParfait)   ]  +transformedGroups :: [TransformedGroup]+transformedGroups =+  [ mkTransformedGroup ne "" nj ""+  , mkTransformedGroup ne aLaModeStyleEn nj aLaModeStyle+  ]+  where+    ne = "Kirakira PreCure A La Mode"+    nj = "キラキラ☆プリキュアアラモード"+++aLaModeStyle :: String+aLaModeStyle = "アラモードスタイル"++aLaModeStyleEn :: String+aLaModeStyleEn = "A La Mode Style"++ specialItems :: [SpecialItem] specialItems =   [ mkSpecialItem "Sweets Pact"        "スイーツパクト"       ["Animal Sweets"]@@ -46,6 +70,7 @@   , mkSpecialItem "Crystal Animal Cat"      "クリスタルアニマルねこ"     []   , mkSpecialItem "Crystal Animal Dog"      "クリスタルアニマルいぬ"     []   , mkSpecialItem "Crystal Animal Pegasus"  "クリスタルアニマルペガサス" []+  , mkSpecialItem "SweetsCastle" "スイーツキャッスル" []   ]  @@ -122,6 +147,16 @@               , introducesHerselfAs_CureChocolat               ]           )+      , mkTransformation+          ["CureWhip", "CureCustard", "CureGelato", "CureMacaron", "CureChocolat"]+          [mkIA "KirakiraruCreamer" ["SweetsCastle"]]+          [ "CureWhip_ALaModeStyle"+          , "CureCustard_ALaModeStyle"+          , "CureGelato_ALaModeStyle"+          , "CureMacaron_ALaModeStyle"+          , "CureChocolat_ALaModeStyle"+          ]+          ["スイーツキャッスル!", "レッツ・ラ・おきがえ!"]       ]  @@ -141,6 +176,27 @@       ["キャンディーロッド!", "キラキラキラル・フルチャージ!", "スイー・ツー・ワンダフル・アラモード!"]   , mkPurification       ["CureWhip", "CureCustard", "CureGelato", "CureMacaron", "CureChocolat", "CureParfait"]+      crystalAnimals+      ( ["キラキラルクリーマー!", "キラッと輝け!クリスタルアニマル!"]+        ++ crystalAnimalCries+        ++ ["プリキュア・アニマルゴーランド!"]+      )+  , mkPurification+      [ "CureWhip_ALaModeStyle"+      , "CureCustard_ALaModeStyle"+      , "CureGelato_ALaModeStyle"+      , "CureMacaron_ALaModeStyle"+      , "CureChocolat_ALaModeStyle"+      , "CureParfait_ALaModeStyle"+      ]+      (mkIA "KirakiraruCreamer" ["SweetsCastle"] : crystalAnimals)+      ( ["キラッと輝け!", "クリスタルアニマル!"]+        ++ crystalAnimalCries+        ++ ["プリキュア・ファンタスティックアニマーレ!"]+      )+  ]+  where+    crystalAnimals =       [ mkIA "KirakiraruCreamer" ["CrystalAnimalRabbit"]       , mkIA "KirakiraruCreamer" ["CrystalAnimalSquirrel"]       , mkIA "KirakiraruCreamer" ["CrystalAnimalLion"]@@ -148,17 +204,14 @@       , mkIA "KirakiraruCreamer" ["CrystalAnimalDog"]       , mkIA "KirakiraruCreamer" ["CrystalAnimalPegasus"]       ]-      [ "キラキラルクリーマー!"-      , "キラッと輝け!クリスタルアニマル!"-      , "ぴょーん!"+    crystalAnimalCries =+      [ "ぴょーん!"       , "くるるっ!"       , "がぁおー!"       , "にゃーお!"       , "わん!"       , "ぱたた!"-      , "プリキュア・アニマルゴーランド!"       ]-  ]   groupName_KirakiraALaMode = "キラキラ☆プリキュアアラモード"
src/ACME/PreCure/Textbook/KirakiraALaMode/Types.hs view
@@ -16,6 +16,9 @@ {-# ANN module transformees #-} $(declareTransformees transformees) +{-# ANN module transformedGroups #-}+$(declareTransformedGroups transformedGroups)+ {-# ANN module specialItems #-} $(declareSpecialItems specialItems) 
src/ACME/PreCure/Types/TH.hs view
@@ -3,6 +3,7 @@ module ACME.PreCure.Types.TH         ( declareGirls         , declareTransformees+        , declareTransformedGroups         , declareSpecialItems         , declareTransformations         , declarePurifications@@ -84,12 +85,20 @@       defineWith name $ girlInstance (conT name) j  +declareTransformedGroups :: [Index.TransformedGroup] -> DecsQ+declareTransformedGroups = fmap concat . mapM d+  where+    d (Index.TransformedGroup n _e _ve j vj) = do+      let name = mkName n+      defineWith name $ transformedGroupInstance (conT name) j vj++ declareTransformees :: [Index.Transformee] -> DecsQ declareTransformees = fmap concat . mapM d   where-    d (Index.Transformee n _e j intro vari) = do+    d (Index.Transformee n _ne _ve j vj intro) = do       let name = mkName n-      defineWith name $ transformedInstance (conT name) j intro vari+      defineWith name $ transformedInstance (conT name) j intro vj   declareSpecialItems :: [Index.SpecialItem] -> DecsQ
typesafe-precure.cabal view
@@ -1,5 +1,5 @@ name:                 typesafe-precure-version:              0.4.0.0+version:              0.5.0.0 synopsis:             Type-safe transformations and purifications of PreCures (Japanese Battle Heroine) description:          See README.md for details. homepage:             https://github.com/igrep/typesafe-precure#readme