ExternalScopeNames returns a sorted list of all public scopes, which includes the `all` and `application_connect` special scopes, curated low-level resource:action names, and curated composite coder:* scopes.
()
| 108 | // includes the `all` and `application_connect` special scopes, curated |
| 109 | // low-level resource:action names, and curated composite coder:* scopes. |
| 110 | func ExternalScopeNames() []string { |
| 111 | names := make([]string, 0, len(externalLowLevel)+len(externalComposite)+2) |
| 112 | names = append(names, string(ScopeAll)) |
| 113 | names = append(names, string(ScopeApplicationConnect)) |
| 114 | |
| 115 | // curated low-level names, filtered for validity |
| 116 | for name := range externalLowLevel { |
| 117 | if _, _, ok := parseLowLevelScope(name); ok { |
| 118 | names = append(names, string(name)) |
| 119 | } |
| 120 | } |
| 121 | |
| 122 | // curated composite names |
| 123 | for name := range externalComposite { |
| 124 | names = append(names, string(name)) |
| 125 | } |
| 126 | |
| 127 | sort.Slice(names, func(i, j int) bool { return strings.Compare(names[i], names[j]) < 0 }) |
| 128 | return names |
| 129 | } |