@sigil-sifter/magic 1.0.0 → 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.
- package/LICENSE +7 -7
- package/README.md +96 -95
- package/package.json +1 -1
- package/src/core/MagicCard.js +250 -250
- package/src/core/helpers.js +6 -6
- package/src/core/index.js +3 -3
- package/src/data/abilityWords.js +66 -66
- package/src/data/colors.js +15 -15
- package/src/data/gameFormats.js +25 -25
- package/src/data/games.js +5 -5
- package/src/data/guilds.js +33 -33
- package/src/data/languages.js +30 -30
- package/src/data/rarities.js +25 -25
- package/src/expressions/ArrayLengthExpression.js +15 -15
- package/src/expressions/ColorExpression.js +40 -40
- package/src/expressions/DevotionExpression.js +56 -56
- package/src/expressions/EvenOddExpression.js +43 -43
- package/src/expressions/ExactStringExpression.js +11 -11
- package/src/expressions/FormatExpression.js +19 -19
- package/src/expressions/GameExpression.js +19 -19
- package/src/expressions/KeywordAbilityExpression.js +33 -33
- package/src/expressions/LanguageExpression.js +34 -34
- package/src/expressions/ManaExpression.js +36 -36
- package/src/expressions/PowTouExpression.js +41 -41
- package/src/expressions/ProducesExpression.js +35 -35
- package/src/expressions/RarityExpression.js +30 -30
- package/src/expressions/has/IndicatorExpression.js +11 -11
- package/src/expressions/has/WatermarkExpression.js +11 -11
- package/src/expressions/is/BoosterExpression.js +11 -11
- package/src/expressions/is/DFCExpression.js +11 -11
- package/src/expressions/is/EtchedExpression.js +11 -11
- package/src/expressions/is/FlipExpression.js +11 -11
- package/src/expressions/is/FoilExpression.js +11 -11
- package/src/expressions/is/FrenchVanillaExpression.js +11 -11
- package/src/expressions/is/FullArtExpression.js +11 -11
- package/src/expressions/is/GlossyExpression.js +11 -11
- package/src/expressions/is/HistoricExpression.js +11 -11
- package/src/expressions/is/HybridExpression.js +11 -11
- package/src/expressions/is/LevelerExpression.js +11 -11
- package/src/expressions/is/MDFCExpression.js +11 -11
- package/src/expressions/is/MeldExpression.js +11 -11
- package/src/expressions/is/ModalExpression.js +11 -11
- package/src/expressions/is/NonFoilExpression.js +11 -11
- package/src/expressions/is/PartyExpression.js +11 -11
- package/src/expressions/is/PermanentExpression.js +11 -11
- package/src/expressions/is/PhyrexianExpression.js +11 -11
- package/src/expressions/is/PromoExpression.js +11 -11
- package/src/expressions/is/ReprintExpression.js +11 -11
- package/src/expressions/is/ReservedExpression.js +11 -11
- package/src/expressions/is/SpellExpression.js +11 -11
- package/src/expressions/is/SplitExpression.js +11 -11
- package/src/expressions/is/SpotlightExpression.js +11 -11
- package/src/expressions/is/TextlessExpression.js +11 -11
- package/src/expressions/is/TransformExpression.js +11 -11
- package/src/expressions/is/UniversesBeyondExpression.js +11 -11
- package/src/expressions/is/VanillaExpression.js +11 -11
- package/src/expressions/is/index.js +59 -59
- package/src/extensions/ColorExtension.js +22 -22
- package/src/extensions/FormatExtension.js +15 -15
- package/src/extensions/GameExtension.js +15 -15
- package/src/extensions/KeywordExtension.js +11 -11
- package/src/extensions/LanguageExtension.js +15 -15
- package/src/extensions/RarityExtension.js +20 -20
- package/src/extensions/SetExtension.js +13 -13
- package/src/index.js +30 -36
- package/src/keywords/AbilityKeyword.js +16 -16
- package/src/keywords/ArtistKeyword.js +11 -11
- package/src/keywords/BannedKeyword.js +21 -21
- package/src/keywords/BorderKeyword.js +21 -21
- package/src/keywords/CardTypeKeyword.js +11 -11
- package/src/keywords/CollectorNumberKeyword.js +16 -16
- package/src/keywords/ColorIdentityKeyword.js +11 -11
- package/src/keywords/ColorKeyword.js +17 -17
- package/src/keywords/DevotionKeyword.js +21 -21
- package/src/keywords/FlavorTextKeyword.js +11 -11
- package/src/keywords/FormatKeyword.js +21 -21
- package/src/keywords/FrameKeyword.js +22 -22
- package/src/keywords/GameKeyword.js +21 -21
- package/src/keywords/HasKeyword.js +13 -13
- package/src/keywords/IsKeyword.js +17 -17
- package/src/keywords/LanguageKeyword.js +16 -16
- package/src/keywords/LoyaltyKeyword.js +16 -16
- package/src/keywords/ManaCostKeyword.js +20 -20
- package/src/keywords/ManaValueKeyword.js +17 -17
- package/src/keywords/NameKeyword.js +11 -11
- package/src/keywords/NotKeyword.js +21 -21
- package/src/keywords/PowerKeyword.js +29 -29
- package/src/keywords/ProducesKeyword.js +16 -16
- package/src/keywords/RarityKeyword.js +16 -16
- package/src/keywords/RestrictedKeyword.js +21 -21
- package/src/keywords/RulesTextKeyword.js +11 -11
- package/src/keywords/SetKeyword.js +21 -21
- package/src/keywords/SetTypeKeyword.js +21 -21
- package/src/keywords/StampKeyword.js +21 -21
- package/src/keywords/ToughnessKeyword.js +29 -29
- package/src/keywords/WatermarkKeyword.js +16 -16
- package/src/keywords/index.js +65 -65
|
@@ -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 StampKeyword extends Keyword {
|
|
6
|
-
static get keys() {
|
|
7
|
-
return ['stamp'];
|
|
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.stamp);
|
|
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 StampKeyword extends Keyword {
|
|
6
|
+
static get keys() {
|
|
7
|
+
return ['stamp'];
|
|
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.stamp);
|
|
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 ToughnessKeyword extends Keyword {
|
|
8
|
-
static get keys() {
|
|
9
|
-
return ['toughness', 'tou'];
|
|
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, 'toughness'))
|
|
19
|
-
throw new SearchSyntaxError('Cannot compare toughness 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.toughness));
|
|
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 ToughnessKeyword extends Keyword {
|
|
8
|
+
static get keys() {
|
|
9
|
+
return ['toughness', 'tou'];
|
|
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, 'toughness'))
|
|
19
|
+
throw new SearchSyntaxError('Cannot compare toughness 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.toughness));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { StringKeyword } from 'sigil-sifter/keywords';
|
|
2
|
-
import { IncludesOperator } from 'sigil-sifter/operators';
|
|
3
|
-
|
|
4
|
-
export default class WatermarkKeyword extends StringKeyword {
|
|
5
|
-
static get keys() {
|
|
6
|
-
return ['watermark'];
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
static get supportedOperators() {
|
|
10
|
-
return [IncludesOperator];
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
test(card) {
|
|
14
|
-
return card.watermarks.some(w => super.test(w));
|
|
15
|
-
}
|
|
16
|
-
}
|
|
1
|
+
import { StringKeyword } from 'sigil-sifter/keywords';
|
|
2
|
+
import { IncludesOperator } from 'sigil-sifter/operators';
|
|
3
|
+
|
|
4
|
+
export default class WatermarkKeyword extends StringKeyword {
|
|
5
|
+
static get keys() {
|
|
6
|
+
return ['watermark'];
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
static get supportedOperators() {
|
|
10
|
+
return [IncludesOperator];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
test(card) {
|
|
14
|
+
return card.watermarks.some(w => super.test(w));
|
|
15
|
+
}
|
|
16
|
+
}
|
package/src/keywords/index.js
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import AbilityKeyword from './AbilityKeyword.js';
|
|
2
|
-
import ArtistKeyword from './ArtistKeyword.js';
|
|
3
|
-
import BannedKeyword from './BannedKeyword.js';
|
|
4
|
-
import BorderKeyword from './BorderKeyword.js';
|
|
5
|
-
import CardTypeKeyword from './CardTypeKeyword.js';
|
|
6
|
-
import CollectorNumberKeyword from './CollectorNumberKeyword.js';
|
|
7
|
-
import ColorKeyword from './ColorKeyword.js';
|
|
8
|
-
import ColorIdentityKeyword from './ColorIdentityKeyword.js';
|
|
9
|
-
import DevotionKeyword from './DevotionKeyword.js';
|
|
10
|
-
import FlavorTextKeyword from './FlavorTextKeyword.js';
|
|
11
|
-
import FormatKeyword from './FormatKeyword.js';
|
|
12
|
-
import FrameKeyword from './FrameKeyword.js';
|
|
13
|
-
import GameKeyword from './GameKeyword.js';
|
|
14
|
-
import HasKeyword from './HasKeyword.js';
|
|
15
|
-
import IsKeyword from './IsKeyword.js';
|
|
16
|
-
import LanguageKeyword from './LanguageKeyword.js';
|
|
17
|
-
import LoyaltyKeyword from './LoyaltyKeyword.js';
|
|
18
|
-
import ManaCostKeyword from './ManaCostKeyword.js';
|
|
19
|
-
import ManaValueKeyword from './ManaValueKeyword.js';
|
|
20
|
-
import NameKeyword from './NameKeyword.js';
|
|
21
|
-
import NotKeyword from './NotKeyword.js';
|
|
22
|
-
import PowerKeyword from './PowerKeyword.js';
|
|
23
|
-
import ProducesKeyword from './ProducesKeyword.js';
|
|
24
|
-
import RarityKeyword from './RarityKeyword.js';
|
|
25
|
-
import RestrictedKeyword from './RestrictedKeyword.js';
|
|
26
|
-
import RulesTextKeyword from './RulesTextKeyword.js';
|
|
27
|
-
import SetKeyword from './SetKeyword.js';
|
|
28
|
-
import SetTypeKeyword from './SetTypeKeyword.js';
|
|
29
|
-
import StampKeyword from './StampKeyword.js';
|
|
30
|
-
import ToughnessKeyword from './ToughnessKeyword.js';
|
|
31
|
-
import WatermarkKeyword from './WatermarkKeyword.js';
|
|
32
|
-
|
|
33
|
-
export {
|
|
34
|
-
AbilityKeyword,
|
|
35
|
-
ArtistKeyword,
|
|
36
|
-
BannedKeyword,
|
|
37
|
-
BorderKeyword,
|
|
38
|
-
CardTypeKeyword,
|
|
39
|
-
CollectorNumberKeyword,
|
|
40
|
-
ColorKeyword,
|
|
41
|
-
ColorIdentityKeyword,
|
|
42
|
-
DevotionKeyword,
|
|
43
|
-
FlavorTextKeyword,
|
|
44
|
-
FormatKeyword,
|
|
45
|
-
FrameKeyword,
|
|
46
|
-
GameKeyword,
|
|
47
|
-
HasKeyword,
|
|
48
|
-
IsKeyword,
|
|
49
|
-
LanguageKeyword,
|
|
50
|
-
LoyaltyKeyword,
|
|
51
|
-
ManaCostKeyword,
|
|
52
|
-
ManaValueKeyword,
|
|
53
|
-
NameKeyword,
|
|
54
|
-
NotKeyword,
|
|
55
|
-
PowerKeyword,
|
|
56
|
-
ProducesKeyword,
|
|
57
|
-
RarityKeyword,
|
|
58
|
-
RestrictedKeyword,
|
|
59
|
-
RulesTextKeyword,
|
|
60
|
-
SetKeyword,
|
|
61
|
-
SetTypeKeyword,
|
|
62
|
-
StampKeyword,
|
|
63
|
-
ToughnessKeyword,
|
|
64
|
-
WatermarkKeyword,
|
|
65
|
-
}
|
|
1
|
+
import AbilityKeyword from './AbilityKeyword.js';
|
|
2
|
+
import ArtistKeyword from './ArtistKeyword.js';
|
|
3
|
+
import BannedKeyword from './BannedKeyword.js';
|
|
4
|
+
import BorderKeyword from './BorderKeyword.js';
|
|
5
|
+
import CardTypeKeyword from './CardTypeKeyword.js';
|
|
6
|
+
import CollectorNumberKeyword from './CollectorNumberKeyword.js';
|
|
7
|
+
import ColorKeyword from './ColorKeyword.js';
|
|
8
|
+
import ColorIdentityKeyword from './ColorIdentityKeyword.js';
|
|
9
|
+
import DevotionKeyword from './DevotionKeyword.js';
|
|
10
|
+
import FlavorTextKeyword from './FlavorTextKeyword.js';
|
|
11
|
+
import FormatKeyword from './FormatKeyword.js';
|
|
12
|
+
import FrameKeyword from './FrameKeyword.js';
|
|
13
|
+
import GameKeyword from './GameKeyword.js';
|
|
14
|
+
import HasKeyword from './HasKeyword.js';
|
|
15
|
+
import IsKeyword from './IsKeyword.js';
|
|
16
|
+
import LanguageKeyword from './LanguageKeyword.js';
|
|
17
|
+
import LoyaltyKeyword from './LoyaltyKeyword.js';
|
|
18
|
+
import ManaCostKeyword from './ManaCostKeyword.js';
|
|
19
|
+
import ManaValueKeyword from './ManaValueKeyword.js';
|
|
20
|
+
import NameKeyword from './NameKeyword.js';
|
|
21
|
+
import NotKeyword from './NotKeyword.js';
|
|
22
|
+
import PowerKeyword from './PowerKeyword.js';
|
|
23
|
+
import ProducesKeyword from './ProducesKeyword.js';
|
|
24
|
+
import RarityKeyword from './RarityKeyword.js';
|
|
25
|
+
import RestrictedKeyword from './RestrictedKeyword.js';
|
|
26
|
+
import RulesTextKeyword from './RulesTextKeyword.js';
|
|
27
|
+
import SetKeyword from './SetKeyword.js';
|
|
28
|
+
import SetTypeKeyword from './SetTypeKeyword.js';
|
|
29
|
+
import StampKeyword from './StampKeyword.js';
|
|
30
|
+
import ToughnessKeyword from './ToughnessKeyword.js';
|
|
31
|
+
import WatermarkKeyword from './WatermarkKeyword.js';
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
AbilityKeyword,
|
|
35
|
+
ArtistKeyword,
|
|
36
|
+
BannedKeyword,
|
|
37
|
+
BorderKeyword,
|
|
38
|
+
CardTypeKeyword,
|
|
39
|
+
CollectorNumberKeyword,
|
|
40
|
+
ColorKeyword,
|
|
41
|
+
ColorIdentityKeyword,
|
|
42
|
+
DevotionKeyword,
|
|
43
|
+
FlavorTextKeyword,
|
|
44
|
+
FormatKeyword,
|
|
45
|
+
FrameKeyword,
|
|
46
|
+
GameKeyword,
|
|
47
|
+
HasKeyword,
|
|
48
|
+
IsKeyword,
|
|
49
|
+
LanguageKeyword,
|
|
50
|
+
LoyaltyKeyword,
|
|
51
|
+
ManaCostKeyword,
|
|
52
|
+
ManaValueKeyword,
|
|
53
|
+
NameKeyword,
|
|
54
|
+
NotKeyword,
|
|
55
|
+
PowerKeyword,
|
|
56
|
+
ProducesKeyword,
|
|
57
|
+
RarityKeyword,
|
|
58
|
+
RestrictedKeyword,
|
|
59
|
+
RulesTextKeyword,
|
|
60
|
+
SetKeyword,
|
|
61
|
+
SetTypeKeyword,
|
|
62
|
+
StampKeyword,
|
|
63
|
+
ToughnessKeyword,
|
|
64
|
+
WatermarkKeyword,
|
|
65
|
+
}
|