sketch-community/cocoascript-types

NSPasteboardType 类型的全局声明问题

Closed this issue · 2 comments

拿这个方法测试了下 (来源):

/**
 * 获取粘贴文本
 **/
export const getTextFromClipboard = (): string => {
  const pasteboard = NSPasteboard.generalPasteboard();
  return pasteboard.stringForType(NSPasteboardTypeString).toString();
};

目前类型提示会报错。

image

NSPasteboardstringForType 传入的是 NSPasteboardType 类型。

虽然在文档里面 NSPasteboardType 的类型是 NSString,但是其实它是有合法值的,例如 NSPasteboardTypeURLNSPasteboardTypeStringNSPasteboardTypePNG 等。而这些合法值应该都是在 Cocoa 环境中直接全局定义过了的。

因此需要在全局声明 NSPasteboardTypeString 等变量才行。

image

这样就不会报错了
image

以及以此类推的话,是不是所有 Type Alias 相关的合法变量都要在全局声明一遍?

对了 另外自动生成的文件是不是少了个点?

nspasteboardd.ts -> nspasteboard.d.ts

对了 另外自动生成的文件是不是少了个点?

nspasteboardd.ts -> nspasteboard.d.ts

修正了