import { BridgePlugin } from '../bridge';

interface ISetClipboardParam {
  // 设置剪切板的内容
  text: string;
}

export class SetClipboard<K> extends BridgePlugin<ISetClipboardParam, K> {

  protected get ntvPluginName() {
    return '_ntv_util_set_clipboard';
  }
  protected get availableMinVersion() {
    return '1.0.0';
  }
  protected bridgeExecChrome(pluginName?: string | undefined): void {
    // 可针对不同运行环境实现特定的调用逻辑来MOCK，弥补平台差异性.
    throw new Error('SetClipboard() 未针对当前环境实现');
  }
}

/**
 * 设置剪切板内容
 */
export const setClipboard = (param: ISetClipboardParam) => {
  new SetClipboard<void>(param).invoke();
};
