豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 169 行 · 8956 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字节串」之书。
寻观「癸象工具」之「总集」之书。
寻观「云工宿主」之「核心」之书。

「查询字节上限」乃「整数」也。
「查询字节上限」者「一零四八五七六」也。

「查询项数上限」乃「整数」也。
「查询项数上限」者「一零二四」也。

「查询文字上限」乃「整数」也。
「查询文字上限」者「六五五三六」也。

「查询内部基址」乃「字符串」也。
「查询内部基址」者『https://yuyan-lang.org』也。

「读文」乃化「字符串」而「字符串」也。
「读文」者会「原」而
  鉴「癸象解析」于「原」而
    有(「癸象字符串」于「文」)则「文」
    或有「其他」则
      「发生事故」授以「字符串」于『宿主属性不是文字』
也。

「:文言:文经宿主自书为 JSON 字面,控字与非 ASCII 皆不伤;以之直接拼入参数文。汉语:把任意字符串交给宿主的 TextDecoder,得到宿主自己序列化的 JSON 字符串字面量,可直接拼进参数文,避免豫言侧编码器对控制字符的遗漏。:」
「查询宿主字面」乃化「字符串」而「字符串」也。
「查询宿主字面」者会「文」而
  虑「字节号」者「云工字节成句柄」于(「字符串转字节串」于「文」)而
  虑「解码器」者
    「取云工句柄」于(「云工构造对象」于『TextDecoder』于『["utf-8",{"ignoreBOM":true}]』)而
    虑「字面」者
      「云工调用方法」于「解码器」于『decode』于(『[』附(「云工句柄引用文」于「字节号」)附『]』)而
      虑「无」者「云工释放句柄」于「字节号」而
      虑「无」者「云工释放句柄」于「解码器」而
      「字面」
也。

「查询项字面」乃化(「字符串」合「字符串」)而「字符串」也。
「查询项字面」者会「项」而
  『[』附(「查询宿主字面」于(「项」中「零」))附『,』附(「查询宿主字面」于(「项」中「一」))附『]』
也。

「查询项总字节」乃
  化(「列」于(「字符串」合「字符串」))而
  化「整数」而
  「整数」
也。
「查询项总字节」者会「诸」而会「已计」而
  鉴「诸」而
    有「罄」则「已计」
    或有(「缀」于「项」于「余」)则
      「查询项总字节」
        于「余」
        于(「加」于「已计」于(「加」于(「字节长度」于(「项」中「零」))于(「字节长度」于(「项」中「一」))))
也。

「编码查询串」乃化(「列」于(「字符串」合「字符串」))而「字符串」也。
「编码查询串」者会「诸项」而
  若「大于」于(「长度」授以(「字符串」合「字符串」)于「诸项」)
  于「查询项数上限」则「发生事故」授以「字符串」
  于『查询项超过 1024 项』
  否则
    若「大于」于(「查询项总字节」于「诸项」于「零」)于「查询字节上限」则
      「发生事故」授以「字符串」于『查询项总长度超过 1 MiB』
    否则
      虑「参数」者
        『[[』附(「间合」于『,』于(「态射」授以(「字符串」合「字符串」)授以「字符串」于「诸项」于「查询项字面」))
        附『]]』
      而
      虑「号」者
        「取云工句柄」于(「云工构造对象」于『URLSearchParams』于「参数」)
      而
      虑「结果」者「云工查询参数成文」于「号」
      而
      虑「无」者「云工释放句柄」于「号」而
      「结果」
也。

「解析表单键值」乃化「字符串」而「字符串」也。
「解析表单键值」者会「文」而
  若「大于」于(「字节长度」于「文」)于「查询字节上限」则
    「发生事故」授以「字符串」于『表单文字超过 1 MiB』
  否则
    虑「号」者
      「取云工句柄」于(「云工构造对象」于『URLSearchParams』于(『[』附(「查询宿主字面」于「文」)附『]』))
    而
    虑「项数」者「理解整数」于(「云工读取属性」于「号」于『size』)而
    若「大于」于「项数」于「一零二四」则
      (虑「无」者「云工释放句柄」于「号」而「发生事故」授以「字符串」于『表单项数超过 1024』)
    否则
      虑「结果」者「云工查询参数游列文」于「号」于『entries』
      而
      虑「无」者「云工释放句柄」于「号」而
      「结果」
