1'use strict' 2 3/* 4 * Role 5 * 6 * A Role encapsulates a particular object's 'role' in a method's 7 * dispatch. They are added directly to the selector for a method, and thus 8 * do not prevent the objects a method was defined on from being garbage 9 * collected. 10 */ 11module.exports = Role 12function Role (method, position) { 13 this.method = method 14 this.position = position 15} 16 17Role.roleKeyName = Symbol('roles') 18