- From: Madhukar Kedlaya <notifications@github.com>
- Date: Tue, 08 Jan 2019 08:54:04 -0800
- To: w3c/ServiceWorker <ServiceWorker@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Tuesday, 8 January 2019 16:54:25 UTC
@jakearchibald I like the second proposal of using a condition object compared to list of constructors. I suggest creating RouterCondition class and a RouterPredicate class to help better express the conditions. RouterCondition class instantiates a self contained condition object that is passed to router.add function. It also exposes a test method that can be used to validate whether a request satisfies the condition. RouterPredicate class can list all the predicates that are allowed on a particular route. ```javascript const condition = new RouterCondition((route /* of type RouterPredicate */) => { return route.method('GET') && route.urlStartsWith('/avatar') && !route.urlEndsWith('.mp4'); // return !route.method('POST'); }); router.add(condition, sources); condition.test(request); // returns boolean; useful for other purposes ``` What do you think? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/ServiceWorker/issues/1373#issuecomment-452371314
Received on Tuesday, 8 January 2019 16:54:25 UTC