First draft of a cheatsheet
This commit is contained in:
parent
aa862dde26
commit
9b4f433eab
1 changed files with 120 additions and 0 deletions
120
Cheat-Sheet.md
Normal file
120
Cheat-Sheet.md
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
# Cheat Sheet
|
||||
|
||||
Most of Specter's API consists of an operation, a path and the data to operate on.
|
||||
|
||||
## Operations
|
||||
|
||||
There are 2 types of operations: queries and transforms.
|
||||
|
||||
#### Query
|
||||
|
||||
###### Multiple elements (return a vector of values found)
|
||||
|
||||
`select`, `select-any`
|
||||
|
||||
###### One element (return a single value)
|
||||
|
||||
`select-first`, `select-one`, `select-one!`
|
||||
|
||||
###### Query test
|
||||
|
||||
`selected-any?`
|
||||
|
||||
###### Transducer-related
|
||||
|
||||
`traverse`, `traverse-all`
|
||||
|
||||
#### Transform
|
||||
|
||||
`transform`, `multi-transform`, `replace-in`, `setval`
|
||||
|
||||
## Paths
|
||||
|
||||
A path (often named `apath`) is a navigator or a vector of navigators.
|
||||
|
||||
Navigator sometimes operates on specific data structures.
|
||||
|
||||
|
||||
#### Maps
|
||||
|
||||
`MAP-KEYS`, `MAP-VALS`, `keypath`, `map-key`, `submap`
|
||||
|
||||
#### Sequences
|
||||
|
||||
###### All values
|
||||
|
||||
`ALL`, `ALL-WITH-META`
|
||||
|
||||
###### Specific position
|
||||
|
||||
`AFTER-ELEM`, `BEFORE-ELEM`, `BEGINNING`, `END`, `FIRST`, `LAST`
|
||||
|
||||
###### Indexed
|
||||
|
||||
`INDEXED-VALS`, `before-index`, `index-nav`, `nthpath`, `srange`, `srange-dynamic`
|
||||
|
||||
###### Others
|
||||
|
||||
`continuous-subseqs`
|
||||
|
||||
#### Sets
|
||||
|
||||
`NONE-ELEM`, `set-elem`
|
||||
|
||||
#### Keywords/Symbols
|
||||
|
||||
`NAME`, `NAMESPACE`
|
||||
|
||||
#### Atoms
|
||||
|
||||
#### Strings
|
||||
|
||||
###### Specific position
|
||||
|
||||
`BEGINNING`, `FIRST`, `END`, `LAST`
|
||||
|
||||
##### Other
|
||||
|
||||
`regex-nav`, `srange`
|
||||
|
||||
#### Metadata
|
||||
|
||||
`ALL-WITH-META`, `META`
|
||||
|
||||
#### Views
|
||||
|
||||
`NIL->LIST`, `NIL->SET`, `NIL->VECTOR`, `filterer`, `nil->val`, `subselect`, `transform`, `traversed`, `view`
|
||||
|
||||
#### Value collection
|
||||
|
||||
`VAL`, `collect`, `collect-one`, `collected?`, `putval`, `with-fresh-collected`
|
||||
|
||||
#### Don't know yet
|
||||
|
||||
`NONE`, `codewalker`, `each-nav`, `multi-path`, `must`, `parser`, `walker`
|
||||
|
||||
#### Control
|
||||
|
||||
`STAY`, `STOP`, `comp-path`, `cond-path`, `continue-then-stay`, `if-path`, `stay-the-continue`
|
||||
|
||||
#### Filters
|
||||
|
||||
`pred`, `pred=`, `pred<`, `pred>`, `pred<=`, `pred>=`, `not-selected?`, `selected?`
|
||||
|
||||
#### Multi-transform
|
||||
|
||||
`terminal`, `terminal-val`
|
||||
|
||||
## Extending Specter
|
||||
|
||||
#### Custom paths
|
||||
|
||||
`declarepath`, `defprotocolpath`, `extend-protocolpath`, `path`, `providepath`, `recursive-path`
|
||||
|
||||
#### Custom collectors
|
||||
|
||||
`defcollector`
|
||||
|
||||
#### Custom navigators
|
||||
|
||||
`defdynamicnav`, `defnav`, `nav`
|
||||
Loading…
Reference in a new issue