对表单值进行 TypeScript 类型推断
解释 简单来说就是,你通过表单描述去定义了表单的属性,然后你现在要做一个表单值对象,这个对象的属性名、值类型都得是描述里面出现过的。 // config [ { name: 'link', type: 'string', }, { name: 'age', type: 'number', } ] // 合法的 value { link: '', age: 0, } // 不合法的 value { link: 666, age: ...

Search for a command to run...
Articles tagged with #typescript
解释 简单来说就是,你通过表单描述去定义了表单的属性,然后你现在要做一个表单值对象,这个对象的属性名、值类型都得是描述里面出现过的。 // config [ { name: 'link', type: 'string', }, { name: 'age', type: 'number', } ] // 合法的 value { link: '', age: 0, } // 不合法的 value { link: 666, age: ...

背景 Bilibili Evolved 是一个模块化的 B 站 UserScript,我对这项目感兴趣的地方有两个点,一是沙箱的实现,二是插件系统的实现,本文主要是研究他的沙箱方案。 沙箱的实现 首先定位到沙箱的代码 load-feature-code.ts: export class LoadFeatureCodeError extends Error {} /** * feature 代码运行沙箱 */ type CodeSandbox = { /** * 在沙箱中执行代码 ...

这几天我在想,EventBus 这种事件总线机制我经常用到,因为他的写法形式很固定,我让 copilot、AmazonQ、千问给我补全,但大模型补全出来的类型都是 any,要么就是 Function,比如这样: export class EventBus { private listeners: Map<string, Function[]> = new Map(); on(event: string, listener: Function) { if (!this.liste...
