# core/selectors/emitter.selector.ts

> 7 lines of code and 2 definitions.

Tree: GovLab Quality
Language: typescript
Layer: application
Canonical: https://banes-lab.com/anatomy/quality#file-quality-core-selectors-emitter-selector-ts
Source text: https://banes-lab.com/source/quality/core/selectors/emitter.selector.ts.txt

Listed in [core/selectors](https://banes-lab.com/api/source/quality/core/selectors.md), after [core/selectors/context.fragment.selector.ts](https://banes-lab.com/source/quality/core/selectors/context.fragment.selector.ts.md) and before [core/selectors/eslint.selector.ts](https://banes-lab.com/source/quality/core/selectors/eslint.selector.ts.md).

## Definitions

- `toolTokensOf` (lexical_declaration, line 3, exported)
- `ruleIdsFor` (lexical_declaration, line 7, exported)

## Contained in

- [core/selectors](https://banes-lab.com/anatomy/quality/folder-quality-core-selectors.md)

## Source

```typescript
import type { EmitTokens } from "#types/emitter.types";

export const toolTokensOf = function toolTokensOf(tokens: EmitTokens, tool: string): EmitTokens[string] {
    return Object.hasOwn(tokens, tool) ? (tokens[tool] ?? {}) : {};
};

export const ruleIdsFor = function ruleIdsFor(toolTokens: EmitTokens[string], canonicalId: string): string[] {
    return Object.hasOwn(toolTokens, canonicalId) ? (toolTokens[canonicalId]?.ruleIds ?? []) : [];
};
```
