(jsarg, targetApp)
| 2252 | } |
| 2253 | |
| 2254 | function normalizeScriptArgument(jsarg, targetApp) { |
| 2255 | if (!jsarg) return jsarg |
| 2256 | const loonKeys = getLoonArgumentKeys(jsarg) |
| 2257 | if ((targetApp == 'surge-module' || targetApp == 'shadowrocket-module') && loonKeys.length > 0) { |
| 2258 | return loonKeys.map(key => `${key}="{{{${key}}}}"`).join('&') |
| 2259 | } |
| 2260 | if (targetApp == 'loon-plugin') { |
| 2261 | if (isJsonObjectArgument(jsarg)) return `[${formatLoonJsonArgument(jsarg)}]` |
| 2262 | const surgeListKeys = getSurgeTemplateArgumentListKeys(jsarg) |
| 2263 | if (surgeListKeys.length > 0) return `[${surgeListKeys.map(key => `{${key}}`).join(',')}]` |
| 2264 | const surgeKeys = getSurgeTemplateArgumentKeys(jsarg) |
| 2265 | if (surgeKeys.length > 0) return `[${surgeKeys.map(key => `{${key}}`).join(',')}]` |
| 2266 | } |
| 2267 | if (targetApp == 'loon-plugin') return normalizeTemplateValue(jsarg, targetApp) |
| 2268 | return jsarg |
| 2269 | } |
| 2270 | |
| 2271 | function takeLeadingTemplate(str) { |
| 2272 | const matched = `${str ?? ''}`.match(/^(\s*)\{\{\{([^{}]+)\}\}\}\s*(.*)$/) |
no test coverage detected