🏠 Home 

$Boolean

Handles persistent storage of boolean values.

สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/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. class $Boolean {
  8. constructor(KEY, DEFAULT = true) {
  9. // PRIVATE STATE
  10. let value;
  11. // PRIVATE FUNCTIONS
  12. const getError = (message, error) => {
  13. if (error) {
  14. console.error(error);
  15. }
  16. return new Error(`[$Toggle] ${message}`);
  17. };
  18. const set = (_value) => {
  19. value = _value;
  20. if (typeof GM.setValue !== 'function') {
  21. return Promise.reject(getError('The GM.setValue permission is required to store data.'));
  22. }
  23. return GM.setValue(KEY, value);
  24. };
  25. // PUBLIC FUNCTIONS
  26. this.init = () => {
  27. if (typeof GM.getValue !== 'function') {
  28. return Promise.reject(getError('The GM.getValue permission is required to retrieve data.'));
  29. }
  30. return GM.getValue(KEY, DEFAULT)
  31. .then(set);
  32. };
  33. this.toggle = () => set(!value);
  34. this.get = () => value;
  35. };
  36. }