豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 398 行 · 16311 字节 · UTF-8
§
寻观「标准库」之「豫言标准内核」之书。

「:
网页客户端是一个纯函数调用式的前端组件核心。
它不依赖模板、JSX、PPX 或其他特殊语法。

节点和属性是宿主无关的虚拟文档数据;组件是返回节点的普通函数。
状态组件显式接收当前状态与更新函数,不依赖隐式钩子顺序。
当前宿主提供确定性超文本渲染和事件模拟;浏览器宿主可在后续接入 DOM。
:」

「网页事件」即
  「字符串」 「:事件名:」
  合
  「字符串」 「:目标标识:」
  合
  「字符串」 「:输入值:」
也。

「事件名」乃化「网页事件」而「字符串」也。
「事件名」者会「事件」而
  「事件」中「零」
也。

「事件目标标识」乃化「网页事件」而「字符串」也。
「事件目标标识」者会「事件」而
  「事件」中「一」
也。

「事件输入值」乃化「网页事件」而「字符串」也。
「事件输入值」者会「事件」而
  「事件」中「二」
也。

「网页属性」立「元类型」也。
  「文本属性」立化「字符串」而化「字符串」而「网页属性」也。
  「开关属性」立化「字符串」而化「爻」而「网页属性」也。
  「事件属性」立化「字符串」而化(化「网页事件」而「有」)而「网页属性」也。

「属性」乃化「字符串」而化「字符串」而「网页属性」也。
「属性」者「文本属性」也。

「布尔属性」乃化「字符串」而化「爻」而「网页属性」也。
「布尔属性」者「开关属性」也。

「事件处理」乃化「字符串」而化(化「网页事件」而「有」)而「网页属性」也。
「事件处理」者「事件属性」也。

「点击时」乃化(化「网页事件」而「有」)而「网页属性」也。
「点击时」者会「处理」而
  「事件处理」于『点击』于「处理」
也。

「输入时」乃化(化「网页事件」而「有」)而「网页属性」也。
「输入时」者会「处理」而
  「事件处理」于『输入』于「处理」
也。

「标识」乃化「字符串」而「网页属性」也。
「标识」者会「值」而
  「属性」于『id』于「值」
也。

「样式」乃化「字符串」而「网页属性」也。
「样式」者会「值」而
  「属性」于『style』于「值」
也。

「类名」乃化「字符串」而「网页属性」也。
「类名」者会「值」而
  「属性」于『class』于「值」
也。

「网页节点」立「元类型」也。
  「空节点」立「网页节点」也。
  「文字节点」立化「字符串」而「网页节点」也。
  「原文节点」立化「字符串」而「网页节点」也。
  「元素节点」立化「字符串」而化(「列」于「网页属性」)而化(「列」于「网页节点」)而「网页节点」也。
  「节点组」立化(「列」于「网页节点」)而「网页节点」也。

「空白」乃化「有」而「网页节点」也。
「空白」者会「无」而
  「空节点」
也。

「文字」乃化「字符串」而「网页节点」也。
「文字」者「文字节点」也。

「可信原文」乃化「字符串」而「网页节点」也。
「可信原文」者「原文节点」也。

「元素」乃
  化「字符串」而
  化(「列」于「网页属性」)而
  化(「列」于「网页节点」)而
  「网页节点」
也。
「元素」者「元素节点」也。

「片段」乃化(「列」于「网页节点」)而「网页节点」也。
「片段」者「节点组」也。

「分区」乃
  化(「列」于「网页属性」)而
  化(「列」于「网页节点」)而
  「网页节点」
也。
「分区」者会「属性们」而会「子节点们」而
  「元素」于『div』于「属性们」于「子节点们」
也。

「段落」乃
  化(「列」于「网页属性」)而
  化(「列」于「网页节点」)而
  「网页节点」
也。
「段落」者会「属性们」而会「子节点们」而
  「元素」于『p』于「属性们」于「子节点们」
也。

「一级标题」乃
  化(「列」于「网页属性」)而
  化(「列」于「网页节点」)而
  「网页节点」
也。
「一级标题」者会「属性们」而会「子节点们」而
  「元素」于『h1』于「属性们」于「子节点们」
也。

「按钮」乃
  化(「列」于「网页属性」)而
  化(「列」于「网页节点」)而
  「网页节点」
也。
「按钮」者会「属性们」而会「子节点们」而
  「元素」于『button』于「属性们」于「子节点们」
也。

「输入框」乃化(「列」于「网页属性」)而「网页节点」也。
「输入框」者会「属性们」而
  「元素」于『input』于「属性们」于「罄」
也。

「无序列表」乃
  化(「列」于「网页属性」)而
  化(「列」于「网页节点」)而
  「网页节点」
