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.