ludic/ns-value.html
2026-09-17 22:10:03 +00:00

22 lines
No EOL
4.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Value — Ludic</title>
<meta name="description" content="A generic, self-describing value tree — the node type reflection serializes into and JSON round-trips through.">
<link rel="stylesheet" href="base.css">
<link rel="stylesheet" href="docs.css">
</head>
<body>
<header class="nav"><div class="wrap nav-in"><a class="brand" href="index.html"><span class="logo">L</span> Ludic</a><button class="nav-toggle" aria-label="Toggle menu" aria-expanded="false">☰</button><nav class="nav-links"><a href="index.html">Home</a><a href="api.html">API Reference</a><a class="nav-cta" href="https://git.workshopsoft.io/workshopsoft/ludic">Source ↗</a></nav></div></header>
<main class="wrap item">
<div class="crumbs"><a href="api.html">API Reference</a> <span>›</span> <span class="here">Value</span></div>
<div class="item-head"><span class="kind-badge kind-namespace">namespace</span><h1 id="top">Value</h1></div>
<p class="ns-blurb">A generic, self-describing value tree — the node type reflection serializes into and JSON round-trips through. A node is one of null, <code>int</code>, <code>fixed</code>, <code>bool</code>, <code>str</code>, <code>list</code>, or <code>object</code> (see <a href="value-kind"><code>Value.kind</code></a>). Build one with the constructors (<a href="value-int"><code>Value.int</code></a>, <a href="value-object"><code>Value.object</code></a>, …) and the builders <a href="value-add"><code>Value.add</code></a>/<a href="value-put"><code>Value.put</code></a>; read it with <a href="value-get"><code>Value.get</code></a>/<a href="value-at"><code>Value.at</code></a>/<a href="value-count"><code>Value.count</code></a> and the <code>as_*</code> accessors. Related: <a href="json"><code>Json</code></a>, <a href="reflect"><code>Reflect</code></a>.</p>
<div class="ns-methods"><a class="ns-method" href="value-null.html"><code class="nm-sig">Value.null() -&gt; value</code><span class="nm-tip">An empty null node.</span></a><a class="ns-method" href="value-int.html"><code class="nm-sig">Value.int(n: int) -&gt; value</code><span class="nm-tip">Wrap an int in a value node.</span></a><a class="ns-method" href="value-fixed.html"><code class="nm-sig">Value.fixed(f: fixed) -&gt; value</code><span class="nm-tip">Wrap a fixed in a value node.</span></a><a class="ns-method" href="value-bool.html"><code class="nm-sig">Value.bool(b: bool) -&gt; value</code><span class="nm-tip">Wrap a bool in a value node.</span></a><a class="ns-method" href="value-str.html"><code class="nm-sig">Value.str(s: string) -&gt; value</code><span class="nm-tip">Wrap a string in a value node.</span></a><a class="ns-method" href="value-list.html"><code class="nm-sig">Value.list() -&gt; value</code><span class="nm-tip">An empty list node.</span></a><a class="ns-method" href="value-object.html"><code class="nm-sig">Value.object() -&gt; value</code><span class="nm-tip">An empty object node.</span></a><a class="ns-method" href="value-add.html"><code class="nm-sig">Value.add(list, item) -&gt; value</code><span class="nm-tip">Append an item to a list; returns the list.</span></a><a class="ns-method" href="value-put.html"><code class="nm-sig">Value.put(obj, key: string, item) -&gt; value</code><span class="nm-tip">Set a key on an object; returns the object.</span></a><a class="ns-method" href="value-get.html"><code class="nm-sig">Value.get(obj, key: string) -&gt; value</code><span class="nm-tip">Read a member of an object by key.</span></a><a class="ns-method" href="value-has.html"><code class="nm-sig">Value.has(obj, key: string) -&gt; bool</code><span class="nm-tip">Whether an object has a member.</span></a><a class="ns-method" href="value-at.html"><code class="nm-sig">Value.at(list, index: int) -&gt; value</code><span class="nm-tip">Read a list item by index.</span></a><a class="ns-method" href="value-key_at.html"><code class="nm-sig">Value.key_at(obj, index: int) -&gt; string</code><span class="nm-tip">The key of an object member by position.</span></a><a class="ns-method" href="value-count.html"><code class="nm-sig">Value.count(value) -&gt; int</code><span class="nm-tip">Number of items/members in a list or object.</span></a><a class="ns-method" href="value-kind.html"><code class="nm-sig">Value.kind(value) -&gt; int</code><span class="nm-tip">The node's kind tag.</span></a><a class="ns-method" href="value-as_int.html"><code class="nm-sig">Value.as_int(value) -&gt; int</code><span class="nm-tip">Read a scalar node as an int.</span></a><a class="ns-method" href="value-as_str.html"><code class="nm-sig">Value.as_str(value) -&gt; string</code><span class="nm-tip">Read a str node's text.</span></a></div>
<a class="back" href="api.html">← All symbols</a>
</main>
<script src="ludic-highlight.js"></script>
<script>Ludic.installCards(); Ludic.flashTarget();</script>
</body></html>