Liking cljdoc? Tell your friends :D

nl.jomco.select-tree

Select subtrees of collections.

A straightforward way to describe and create subselections of nested collections.

Design Considerations

Clojury interface

Selectors should not look out of place in idiomatic clojure code; selectors are plain data.

General applicability

  • Any combination of standard clojure collections and leaf nodes can be selected
    • Vectors (x number of items from the head)
    • Maps
    • Sets
    • Lists (x number of items from the head)

Selected structure should be a "subtree" of the original

  • Selected elements in a collection remain on the same key or index; paths to items in the collection remain valid in the selection.
  • Selectors are unambiguous; the meaning of a selector does not depend on the structure of the tree.
  • Selection of a collection will return the same kind of collection.
  • Selection does not add keys to collections or extend sequential collections.
  • Selection retains metadata.

Selectors should be unambigious

  • Paths in a selection can only be specified once, to prevent ambiguity.
Select subtrees of collections.

A straightforward way to describe and create subselections of nested
collections.

# Design Considerations

## Clojury interface

Selectors should not look out of place in idiomatic clojure code;
selectors are plain data.

## General applicability

- Any combination of standard clojure collections and leaf nodes can
  be selected
  - Vectors (x number of items from the head)
  - Maps
  - Sets
  - Lists (x number of items from the head)

## Selected structure should be a "subtree" of the original

- Selected elements in a collection remain on the same key or index;
  paths to items in the collection remain valid in the selection.
- Selectors are unambiguous; the meaning of a selector does not depend
  on the structure of the tree.
- Selection of a collection will return the same kind of collection.
- Selection does not add keys to collections or extend sequential
  collections.
- Selection retains metadata.

## Selectors should be unambigious

- Paths in a selection can only be specified once, to prevent
  ambiguity.
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close