@sigil-sifter/magic 1.0.1 → 1.0.2

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 (97) hide show
  1. package/LICENSE +7 -7
  2. package/README.md +96 -95
  3. package/package.json +1 -1
  4. package/src/core/MagicCard.js +250 -250
  5. package/src/core/helpers.js +6 -6
  6. package/src/core/index.js +3 -3
  7. package/src/data/abilityWords.js +66 -66
  8. package/src/data/colors.js +15 -15
  9. package/src/data/gameFormats.js +25 -25
  10. package/src/data/games.js +5 -5
  11. package/src/data/guilds.js +33 -33
  12. package/src/data/languages.js +30 -30
  13. package/src/data/rarities.js +25 -25
  14. package/src/expressions/ArrayLengthExpression.js +15 -15
  15. package/src/expressions/ColorExpression.js +40 -40
  16. package/src/expressions/DevotionExpression.js +56 -56
  17. package/src/expressions/EvenOddExpression.js +43 -43
  18. package/src/expressions/ExactStringExpression.js +11 -11
  19. package/src/expressions/FormatExpression.js +19 -19
  20. package/src/expressions/GameExpression.js +19 -19
  21. package/src/expressions/KeywordAbilityExpression.js +33 -33
  22. package/src/expressions/LanguageExpression.js +34 -34
  23. package/src/expressions/ManaExpression.js +36 -36
  24. package/src/expressions/PowTouExpression.js +41 -41
  25. package/src/expressions/ProducesExpression.js +35 -35
  26. package/src/expressions/RarityExpression.js +30 -30
  27. package/src/expressions/has/IndicatorExpression.js +11 -11
  28. package/src/expressions/has/WatermarkExpression.js +11 -11
  29. package/src/expressions/is/BoosterExpression.js +11 -11
  30. package/src/expressions/is/DFCExpression.js +11 -11
  31. package/src/expressions/is/EtchedExpression.js +11 -11
  32. package/src/expressions/is/FlipExpression.js +11 -11
  33. package/src/expressions/is/FoilExpression.js +11 -11
  34. package/src/expressions/is/FrenchVanillaExpression.js +11 -11
  35. package/src/expressions/is/FullArtExpression.js +11 -11
  36. package/src/expressions/is/GlossyExpression.js +11 -11
  37. package/src/expressions/is/HistoricExpression.js +11 -11
  38. package/src/expressions/is/HybridExpression.js +11 -11
  39. package/src/expressions/is/LevelerExpression.js +11 -11
  40. package/src/expressions/is/MDFCExpression.js +11 -11
  41. package/src/expressions/is/MeldExpression.js +11 -11
  42. package/src/expressions/is/ModalExpression.js +11 -11
  43. package/src/expressions/is/NonFoilExpression.js +11 -11
  44. package/src/expressions/is/PartyExpression.js +11 -11
  45. package/src/expressions/is/PermanentExpression.js +11 -11
  46. package/src/expressions/is/PhyrexianExpression.js +11 -11
  47. package/src/expressions/is/PromoExpression.js +11 -11
  48. package/src/expressions/is/ReprintExpression.js +11 -11
  49. package/src/expressions/is/ReservedExpression.js +11 -11
  50. package/src/expressions/is/SpellExpression.js +11 -11
  51. package/src/expressions/is/SplitExpression.js +11 -11
  52. package/src/expressions/is/SpotlightExpression.js +11 -11
  53. package/src/expressions/is/TextlessExpression.js +11 -11
  54. package/src/expressions/is/TransformExpression.js +11 -11
  55. package/src/expressions/is/UniversesBeyondExpression.js +11 -11
  56. package/src/expressions/is/VanillaExpression.js +11 -11
  57. package/src/expressions/is/index.js +59 -59
  58. package/src/extensions/ColorExtension.js +22 -22
  59. package/src/extensions/FormatExtension.js +15 -15
  60. package/src/extensions/GameExtension.js +15 -15
  61. package/src/extensions/KeywordExtension.js +11 -11
  62. package/src/extensions/LanguageExtension.js +15 -15
  63. package/src/extensions/RarityExtension.js +20 -20
  64. package/src/extensions/SetExtension.js +13 -13
  65. package/src/index.js +30 -30
  66. package/src/keywords/AbilityKeyword.js +16 -16
  67. package/src/keywords/ArtistKeyword.js +11 -11
  68. package/src/keywords/BannedKeyword.js +21 -21
  69. package/src/keywords/BorderKeyword.js +21 -21
  70. package/src/keywords/CardTypeKeyword.js +11 -11
  71. package/src/keywords/CollectorNumberKeyword.js +16 -16
  72. package/src/keywords/ColorIdentityKeyword.js +11 -11
  73. package/src/keywords/ColorKeyword.js +17 -17
  74. package/src/keywords/DevotionKeyword.js +21 -21
  75. package/src/keywords/FlavorTextKeyword.js +11 -11
  76. package/src/keywords/FormatKeyword.js +21 -21
  77. package/src/keywords/FrameKeyword.js +22 -22
  78. package/src/keywords/GameKeyword.js +21 -21
  79. package/src/keywords/HasKeyword.js +13 -13
  80. package/src/keywords/IsKeyword.js +17 -17
  81. package/src/keywords/LanguageKeyword.js +16 -16
  82. package/src/keywords/LoyaltyKeyword.js +16 -16
  83. package/src/keywords/ManaCostKeyword.js +20 -20
  84. package/src/keywords/ManaValueKeyword.js +17 -17
  85. package/src/keywords/NameKeyword.js +11 -11
  86. package/src/keywords/NotKeyword.js +21 -21
  87. package/src/keywords/PowerKeyword.js +29 -29
  88. package/src/keywords/ProducesKeyword.js +16 -16
  89. package/src/keywords/RarityKeyword.js +16 -16
  90. package/src/keywords/RestrictedKeyword.js +21 -21
  91. package/src/keywords/RulesTextKeyword.js +11 -11
  92. package/src/keywords/SetKeyword.js +21 -21
  93. package/src/keywords/SetTypeKeyword.js +21 -21
  94. package/src/keywords/StampKeyword.js +21 -21
  95. package/src/keywords/ToughnessKeyword.js +29 -29
  96. package/src/keywords/WatermarkKeyword.js +16 -16
  97. package/src/keywords/index.js +65 -65
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class HistoricExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^historic/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isHistoric;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class HistoricExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^historic/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isHistoric;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class HybridExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^hybrid/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isHybrid;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class HybridExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^hybrid/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isHybrid;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class LevelerExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^leveler/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isLeveler;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class LevelerExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^leveler/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isLeveler;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class MDFCExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^mdfc/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isMDFC;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class MDFCExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^mdfc/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isMDFC;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class MeldExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^meld/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isMeld;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class MeldExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^meld/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isMeld;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class ModalExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^modal/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isModal;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class ModalExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^modal/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isModal;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class NonFoilExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^nonfoil/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isNonFoil;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class NonFoilExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^nonfoil/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isNonFoil;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class PartyExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^party/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isParty;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class PartyExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^party/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isParty;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class PermanentExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^permanent/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isPermanent;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class PermanentExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^permanent/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isPermanent;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class PhyrexianExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^phyrexian/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isPhyrexian;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class PhyrexianExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^phyrexian/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isPhyrexian;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class PromoExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^promo/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isPromo;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class PromoExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^promo/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isPromo;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class ReprintExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^reprint/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isReprint;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class ReprintExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^reprint/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isReprint;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class ReservedExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^reserved/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isReserved;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class ReservedExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^reserved/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isReserved;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class SpellExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^spell/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isSpell;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class SpellExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^spell/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isSpell;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class SplitExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^split/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isSplit;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class SplitExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^split/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isSplit;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class SpotlightExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^spotlight/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isSpotlight;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class SpotlightExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^spotlight/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isSpotlight;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class TextlessExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^textless/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isTextless;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class TextlessExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^textless/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isTextless;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class TransformExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^transform/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isTransform;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class TransformExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^transform/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isTransform;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class UniversesBeyondExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^(ub|universesbeyond)/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isUniversesBeyond;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class UniversesBeyondExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^(ub|universesbeyond)/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isUniversesBeyond;
10
+ }
11
+ }
@@ -1,11 +1,11 @@
1
- import { Expression } from 'sigil-sifter/expressions';
2
-
3
- export default class VanillaExpression extends Expression {
4
- static match(sifter, str) {
5
- return str.match(/^vanilla/i);
6
- }
7
-
8
- includes(card) {
9
- return card.isVanilla;
10
- }
11
- }
1
+ import { Expression } from 'sigil-sifter/expressions';
2
+
3
+ export default class VanillaExpression extends Expression {
4
+ static match(sifter, str) {
5
+ return str.match(/^vanilla/i);
6
+ }
7
+
8
+ includes(card) {
9
+ return card.isVanilla;
10
+ }
11
+ }
@@ -1,59 +1,59 @@
1
- import BoosterExpression from './BoosterExpression.js';
2
- import DFCExpression from './DFCExpression.js';
3
- import EtchedExpression from './EtchedExpression.js';
4
- import FlipExpression from './FlipExpression.js';
5
- import FoilExpression from './FoilExpression.js';
6
- import FullArtExpression from './FullArtExpression.js';
7
- import FrenchVanillaExpression from './FrenchVanillaExpression.js';
8
- import GlossyExpression from './GlossyExpression.js';
9
- import HistoricExpression from './HistoricExpression.js';
10
- import HybridExpression from './HybridExpression.js';
11
- import LevelerExpression from './LevelerExpression.js';
12
- import MDFCExpression from './MDFCExpression.js';
13
- import MeldExpression from './MeldExpression.js';
14
- import ModalExpression from './ModalExpression.js';
15
- import NonFoilExpression from './NonFoilExpression.js';
16
- import PartyExpression from './PartyExpression.js';
17
- import PermanentExpression from './PermanentExpression.js';
18
- import PhyrexianExpression from './PhyrexianExpression.js';
19
- import PromoExpression from './PromoExpression.js';
20
- import ReprintExpression from './ReprintExpression.js';
21
- import ReservedExpression from './ReservedExpression.js';
22
- import SpellExpression from './SpellExpression.js';
23
- import SplitExpression from './SplitExpression.js';
24
- import SpotlightExpression from './SpotlightExpression.js';
25
- import TextlessExpression from './TextlessExpression.js';
26
- import TransformExpression from './TransformExpression.js';
27
- import UniversesBeyondExpression from './UniversesBeyondExpression.js';
28
- import VanillaExpression from './VanillaExpression.js';
29
-
30
- export {
31
- BoosterExpression,
32
- DFCExpression,
33
- EtchedExpression,
34
- FlipExpression,
35
- FoilExpression,
36
- FrenchVanillaExpression,
37
- FullArtExpression,
38
- GlossyExpression,
39
- HistoricExpression,
40
- HybridExpression,
41
- LevelerExpression,
42
- MDFCExpression,
43
- MeldExpression,
44
- ModalExpression,
45
- NonFoilExpression,
46
- PartyExpression,
47
- PermanentExpression,
48
- PhyrexianExpression,
49
- PromoExpression,
50
- ReprintExpression,
51
- ReservedExpression,
52
- SpellExpression,
53
- SplitExpression,
54
- SpotlightExpression,
55
- TextlessExpression,
56
- TransformExpression,
57
- UniversesBeyondExpression,
58
- VanillaExpression,
59
- }
1
+ import BoosterExpression from './BoosterExpression.js';
2
+ import DFCExpression from './DFCExpression.js';
3
+ import EtchedExpression from './EtchedExpression.js';
4
+ import FlipExpression from './FlipExpression.js';
5
+ import FoilExpression from './FoilExpression.js';
6
+ import FullArtExpression from './FullArtExpression.js';
7
+ import FrenchVanillaExpression from './FrenchVanillaExpression.js';
8
+ import GlossyExpression from './GlossyExpression.js';
9
+ import HistoricExpression from './HistoricExpression.js';
10
+ import HybridExpression from './HybridExpression.js';
11
+ import LevelerExpression from './LevelerExpression.js';
12
+ import MDFCExpression from './MDFCExpression.js';
13
+ import MeldExpression from './MeldExpression.js';
14
+ import ModalExpression from './ModalExpression.js';
15
+ import NonFoilExpression from './NonFoilExpression.js';
16
+ import PartyExpression from './PartyExpression.js';
17
+ import PermanentExpression from './PermanentExpression.js';
18
+ import PhyrexianExpression from './PhyrexianExpression.js';
19
+ import PromoExpression from './PromoExpression.js';
20
+ import ReprintExpression from './ReprintExpression.js';
21
+ import ReservedExpression from './ReservedExpression.js';
22
+ import SpellExpression from './SpellExpression.js';
23
+ import SplitExpression from './SplitExpression.js';
24
+ import SpotlightExpression from './SpotlightExpression.js';
25
+ import TextlessExpression from './TextlessExpression.js';
26
+ import TransformExpression from './TransformExpression.js';
27
+ import UniversesBeyondExpression from './UniversesBeyondExpression.js';
28
+ import VanillaExpression from './VanillaExpression.js';
29
+
30
+ export {
31
+ BoosterExpression,
32
+ DFCExpression,
33
+ EtchedExpression,
34
+ FlipExpression,
35
+ FoilExpression,
36
+ FrenchVanillaExpression,
37
+ FullArtExpression,
38
+ GlossyExpression,
39
+ HistoricExpression,
40
+ HybridExpression,
41
+ LevelerExpression,
42
+ MDFCExpression,
43
+ MeldExpression,
44
+ ModalExpression,
45
+ NonFoilExpression,
46
+ PartyExpression,
47
+ PermanentExpression,
48
+ PhyrexianExpression,
49
+ PromoExpression,
50
+ ReprintExpression,
51
+ ReservedExpression,
52
+ SpellExpression,
53
+ SplitExpression,
54
+ SpotlightExpression,
55
+ TextlessExpression,
56
+ TransformExpression,
57
+ UniversesBeyondExpression,
58
+ VanillaExpression,
59
+ }
@@ -1,22 +1,22 @@
1
- import defaultColors from '../data/colors.js';
2
- import defaultGuilds from '../data/guilds.js';
3
-
4
- export default class ColorExtension {
5
- constructor(data) {
6
- this.colors = data.colors || defaultColors;
7
- this.guilds = data.guilds || defaultGuilds;
8
- }
9
-
10
- resolveColors(str) {
11
- const allOptions = this.colors.concat(this.guilds);
12
- const colorByName = allOptions.find(c => c.expr.test(str));
13
- return colorByName
14
- ? colorByName.colorChars
15
- : [...new Set(str.toUpperCase().split(''))];
16
- }
17
-
18
- get colorNamesExpr() {
19
- const colorNames = this.colors.concat(this.guilds).map(c => c.name);
20
- return new RegExp(`^(${colorNames.join('|')})`, 'i');
21
- }
22
- }
1
+ import defaultColors from '../data/colors.js';
2
+ import defaultGuilds from '../data/guilds.js';
3
+
4
+ export default class ColorExtension {
5
+ constructor(data) {
6
+ this.colors = data.colors || defaultColors;
7
+ this.guilds = data.guilds || defaultGuilds;
8
+ }
9
+
10
+ resolveColors(str) {
11
+ const allOptions = this.colors.concat(this.guilds);
12
+ const colorByName = allOptions.find(c => c.expr.test(str));
13
+ return colorByName
14
+ ? colorByName.colorChars
15
+ : [...new Set(str.toUpperCase().split(''))];
16
+ }
17
+
18
+ get colorNamesExpr() {
19
+ const colorNames = this.colors.concat(this.guilds).map(c => c.name);
20
+ return new RegExp(`^(${colorNames.join('|')})`, 'i');
21
+ }
22
+ }