也。

「查询网址解析结果」乃化「字符串」而(「爻」合「字符串」)也。
「查询网址解析结果」者会「结果文」而
  鉴(「癸象解析」于「结果文」)而
    有(「癸象对象」于(「列」【『$句柄』与(「癸象字符串」于「号」)】))则(「阳」与「号」)
    或有「其他」则(「阴」与『』)
也。

「查询网址解析」乃化「字符串」而(「爻」合「字符串」)也。
「查询网址解析」者会「文」而
  「查询网址解析结果」于(「云工调用方法」
    于(「云工全局句柄」于『URL』)于『parse』
      于(『[』附(「查询宿主字面」于「文」)附『]』))
也。

「查询网址按根解析」乃化「字符串」而化「字符串」而(「爻」合「字符串」)也。
「查询网址按根解析」者会「文」而会「根号」而
  「查询网址解析结果」于(「云工调用方法」
    于(「云工全局句柄」于『URL』)
    于『parse』
    于(『[』附(「查询宿主字面」于「文」)附『,』附(「云工句柄引用文」于「根号」)附『]』))
也。

「查询设参」乃化「字符串」而化「字符串」而化「字符串」而「有」也。
「查询设参」者会「址号」而会「键」而会「值」而
  虑「参数号」者
    「取云工句柄」于(「云工读取属性」于「址号」于『searchParams』)而
    虑「无」者
      「云工调用方法」
        于「参数号」于『set』
        于(『[』附(「查询宿主字面」于「键」)附『,』附(「查询宿主字面」于「值」)附『]』)
    而
    「云工释放句柄」于「参数号」
也。

「设置网址查询参数」乃化「字符串」而化「字符串」而化「字符串」而「字符串」也。
「设置网址查询参数」者会「网址」而会「键」而会「值」而
  若「或者」
    于(「大于」于(「字节长度」于「网址」)于「查询文字上限」)
    于(「或者」
      于(「大于」于(「字节长度」于「键」)于「查询文字上限」)
      于(「大于」于(「字节长度」于「值」)于「查询文字上限」))则
        「发生事故」授以「字符串」于『网址、键或值超过 64 KiB』
  否则
    虑「绝对」者「查询网址解析」于「网址」
    而
    若「绝对」中「零」则(
      虑「址号」者「绝对」中「一」
      而
      虑「协议」者「读文」于(「云工读取属性」于「址号」于『protocol』)
      而
      若「非」于(「或者」于(「串相等」于「协议」于『https:』)于(「串相等」于「协议」于『http:』))则
        「发生事故」授以「字符串」于『绝对网址不是 HTTP(S)』
      否则
        虑「无」者「查询设参」于「址号」于「键」于「值」而
        「读文」于(「云工读取属性」于「址号」于『href』)
    )否则
      虑「根解」者「查询网址解析」于「查询内部基址」
      而
      虑「解」者「查询网址按根解析」于「网址」于(「根解」中「一」)
      而
      若「非」于(「解」中「零」)则
        「发生事故」授以「字符串」于『网址无效』
      否则
        虑「址号」者「解」中「一」
        而
        若「非」于(「串相等」于(「读文」于(「云工读取属性」于「址号」于『origin』))于「查询内部基址」)则
          「发生事故」授以「字符串」于『相对网址不得改变来源』
        否则
          虑「无」者「查询设参」于「址号」于「键」于「值」而
          (「读文」于(「云工读取属性」于「址号」于『pathname』))附(「读文」
            于(「云工读取属性」于「址号」于『search』))附(「读文」于(「云工读取属性」于「址号」于『hash』))
也。