The keys of the storeMap
will be converted into actual RegExp objects that will be used for testing.
Private
Readonly
basePrivate
Readonly
regexesChecks if the input can be handled by this class. If it cannot handle the input, rejects with an error explaining why.
A promise resolving if the input can be handled, rejecting with an Error if not.
Input that could potentially be handled.
Optional
representation?: RepresentationHandles the given input. This may only be called if canHandle did not reject. When unconditionally calling both in sequence, consider handleSafe instead.
A promise resolving when handling is finished.
Input that needs to be handled.
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.
A promise resolving if the input can be handled, rejecting with an Error if not.
Input data that will be handled if it can be handled.
Optional
representation?: RepresentationPrivate
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.