# @efforting.tech/rule-processing
Rule processing primitives
- [Source code](https://gitea.efforting.tech/efforting.tech/nodejs.esm-library/src/branch/main/source/rule-processing/resolver.mjs)
**TODO:** Write proper documentation for this module - currently just a sketch
## Class overview
### Abstract_Resolver
Abstract base class that currently implements [`resolve()`](#f-Abstract_Resolver-resolve).
### Chained_Resolver
Goes through every link in the chain and uses the first handler that was resolved.
### Mapping_Resolver
Resolves handlers by key, either derived via a key function or simply by the item itself as key.
## Classes
### Abstract_Resolver
#### function `resolve`
```js
function resolve(item)
```
Resolves an item by calling the handler returned by the concrete [`resolve_handler()`](#function-resolve_handler) function.