The keys of the storeMap
will be converted into actual RegExp objects that will be used for testing.
Private
Readonly
basePrivate
Readonly
rulesChecks if the input can be handled by this class. If it cannot handle the input, rejects with an error explaining why.
Input that could potentially be handled.
Optional
representation?: RepresentationA promise resolving if the input can be handled, rejecting with an Error if not.
Handles the given input. This may only be called if canHandle did not reject. When unconditionally calling both in sequence, consider handleSafe instead.
Input that needs to be handled.
A promise resolving when handling is finished.
Helper function that first runs canHandle followed by handle. Throws the error of canHandle if the data cannot be handled, or returns the result of handle otherwise.
Input data that will be handled if it can be handled.
Optional
representation?: RepresentationA promise resolving if the input can be handled, rejecting with an Error if not.
Private
matchFinds the store corresponding to the regex that matches the given identifier. Throws an error if none is found.
Private
toStrips the base of the identifier and throws an error if there is no overlap.
Routes requests to a store based on the path of the identifier. The identifier will be stripped of the base URI after which regexes will be used to find the correct store. The trailing slash of the base URI will still be present so the first character a regex can match would be that
/
. This way regexes such as/container/
can match containers in any position.In case none of the regexes match an error will be thrown.