api-typings icon indicating copy to clipboard operation
api-typings copied to clipboard

方法重载Overload for FirmwareManager.statSync and FirmwareManager.statSync

Open bradleyzhou opened this issue 4 years ago • 0 comments

Problem 问题

从3.3.2升级至3.4.2时,代码中statSync部分报错,如: When we upgrade from 3.3.2 to 3.4.2, code related to statSync throws error while build,

const fs = wx.getFileSystemManager();
const stat = fs.statSync('filePath');
return stat.isFile();
//          ~~~~~~
// Error: Property 'isFile' does not exist on type 'Stats[]'.

Suggestions 建议

提供重载,方便已有代码推断正确类型。 Can you provide Overrides for automatic Type inference?

Examples FYI 示意

  • statSync
    interface FileSystemManager {
      statSync(
        path: string,
        recursive?: false
      ): Stats;
      statSync(
        path: string,
        recursive: true
      ): Stats[];
    }
    
  • stat
      interface FileSystemManager {
          stat(option: NonRecursiveStatOption): void
          stat(option: RecursiveStatOption): void
      }
    
      interface NonRecursiveStatOption {
          path: string
          complete?: StatCompleteCallback
          fail?: StatFailCallback
          recursive?: false
          success?: NonRecursiveStatSuccessCallback
      }
      interface RecursiveStatOption {
          path: string
          complete?: StatCompleteCallback
          fail?: StatFailCallback
          recursive: true
          success?: RecursiveStatSuccessCallback
      }
      interface NonRecursiveStatSuccessCallback {
          stats: Stats
          errMsg: string
      }
      interface RecursiveStatSuccessCallback {
          stats: Stats[]
          errMsg: string
      }
    

bradleyzhou avatar Aug 26 '21 10:08 bradleyzhou