Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 2x 1x 1x 125x 2x 2x 2x 125x 8x 8x 2x | import {Name, NameType, Struct} from '../' export type PermissionLevelType = PermissionLevel | {actor: NameType; permission: NameType} /** Antelope/EOSIO Permission Level, a.k.a "auth". */ @Struct.type('permission_level') export class PermissionLevel extends Struct { @Struct.field('name') actor!: Name @Struct.field('name') permission!: Name /** Create new permission level from representing types. Can be expressed as a string in the format `<actor>@<permission>`. */ static from(value: PermissionLevelType | string): PermissionLevel { if (typeof value === 'string') { const parts = value.split('@') Iif (parts.length !== 2 && parts[0].length > 0 && parts[1].length > 0) { throw new Error( 'Invalid permission level string, should be in the format <actor>@<permission>' ) } value = {actor: parts[0], permission: parts[1]} } return super.from(value) as PermissionLevel } /** Return true if this permission level equals other. */ equals(other: PermissionLevelType | string) { const otherPerm = PermissionLevel.from(other) return this.actor.equals(otherPerm.actor) && this.permission.equals(otherPerm.permission) } toString() { return `${this.actor}@${this.permission}` } } |