也。
「无序列表」者会「属性们」而会「子节点们」而
  「元素」于『ul』于「属性们」于「子节点们」
也。

「列表项」乃
  化(「列」于「网页属性」)而
  化(「列」于「网页节点」)而
  「网页节点」
也。
「列表项」者会「属性们」而会「子节点们」而
  「元素」于『li』于「属性们」于「子节点们」
也。

「验证网页名称」乃化「字符串」而「有」也。
「验证网页名称」者会「名称」而
  若「或者」
    于(「字符串相等吗」于「名称」于『』)
    于(「或者」
      于(「是子字符串吗」于『 』于「名称」)
      于(「或者」
        于(「是子字符串吗」于『<』于「名称」)
        于(「或者」
          于(「是子字符串吗」于『>』于「名称」)
          于(「或者」于(「是子字符串吗」于『"』于「名称」)于(「是子字符串吗」于『=』于「名称」)))))
  则
    「发生事故」于(『无效的网页名称:』附「名称」)
  否则
    「元」
也。

「转义网页文字」乃化「字符串」而「字符串」也。
「转义网页文字」者会「文字值」而
  「串查找替换」
    于(「串查找替换」
      于(「串查找替换」于(「串查找替换」于「文字值」于『&』于『&amp;』)于『<』于『&lt;』)
      于『>』于『&gt;』)
      于『"』于『&quot;』
也。

「渲染属性」乃化「网页属性」而「字符串」也。
「渲染属性」者会「属性值」而
  鉴「属性值」而
    有(「文本属性」于「名称」于「值」)则
      (虑「无」者「验证网页名称」于「名称」而『 』附「名称」附『="』附(「转义网页文字」于「值」)附『"』)
    或有(「开关属性」于「名称」于「开启」)则
      若「开启」则(虑「无」者「验证网页名称」于「名称」而『 』附「名称」)否则『』
    或有(「事件属性」于「名称」于「处理」)则『』
也。

「渲染属性们」乃化(「列」于「网页属性」)而「字符串」也。
「渲染属性们」者会「属性们」而
  鉴「属性们」而
    有「罄」则『』
    或有(「缀」于「当前」于「余下」)则(「渲染属性」于「当前」)附(「渲染属性们」于「余下」)
也。

「空元素吗」乃化「字符串」而「爻」也。
「空元素吗」者会「标签」而
  「或者」
    于(「字符串相等吗」于「标签」于『input』)
    于(「或者」
      于(「字符串相等吗」于「标签」于『br』)
      于(「或者」
        于(「字符串相等吗」于「标签」于『hr』)
        于(「或者」
          于(「字符串相等吗」于「标签」于『img』)
          于(「或者」于(「字符串相等吗」于「标签」于『meta』)于(「字符串相等吗」于「标签」于『link』)))))
也。

「渲染节点」乃化「网页节点」而「字符串」也。
「渲染节点」者会「节点」而
  鉴「节点」而
    有「空节点」则『』
    或有(「文字节点」于「文字值」)则
      「转义网页文字」于「文字值」
    或有(「原文节点」于「原文值」)则「原文值」
    或有(「节点组」于「子节点们」)则
      「串组合并」于(「态射」授以「网页节点」授以「字符串」于「子节点们」于「渲染节点」)
    或有(「元素节点」于「标签」于「属性们」于「子节点们」)则(
      虑「无」者「验证网页名称」于「标签」而
      虑「开头」者『<』附「标签」附(「渲染属性们」于「属性们」)附『>』而
      若「空元素吗」于「标签」
      则
        「开头」
      否则
        「开头」附(「串组合并」于(「态射」授以「网页节点」授以「字符串」于「子节点们」于「渲染节点」))附『</』附
          「标签」附『>』
    )
也。

「渲染节点们」乃化(「列」于「网页节点」)而「字符串」也。
「渲染节点们」者会「节点们」而
  鉴「节点们」而
    有「罄」则『』
    或有(「缀」于「当前」于「余下」)则(「渲染节点」于「当前」)附(「渲染节点们」于「余下」)
也。

「组件」立「元类型」也。
  「构造组件」立化(化「有」而「网页节点」)而「组件」也。

「建立组件」乃化(化「有」而「网页节点」)而「组件」也。
「建立组件」者「构造组件」也。

「静态组件」乃化「网页节点」而「组件」也。
「静态组件」者会「节点」而
  「构造组件」于(会「无」而「节点」)
也。

「组件节点」乃化「组件」而「网页节点」也。
「组件节点」者会「组件值」而
  鉴「组件值」而
    有(「构造组件」于「视图函数」)则「视图函数」于「元」
也。

「呈现组件」乃化「组件」而「字符串」也。
「呈现组件」者会「组件值」而
  「渲染节点」于(「组件节点」于「组件值」)
也。

「建立状态组件」乃
  承「甲」而
  化「甲」而
  化(化「甲」而化(化「甲」而「有」)而「网页节点」)而
  「组件」
也。
「建立状态组件」者受「甲」而会「初始状态」而会「视图函数」而
  虑「状态」者「新引用」于「初始状态」而
  「构造组件」于(会「无」而「视图函数」于(「读引用」于「状态」)于(会「新状态」而「写引用」于「状态」于「新状态」))
也。

「建立归约组件」乃
  承「甲」而承「乙」而
  化「甲」而
  化(化「甲」而化「乙」而「甲」)而
  化(化「甲」而化(化「乙」而「有」)而「网页节点」)而
  「组件」
也。
「建立归约组件」者受「甲」而受「乙」而会「初始模型」而会「归约函数」而会「视图函数」而
  虑「模型」者「新引用」于「初始模型」而
  「构造组件」于(会「无」而
  「视图函数」
    于(「读引用」于「模型」)
    于(会「动作」而「写引用」于「模型」于(「归约函数」于(「读引用」于「模型」)于「动作」)))
也。

「元素标识」乃化(「列」于「网页属性」)而(「或可有」于「字符串」)也。
「元素标识」者会「属性们」而
  鉴「属性们」而
    有「罄」则「可无」
    或有(「缀」于(「文本属性」于「名称」于「值」)于「余下」)则
      若「字符串相等吗」于「名称」于『id』则「可有」于「值」否则「元素标识」于「余下」
    或有(「缀」于「其他」于「余下」)则
      「元素标识」于「余下」
也。

「触发属性事件」乃
  化(「列」于「网页属性」)而
  化「字符串」而
  化「网页事件」而
  「爻」
也。
「触发属性事件」者会「属性们」而会「待查事件名」而会「事件」而
  鉴「属性们」而
    有「罄」则「阴」
    或有(「缀」于(「事件属性」于「当前事件名」于「处理」)于「余下」)则
      若「字符串相等吗」于「当前事件名」于「待查事件名」
      则
        (「处理」于「事件」;
          「阳」)
      否则
        「触发属性事件」于「余下」于「待查事件名」于「事件」
    或有(「缀」于「其他」于「余下」)则
      「触发属性事件」于「余下」于「待查事件名」于「事件」
也。

「触发节点列表事件」乃
  化(「列」于「网页节点」)而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  「爻」
也。
「触发节点列表事件」者会「剩余」而会「目标标识」而会「待查事件名」而会「输入值」而
  鉴「剩余」而
    有「罄」则「阴」
    或有(「缀」于「当前」于「余下」)则(
      鉴「当前」而
        有「空节点」则
          「触发节点列表事件」
            于「余下」
            于「目标标识」
            于「待查事件名」于「输入值」
        或有(「文字节点」于「文字内容」)则
          「触发节点列表事件」
            于「余下」
            于「目标标识」
            于「待查事件名」于「输入值」
        或有(「原文节点」于「原文内容」)则
          「触发节点列表事件」
            于「余下」
            于「目标标识」
            于「待查事件名」于「输入值」
        或有(「节点组」于「子节点们」)则
          「触发节点列表事件」
            于(「附加」授以「网页节点」于「子节点们」于「余下」)
            于「目标标识」
            于「待查事件名」
            于「输入值」
        或有(「元素节点」于「标签」于「属性们」于「子节点们」)则(
          鉴「元素标识」于「属性们」而
            有(「可有」于「当前标识」)则
              若「字符串相等吗」于「当前标识」于「目标标识」
              则
                「触发属性事件」
                  于「属性们」
                  于「待查事件名」
                  于(「待查事件名」与「目标标识」与「输入值」)
              否则
                「触发节点列表事件」
                  于(「附加」授以「网页节点」于「子节点们」于「余下」)
                  于「目标标识」于「待查事件名」于「输入值」
            或有「可无」则
              「触发节点列表事件」
                于(「附加」授以「网页节点」于「子节点们」于「余下」)
                于「目标标识」于「待查事件名」于「输入值」
        )
    )
也。

「触发节点事件」乃
  化「网页节点」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  「爻」
也。
「触发节点事件」者会「根节点」而会「目标标识」而会「待查事件名」而会「输入值」而
  「触发节点列表事件」于((「列」【「根节点」】))于「目标标识」于「待查事件名」于「输入值」
也。

「触发组件事件」乃
  化「组件」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  「爻」
也。
「触发组件事件」者会「组件值」而会「目标标识」而会「待查事件名」而会「输入值」而
  「触发节点事件」于(「组件节点」于「组件值」)于「目标标识」于「待查事件名」于「输入值」
也。