
【免费下载链接】sqornA Javascript library for building SQL queries项目地址https://gitcode.com/gh_mirrors/sq/sqorn点击查看免费下载Sqorn 是一款用于构建 SQL 查询的 JavaScript 库它的配置Configuration提供 thenable、mapInputKeys、mapOutputKeys 三个选项帮你统一管理查询对象能否 await以及数据库字段与 JS 键名的来回映射省心得多。三个选项速览调用sqorn(config)创建查询构建器sq时可以在 config 中传入以下选项选项默认值作用thenabletrue查询对象本身是否支持await/.thenmapInputKeys转 snake_case自定义JS 对象键 → SQL 标识符的转换规则mapOutputKeys转 camelCase自定义数据库列名 → JS 对象键的转换规则Sqorn 对每个 SQL 方言都有一个对应包Postgres、MySQL、SQLite 等安装后创建sq时即可传入这些配置安装步骤见官方文档 setup.md。thenable查询对象能否直接 await默认情况下sq是thenable的——你可以直接await查询对象或调用.then// 默认 thenable: true const people await sq.sqlselect * from person如果你的项目里不希望查询对象被当成 Promise 使用例如避免被第三方库误判可以关闭该行为const sq sqorn({ thenable: false }) // 会报错 ❌ const people await sq.sqlselect * from person // 需要显式指定执行方式 ✅ const people await sq.sqlselect * from person.all() 小知识thenable: false时await查询对象会原样返回它自己而不是执行查询。这个细节在 config.test.js 的测试里得到了验证。thenable的实现位于 packages/sqorn-builder-sq/src/index.js为true时会给查询对象附加then方法内部调用this.all()。mapInputKeys自定义输入键名映射输入映射指的是你在 JS 对象里写的键名通常是 camelCase写入 SQL 时要变成什么形式。默认规则是转换为snake_casesq.from({ iJ3: kL }).where({ sT: 1 }) // 生成: from kL i_j3 where (s_t $1)注意两类不转换的情况字符串参数、模板字符串参数和对象值不会转换包含括号的键名如aB(cD, e_f)会原样保留。如果你希望键名保持原样或走其他规则可以传入一个函数它接收键名并返回映射结果const sq sqorn({ mapInputKeys: key key }) // 原样输出 const sq2 sqorn({ mapInputKeys: key key.toUpperCase() }) // 转大写默认使用的 snake_case 转换函数在 change_case.js。mapOutputKeys自定义输出键名映射输出映射指的是数据库返回的列名如first_name在你拿到结果对象里变成什么键名。默认规则是转换为camelCase非常符合 JS 开发习惯const [first] await sq.fromperson .returnid, first_name, last_name .limit1 const { id, firstName, lastName } first同样可以用函数自定义例如让结果键名保持数据库原始列名const sq sqorn({ mapOutputKeys: key key }) const [first] await sq.fromperson .returnid, first_name, last_name .limit1 const { id, first_name, last_name } first映射函数在 packages/sqorn-builder-sq/src/index.js 中被memoize包装并作用于one()/all()返回的每一行。实用技巧映射结果会被缓存mapInputKeys和mapOutputKeys的映射结果都是每个键名只计算一次然后缓存见 memoize 实现。即使你传入复杂的转换函数高频查询下也不会成为性能瓶颈可以放心使用。常见组合与选型建议默认配置不传任何选项输入 snake_case、输出 camelCase、可await——适合绝大多数项目推荐新手直接使用。对接严格命名规范的团队用mapInputKeys: key keymapOutputKeys: key key关闭自动转换键名完全跟随数据库定义。与 Promise 工具混用时设thenable: false显式使用.all()/.one()语义更清晰。 更多配置细节请参考官方文档 Configuration.md完整的方言与适配器结构可以在 packages/sqorn-lib-core/src/index.js 中浏览。赞分享【免费下载链接】sqornA Javascript library for building SQL queries项目地址https://gitcode.com/gh_mirrors/sq/sqorn点击查看免费下载相关推荐如何用vue-infinite-loading打造完美分页体验终极指南如何用vue infinite loading打造完美分页体验终极指南 在当今的Web应用中无限滚动Infinite Loading已成为提升用户体验的终极缠论分析工具通达信ChanlunX插件完整使用指南终极缠论分析工具通达信ChanlunX插件完整使用指南 还在为缠论的手工分析感到头疼吗面对复杂的K线图手动绘制笔、段和中枢不仅耗时费力还容易出错。现在金融科技SharpKeys键盘重映射5个实用技巧让键盘更懂你SharpKeys键盘重映射5个实用技巧让键盘更懂你 SharpKeys是一款轻量级Windows工具通过管理系统注册表项实现键盘按键的自定义重映射。无论是桌面应用开发工具系统底层上一篇终极指南ChatGPT for Google 扩展如何保护你的隐私数据下一篇QuickAdd多选择与包管理组织你的自动化工具集创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考