为自己的框架 nx/next 框架添加 types/typing/typescript 支持

自己的 js 框架,添加 typescript 支持的方案
更新于: 2022-11-20 08:55:32

实例

  • 添加文件 index.d.s
  • 添加方法到 NxStatic 上去
  • 添加 export 到 modules
interface TreeWalkOption {
  template?: any;
  callback?: any;
  itemsKey?: string | ((index: number, item: any) => any);
}

interface NxStatic {
  treeWalk: (items: any[], options?: TreeWalkOption) => any;
}

export default function treeWalk(items: any[], options?: TreeWalkOption): any;

以下是一个 next 模块的代码。

(function () {
  var global = global || this || window || Function('return this')();
  var nx = global.nx || require('@jswork/next');
  var FUNC = 'function';
  var DEFAULT_OPTIONS = {
    template: nx.noop,
    callback: nx.stubValue,
    itemsKey: 'children'
  };

  nx.treeWalk = function (inItems, inOptions) {
    // code goes here
  };

  if (typeof module !== 'undefined' && module.exports) {
    module.exports = nx.treeWalk;
  }
})();