@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,22 +1,22 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import ExactStringExpression from '../expressions/ExactStringExpression.js';
3
- import { EqualsOperator, IncludesOperator } from 'sigil-sifter/operators';
4
-
5
- export default class FrameKeyword extends Keyword {
6
- static get keys() {
7
- return ['frame'];
8
- }
9
-
10
- static get supportedOperators() {
11
- return [IncludesOperator, EqualsOperator];
12
- }
13
-
14
- static get supportedExpressions() {
15
- return [ExactStringExpression];
16
- }
17
-
18
- test(card) {
19
- return super.test(card.frame)
20
- || card.frameEffects.some(fe => super.test(fe));
21
- }
22
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import ExactStringExpression from '../expressions/ExactStringExpression.js';
3
+ import { EqualsOperator, IncludesOperator } from 'sigil-sifter/operators';
4
+
5
+ export default class FrameKeyword extends Keyword {
6
+ static get keys() {
7
+ return ['frame'];
8
+ }
9
+
10
+ static get supportedOperators() {
11
+ return [IncludesOperator, EqualsOperator];
12
+ }
13
+
14
+ static get supportedExpressions() {
15
+ return [ExactStringExpression];
16
+ }
17
+
18
+ test(card) {
19
+ return super.test(card.frame)
20
+ || card.frameEffects.some(fe => super.test(fe));
21
+ }
22
+ }
@@ -1,21 +1,21 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import GameExpression from '../expressions/GameExpression.js';
3
- import { EqualsOperator, IncludesOperator } from 'sigil-sifter/operators';
4
-
5
- export default class GameKeyword extends Keyword {
6
- static get keys() {
7
- return ['game'];
8
- }
9
-
10
- static get supportedOperators() {
11
- return [IncludesOperator, EqualsOperator];
12
- }
13
-
14
- static get supportedExpressions() {
15
- return [GameExpression];
16
- }
17
-
18
- test(card) {
19
- return super.test(card.games);
20
- }
21
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import GameExpression from '../expressions/GameExpression.js';
3
+ import { EqualsOperator, IncludesOperator } from 'sigil-sifter/operators';
4
+
5
+ export default class GameKeyword extends Keyword {
6
+ static get keys() {
7
+ return ['game'];
8
+ }
9
+
10
+ static get supportedOperators() {
11
+ return [IncludesOperator, EqualsOperator];
12
+ }
13
+
14
+ static get supportedExpressions() {
15
+ return [GameExpression];
16
+ }
17
+
18
+ test(card) {
19
+ return super.test(card.games);
20
+ }
21
+ }
@@ -1,13 +1,13 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import IndicatorExpression from '../expressions/has/IndicatorExpression.js';
3
- import WatermarkExpression from '../expressions/has/WatermarkExpression.js';
4
-
5
- export default class HasKeyword extends Keyword {
6
- static get keys() {
7
- return ['has'];
8
- }
9
-
10
- static get supportedExpressions() {
11
- return [IndicatorExpression, WatermarkExpression];
12
- }
13
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import IndicatorExpression from '../expressions/has/IndicatorExpression.js';
3
+ import WatermarkExpression from '../expressions/has/WatermarkExpression.js';
4
+
5
+ export default class HasKeyword extends Keyword {
6
+ static get keys() {
7
+ return ['has'];
8
+ }
9
+
10
+ static get supportedExpressions() {
11
+ return [IndicatorExpression, WatermarkExpression];
12
+ }
13
+ }
@@ -1,17 +1,17 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import { IncludesOperator } from 'sigil-sifter/operators';
3
- import * as booleanExpressions from '../expressions/is/index.js';
4
-
5
- export default class IsKeyword extends Keyword {
6
- static get keys() {
7
- return ['is'];
8
- }
9
-
10
- static get supportedOperators() {
11
- return [IncludesOperator];
12
- }
13
-
14
- static get supportedExpressions() {
15
- return Object.values(booleanExpressions);
16
- }
17
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import { IncludesOperator } from 'sigil-sifter/operators';
3
+ import * as booleanExpressions from '../expressions/is/index.js';
4
+
5
+ export default class IsKeyword extends Keyword {
6
+ static get keys() {
7
+ return ['is'];
8
+ }
9
+
10
+ static get supportedOperators() {
11
+ return [IncludesOperator];
12
+ }
13
+
14
+ static get supportedExpressions() {
15
+ return Object.values(booleanExpressions);
16
+ }
17
+ }
@@ -1,16 +1,16 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import LanguageExpression from '../expressions/LanguageExpression.js';
3
-
4
- export default class LanguageKeyword extends Keyword {
5
- static get keys() {
6
- return ['language', 'lang'];
7
- }
8
-
9
- static get supportedExpressions() {
10
- return [LanguageExpression];
11
- }
12
-
13
- test(card) {
14
- return super.test(card.language);
15
- }
16
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import LanguageExpression from '../expressions/LanguageExpression.js';
3
+
4
+ export default class LanguageKeyword extends Keyword {
5
+ static get keys() {
6
+ return ['language', 'lang'];
7
+ }
8
+
9
+ static get supportedExpressions() {
10
+ return [LanguageExpression];
11
+ }
12
+
13
+ test(card) {
14
+ return super.test(card.language);
15
+ }
16
+ }
@@ -1,16 +1,16 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import { NumericExpression } from 'sigil-sifter/expressions';
3
-
4
- export default class LoyaltyKeyword extends Keyword {
5
- static get keys() {
6
- return ['loyalty', 'loy'];
7
- }
8
-
9
- static get supportedExpressions() {
10
- return [NumericExpression];
11
- }
12
-
13
- test(card) {
14
- return super.test(card.loyalty);
15
- }
16
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import { NumericExpression } from 'sigil-sifter/expressions';
3
+
4
+ export default class LoyaltyKeyword extends Keyword {
5
+ static get keys() {
6
+ return ['loyalty', 'loy'];
7
+ }
8
+
9
+ static get supportedExpressions() {
10
+ return [NumericExpression];
11
+ }
12
+
13
+ test(card) {
14
+ return super.test(card.loyalty);
15
+ }
16
+ }
@@ -1,20 +1,20 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import { ManaCost } from 'mana-scribe';
3
- import ManaExpression from '../expressions/ManaExpression.js';
4
-
5
- export default class ManaCostKeyword extends Keyword {
6
- static get keys() {
7
- return ['mana', 'm'];
8
- }
9
-
10
- static get supportedExpressions() {
11
- return [ManaExpression];
12
- }
13
-
14
- test(card) {
15
- const manaCosts = card.cache('manaCosts', () => {
16
- return card.manaCosts.map(costStr => ManaCost.parse(costStr));
17
- });
18
- return manaCosts.some(manaCost => super.test(manaCost));
19
- }
20
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import { ManaCost } from 'mana-scribe';
3
+ import ManaExpression from '../expressions/ManaExpression.js';
4
+
5
+ export default class ManaCostKeyword extends Keyword {
6
+ static get keys() {
7
+ return ['mana', 'm'];
8
+ }
9
+
10
+ static get supportedExpressions() {
11
+ return [ManaExpression];
12
+ }
13
+
14
+ test(card) {
15
+ const manaCosts = card.cache('manaCosts', () => {
16
+ return card.manaCosts.map(costStr => ManaCost.parse(costStr));
17
+ });
18
+ return manaCosts.some(manaCost => super.test(manaCost));
19
+ }
20
+ }
@@ -1,17 +1,17 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import { NumericExpression } from 'sigil-sifter/expressions';
3
- import EvenOddExpression from '../expressions/EvenOddExpression.js';
4
-
5
- export default class ManaValueKeyword extends Keyword {
6
- static get keys() {
7
- return ['manavalue', 'mv', 'cmc'];
8
- }
9
-
10
- static get supportedExpressions() {
11
- return [NumericExpression, EvenOddExpression];
12
- }
13
-
14
- test(card) {
15
- return card.manaValues.some(mv => super.test(mv));
16
- }
17
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import { NumericExpression } from 'sigil-sifter/expressions';
3
+ import EvenOddExpression from '../expressions/EvenOddExpression.js';
4
+
5
+ export default class ManaValueKeyword extends Keyword {
6
+ static get keys() {
7
+ return ['manavalue', 'mv', 'cmc'];
8
+ }
9
+
10
+ static get supportedExpressions() {
11
+ return [NumericExpression, EvenOddExpression];
12
+ }
13
+
14
+ test(card) {
15
+ return card.manaValues.some(mv => super.test(mv));
16
+ }
17
+ }
@@ -1,11 +1,11 @@
1
- import { StringKeyword } from 'sigil-sifter/keywords';
2
-
3
- export default class NameKeyword extends StringKeyword {
4
- static get keys() {
5
- return ['name'];
6
- }
7
-
8
- test(card) {
9
- return card.names.some(name => super.test(name));
10
- }
11
- }
1
+ import { StringKeyword } from 'sigil-sifter/keywords';
2
+
3
+ export default class NameKeyword extends StringKeyword {
4
+ static get keys() {
5
+ return ['name'];
6
+ }
7
+
8
+ test(card) {
9
+ return card.names.some(name => super.test(name));
10
+ }
11
+ }
@@ -1,21 +1,21 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import { IncludesOperator } from 'sigil-sifter/operators';
3
- import * as booleanExpressions from '../expressions/is/index.js';
4
-
5
- export default class NotKeyword extends Keyword {
6
- static get keys() {
7
- return ['not'];
8
- }
9
-
10
- static get supportedOperators() {
11
- return [IncludesOperator];
12
- }
13
-
14
- static get supportedExpressions() {
15
- return Object.values(booleanExpressions);
16
- }
17
-
18
- test(card) {
19
- return !super.test(card);
20
- }
21
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import { IncludesOperator } from 'sigil-sifter/operators';
3
+ import * as booleanExpressions from '../expressions/is/index.js';
4
+
5
+ export default class NotKeyword extends Keyword {
6
+ static get keys() {
7
+ return ['not'];
8
+ }
9
+
10
+ static get supportedOperators() {
11
+ return [IncludesOperator];
12
+ }
13
+
14
+ static get supportedExpressions() {
15
+ return Object.values(booleanExpressions);
16
+ }
17
+
18
+ test(card) {
19
+ return !super.test(card);
20
+ }
21
+ }
@@ -1,29 +1,29 @@
1
- import { SearchSyntaxError } from 'sigil-sifter/core';
2
- import { NumericExpression } from 'sigil-sifter/expressions';
3
- import { Keyword } from 'sigil-sifter/keywords';
4
- import PowTouExpression from '../expressions/PowTouExpression.js';
5
- import { comparingPtAgainst } from '../core/helpers.js';
6
-
7
- export default class PowerKeyword extends Keyword {
8
- static get keys() {
9
- return ['power', 'pow'];
10
- }
11
-
12
- static get supportedExpressions() {
13
- return [NumericExpression, PowTouExpression];
14
- }
15
-
16
- static parse(sifter, match, str) {
17
- const keyword = super.parse(sifter, match, str);
18
- if (comparingPtAgainst(keyword.expression, 'power'))
19
- throw new SearchSyntaxError('Cannot compare power against itself.');
20
- return keyword;
21
- }
22
-
23
- test(card) {
24
- if (this.expression.constructor === PowTouExpression)
25
- return card.pts.some(pt => super.test(pt));
26
-
27
- return card.pts.some(pt => super.test(pt.power));
28
- }
29
- }
1
+ import { SearchSyntaxError } from 'sigil-sifter/core';
2
+ import { NumericExpression } from 'sigil-sifter/expressions';
3
+ import { Keyword } from 'sigil-sifter/keywords';
4
+ import PowTouExpression from '../expressions/PowTouExpression.js';
5
+ import { comparingPtAgainst } from '../core/helpers.js';
6
+
7
+ export default class PowerKeyword extends Keyword {
8
+ static get keys() {
9
+ return ['power', 'pow'];
10
+ }
11
+
12
+ static get supportedExpressions() {
13
+ return [NumericExpression, PowTouExpression];
14
+ }
15
+
16
+ static parse(sifter, match, str) {
17
+ const keyword = super.parse(sifter, match, str);
18
+ if (comparingPtAgainst(keyword.expression, 'power'))
19
+ throw new SearchSyntaxError('Cannot compare power against itself.');
20
+ return keyword;
21
+ }
22
+
23
+ test(card) {
24
+ if (this.expression.constructor === PowTouExpression)
25
+ return card.pts.some(pt => super.test(pt));
26
+
27
+ return card.pts.some(pt => super.test(pt.power));
28
+ }
29
+ }
@@ -1,16 +1,16 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import ProducesExpression from '../expressions/ProducesExpression.js';
3
-
4
- export default class ProducesKeyword extends Keyword {
5
- static get keys() {
6
- return ['produces'];
7
- }
8
-
9
- static get supportedExpressions() {
10
- return [ProducesExpression];
11
- }
12
-
13
- test(card) {
14
- return this.operator.testValue(card.produces, this.expression);
15
- }
16
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import ProducesExpression from '../expressions/ProducesExpression.js';
3
+
4
+ export default class ProducesKeyword extends Keyword {
5
+ static get keys() {
6
+ return ['produces'];
7
+ }
8
+
9
+ static get supportedExpressions() {
10
+ return [ProducesExpression];
11
+ }
12
+
13
+ test(card) {
14
+ return this.operator.testValue(card.produces, this.expression);
15
+ }
16
+ }
@@ -1,16 +1,16 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import RarityExpression from '../expressions/RarityExpression.js';
3
-
4
- export default class RarityKeyword extends Keyword {
5
- static get keys() {
6
- return ['rarity', 'r'];
7
- }
8
-
9
- static get supportedExpressions() {
10
- return [RarityExpression];
11
- }
12
-
13
- test(card) {
14
- return super.test(card.rarity);
15
- }
16
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import RarityExpression from '../expressions/RarityExpression.js';
3
+
4
+ export default class RarityKeyword extends Keyword {
5
+ static get keys() {
6
+ return ['rarity', 'r'];
7
+ }
8
+
9
+ static get supportedExpressions() {
10
+ return [RarityExpression];
11
+ }
12
+
13
+ test(card) {
14
+ return super.test(card.rarity);
15
+ }
16
+ }
@@ -1,21 +1,21 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import FormatExpression from '../expressions/FormatExpression.js';
3
- import { EqualsOperator, IncludesOperator } from 'sigil-sifter/operators';
4
-
5
- export default class RestrictedKeyword extends Keyword {
6
- static get keys() {
7
- return ['restricted'];
8
- }
9
-
10
- static get supportedOperators() {
11
- return [IncludesOperator, EqualsOperator];
12
- }
13
-
14
- static get supportedExpressions() {
15
- return [FormatExpression];
16
- }
17
-
18
- test(card) {
19
- return card.restricted.some(formatName => super.test(formatName));
20
- }
21
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import FormatExpression from '../expressions/FormatExpression.js';
3
+ import { EqualsOperator, IncludesOperator } from 'sigil-sifter/operators';
4
+
5
+ export default class RestrictedKeyword extends Keyword {
6
+ static get keys() {
7
+ return ['restricted'];
8
+ }
9
+
10
+ static get supportedOperators() {
11
+ return [IncludesOperator, EqualsOperator];
12
+ }
13
+
14
+ static get supportedExpressions() {
15
+ return [FormatExpression];
16
+ }
17
+
18
+ test(card) {
19
+ return card.restricted.some(formatName => super.test(formatName));
20
+ }
21
+ }
@@ -1,11 +1,11 @@
1
- import { StringKeyword } from 'sigil-sifter/keywords';
2
-
3
- export default class RulesTextKeyword extends StringKeyword {
4
- static get keys() {
5
- return ['oracle', 'o'];
6
- }
7
-
8
- test(card) {
9
- return card.rulesTexts.some(rulesText => super.test(rulesText));
10
- }
11
- }
1
+ import { StringKeyword } from 'sigil-sifter/keywords';
2
+
3
+ export default class RulesTextKeyword extends StringKeyword {
4
+ static get keys() {
5
+ return ['oracle', 'o'];
6
+ }
7
+
8
+ test(card) {
9
+ return card.rulesTexts.some(rulesText => super.test(rulesText));
10
+ }
11
+ }
@@ -1,21 +1,21 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import ExactStringExpression from '../expressions/ExactStringExpression.js';
3
- import { EqualsOperator, IncludesOperator } from 'sigil-sifter/operators';
4
-
5
- export default class SetKeyword extends Keyword {
6
- static get keys() {
7
- return ['set', 'edition', 's', 'e'];
8
- }
9
-
10
- static get supportedOperators() {
11
- return [IncludesOperator, EqualsOperator];
12
- }
13
-
14
- static get supportedExpressions() {
15
- return [ExactStringExpression];
16
- }
17
-
18
- test(card) {
19
- return super.test(card.set.code) || super.test(card.set.name);
20
- }
21
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import ExactStringExpression from '../expressions/ExactStringExpression.js';
3
+ import { EqualsOperator, IncludesOperator } from 'sigil-sifter/operators';
4
+
5
+ export default class SetKeyword extends Keyword {
6
+ static get keys() {
7
+ return ['set', 'edition', 's', 'e'];
8
+ }
9
+
10
+ static get supportedOperators() {
11
+ return [IncludesOperator, EqualsOperator];
12
+ }
13
+
14
+ static get supportedExpressions() {
15
+ return [ExactStringExpression];
16
+ }
17
+
18
+ test(card) {
19
+ return super.test(card.set.code) || super.test(card.set.name);
20
+ }
21
+ }
@@ -1,21 +1,21 @@
1
- import { Keyword } from 'sigil-sifter/keywords';
2
- import ExactStringExpression from '../expressions/ExactStringExpression.js';
3
- import { EqualsOperator, IncludesOperator } from 'sigil-sifter/operators';
4
-
5
- export default class SetTypeKeyword extends Keyword {
6
- static get keys() {
7
- return ['settype', 'st'];
8
- }
9
-
10
- static get supportedOperators() {
11
- return [IncludesOperator, EqualsOperator];
12
- }
13
-
14
- static get supportedExpressions() {
15
- return [ExactStringExpression];
16
- }
17
-
18
- test(card) {
19
- return super.test(card.setType);
20
- }
21
- }
1
+ import { Keyword } from 'sigil-sifter/keywords';
2
+ import ExactStringExpression from '../expressions/ExactStringExpression.js';
3
+ import { EqualsOperator, IncludesOperator } from 'sigil-sifter/operators';
4
+
5
+ export default class SetTypeKeyword extends Keyword {
6
+ static get keys() {
7
+ return ['settype', 'st'];
8
+ }
9
+
10
+ static get supportedOperators() {
11
+ return [IncludesOperator, EqualsOperator];
12
+ }
13
+
14
+ static get supportedExpressions() {
15
+ return [ExactStringExpression];
16
+ }
17
+
18
+ test(card) {
19
+ return super.test(card.setType);
20
+ }
21
+ }