SuperAPI AI 工具集

fix-library-init

编程与开发

查看项目

更新于 10-15 23:57

技能介绍

用途:处理 UI5 linter 中 no-deprecated-api 规则报出的 Library.init()/Lib.init()/init() 弃用调用,为其补上 apiVersion: 2,并在需要时将旧的全局枚举定义现代化为 DataType.registerEnum。

主要能力:覆盖多种写法,包括无参数调用、对象缺少 apiVersion、apiVersion 为字符串、apiVersion 数值错误,以及 Library"init" 元素访问、赋值或解构(含重命名)后的调用;同时把定义在全局命名空间的枚举迁移到库对象上并逐个注册。

使用方式:先用 npx @ui5/linter --details 获取上下文,再读取 library.js,定位 init 调用、返回值捕获情况和枚举定义;补正 apiVersion(必须为数值字面量 2),若存在枚举则捕获 init 返回值到变量,将其挂到库对象上,为每个枚举添加 DataType.registerEnum,并把 sap/ui/base/DataType 加入 sap.ui.define 依赖,最后让模块返回库对象。改完重新运行 linter 验证。

限制:Lib.init() 只接受 apiVersion: 2,apiVersion: 4 仅适用于渲染器;无枚举的库只需补 apiVersion。registerEnum 第一个参数必须与控制元数据中的类型字符串完全一致,枚举应保留在 library.js 以兼容预加载。相关技能:fix-control-renderer、fix-pseudo-modules、fix-js-globals。收费、价格、平台等信息暂未提供。