UNPKG

com-tools

Version:

com-tools 提供了一些通用的工具函数;

344 lines (157 loc) 6.65 kB
<!-- Do not edit this file. It is automatically generated by API Documenter. --> [Home](./index.md) &gt; [com-tools](./com-tools.md) ## com-tools package ## Classes <table><thead><tr><th> Class </th><th> Description </th></tr></thead> <tbody><tr><td> [Decide](./com-tools.decide.md) </td><td> 决议 用来监听决议的值; 当 决议时,会自动回调所有注册的事件,并回传决议的值;决议之后,再进行监听,监听事件会被立即被回调,并传递决议的值; 说明: 功能类似 Promise,也可用 Promise 来更轻松地实现,但之所以不用 Promise ,是因为 Promise 的回调是异步的,但我想同步回调,即让回调在一个运行循环内完成; 与 Promise 的区别是: - then回调是在 决议时 和 决议之后 同步执行的;并会回传最新的 this.value - 简单、轻量 - 通过给 Decide 实例的 value 属性设置值 `decide.value = newValue` 自动触发决议; - 即使决议之后,你也可以更改 value 的值,但不会再触发之添加的事件监听器; </td></tr> </tbody></table> ## Functions <table><thead><tr><th> Function </th><th> Description </th></tr></thead> <tbody><tr><td> [betterEval(code)](./com-tools.bettereval.md) </td><td> 由于 eval() 有 安全 和 性能 的问题,所以封装了本函数 来 替代 eval() 本方法采用 Function 的方式 来实现 eval() 的效果; </td></tr> <tr><td> [copyConstructor(fun)](./com-tools.copyconstructor.md) </td><td> 拷贝构造函数,与 copyFunction 相比,该函数还会还原构造函数的继续链,即 prototype </td></tr> <tr><td> [copyFunction(fun)](./com-tools.copyfunction.md) </td><td> </td></tr> <tr><td> [createControllablePromise(executor, statusCompletesImmediately)](./com-tools.createcontrollablepromise.md) </td><td> createControllablePromise(executor ?:(resolve, reject)=<!-- -->&gt;<!-- -->Void) 创建外部可控制的改变 Promise 状态 Status 的 Promise 对象;该 Promise 对象在 状态 未完成之前,会 resolve、reject、clearAdditions 三个方法,当 Promise 的状态完成时,resolve、reject、clearAdditions 这三个方法会自动被删除;其中 clearAdditions 方法是用来 清除 该实例的 resolve、reject、clearAdditions 这三个方法的; </td></tr> <tr><td> [createFunctionBy(funString, name, asDefault)](./com-tools.createfunctionby.md) </td><td> 根据函数字符串 和 函数名字 来创建函数 </td></tr> <tr><td> [createSingleton(fun)](./com-tools.createsingleton.md) </td><td> 为指定的函数 fun 创建对应的 单例函数 </td></tr> <tr><td> [createUniqueIdentifier()](./com-tools.createuniqueidentifier.md) </td><td> 生成唯一的标识符 </td></tr> <tr><td> [defineListenableProperties(obj, propsOptions)](./com-tools.definelistenableproperties.md) </td><td> 接口1:defineListenableProperties(obj,propsOptions) </td></tr> <tr><td> [defineListenableProperties(obj, propArray, options)](./com-tools.definelistenableproperties_1.md) </td><td> </td></tr> <tr><td> [defineListenableProperty(obj, prop, options)](./com-tools.definelistenableproperty.md) </td><td> </td></tr> <tr><td> [defineListenablePropertyGetter(obj, prop, getDefault, asGetter)](./com-tools.definelistenablepropertygetter.md) </td><td> defineListenablePropertyGetter(obj, prop, getDefault, asGetter) 定义可监听属性的 getter ; 该方法一般经常用于:一些可监听属性在被定义时,还不能定义 getDefault 选项,只能在稍后某个时刻定义 getDefault 选项,此时便可用此函数来简化重新定义 getter 的操作; </td></tr> <tr><td> [defineProxyProperties(proxy, target, props, options)](./com-tools.defineproxyproperties.md) </td><td> 接口1:defineProxyProperties(proxy,target,propArray,options) </td></tr> <tr><td> [defineProxyProperties(proxy, target, propOptions)](./com-tools.defineproxyproperties_1.md) </td><td> 批量定义代理属性 接口2:defineProxyProperties(proxy,target,propOptions) </td></tr> <tr><td> [defineProxyProperty(proxy, target, prop, options)](./com-tools.defineproxyproperty.md) </td><td> 定义代理属性; 给 对象 proxy 增加 能够代理 target 对象 的 属性 prop; 当在 访问或配置 proxy 对象上的 prop 属性时,会将操作转发到 target 对象的 prop 属性; </td></tr> <tr><td> [deleteMember(target, propPath)](./com-tools.deletemember.md) </td><td> 删除成员 </td></tr> <tr><td> [getMember(target, propPath)](./com-tools.getmember.md) </td><td> 获取成员值 </td></tr> <tr><td> [getMemberWithAsyncDefault(target, propPath, defaultValue)](./com-tools.getmemberwithasyncdefault.md) </td><td> 获取成员值 </td></tr> <tr><td> [getMemberWithDefault(target, propPath, defaultValue)](./com-tools.getmemberwithdefault.md) </td><td> 获取成员值 </td></tr> <tr><td> [isEqualByJSON(value1, value2)](./com-tools.isequalbyjson.md) </td><td> 通过把值转换成JSON字符来判断是否相等 </td></tr> <tr><td> [multipleLoop(mLoopOpts)](./com-tools.multipleloop.md) </td><td> multipleLoop(option)=<!-- -->&gt; stopLoop() 多次遍历、分批循环;可以把一个大遍历分成若干个小遍历来完成; </td></tr> <tr><td> [safelyIterate(iterable, operation, thisValue)](./com-tools.safelyiterate.md) </td><td> safelyIterate(iterable,operation, thisValue) 对 iterable 进行安全的迭代;与 for...of 的区别是:safelyIterate 能保证会迭代过程不会受 operation 中的行为的影响从而迭代每一个元素; </td></tr> <tr><td> [setMember(target, propPath, value)](./com-tools.setmember.md) </td><td> 设置成员值 </td></tr> </tbody></table> ## Type Aliases <table><thead><tr><th> Type Alias </th><th> Description </th></tr></thead> <tbody><tr><td> [GetDefaultValue](./com-tools.getdefaultvalue.md) </td><td> 获得默认值 </td></tr> <tr><td> [ListenablePropOpts](./com-tools.listenablepropopts.md) </td><td> 定义可监听的属性 </td></tr> <tr><td> [ObjectKey](./com-tools.objectkey.md) </td><td> 对象属性 </td></tr> <tr><td> [ProxyOptions](./com-tools.proxyoptions.md) </td><td> </td></tr> </tbody></table>