Match Patterns
The following patterns can be used as pattern arguments to check and Match.test:
Match.AnyMatches any value.
String,Number,Boolean,undefined,nullMatches a primitive of the given type.
Match.IntegerMatches a signed 32-bit integer. Doesn't match
Infinity,-Infinity, orNaN.[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.{key1: pattern1, key2: pattern2, ...}Matches an Object with the given keys, with values matching the given patterns. If any pattern is a
Match.MaybeorMatch.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, ...})Matches an Object with the given keys; the value may also have other keys with arbitrary values.
ObjectMatches any plain Object with any keys; equivalent to
Match.ObjectIncluding({}).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 toundefinedornull. This set of conditions was chosen becauseundefinedarguments to Meteor Methods are converted tonullwhen sent over the wire.// 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.Maybeexcept it doesn't acceptnull. If used in an object, the behavior is identical toMatch.Maybe.Match.OneOf(pattern1, pattern2, ...)Matches any value that matches at least one of the provided patterns.
- Any constructor function (eg,
Date) Matches any element that is an instance of that type.
Match.Where(condition)-
Calls the function condition with the value as the argument. If condition returns true, this matches. If condition throws a
Match.Erroror returns false, this fails. If condition throws any other error, that error is thrown from the call tocheckorMatch.test. Examples:check(buffer, Match.Where(EJSON.isBinary)); NonEmptyString = Match.Where(function (x) { check(x, String); return x.length > 0; }); check(arg, NonEmptyString);
Please login to continue.