(name: string, ...kwargsList: Record<string, any>[])
| 177 | } |
| 178 | |
| 179 | url(name: string, ...kwargsList: Record<string, any>[]) { |
| 180 | if (name === '#') return '#'; |
| 181 | let res = '#'; |
| 182 | const args: any = Object.create(null); |
| 183 | const query: any = Object.create(null); |
| 184 | for (const kwargs of kwargsList) { |
| 185 | for (const key in kwargs) { |
| 186 | args[key] = kwargs[key].toString().replace(/\//g, '%2F'); |
| 187 | } |
| 188 | for (const key in kwargs.query || {}) { |
| 189 | query[key] = kwargs.query[key].toString(); |
| 190 | } |
| 191 | } |
| 192 | try { |
| 193 | const { anchor } = args; |
| 194 | res = router.url(name, args, { query }).toString(); |
| 195 | if (anchor) res = `${res}#${anchor}`; |
| 196 | } catch (e) { |
| 197 | logger.warn(e.message); |
| 198 | logger.info('%s %o', name, args); |
| 199 | if (!e.message.includes('Expected') || !e.message.includes('to match')) logger.info('%s', e.stack); |
| 200 | } |
| 201 | return res; |
| 202 | } |
| 203 | |
| 204 | translate(str: string) { |
| 205 | return str; |
no test coverage detected