Major code base cleanup #12

Merged
TopchetoEU merged 35 commits from TopchetoEU/cleanup into master 2024-01-06 16:28:11 +00:00
Showing only changes of commit 153a1a9a49 - Show all commits

View File

@ -1,6 +1,11 @@
package me.topchetoeu.jscript.permissions;
import me.topchetoeu.jscript.engine.Extensions;
import me.topchetoeu.jscript.engine.values.Symbol;
public interface PermissionsProvider {
public static final Symbol ENV_KEY = new Symbol("Environment.perms");
boolean hasPermission(Permission perm, char delim);
boolean hasPermission(Permission perm);
@ -10,4 +15,17 @@ public interface PermissionsProvider {
default boolean hasPermission(String perm) {
return hasPermission(new Permission(perm));
}
public static PermissionsProvider get(Extensions exts) {
return new PermissionsProvider() {
@Override public boolean hasPermission(Permission perm) {
if (exts.has(ENV_KEY)) return ((PermissionsProvider)exts.get(ENV_KEY)).hasPermission(perm);
else return true;
}
@Override public boolean hasPermission(Permission perm, char delim) {
if (exts.has(ENV_KEY)) return ((PermissionsProvider)exts.get(ENV_KEY)).hasPermission(perm, delim);
else return true;
}
};
}
}