$Boolean

Handles persistent storage of boolean values.

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.gf.qytechs.cn/scripts/449472/1081058/%24Boolean.js

  1. // ==UserScript==
  2. // @name $Boolean
  3. // @author Callum Latham <callumtylerlatham@gmail.com>
  4. // @exclude *
  5. // @description Handles persistent storage of boolean values.
  6. // ==/UserScript==
  7.  
  8. class $Boolean {
  9. constructor(KEY, DEFAULT = true) {
  10. // PRIVATE STATE
  11.  
  12. let value;
  13.  
  14. // PRIVATE FUNCTIONS
  15.  
  16. const getError = (message, error) => {
  17. if (error) {
  18. console.error(error);
  19. }
  20.  
  21. return new Error(`[$Toggle] ${message}`);
  22. };
  23.  
  24. const set = (_value) => {
  25. value = _value;
  26.  
  27. if (typeof GM.setValue !== 'function') {
  28. return Promise.reject(getError('The GM.setValue permission is required to store data.'));
  29. }
  30.  
  31. return GM.setValue(KEY, value);
  32. };
  33.  
  34. // PUBLIC FUNCTIONS
  35.  
  36. this.init = () => {
  37. if (typeof GM.getValue !== 'function') {
  38. return Promise.reject(getError('The GM.getValue permission is required to retrieve data.'));
  39. }
  40.  
  41. return GM.getValue(KEY, DEFAULT)
  42. .then(set);
  43. };
  44.  
  45. this.toggle = () => set(!value);
  46.  
  47. this.get = () => value;
  48. };
  49. }

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址