in src/common/authentication/AccountSASPermissions.ts [37:126]
public static parse(permissions: string): AccountSASPermissions {
const accountSASPermissions = new AccountSASPermissions();
for (const c of permissions) {
switch (c) {
case AccountSASPermission.Read:
if (accountSASPermissions.read) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.read = true;
break;
case AccountSASPermission.Write:
if (accountSASPermissions.write) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.write = true;
break;
case AccountSASPermission.Delete:
if (accountSASPermissions.delete) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.delete = true;
break;
case AccountSASPermission.DeleteVersion:
if (accountSASPermissions.deleteVersion) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.deleteVersion = true;
break;
case AccountSASPermission.List:
if (accountSASPermissions.list) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.list = true;
break;
case AccountSASPermission.Add:
if (accountSASPermissions.add) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.add = true;
break;
case AccountSASPermission.Create:
if (accountSASPermissions.create) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.create = true;
break;
case AccountSASPermission.Update:
if (accountSASPermissions.update) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.update = true;
break;
case AccountSASPermission.Process:
if (accountSASPermissions.process) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.process = true;
break;
case AccountSASPermission.Tag:
if (accountSASPermissions.tag) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.tag = true;
break;
case AccountSASPermission.Filter:
if (accountSASPermissions.filter) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.filter = true;
break;
case AccountSASPermission.SetImmutabilityPolicy:
if (accountSASPermissions.setImmutabilityPolicy) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.setImmutabilityPolicy = true;
break;
case AccountSASPermission.PermanentDelete:
if (accountSASPermissions.permanentDelete) {
throw new RangeError(`Duplicated permission character: ${c}`);
}
accountSASPermissions.permanentDelete = true;
break;
default:
throw new RangeError(`Invalid permission character: ${c}`);
}
}
return accountSASPermissions;
}