The following patterns can be used as pattern arguments to check
and Match.test
:html
Match.Any
Matches any value.api
String
, Number
, Boolean
, undefined
, null
Matches a primitive of the given type.ide
Match.Integer
Matches a signed 32-bit integer. Doesn’t match Infinity
, -Infinity
, or NaN
.ui
[pattern]
A one-element array matches an array of elements, each of which match pattern. For example, [Number]
matches a (possibly empty) array of numbers; [Match.Any]
matches any array.this
{key1: pattern1, key2: pattern2, …}
Match.Maybe
or
Match.Optional
, that key does not need to exist in the object. The value may not contain any keys not listed in the pattern. The value must be a plain Object with no special prototype.
Match.ObjectIncluding({key1: pattern1, key2: pattern2, …})
Object
Matches any plain Object with any keys; equivalent to Match.ObjectIncluding({})
.spa
Match.Maybe(pattern)
Matches either undefined
, null
, or pattern. If used in an object, matches only if the key is not set as opposed to the value being set to undefined
or null
. This set of conditions was chosen because undefined
arguments to Meteor Methods are converted to null
when sent over the wire.prototype
1
2
3
4
5
6
7
8
9
10
|
// In an object
var pattern = { name: Match.Maybe(String) };
check({ name:
「something」 }, pattern) // OK
check({}, pattern)
// OK
check({ name:
undefined }, pattern) // Throws an exception
check({ name:
null }, pattern) // Throws an exception
// Outside an object
check(
null, Match.Maybe(String)); // OK
check(
undefined, Match.Maybe(String)); // OK
|
Match.Optional(pattern)
Behaves like Match.Maybe
except it doesn’t accept null
. If used in an object, the behavior is identical to Match.Maybe
.code
Match.OneOf(pattern1, pattern2, ...)
Matches any value that matches at least one of the provided patterns.htm
Date
)
Matches any element that is an instance of that type.ci
Match.Where(condition)
Calls the function condition with the value as the argument. If condition returns true, this matches. If condition throws a Match.Error
or returns false, this fails. If conditionthrows any other error, that error is thrown from the call to check
or Match.test
. Examples:
1
2
3
4
5
6
7
|
check(buffer, Match.Where(EJSON.isBinary));
NonEmptyString = Match.Where(
function (x) {
check(x,
String);
return x.length > 0;
});
check(arg, NonEmptyString);
|