library.js 978 B

12345678910111213141516171819202122232425262728293031323334353637
  1. exports.mojangFriendlyOS = function(){
  2. const opSys = process.platform
  3. if (opSys === 'darwin') {
  4. return 'osx';
  5. } else if (opSys === 'win32'){
  6. return 'windows';
  7. } else if (opSys === 'linux'){
  8. return 'linux';
  9. } else {
  10. return 'unknown_os';
  11. }
  12. }
  13. exports.validateRules = function(rules){
  14. if(rules == null) return true
  15. let result = true
  16. rules.forEach(function(rule){
  17. const action = rule['action']
  18. const osProp = rule['os']
  19. if(action != null){
  20. if(osProp != null){
  21. const osName = osProp['name']
  22. const osMoj = exports.mojangFriendlyOS()
  23. if(action === 'allow'){
  24. result = osName === osMoj
  25. return
  26. } else if(action === 'disallow'){
  27. result = osName !== osMoj
  28. return
  29. }
  30. }
  31. }
  32. })
  33. return result
  34. }