(permissionResult: PermissionResult)
| 29 | } |
| 30 | |
| 31 | function permissionResultToLog(permissionResult: PermissionResult): string { |
| 32 | switch (permissionResult.behavior) { |
| 33 | case 'allow': |
| 34 | return 'allow' |
| 35 | case 'ask': { |
| 36 | const rules = extractRules(permissionResult.suggestions) |
| 37 | const suggestions = |
| 38 | rules.length > 0 |
| 39 | ? rules.map(r => permissionRuleValueToString(r)).join(', ') |
| 40 | : 'none' |
| 41 | return `ask: ${permissionResult.message}, |
| 42 | suggestions: ${suggestions} |
| 43 | reason: ${decisionReasonToString(permissionResult.decisionReason)}` |
| 44 | } |
| 45 | case 'deny': |
| 46 | return `deny: ${permissionResult.message}, |
| 47 | reason: ${decisionReasonToString(permissionResult.decisionReason)}` |
| 48 | case 'passthrough': { |
| 49 | const rules = extractRules(permissionResult.suggestions) |
| 50 | const suggestions = |
| 51 | rules.length > 0 |
| 52 | ? rules.map(r => permissionRuleValueToString(r)).join(', ') |
| 53 | : 'none' |
| 54 | return `passthrough: ${permissionResult.message}, |
| 55 | suggestions: ${suggestions} |
| 56 | reason: ${decisionReasonToString(permissionResult.decisionReason)}` |
| 57 | } |
| 58 | } |
| 59 | } |
| 60 | |
| 61 | function decisionReasonToString( |
| 62 | decisionReason: PermissionDecisionReason | undefined, |
no test coverage detected