UNPKG

vite-uni-dev-tool

Version:

vite-uni-dev-tool, debug, uni-app, 一处编写,到处调试

1,146 lines (1,141 loc) 33.9 kB
export type Tip = { name: string; description: string; result: string[]; }; export const staticTips: Record< string, { attr: Tip[]; fun: Tip[]; } > = { /** Number 实例方法和属性 */ number: { attr: [ { name: 'constructor', description: '返回创建该Number实例的构造函数(即Number)', result: ['function'], }, ], fun: [ { name: 'toExponential', description: '返回一个以指数表示法表示该数字的字符串。', result: ['string'], }, { name: 'toFixed', description: '使用定点表示法来格式化该数值。', result: ['string'], }, { name: 'toLocaleString', description: '返回这个数字特定于语言环境的表示字符串', result: ['string'], }, { name: 'toPrecision', description: '返回一个以指定精度表示该数字的字符串。', result: ['string'], }, { name: 'toString', description: '返回表示该数字值的字符串。', result: ['string'], }, { name: 'valueOf', description: '返回该数字的原始值。', result: ['number'], }, ], }, /** Number 静态方法和属性 */ Number: { attr: [ { name: 'EPSILON', description: '静态数据属性表示 1 与大于 1 的最小浮点数之间的差值。', result: ['number'], }, { name: 'MAX_SAFE_INTEGER', description: '静态数据属性表示在 JavaScript 中最大的安全整数(2^53 – 1)', result: ['number'], }, { name: 'MAX_VALUE', description: '静态数据属性表示在 JavaScript 中可表示的最大数值。', result: ['number'], }, { name: 'MIN_SAFE_INTEGER', description: '静态数据属性代表在 JavaScript 中最小的安全整数 -(2^53 - 1)。', result: ['number'], }, { name: 'MIN_VALUE', description: '静态数据属性表示在 JavaScript 中可表示的最小正数值。', result: ['number'], }, { name: 'NaN', description: '静态数据属性表示非数字值,等同于全局NaN。', result: ['number'], }, { name: 'NEGATIVE_INFINITY', description: '静态数据属性表示负无穷值。', result: ['number'], }, { name: 'POSITIVE_INFINITY', description: '静态数据属性表示正无穷大值。', result: ['number'], }, ], fun: [ { name: 'isFinite', description: '判断传入值是否是一个有限数——检查给定值是数字,且不是正负Infinity或NaN', result: ['boolean'], }, { name: 'isInteger', description: '判断传入值是否为整数', result: ['boolean'], }, { name: 'isNaN', description: '判断传入值是否是 NaN', result: ['boolean'], }, { name: 'isSafeInteger', description: '判断提供的值是否是一个安全整数', result: ['boolean'], }, { name: 'parseFloat', description: '解析参数并返回浮点数。无法解析则返回NaN。', result: ['number'], }, { name: 'parseInt', description: '解析字符串参数并返回指定基数的整数。', result: ['number'], }, ], }, /** String 实例方法和属性 */ string: { attr: [ { name: 'length', description: '字符串的长度。', result: ['number'], }, { name: 'constructor', description: '返回创建该String实例的构造函数(即String)', result: ['function'], }, ], fun: [ { name: 'charAt', description: '返回指定索引处的字符。', result: ['string'], }, { name: 'charCodeAt', description: '返回指定索引处的字符的Unicode编码。', result: ['number'], }, { name: 'concat', description: '连接两个或更多字符串,并返回结果。', result: ['string'], }, { name: 'endsWith', description: '判断字符串是否以指定子字符串结束。', result: ['boolean'], }, { name: 'includes', description: '判断字符串是否包含指定子字符串。', result: ['boolean'], }, { name: 'indexOf', description: '返回指定字符在字符串中首次出现的位置。', result: ['number'], }, { name: 'lastIndexOf', description: '返回指定字符在字符串中最后出现的位置。', result: ['number'], }, { name: 'match', description: '通过正则表达式匹配字符串,返回匹配结果。', result: ['array', 'null'], }, { name: 'padEnd', description: '用指定字符填充字符串末尾,直到达到指定长度。', result: ['string'], }, { name: 'padStart', description: '用指定字符填充字符串开头,直到达到指定长度。', result: ['string'], }, { name: 'repeat', description: '将字符串重复指定次数并返回。', result: ['string'], }, { name: 'replace', description: '将符合正则表达式的内容替换为指定字符串(只替换首次匹配)。', result: ['string'], }, { name: 'replaceAll', description: '将所有符合正则表达式的内容替换为指定字符串。', result: ['string'], }, { name: 'search', description: '返回符合正则表达式的内容在字符串中的索引。', result: ['number'], }, { name: 'split', description: '按指定分隔符分割字符串,返回数组。', result: ['array'], }, { name: 'startsWith', description: '判断字符串是否以指定字符串开头。', result: ['boolean'], }, { name: 'toLowerCase', description: '将字符串转换为小写。', result: ['string'], }, { name: 'toUpperCase', description: '将字符串转换为大写。', result: ['string'], }, { name: 'trim', description: '去除字符串两端的空白字符。', result: ['string'], }, { name: 'trimEnd', description: '去除字符串末尾的空白字符。', result: ['string'], }, { name: 'trimStart', description: '去除字符串开头的空白字符。', result: ['string'], }, { name: 'valueOf', description: '返回字符串的原始值。', result: ['string'], }, { name: 'codePointAt', description: '返回指定索引处字符的Unicode码点(可处理大于U+FFFF的字符)。', result: ['number'], }, { name: 'normalize', description: '按照指定的Unicode标准形式规范化字符串。', result: ['string'], }, ], }, /** String 静态方法和属性 */ String: { attr: [ { name: 'prototype', description: 'String构造函数的原型对象,所有字符串实例继承于此', result: ['object'], }, ], fun: [ { name: 'fromCodePoint', description: '根据指定的码位序列返回一个字符串', result: ['string'], }, { name: 'raw', description: '模板字符串的标签函数,用于获取原始字符串模板', result: ['string'], }, ], }, /** Array 实例方法和属性 */ array: { attr: [ { name: 'length', description: '表示数组的元素个数。', result: ['number'], }, { name: 'constructor', description: '返回创建该数组实例的构造函数(即Array)', result: ['function'], }, ], fun: [ { name: 'concat', description: '合并两个或多个数组,返回新数组。', result: ['array'], }, { name: 'copyWithin', description: '浅复制数组部分到同一数组的另一位置,返回原数组(不改变长度)。', result: ['array'], }, { name: 'entries', description: '返回包含数组每个索引键值对的Array Iterator对象。', result: ['array'], }, { name: 'every', description: '测试所有元素是否通过指定函数测试,返回布尔值。', result: ['boolean'], }, { name: 'fill', description: '用固定值填充数组中指定范围的元素。', result: ['array'], }, { name: 'filter', description: '创建包含通过指定函数测试的所有元素的新数组。', result: ['array'], }, { name: 'find', description: '返回第一个通过指定函数测试的元素值,无则返回undefined。', result: ['any'], }, { name: 'findIndex', description: '返回第一个通过指定函数测试的元素索引,无则返回-1。', result: ['number'], }, { name: 'flat', description: '按指定深度递归遍历数组,合并子数组元素为新数组。', result: ['array'], }, { name: 'flatMap', description: '先映射每个元素,再将结果压缩为新数组。', result: ['array'], }, { name: 'forEach', description: '对每个元素执行一次指定函数。', result: ['boolean'], }, { name: 'includes', description: '判断数组是否包含指定值,返回布尔值。', result: ['boolean'], }, { name: 'indexOf', description: '返回指定元素首次出现的索引,无则返回-1。', result: ['number'], }, { name: 'join', description: '将数组元素连接为字符串并返回。', result: ['string'], }, { name: 'keys', description: '返回包含数组每个索引键的Array Iterator对象。', result: ['array'], }, { name: 'lastIndexOf', description: '返回指定元素最后出现的索引,无则返回-1。', result: ['number'], }, { name: 'map', description: '创建新数组,元素为原数组元素调用指定函数的返回值。', result: ['array'], }, { name: 'pop', description: '删除最后一个元素并返回该元素,改变数组长度。', result: ['any'], }, { name: 'push', description: '向数组末尾添加元素,返回新长度。', result: ['number'], }, { name: 'reduce', description: '对元素执行reducer函数(升序),汇总为单个值。', result: ['any'], }, { name: 'reduceRight', description: '对元素执行reducer函数(降序),汇总为单个值。', result: ['any'], }, { name: 'reverse', description: '颠倒数组元素顺序,返回原数组。', result: ['array'], }, { name: 'shift', description: '删除第一个元素并返回该元素,改变数组长度。', result: ['number'], }, { name: 'slice', description: '返回原数组指定范围的浅拷贝,不改变原数组。', result: ['array'], }, { name: 'some', description: '测试是否至少有一个元素通过指定函数测试,返回布尔值。', result: ['boolean'], }, { name: 'sort', description: '原地排序数组元素,返回原数组(默认按字符串Unicode码排序)。', result: ['array'], }, { name: 'splice', description: '删除/替换/添加元素,返回被修改的内容,改变原数组。', result: ['array'], }, { name: 'toLocaleString', description: '返回数组元素的本地化字符串表示。', result: ['string'], }, { name: 'toString', description: '返回数组的字符串表示。', result: ['string'], }, { name: 'unshift', description: '向数组开头添加元素,返回新长度。', result: ['number'], }, { name: 'values', description: '返回包含数组每个索引值的Array Iterator对象。', result: ['array'], }, { name: 'at', description: '返回指定索引的元素,支持正负索引(负索引从末尾倒数)。', result: ['any'], }, { name: 'toReversed', description: '返回元素顺序颠倒的新数组,不改变原数组。', result: ['array'], }, { name: 'toSorted', description: '返回已排序的新数组,不改变原数组。', result: ['array'], }, { name: 'toSpliced', description: '删除/替换/添加元素,返回被修改的内容,不改变原数组。', result: ['array'], }, { name: 'with', description: '返回指定位置元素被替换的新数组,不改变原数组。', result: ['array'], }, ], }, /** Array 静态方法和属性 */ Array: { attr: [ { name: 'prototype', description: 'Array构造函数的原型对象,所有数组实例继承于此', result: ['object'], }, { name: 'length', description: 'Array构造函数的length属性,值为1', result: ['number'], }, ], fun: [ { name: 'from', description: '从类数组对象或可迭代对象创建新的数组实例。', result: ['array'], }, { name: 'isArray', description: '判断传入值是否为数组,返回布尔值。', result: ['boolean'], }, { name: 'of', description: '创建包含可变数量参数的新数组实例(与Array构造函数不同,不特殊处理单个数字参数)。', result: ['array'], }, ], }, /** Object 实例方法和属性 */ object: { attr: [ { name: 'constructor', description: '返回创建该对象实例的构造函数', result: ['function'], }, { name: '__proto__', description: '指向对象的原型对象,用于实现继承(不推荐直接修改)', result: ['object'], }, ], fun: [ { name: 'toString', description: '返回对象的字符串表示。', result: ['string'], }, { name: 'toLocaleString', description: '返回对象的本地化字符串表示。', result: ['string'], }, { name: 'valueOf', description: '返回对象的原始值。', result: ['any'], }, { name: 'hasOwnProperty', description: '判断对象自身是否包含指定属性(不包括继承属性)。', result: ['boolean'], }, { name: 'isPrototypeOf', description: '判断当前对象是否是另一个对象的原型(即另一个对象是否继承于此)。', result: ['boolean'], }, { name: 'propertyIsEnumerable', description: '判断指定属性是否是对象自身的可枚举属性。', result: ['boolean'], }, ], }, /** Object 静态方法和属性 */ Object: { attr: [ { name: 'prototype', description: 'Object构造函数的原型对象,所有对象间接继承于此', result: ['object'], }, { name: 'length', description: 'Object构造函数的length属性,值为1', result: ['number'], }, ], fun: [ { name: 'assign', description: '将一个或多个源对象的可枚举属性复制到目标对象。', result: ['object'], }, { name: 'create', description: '使用指定原型和属性创建新对象。', result: ['object'], }, { name: 'defineProperties', description: '在对象上定义多个属性(可配置特性),返回该对象。', result: ['object'], }, { name: 'defineProperty', description: '在对象上定义单个属性(可配置特性),返回该对象。', result: ['object'], }, { name: 'entries', description: '返回对象自身可枚举属性的键值对数组。', result: ['array'], }, { name: 'freeze', description: '冻结对象:禁止添加/删除属性,禁止修改属性值和特性。', result: ['object'], }, { name: 'fromEntries', description: '将键值对数组转换为对象。', result: ['object'], }, { name: 'getOwnPropertyDescriptor', description: '返回对象自身指定属性的描述符。', result: ['object'], }, { name: 'getOwnPropertyDescriptors', description: '返回对象自身所有属性的描述符。', result: ['object'], }, { name: 'getOwnPropertyNames', description: '返回对象自身所有属性名(包括不可枚举,不含Symbol)的数组。', result: ['array'], }, { name: 'getOwnPropertySymbols', description: '返回对象自身所有Symbol属性的数组。', result: ['array'], }, { name: 'getPrototypeOf', description: '返回对象的原型(内部[[Prototype]]属性)。', result: ['object'], }, { name: 'is', description: '判断两个值是否为同一个值(比===更严格)。', result: ['boolean'], }, { name: 'isExtensible', description: '判断对象是否可扩展(是否允许添加新属性)。', result: ['boolean'], }, { name: 'isFrozen', description: '判断对象是否被冻结。', result: ['boolean'], }, { name: 'isSealed', description: '判断对象是否被密封。', result: ['boolean'], }, { name: 'keys', description: '返回对象自身可枚举属性的键名数组。', result: ['array'], }, { name: 'preventExtensions', description: '禁止对象扩展(不能添加新属性)。', result: ['object'], }, { name: 'seal', description: '密封对象:禁止添加/删除属性,允许修改属性值。', result: ['object'], }, { name: 'setPrototypeOf', description: '设置对象的原型(内部[[Prototype]]属性)。', result: ['object'], }, { name: 'values', description: '返回对象自身可枚举属性的值数组。', result: ['array'], }, ], }, /** Math 静态方法和属性(Math 无实例方法) */ Math: { attr: [ { name: 'E', description: '静态属性,表示自然对数的底数(约等于 2.718)。', result: ['number'], }, { name: 'LN2', description: '静态属性,表示 2 的自然对数(约等于 0.693)。', result: ['number'], }, { name: 'LN10', description: '静态属性,表示 10 的自然对数(约等于 2.302)。', result: ['number'], }, { name: 'LOG2E', description: '静态属性,表示以 2 为底 e 的对数(约等于 1.442)。', result: ['number'], }, { name: 'LOG10E', description: '静态属性,表示以 10 为底 e 的对数(约等于 0.434)。', result: ['number'], }, { name: 'PI', description: '静态属性,表示圆周率(约等于 3.14159)。', result: ['number'], }, { name: 'SQRT1_2', description: '静态属性,表示 1/√2 的值(约等于 0.707)。', result: ['number'], }, { name: 'SQRT2', description: '静态属性,表示 √2 的值(约等于 1.414)。', result: ['number'], }, ], fun: [ { name: 'abs', description: '返回一个数的绝对值。', result: ['number'], }, { name: 'acos', description: '返回一个数的反余弦值(单位为弧度)。', result: ['number'], }, { name: 'acosh', description: '返回一个数的反双曲余弦值。', result: ['number'], }, { name: 'asin', description: '返回一个数的反正弦值(单位为弧度)。', result: ['number'], }, { name: 'asinh', description: '返回一个数的反双曲正弦值。', result: ['number'], }, { name: 'atan', description: '返回一个数的反正切值(单位为弧度)。', result: ['number'], }, { name: 'atan2', description: '返回两个数的商的反正切值(单位为弧度),可确定点在平面上的角度。', result: ['number'], }, { name: 'atanh', description: '返回一个数的反双曲正切值。', result: ['number'], }, { name: 'cbrt', description: '返回一个数的立方根。', result: ['number'], }, { name: 'ceil', description: '返回大于或等于一个数的最小整数(向上取整)。', result: ['number'], }, { name: 'clz32', description: '返回一个 32 位无符号整数的前导零的数量。', result: ['number'], }, { name: 'cos', description: '返回一个数的余弦值(单位为弧度)。', result: ['number'], }, { name: 'cosh', description: '返回一个数的双曲余弦值。', result: ['number'], }, { name: 'exp', description: '返回 e 的指定次幂(e^x)。', result: ['number'], }, { name: 'expm1', description: '返回 e 的指定次幂减 1(e^x - 1),适用于小数值计算。', result: ['number'], }, { name: 'floor', description: '返回小于或等于一个数的最大整数(向下取整)。', result: ['number'], }, { name: 'fround', description: '返回一个数的 32 位单精度浮点数表示。', result: ['number'], }, { name: 'hypot', description: '返回所有参数的平方和的平方根(即直角三角形斜边长度公式的扩展)。', result: ['number'], }, { name: 'imul', description: '返回两个 32 位整数相乘的结果(作为 32 位整数)。', result: ['number'], }, { name: 'log', description: '返回一个数的自然对数(以 e 为底)。', result: ['number'], }, { name: 'log1p', description: '返回一个数加 1 的自然对数(ln(x + 1)),适用于小数值计算。', result: ['number'], }, { name: 'log10', description: '返回一个数的以 10 为底的对数。', result: ['number'], }, { name: 'log2', description: '返回一个数的以 2 为底的对数。', result: ['number'], }, { name: 'max', description: '返回一组数中的最大值。', result: ['number'], }, { name: 'min', description: '返回一组数中的最小值。', result: ['number'], }, { name: 'pow', description: '返回基数的指数次幂(base^exponent)。', result: ['number'], }, { name: 'random', description: '返回一个 0(包含)到 1(不包含)之间的伪随机数。', result: ['number'], }, { name: 'round', description: '返回一个数四舍五入后的整数。', result: ['number'], }, { name: 'sign', description: '返回一个数的符号:正数返回 1,负数返回 -1,0 返回 0,-0 返回 -0,非数字返回 NaN。', result: ['number'], }, { name: 'sin', description: '返回一个数的正弦值(单位为弧度)。', result: ['number'], }, { name: 'sinh', description: '返回一个数的双曲正弦值。', result: ['number'], }, { name: 'sqrt', description: '返回一个数的平方根。', result: ['number'], }, { name: 'tan', description: '返回一个数的正切值(单位为弧度)。', result: ['number'], }, { name: 'tanh', description: '返回一个数的双曲正切值。', result: ['number'], }, { name: 'trunc', description: '返回一个数的整数部分(去除小数部分,不进行四舍五入)。', result: ['number'], }, ], }, /** */ regexp: { attr: [ { name: 'global', description: '只读属性,返回正则表达式是否开启全局匹配(g 标志)。', result: ['boolean'], }, { name: 'ignoreCase', description: '只读属性,返回正则表达式是否开启不区分大小写匹配(i 标志)。', result: ['boolean'], }, { name: 'multiline', description: '只读属性,返回正则表达式是否开启多行匹配(m 标志)。', result: ['boolean'], }, { name: 'dotAll', description: '只读属性,返回正则表达式是否开启任意字符匹配(s 标志,允许 . 匹配换行符)。', result: ['boolean'], }, { name: 'unicode', description: '只读属性,返回正则表达式是否开启 Unicode 模式(u 标志)。', result: ['boolean'], }, { name: 'sticky', description: '只读属性,返回正则表达式是否开启粘连匹配(y 标志,仅从 lastIndex 位置开始匹配)。', result: ['boolean'], }, { name: 'source', description: '只读属性,返回正则表达式的源文本(不包含标志)。', result: ['string'], }, { name: 'lastIndex', description: '可读可写属性,返回下一次匹配的起始位置(仅对具有 g 或 y 标志的正则表达式有效)。', result: ['number'], }, ], fun: [ { name: 'exec', description: '在字符串中执行匹配,返回包含匹配结果的数组;若无匹配则返回 null。', result: ['array', 'null'], }, { name: 'test', description: '测试字符串是否匹配正则表达式,返回布尔值。', result: ['boolean'], }, { name: 'toString', description: '返回表示正则表达式的字符串(包含模式和标志)。', result: ['string'], }, { name: 'flags', description: '返回一个字符串,包含正则表达式的所有标志(ES6+)。', result: ['string'], }, { name: 'Symbol.replace', description: '实现 String.prototype.replace() 的方法,允许自定义替换逻辑。', result: ['string'], }, { name: 'Symbol.search', description: '实现 String.prototype.search() 的方法,允许自定义搜索逻辑。', result: ['number'], }, { name: 'Symbol.split', description: '实现 String.prototype.split() 的方法,允许自定义分割逻辑。', result: ['array'], }, ], }, console: { attr: [], // console 对象没有属性 fun: [ { name: 'log', description: '输出普通信息到控制台。', result: ['void'], }, { name: 'info', description: '输出信息性消息到控制台(通常带信息图标)。', result: ['void'], }, { name: 'warn', description: '输出警告信息到控制台(带黄色警告图标)。', result: ['void'], }, { name: 'error', description: '输出错误信息到控制台(带红色错误图标)。', result: ['void'], }, { name: 'debug', description: '输出调试信息到控制台(仅在调试模式下显示)。', result: ['void'], }, { name: 'dir', description: '以交互式列表形式显示对象的属性。', result: ['void'], }, { name: 'table', description: '以表格形式显示结构化数据。', result: ['void'], }, { name: 'trace', description: '输出当前执行的堆栈跟踪。', result: ['void'], }, { name: 'assert', description: '当条件为 false 时,输出错误信息到控制台。', result: ['void'], }, { name: 'count', description: '统计调用次数,并在控制台打印计数结果。', result: ['void'], }, { name: 'countReset', description: '重置指定标签的计数器。', result: ['void'], }, { name: 'time', description: '启动一个计时器(用于测量操作耗时)。', result: ['void'], }, { name: 'timeLog', description: '输出计时器的当前耗时。', result: ['void'], }, { name: 'timeEnd', description: '停止计时器并输出总耗时。', result: ['void'], }, { name: 'group', description: '在控制台创建一个折叠的信息分组。', result: ['void'], }, { name: 'groupCollapsed', description: '创建一个默认折叠的信息分组。', result: ['void'], }, { name: 'groupEnd', description: '结束当前的信息分组。', result: ['void'], }, { name: 'clear', description: '清空控制台。', result: ['void'], }, { name: 'profile', description: '开始收集 JavaScript 性能分析数据(需配合浏览器开发者工具使用)。', result: ['void'], }, { name: 'profileEnd', description: '停止收集 JavaScript 性能分析数据。', result: ['void'], }, { name: 'timeStamp', description: '在浏览器性能时间轴中添加标记(需配合开发者工具使用)。', result: ['void'], }, ], }, }; export const flatStaticTips = Object.values(staticTips) .map((item) => Object.values(item)) .flat(2); export const singleTips = [ 'Number', 'String', 'Array', 'Object', 'Math', 'console', 'uni', 'window', ]; export const baseSymbols = [';', '(', '=', '+', '-', '*', '/', '&', '|', '?'];