跳到正文
豫言包管理
← 全部包

豫言操作系统环境文字 0.2.0

豫言 · 库

按资源许可读取环境变量文字,并检查已授权绑定是否存在。

环境文字接口规范 0.2.0

读取授权环境文字 接受环境绑定名,返回该绑定的文字值。宿主资源许可控制可读名称:已授权但未配置(宿主环境里缺失、为空或其他假值)时返回空字符串;这是 0.2.0 对旧规范的落实——此前云工适配对“已授权而缺失”的变量会抛宿主异常,与规范不符。未授权的名称调用失败,属于部署错误,宿主拒绝(应用不能依赖捕获它);值不是文字(例如绑定对象)时同样失败。空字符串与缺失不可区分,应用需要区分时应在自己的配置契约中另设标记,或改用 授权绑定存在。

授权绑定存在 种类 名称(0.2.0 新增)判断已授权的绑定是否存在。种类是资源许可里的类别名,如 D1、R2、EMAIL、QUEUE、SERVICE、DO、ASSETS、ENV,名称由应用给出(规范不硬编码具体绑定名)。已授权且宿主环境里存在时返回阳;已授权但缺失返回阴;未授权的种类或名称调用失败(宿主拒绝,部署错误);种类或名称为空是违规,抛出可捕获的豫言异常(“绑定种类为空”“绑定名称为空”)。存在的判定依 JavaScript 真值:对象型绑定存在即为阳,文字型环境变量须非空,因此值为空字符串的 ENV 变量得阴。本函数只回答“是否存在”,不交出任何对象,也不会因缺失而失败,供应用在可选能力(如可选的第二数据库、邮件或队列)之间分支。

此包不枚举环境、不写入变量,也不隐式允许读取密钥。密钥与普通文字配置应由部署许可分别授权。浏览器、Node.js、CF Worker 与原生宿主可依各自环境实现,须保持上述“已授权而缺失得空串或阴、未授权失败”的划分。

失败类别

业务情形:已授权而缺失(空串或阴),用返回值表示。违规:种类或名称为空。部署错误:未授权的名称、值不是文字,宿主拒绝。

一致性样例

| 情境 | 必须观察到 | | --- | --- | | 读取授权环境文字 读已授权且有值的变量 | 原文(含中文与换行) | | 读已授权但环境里没有的变量 | 空字符串,不失败 | | 读已授权且为空的变量 | 空字符串 | | 读未授权的名称 | 失败,宿主报告“未授权” | | 授权绑定存在 D1 DB,环境里有 DB | 阳;环境里没有则阴 | | 授权绑定存在 ENV X,X 为空字符串 | 阴 | | 授权绑定存在 用未授权的种类或名称 | 失败 |

不做什么

不枚举授权名单,不读取密钥(另有《秘密文字》),不返回非文字值,不写环境。

依赖

查看包配置

上传历史

当前上传修订:1 ·

  1. 上传修订 1
    下载 ZIP

包层级

父包:豫言操作系统接口

没有子包。