A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/syntax-tree/unist/commit/691de9c4d5d3d5ff58cf58bd60fb16d46b22962a below:

Add sections on possible values · syntax-tree/unist@691de9c · GitHub

File tree Expand file treeCollapse file tree 1 file changed

+23

-3

lines changed

Filter options

Expand file treeCollapse file tree 1 file changed

+23

-3

lines changed Original file line number Diff line number Diff line change

@@ -20,13 +20,26 @@ See [**nlcst**][nlcst] for more information on **retext** nodes,

20 20

[**mdast**][mdast] for information on **remark** nodes, and

21 21

[`hast#nodes`][hast-nodes] for information on **hast** nodes.

22 22 23 +

Subsets of Unist can define new properties on new nodes, and plug-ins

24 +

and utilities can define new [`data`][data] properties on nodes. But,

25 +

the values on those properties **must** be JSON values: `string`,

26 +

`number`, `object`, `array`, `true`, `false`, or `null`. This means

27 +

that the syntax tree should be able to be converted to and from JSON

28 +

and produce the same tree. For example, in JavaScript, a tree should

29 +

be able to be passed through `JSON.parse(JSON.stringify(tree))` and

30 +

result in the same values.

31 + 23 32

### `Node`

24 33 25 34

Node represents any unit in the Unist hierarchy. It is an abstract

26 35

class. Interfaces inheriting from **Node** must have a `type` property,

27 36

and may have `data` or `location` properties. `type`s are defined by

28 37

their namespace.

29 38 39 +

Subsets of Unist are allowed to define properties on interfaces which

40 +

subclass Unist’s abstract interfaces. For example, [mdast][] defines

41 +

a `link` node (subclassing [Parent][]) with a `url` property.

42 + 30 43

```idl

31 44

interface Node {

32 45

type: string;

@@ -37,9 +50,10 @@ interface Node {

37 50 38 51

#### `Data`

39 52 40 -

Data represents data associated with any node. Data is a scope for plug-ins

41 -

to store any information. Its only limitation being that each property should

42 -

by `stringify`able: not throw when passed to `JSON.stringify()`.

53 +

Data represents data associated with any node. `Data` is a scope for

54 +

plug-ins to store any information. For example, [`remark-html`][remark-html]

55 +

uses `htmlAttributes` to let other plug-ins specify attributes added

56 +

to the compiled HTML element.

43 57 44 58

```idl

45 59

interface Data { }

@@ -175,3 +189,9 @@ A list of **VFile**-related utilities can be found at [**vfile**][vfile].

175 189

[hast-nodes]: https://github.com/wooorm/hast#nodes

176 190 177 191

[vfile]: https://github.com/wooorm/vfile

192 + 193 +

[remark-html]: https://github.com/wooorm/remark-html

194 + 195 +

[parent]: #parent

196 + 197 +

[data]: #data

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4